Basic Information
Announcement
Overview
Readings
Project
Exam
Grading
Mailing List
Schedule
|
Basic Information
When
Where
Instructor: Professor Shan Lu (shanlu@uch...); RY 257-A; office hour: Tu/Th 10:50--11:45am @ Ry 257-A.
TA:
- Lefan Zhang (lefanz@uch...) office hour: 2:00--3:30pm, Tuesday @ CSIL1.
- Yuxi Chen (chenyuxi@uch...) office hour: 3:00--4:00pm Mon@ CSIL4, 1:00pm--2:00pm Wed@ CSIL1 (starting on Jan. 24th).
Announcement
03/01
The fast code and slow code demo-ed in lecture can be found here:
fast
and slow.
03/01 11:59pm Project milestone 4 implementation due.
03/06 09:30am Every project
group will do a project presentation in that lecture.
03/13 10:30am--12:30pm Final exam @ Ry-277.
Stats, Notes, Useful Info.
Stats: Quiz 1 Avg 9.6; Quiz 2 Avg 8.7; Quiz 3 Avg 8.3; Quiz 4 Avg 8.8;
Midterm Avg 90.6, Median 93.75; Quiz 5 Avg 7.5, Median 7.6; Quiz 6 Avg 8.6, Median 8.6.
Overview
Welcome to Software Construction!
In this course, we will study a number of interesting topics including
software processes, requirement engineering, software architecture and
component design, software testing, debugging, and
software maintenance.
This course assumes familiarity with basic programming skills
and data structures.
Some background in object-oriented programming (e.g., C++ or Java) is
not required, but would be good to have.
You will need to program in a 6 -- 8 people team.
Schedule
This is a tentative schedule.
01/02 |
(No Class)
|
| |
01/04 |
Introduction, Software Processes
[notes]
|
01/09 |
Agile, Extreme Programming
[notes]
|
| |
01/11 |
Project Discussion, Requirement Engineering & System Modeling I
[notes]
|
01/16 |
Requirement Engineering & System Modeling II
[notes]
|
| |
01/18 |
System Modeling III
[notes]
|
01/23 |
Architectural Design
[notes] |
| |
01/25 |
Testing 1
[notes]
|
01/30 |
Testing 2
[notes] |
| |
02/01 |
Code Smell
[notes]
|
02/06 |
Refactoring
[notes]
| | |
02/08 |
Midterm
|
02/13 |
Software Maintenance
and Design Patterns I (Observer)
[notes ]
|
| |
02/15 |
Design Patterns II (Composite, Interpreter)
[notes ] |
02/20 |
Design Patterns III
[notes ]
|
| |
02/22 |
Bugs and Bug Detection
[notes ]
|
02/27 |
Parallel Software Construction I
[notes ]
|
| |
03/01 |
Parallel Software Construction II
[notes]
|
03/06 |
Project Presentation
|
| |
03/08 |
No Class (Reading Period) |
Materials
Projects
This is a tentative version.
You will do a warm-up project in a group of two with the due day on 01/17.
More information about this
warm-up project will be posted by the end of the first week of the quarter.
You will propose a project and develop it following the process learned
in the class with your teammates.
Your project will go through the following milestones, with every milestone being graded.
More details will be announced later.
- Milestone 1 (01/19): proposing a project, with requirement details and user stories written down (group of 2--3 people);
- Milestone 2 (01/31): requirement validation and project planning, with development team and plans set up (group of 6--8 people);
- Milestone 3 (02/09, 02/15): 1st development iteration, with unit test cases to show progress (group of 6--8 people);
- Milestone 4 (02/22, 03/01): 2nd development iteration, with unit test cases to show progress (group of 6--8 people);
- Milestone 5 (03/06): system testing and documentation (group of 6--8 people);
- Milestone 6 (03/11): acceptance testing (groups testing each other's projects).
Exam
There will be an in-lecture mid-term exam and a final exam.
Grading
This is a tentative scheme.
Warm-Up Project |
8% |
Project |
40% |
Quizzes |
7% |
Mid-Term exam |
20% |
Final exam |
25% |
Mailing List
|