Software Engineering (COMP 409)

Updated: September 5, 2004

This page is a companion web site for the
BEDS I - "Software Engineering I"

Lecture Notes   Labs   Recommended reading list   Free online book

Software Engineering Lecture schedule and notes.


The slides are based on Sommerville's slides  which have been modified for non-commercial educational purposes only.
The various parts may be delivered in one lecture or may be delivered over a number of lectures, depending on the amount of material to be covered.
Please print this material before the lecture. NOTE: The material in these slides are only a portion of the material presented at the lecture. Attendance at the lecture is still necessary.

 

Part
Title
Further Information

Reference

Slides PDF format
1

Course Outline

 

Ariane 5 more information
Ambulance dispatch more information
Book 6th Ed. of Chapter1

None
00-Preface(r2).ppt
2
Introduction
None

Sommerville

Chapter 1

01-Introduction.pdf
3 Software Processes None Sommerville
Chapter 4
Software Processes
4 Requirements None Sommerville Chap. 5 and 6
03-Requirements.pdf
5 Structured analysis None None 04-StructuredP1.pdf
6 Algorithms Part 1 None None
05-AlgoP1.pdf
7 Algorithms Part 2 None None
06-AlgoP2.pdf
8 Testing None None
07-Testing.pdf
9 Structured Design None None
08-StructuredDes.pdf

Labs

Week 1 Class handout - Program development 1
Week 2 Class handout - Program development 2
Week 3 Class handout - Program development 3
Week 4 Compiling and  linking multi-file programs (with g++)
Week 5 Makefiles ( also see O'Reilly Openbook on Make http://www.oreilly.com/catalog/make3/book/index.csp
Week 6 Battleships
Week 7 OO Programming
Week 8 Structured Programming and NassiSchneiderman diags (Get app here http://www.geocities.com/SiliconValley/Way/4748/mirror01.html)
Week 9 Source Code Control with RCS


Web based programming

C/C++ Labs

The labs will initially focus on C programming and programming tools like gcc, ddd, make, lint, indent and others as appropriate..Software engineering tools will be investigated and used in this environment.  'C' programming langauage and development tools

Homework will normally consist of a number of programming exercises. You must print a copy of your code and subsequently demonstate the code running during the lab. Your code must include a descriptive section [for each program] indicating the Exercise name, Program Name, Author, Date, Description, Usage, Restrictions and Error Handling. An example is shown here




Reading List

The course textbooks are

Required Additional

 

 

On a more general note (useful for background material) is a comprehensive software engineering reading list available at http://www.cs.queensu.ca/Software-Engineering/reading.html


Free Online Books