

Overview
Software engineering is a very broad field, virtually encompasses everything about software development: requirements, specifications, analysis, design, verification and validation, quality management, measurement, project management, change management, risk management, etc. In this course, we will focus on the pragmatic aspects of individual software development.
Objectives
be able to apply the software engineering principles to their personal software development.
be able to develop their personal processes, to plan and measure their personal work, and to manage the quality of their personal products.
be able to use measurement and analysis to make project decisions and to guide process improvement.
have data that show the improvement of their personal performance and the quality of their products.
Approach
In order to be successful in this course
Students are required to read the textbook before attending each class session.
Every week, there will be a quiz on the subject we are going to study. A quiz will help students prepare for the upcoming topics.
There will be approximately 1 programming assignment for each week. These assignments are designed to stimulate the understanding of the software engineering concepts while instituting the discipline required for industrial practice.
Every week, students will present progress and analysis of their personal PSP records.
References
The main textbook that we use in this course is
Watts S. Humphrey, PSP: A Self-Improvement Process for Software Engineers, Addison-Wesley, 2005, ISBN 0-321-30549-3
Course outline
The following schedule is tentative only; it may change depending on the circumstances.
Week | Topics |
---|---|
1 | Introduction to PSP & TSP |
2 | The baseline personal process |
3 | Measuring
Software Size |
4 | Planning |
5 | Software Estimating |
6 | The PROBE estimating method |
7 | Software Planning |
8 | Midterm |
9 | Software Quality |
10 | Design and Code Review |
11 | Software Design |
12 | The PSP Design Templates |
13 | Design Verification |
14 | Process Extensions |
15 | Using the Personal Software Process |
16 | Conclusion |
17 | Final Exam |
Note that the above schedule is tentative by nature; it may change at the instructor's discretion.
Evaluation
Items | Weight |
---|---|
Assignments | 40% |
Quiz | 20% |
Midterm Exam | 20% |
Final Exam | 20% |
Please make sure that you have carefully read and understand the academic policy.
Note that the above description is only tentative; it may change at the instructor's discretion.