Software Design

Course number: 
CIS 3238
Fall 2015

CIS 2168 | Minimum Grade of C- | May not be taken concurrently
AND CIS 3207 | Minimum Grade of C- | May not be taken concurrently.

Christensen. Flexible, Reliable Software Using Patterns and Agile Development. Chapman & Hall/CRC, 2010, ISBN 978-1-4200-9362-9
Horstmann, Object-Orient.ed Design & Patterns, 2nd Ed. John Wiley & Sons, 2006, ISBN 978-0-471-74487-5
Topics covered: 
  • Graphic User Interface
  • Access to Database
  • Remote Procedure Calls (RPC)
  • Extensible Markup Language (XML)
  • Threading
  • Object Oriented Design
  • Unified Modeling Language (UML)
  • Design Patterns
  • Test Driven Development
  • Project Management
  • Version Control
  • Build
  • Test
  • Issue Tracking
Course goals: 
Provides direct experience in the design, development, documentation, testing and maintenance of medium size software projects, in the use of modern software problem solving abstractions and solution patterns, and in the use of software development environments. This course is the capstone of the programming course sequence.
Attendance policy: 
Attendance to all meetings of the class is mandatory
Accomodations for Students with Disabilities: 
Any student who has a need for accommodation based on the impact of a documented disability, including special accommodations for access to technology resources and electronic instructional materials required for the course, should contact me privately to discuss the specific situation by the end of the second week of classes or as soon as practical. If you have not done so already, please contact Disability Resources and Services (DRS) at 215-204-1280 in 100 Ritter Annex to learn more about the resources available to you. I will work with DRS to coordinate reasonable accommodations for all students with documented disabilities. (
Student and Faculty Academic Rights and Responsibilities: 
Freedom to teach and freedom to learn are inseparable facets of academic freedom. The University has a policy on Student and Faculty and Academic Rights and Responsibilities (Policy #03.70.02) which can be accessed through the following