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
This is a practice-oriented software engineering
course with
emphasis on individual software development process. After
completing this course, students should:
- 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.
Instruction 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 compiler construction concepts while instituting the discipline software engineering 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
The course evaluation will be divided equally between examinations and assignments. The distribution of each half is shown below.
Items | Weight |
---|---|
Individual Assignments | 15% |
Group Assignments | 15% |
Discussion | 15% |
Game Participation | 15% |
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.