CS 377
Introduction to Software Engineering

Fall Semester, 2007
Location: GFS 116
Time: TTh 12:30–1:50pm
Class number: 29943R
Prerequisite: CSCI 102


Instructor | Course Description | Academic IntegrityTextbook and ReadingsAssignments and ExamsSchedule


Instructor

    • Electronic Mail: neno@usc.edu
    • Office: SAL 338
    • Office Phone: (213) 740-5579
    • Office Hours: TTh 11:00am – 12:00pm

 

Teaching Assistants

  • Daniel Popescu
    • Electronic Mail: dpopescu@usc.edu
    • Office: SAL 327
    • Office Phone: (213) 740-6504
    • Office Hours: TTh 3:30pm – 4:30pm
       
  • Prakash Gupta
    • Electronic Mail: prakashg@usc.edu
    • Office: SAL 245
    • Office Phone: none
    • Office Hours: MW 11:00am – 12:00pm

 


Course Description

Introduce principles, methods, techniques, and tools for multi-person construction of multi-version software systems. Frequent in-class assessment and homework assignments.

 


Academic Integrity

Students must work independently on all individual assignments; collaborating on individual assignments is considered cheating and will be penalized accordingly. All USC students are responsible for reading and following the USC Student Conduct Code, which prohibits plagiarism. Some examples of behavior that is not allowed are: copying all or part of someone else’s work (by hand or by looking at others’ files, either secretly or if shown), and submitting it as your own; giving another student in the class a copy of your assignment solution; consulting with another student during an exam; and copying text from published literature without proper attribution. If you have questions about what is allowed, please discuss it with the instructor.

Students who violate University standards of academic integrity are subject to disciplinary sanctions, including failure in the course and suspension from the University. Since dishonesty in any form harms the individual, other students, and the University, policies on academic integrity will be strictly enforced.


Textbook and Readings

Textbook:

  • Ian Sommerville, Software Engineering, 8th Edition, Addison Wesley, 2006.

Supplemental Readings:

  • Additional readings will be provided for selected topics that are not (adequately) covered in the textbook:
    • Software project failures
    • Software architectures, architectural styles, and product lines
    • Software design patterns
    • Software engineering economics and cost estimation models
    • Future challenges of software engineering

Assignments and Examinations

Name

Description

Weight

Examination No. 1

This exam will assess your understanding of the material covered in class during the first half of the semester.

25%

Examination No. 2

This exam will assess your understanding of the material covered in class during the second half of the semester.  While no specific emphasis will be placed on the topics already included in the first exam, you will be expected to have and, whenever relevant, show an in-depth understanding of those topics when discussing the new material.

25%

Quizzes

A short quiz will be given frequently at the beginning of a class period to assess your understanding of a key concept covered during the preceding lecture and/or in the corresponding reading assignment.

20%

Homework

Frequent exercises will be given to assess your understanding of the material covered in class.

30%

 


Schedule (Subject to Change)

Week

Lecture Topic

Readings

Assignments and Exams

1

  • Course introduction

 

 

Class Cancelled

2

  • Chapter 1

 

 

3

  • Chapter 2

 

  • Chapter 4: Sections 4.1-4.3
  • Chapter 5

 

4

  • Chapter 6
  • Chapter 7: Sections 7.1-7.3
  • Chapter 8
  • Chapter 9

5

  • Formal methods in software engineering:
    In-class exercise
  • Chapter 10

 

  • Chapter 11: 11.1-11.4

 

6

 

  • Chapter 11: Section 11.5
  • Chapter 18: Section 18.5
  • Homework 2 due
  • Homework 3: Application of architectural styles and reference architectures

7

  • Chapter 19

 

  • Chapter 12

 

8

  • Exam 1 review

 

 

 

EXAM 1

 

9

  • Chapter 14
  • Homework 3 due
  • Homework 4: Software system design and implementation using CORBA
  • Exam 1 discussion

 

 

10

  • Chapter 18: Section 18.2

 

  • Chapter 22

 

11

  • Chapter 23
  • Homework 4 due
  • Homework 5: Application of design patterns in UML
  • Chapter 3
  • Chapter 20

 

12

  • Chapter 16

 

  • Chapter 17

 

13

  • Chapter 29
  • Homework 5 due
  • Homework 6: Test coverage criteria

 

Thanksgiving –  No Class

 

14

  • Chapter 21
 
  • Overview of software engineering economics
  • Chapter 26
  • Chapter 27

 

15

  • Exam 2 review

 

  • Homework 6 due

 

EXAM 2