| Lecture | Date | Reading | Assignment | Topics Covered |
|---|---|---|---|---|
| Module 0 : Course Review, Installation and Setup | ||||
| Wed. Jan 20 | Introduction and Setup | Review of course syllabus and schedule. | ||
| Module 1 : Software Engineering Process | ||||
| 1 | Wed. Jan 20 | Introduction to Software Engineering |
1
(due: 2/4) |
Historical roots of software engineering, and surveys the field. |
| 2 | Wed. Jan 27 | Models of Software Engineering Processes |
2
(due: 2/11) |
Specific types of software engineering process models that have been developed to guide product development. |
| 3 | Wed. Feb 3 | Focus on Agile Methodologies | Introduction to Agile methodologies, including history, principles, variations, and approaches. | |
| 4 | Wed. Feb 10 | Focus on Open Source Methodologies | Introduction to Open Source software, and special issues for open source development. | |
| Module 2 : Project Resources | ||||
| 5 | Wed. Feb 17 | Managing Project Content | Organization and management project content, capturing and storing project content, and making content accessible to team members based on software development model. Introduction to Git for managing code content. | |
| 6 | Wed. Feb 24 | Content Collaboration |
3
(due 3/5) |
Team-oriented aspects of project content, including managing multiple concurrent versions of code content during development, distributed content management for collaboration, and extensions for managing larg content files in a repository. |
| 7 | Wed. Mar 3 | Requirements |
4
(due 3/11) |
Determining the requirements that fulfill the expectations of the software being developed, and using requirements to guide the development process. |
| 8 | Wed. Mar 10 | Estimation | Introduction to techniques for estimating the resources required for a software project, using estimation tools including forward-looking and historical estimators. | |
| Module 3 : Project Processes | ||||
| 9 | Wed. Mar 17 | Communications and Collaboration |
5
(due 4/1) |
Use of communication methods and tools for project communication, and uses of communication to facilitate project collaboration. |
| 10 | Wed. Mar 24 | Managing and Tracking Resources | Management and tracking of project resources to enable teams to improve estimates from metrics-based project models. | |
| 11 | Wed. Mar 31 | Managing and Tracking Communications | Management , tracking, and analyzing communications within a project to determine the measure the effectivness of the development process. Also looks at the role of unified communications in a software development project. | |
| 12 | Wed. Apr 7 | Managing and Tracking Development Processes | Management and tracking of the overall development project in terms of the components that comprise the process, including time and and development resources. | |
| Module 4 : Quality Assurance and Testing | ||||
| 13 | Wed. Apr 14 | Software Quality Assurance (SQA) | Ensuring that a software product meets its functional and quality requirements. Includes approaches to SQA and the use of metrics and statistics. | |
| 14 | Wed. Apr 21 | Software Testing Principles and Practice | Reducing the cost of errors in a software system, using techniques for isolating and fixing errors at various stages of the product lifecycle. | |
| Tue. Apr 27 | Projects Due -- Presentations | |||
| Wed. Apr 28 | Project Presentations (additional if needed). | |||