Syllabus Fall 2005 CS 2205 Software Engineering Instructor: Kyongil Yoon (kyoon@mcdaniel.edu), 410.386.4670 (ext 4670), LHS 114a Office Hours: M-F 10:00-11:00 (other times by appointment) Class Times: T TH 8:20 - 9:50 LHS 109 Textbook: Bernd Bruegge and Allen H. Dutoit. Object-Oriented Software Engineering: Using UML, Patterns and JAVA (2nd Edition), 2004, Prentice Hall ISBN: 0-13-047110-0 Class Web Page: http://www2.mcdaniel.edu/kyoon/2005-Fall-2205/ Course Description: Fundamental software engineering techniques and methodologies commonly used during software development are studied. Topics include various life cycle models, project planning and estimation, requirements analysis, program design, construction, testing, maintenance and implementation, software measurement, and software quality. Emphasized are structured and object-oriented analysis and design techniques, use of process and data models, modular principles of software design, and a systematic approach to testing and debugging. The importance of problem specification, programming style, periodic reviews, documentation, thorough testing, and ease of maintenance are covered. Prerequisites: CSC 1107 or permission of the instructor. Course Requirements & Grading 1. Class attendance is mandatory for successful completion of the course. Students will be expected to find time to complete the various assignments either on their own machines or in the Lewis Hall Math/Computer Science Lab. 2. Programs can be done using CodeWarrior or XCode C++ which is available on campus only on the G5 computers in the Mathematics/Computer Science Lab in Lewis Hall. When you want to use a special environment, it is possible with permission of the instructor. Student versions of CodeWarrior for either Macintosh or Windows computers are available from Metrowerks, Inc. 3. Weekly assignments will be posted after Thursday class and due the following Thursday class. Weekly assignments are expected to be submitted in paper form. It is fine to send them to the instructor as attachments to email messages. Assignments submitted after the due date will have a grade reduction of 10% for each day late up to a maximum of 5 days. 4. Project assignment will be posted on the class web page. 5. Submission of work that is a modification or copy of another person will be considered a violation of the Honor System unless authorization for using that code has been granted by the instructor. 6. Grading will be based on the following Weekly Homework/Assignment: 25% Project: 40% Midterm Exams: 15% Final Examination:20% Tentative Schedule of Classes Week 1 (8/30, 9/1) Introduction Week 2 (9/6, 9/8) Modeling with UML Week 3 (9/13, 9/15) Requirements elicitation Week 4 (9/20, 9/22) Analysis Week 5 (9/27, 9/29) Project organization and communication Week 6 (10/4, 10/6) System design Week 7 (10/11, 10/13) System design/Object design, Midterm October 13 Week 8 (10/20) Object design Week 9 (10/25, 10/27) Mapping models to code Week 10 (11/1, 11/3) Testing Week 11 (11/8, 11/10) Rationale management Week 12 (11/15, 11/17) Configuration management Week 13 (11/22) Project management Week 14 (11/29, 12/1) Software life cycle Week 15 (12/6, 12/8) Methodologies: Putting it all together Exam Week Final Examination - to be announced