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. Course Note(s): The required foundation courses may be taken in any order but must be taken before other courses in the degree.
Course Offerings
Open
Foundations of Software Engineering
605.601.31
05/28/2025 - 07/07/2025
Mon 4:30 p.m. - 7:35 p.m.;Wed 4:30 p.m. - 7:35 p.m.
Notes: This section is in-person. All students attending an in-person section are required to submit proof of Covid and Flu vaccines prior to attending courses in-person. Please visit the pre-entrance health site for more information:
https://wellbeing.jhu.edu/PrimaryCare/pre-entrance-health-requirements/
|
|
Waitlist Only
Foundations of Software Engineering
605.601.81
05/21/2025 - 08/14/2025
|
|
Open
Foundations of Software Engineering
605.601.82
05/21/2025 - 08/14/2025
|
|
Waitlist Only
Foundations of Software Engineering
605.601.83
05/21/2025 - 08/14/2025
|
|
Open
Foundations of Software Engineering
605.601.8VL
05/28/2025 - 07/07/2025
Mon 4:30 p.m. - 7:35 p.m.;Wed 4:30 p.m. - 7:35 p.m. |
|
Open
Foundations of Software Engineering
605.601.81
08/25/2025 - 12/09/2025
|
|
Open
Foundations of Software Engineering
605.601.82
08/25/2025 - 12/09/2025
|
|
Open
Foundations of Software Engineering
605.601.83
08/25/2025 - 12/09/2025
|
|
Open
Foundations of Software Engineering
605.601.84
08/25/2025 - 12/09/2025
|