CS 180 - Introduction to Software Engineering
Spring 2009



ProfessorDr. Iulian Neamtiu
Office hours: T 2:10 p.m. - 3:10 p.m. and R 5:00 p.m. - 6:00 p.m., Engineering BU2 (ENGR2) room 412
TAsGeorgios Chatzimilioudis
Office hours: F 3:00 p.m - 4:00 p.m. and M 2:00 p.m - 4:00 p.m. in ENGR2 room 363
Malcolm Mumme
Office hours: T 10:30 a.m. - 12:00 p.m. and R 10:30 a.m - 12:00 p.m. in ENGR2 room 110
LecturesTR 12:40 p.m. - 2:00 p.m., Sproul Hall (SPR) room 2365
Lab (section 021) R 2:10 p.m. - 5:00 p.m., ENGR2 room 129.    TA: Malcolm
Lab (section 022) W 3:10 p.m. - 6:00 p.m., ENGR2 room 127.   TA: Georgios
GradingProject (50%) + Final exam (25%) + Midterm (20%) + Quizzes (5%)
TextbookFundamentals of Software Engineering (2nd edition) by Ghezzi, Jazayeri, Mandrioli. Book website.
MidtermApril 28
Final examJune 11
Prerequisites CS 141
Moodle page

Catalog description: A study of software engineering techniques for the development, maintenance, and evolution of large software systems. Topics include requirements and specification; system design and implementation; debugging, testing, and quality assurance; reengineering; project management; software process; tools; and environments.


The schedule might change during the quarter so check this page often!

Day Date Topic Reading Slides Notes
Tue March 31 Introduction Chapter 1 PDF  
Tue April 2 Software: Its Nature and Qualities
Software Engineering Principles
Chapters 2, 3 PDF  
Thu April 7 The Software Production Process Chapter 7 (sections 7.1--7.6)
How Microsoft Builds Software
(optional) Two case studies of open source software development: Apache and Mozilla
Thu April 9 Rapid Software Development
(includes Extreme Programming)
(optional) Get Ready for Agile Methods, with Care
Tue April 14 Management of Software Engineering Chapter 8 (sections 8.1, 8.2 (up to, and including, and 8.3)
Software risk management: principles and practices by Barry Boehm
Thu April 16 Specification Chapter 5 (sections 5.1--5.4) PDF  
Tue April 21 Finite State Machines
Petri Nets
Chapter 5 (section 5.5) PDF  
Thu April 23 Logic Specification
Axiomatic Semantics
Section 5.6.2 (up to, and including,
An Axiomatic Basis for Computer Programming by C.A.R. Hoare
Tue April 28 Midterm      
Thu April 30 Design and Software Architecture Chapter 4 (sections 4.1--4.2.2)
On the Criteria To Be Used in Decomposing Systems into Modules by David L. Parnas
Tue May 5 Design Notation, Abstraction and Refinement Chapter 4 (sections 4.2.3--4.2.6) PDF  
Tue May 7 Verification: Introduction Chapter 6 (up to PDF  
Thu May 12 Structural (White-box) Testing Chapter 6 (section PDF  
Tue May 14 Functional (Black-box) Testing
Testing in the large
Chapter 6 (sections PDF  
Thu May 19 Verification: Program Analysis Section 6.4 (omit and PDF  
Thu May 21 Symbolic Execution Sections 6.5 (omit 6.5.2) and 6.7 PDF  
Tue May 26 Tools and Environments Section 9.3 PDF  
Thu May 28 Review Ariane 5: Who Dunnit? PDF  
Tue June 2 Project presentations      
Thu June 4 Project presentations      
Thu June 11 Final Exam      


Details on Moodle.


There will be several unannounced quizzes at the beginning of class. Quizzes are designed to test students' understanding of the material assigned in advance for that class (section or chapter in the textbook) or to reinforce material studied in previous lectures. When computing the student's final score, the lowest quiz score will be dropped. There are no make-up quizzes.


Optional books:


Attendance and basic etiquette

Students are required to attend, follow, and actively participate in all lectures and discussions. All lectures, discussions, and exams start at the stated time. Avoid being late coming to class, as this is very disruptive. Students are requested to refrain from using electronic devices (laptops, cell phones, music players, etc.) during lectures, exams, and discussions. If, for some compelling reason, you need to be on call, be sure to put your cell phone in silent mode, and excuse yourself from the class if you need to take a call. Analogously, when coming to see the instructor or the TA, please turn your cell phone off.

In class examinations

Exams should test your understanding, not your memorization, of the material. Hence, you can use your textbook and your class notes during in-class exams. However, you must check with the instructor before consulting any additional references. No laptops, iPods, cell phones, pagers, or similar devices can be used during the duration of the exam. You must do at least somewhat well in these in-class exams in order to pass the course.

Make-up policy

No quiz make-ups. No midterm make-ups per se, but if for some good reason (e.g., illness), you can't take the midterm on the official date, your final will be comprehensive. You need advance permission from the instructor for this (i.e., prior to the midterm).

Academic Integrity

Academic integrity will be strictly enforced. Any violation or suspected violation of academic integrity will be dealt with according to the UCR discipline procedure. An excellent, detailed guide to what constitutes academic dishonesty and the procedure in case of academic integrity violations is available here.

What constitutes academic dishonesty?

In short: acts including but not limited to, cheating, fabrication, plagiarism, unauthorized collaboration, or facilitating any of the above.

What are the penalties and sanctions for academic dishonesty?

In short: if a student is found guilty of academic dishonesty, penalties range from receiving an F for the class and adding a record of violation to the student's file, up to dismissal from the University, depending on the severity of the infraction and the number of prior violations of the integrity code.

Ignorance is no excuse.

The above information is not designed to threaten or intimidate the student. Rather, it is presented to inform the individual of the consequences. The important thing to remember is that if there is any doubt in one's mind that an act is in violation of academic integrity guidelines, then the prudent response would be not to do the act. It is a simplistic approach, to be sure, but one that will benefit both the student and the university community as a whole.

Slides used in this course are based on material provided by the textbook authors.