CScD-350, Software Engineering
Course Syllabus

Instructor: Tom Capaul
Office: 303 CEB
Office Hours: MWF, 11-11:50 am, TTh 9-9:50 or by appointment;
Email:  - This is the preferred means for sending messages
Phone: 359-7092 (24-hour voice-mail -- note that e-mail is the preferred message means.)
     Required:  Introduction to Software Engineering Design: Processes, Principles, and Patterns with UML2, by Fox, ISBN 0-321-41013-0.

Catalog Description: 

Prerequisites: CSCD 300 with a minimum grade of 2.5 and Advancement Programming Exam clearance.  This course covers software engineering paradigms, principles and techniques. Topics include software engineering paradigms, software life cycle models, requirements specification, classical and object-oriented analysis and design, verification and validation, reuse, tools, metrics and project management. Team and individual programming projects, oral presentations and written reports are required.

Major Course Segments:  (Subject to changes as the course progresses -- order may change)

Duration Content Reading
2 1/2 weeks  Programming "in the large":  Software engineering concepts.  "Classical" software engineering and Agile approaches
2 1/2 weeks  Unified Modeling Language (Class diagrams, Object diagrams, Sequence Diagrams, Collaboration Diagrams, State Diagrams, Use cases)

2 weeks  Quality Assurance and Testing: concepts and tools (JUnit, Fitnesse)
1 week  Project Management: concepts and tools (Git or Subversion) (Pivotal Tracker)
1 week  Patterns: introduction to concept and study of most common patterns
1 week  Team Presentations  

Attendance Policy:

Students are responsible for all material covered in class, whether or not it is in the textbook or the assigned readings.  Attendance is required at all examinations (of course).  There will be no make-up exams given.  If anyone finds unavoidable commitments at the time of the scheduled exam, that person must make arrangements for covering that exam before its scheduled time.  In case of verifiable emergencies preventing attendance at an exam, the exam must be completed before it is returned to the class.

Attendance is required for invited presentations, including all project presentations and other presentations by students in the class.  Attendance will be taken, and failure to attend will reduce the course grade by 0.1 grade point -- unless the person missing the class can justify the absence.



Assignments (some written, some design-oriented) -- 40% of the final grade
Team Project -- 40% of final grade
Quizzes (2) -- 20% of the final grade

Note:  Team Project points will be assigned within a project team based *in part* on the team members' evaluations of each member's contribution, as determined by a term-end survey, as well as by the instructor.  


Numerical percentage is calculated by dividing total points earned by total points possible.

Conversion to grade point system is as follows (briefly, 95/4.0, 85/3.0, 75/2.0, 65/1.0)
     95-100% : 4.0
     63-94%   : subtract 0.1 grade point for each percentage point less than 95
     60-62%   : 0.7
       0-59%   : 0.0