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

Foundations of Software Engineering
605.401


Course Description


This class will focus on the processes, practices, and techniques for software spanning the entire life cycle. We will examine traditional and advanced techniques for software, with a pre-dominant focus on the use of software engineering-based practices. We will read numerous journal articles and have class discussions debating the pros and cons of various techniques. This class will be composed of lectures by me, lectures by you, and class discussions.

Table of Contents:

The course catalog gives more information about this course.

Information Available for Currently Enrolled Students

Syllabus

  1. The Software Engineering Crisis
  2. What is Software Engineering?
  3. Life Cycle Models
  4. Software Project Management
  5. Software Cost Estimation
  6. Risk Management
  7. Systems Engineering
  8. Software Requirements Engineering
  9. Software Design Methodologies
  10. Software Testing and Validation
  11. Software Process Improvement

Prerequisites
None.

Instructor
Philip Hausler is a program manager of software technology in IBM's Worldwide Industry Solutions organization. Currently, he is responsible for the Enterprise Solution Structure, a business and framework architecture in support of This is a thumbnail picture of Philip Hauslerenterprise solutions across multiple industries. With IBM he has extensive experience in management, software product development, services consulting, and project management. He has strong interests in management and technology for software processes, project management, and advanced software engineering practices, including Cleanroom software engineering for developing ultra-high quality software with certified reliability.

Since 1985, Philip has served on the faculties of the Computer Science departments at the University of Maryland and Johns Hopkins University, where he teaches undergraduate and graduate courses on software engineering, programming languages and compiler theory. He is a member of IEEE, IEEE Software Engineering Technical Committee, and was a panel member for the Department of Defense's Software Acquisition Best Practices Initiative.

More information about the instructor is available.

E-mail the instructor.

Course Section, Location, and Time
Please refer to the Course Schedule for section information, including time and location.

Computer Lab Requirements
No specific computer requirements are necessary for this course.

Textbook and Other Resources


Links to other Software Engineering sites:

  • A software engineering glossary.
  • The Software Engineering Institute (SEI)
  • The Software Productivity Research (SPR) Information Center
  • Technical Council on Software Engineering (TSCE of IEEE)
  • The Software Technology Support Center of the United States Air Force
  • The European Software Institute
  • The Software Quality Assurance home page has lots of links to useful software development resources.
  • SIGSOFT is the Association for Computing Machinery's ( ACM ) special interest group for software engineering.
  • Software Productivity Consortium Home Page

  • Return to Part-Time Engineering
    Return to Whiting School of Engineering
    Return to JHUniverse