
Foundations of Software Engineering
605.401
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.
Syllabus
This course involves a term project, on which you will work as part of a group of three people. You must also write a research paper on some software engineering topic. There are two exams. The final grade is the average of the tests, the term paper and the team project, each counting 25%.
Instructor
Sam Schappelle has taught for the Part-Time Programs since 1987. He
teaches 605.401 Foundations of Software Engineering, 605.704 Object-Oriented
Analysis and Design, and 605.204 Introduction to System Software.
E-mail the instructor.
Computer Lab Requirements
No specific computer requirements are necessary for this course, however access to
equipment is necessary for the term project. Your team may use any hardware and
software platform for the project.
Textbook
Software
Engineering, A Practitioner's Approach, Fourth Edition, by Roger Pressman
Return to Computer Science Courses | Computer Science | Part-Time Engineering