[November 29, 2004] This week's lecture notes are now available.
From the UCI Catalog:
Introduction to the concepts, methods, and current practice of software engineering. The study of large-scale software production; software lifecycle models as an organizing structure; principles and techniques appropriate for each stage of production. Laboratory work involves a project illustrating these elements.
Prerequisite: ICS 23 with a grade of C or better.
In addition to the skills and concepts introduced in previous classes, students should have these computing skills when they enter the class (or learn them independently in the first week of the quarter):
The instructional objectives for the course are as follows:
Week | Dates | Lecture topic | Schedule Notes | Assignments | Readings (all from van Vliet, unless noted otherwise) |
1 | September 24, 27, 29 | Introduction | Chapters 1, 2, and 3 | ||
Processes | Slides from 1st Discussion section | ||||
2 | October 1, 4, 6 |
Principles & Requirements Engineering and here's the slides I used for my keynote talk at STRAW '01 | Requirements assignment issued | Section 11.1 Chapter 9 | |
Requirements Engineering (URL here is to Sommerville's slides from his Chapter 7) | Slides from discussion section (10/6) | Example requirements document (from FQ 02) | |||
3 | October 8, 11, 13 | Architectures | Slides from discussion (10/11) | Chapter 10 | |
Architectures | Slides from 10/13 discussion | Example requirements document (Unical) | |||
4 | October 15, 18, 20 | Design | Requirements assignment due 10/18, in discussion. Design assignment issued | Chapter 11 | |
Design, continued | Eric Dashofy's slides on the C2-style | examples of module descriptions ICS 52 standard design notation (though not for C2 designs) | |||
5 | October 22, 25, 27 | Design | |||
UI Design (these are Sommerville's slides, which I'll be using) | Chapter 16 | ||||
6 | October 29, November 1, 3 | Review on the 29th and 1st. | |||
Mid-term Exam, on November 3 | Here's the midterm exam and solution notes from a couple of years ago. Here's this quarter's solution key. | ||||
7 | |||||
November 5, 8, 10 | No class on 11/5. | Design (Arch and module interfaces) due Nov. 8th. Implementation assignment issued. Testing assignment issued. | |||
8 | November 12, 15, 17 | Testing | Chapter 13 | ||
9 | November 19, 22, 24 | Quality assurance |
Testing assignment (yes, that 's right, testing) due 11/24
| ||
10 | November 29, December 1, 3 | Maintenance and Configuration Mgmt. | Chapter 4 | ||
Course Review | Implementation assignment due. | ||||
Exams | Monday, December 6th | FINAL EXAM | 10:30 - 12:30 | The exam is comprehensive. Here's a sample from the past. |
Aggregate grade for the project: 45%.
Midterm: 20%.
Final: 35%
The project consists of four assignments. Their relative weighting (as a percentage of your final grade) is as follows:
Assignment
Weight
| Requirements | 10
|
| 18
|
| 7
| Testing | 10
| |
Specific assignments will be placed on the web, giving the assignment, the required format, and specific grading criteria.
Strictly speaking, we do not grade on a curve, meaning that we will not assert in advance that half of the class will receive grades at or below a C+, and half above that. Grading is done based on mastery of the material as exhibited in the exams and the project. If everyone masters the material very well, then everyone will get an A. On the other hand, if no one were to master the material at all adequately, then everyone would receive an F. But grades are adjusted to suit the difficulty of the exams and the assignments. If an exam turns out to be a real bear, then the threshold for an A will be much lower than for an exam that was piece of cake.
NO LATE ASSIGNMENTS WILL BE ACCEPTED, unless you have a legible excuse from a physician, an extreme family emergency, or unless you are willing to accept an extreme penalty with respect to your assignment's grade.
Check this web site regularly. This is the definitive location for course information. Announcements concerning assignments will be made here. The course mailing list will also be used to make announcements, provide instructions, and so on. The course mailing list will be "read only" from the student's perspective. I.e. the instructor, TA, and readers can post messages to the list, but not students. If you ask one of us a question whose answer is relevant to the rest of the class, we'll post the appropriate material to the list.
Any email that you send in conjunction with this class must be sent from a UCI account. That is, if you want any response or action taken, then you must use your UCI account to send the email. Email from yahoo, hotmail, juno, cox, or any other non-UCI site will be ignored.
All computing will be done on the department's lab machines.
You may use another computer to produce the documents you turn in. (No handwritten assignments allowed).
All implementation work will be done in Java.
Please use the computing equipment for instructional purposes only. Also watch out on the social subtleties of electronic mail.
Any student who feels he or she may need an accommodation based on the impact of a disability should contact me privately to discuss his or her specific needs. Also contact the Disability Services Center at (949) 824-7494 as soon as possible to better ensure that such accommodations are implementationed in a timely fashion.