Part-Time Programs in Engineering and Applied Science, Johns Hopkins University

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

  1. Introduction
  2. Systems Engineering, Project Planning
  3. Specifying Requirements
  4. Analysis and Design Fundamentals
  5. Object-Oriented Analysis and Design
  6. Structured Analysis and Design, HCI Design 
  7. Exam 1
  8. Software Reviews
  9. Real-Time Design, Languages, Reuse
  10. Software Quality
  11. Testing
  12. Estimation, Maintenance
  13. Exam 2
  14. Project Demonstrations

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

Additional Course Information


Return to Computer Science Courses | Computer Science  | Part-Time Engineering

Summer 99-2000