CS 2ME3: Software Design I
Winter 2005
- Instructor: Michael Soltys, email:
my last name at mcmaster.ca
- Lectures: MWR 10:30-11:20 in ABB/270
- Course Information
- Course outline:
A mathematical approach to program development using the C programming
language. Here "mathematical" implies rigor in our approach to
program correctness. Program design techniques, as well as
verification techniques.
- Textbook:
There is one required textbook:
- Introduction to
Algorithms, Second Edition, by Thomas H. Cormen et al.,
McGraw-Hill Book Company, 2001.
The following are recommended readings:
- The C Programming Language,
Second Edition,
by Brian W. Kernighan and Dennis M. Ritchie.
Prentice Hall, Inc., 1988.
- Software Engineering: Principles and Practice,
Second Edition,
by Hans Van Vliet.
Wiley, 2000.
- The Art of Computer Programming,
Volumes 1,2,3.
By Donald E. Knuth.
Addison-Wesley, 1998
For the program correctness component of the course, we are going to
be using the following logic notes:
- Check this web page regularly for announcements. Some documents
will be available in PostScript; if you need a PostScript previewer,
go to Ghostview Software.
- Please Read:
McMaster Academic Integrity Statement.
- Click here for last
year's version of this course.
- WebCT
Announcements:
- Apr 8: Click here for your term
marks (ordered by student number). Make sure that your marks have
been recorded correctly.
- Mar 31: Once A2 & A3 will be marked (hopefully by Wednesday
April 6th), I will post all the term grades by student number (only),
so that you can check that your grades have been entered correctly.
- Mar 31: The solutions to PS3 have been posted below.
- Mar 16: The midterm with solutions has been posted below.
- Mar 16: Notes on Verification have been posted below.
- Mar 16: Notes on First Order Logic have been posted below.
- Mar 10: Problem Set 3, which is due March 30, has been posted
below.
- Feb 28: The solutions to PS2 have been posted below. Note that
the solutions to PS1 are also posted below.
- Feb 24: Notice the small type in Problem Set 2, the last line of
Part A: it should say "output", rather than "input".
- Feb 18: Marc Bender's marking scheme for Problem Set 1 has been
posted below.
- Feb 17: The Midterm is coming up; please make sure that you know
how to do all the exercises given in class and in the notes. You are
responsible for everything covered thus far. We shall have a
review/questions session on Monday Feb 28th. Also recall that
assignment 2 is due on Monday Feb 28th.
- Feb 17: Marc, the TA, will hold make-up office hours today
(Thursday Feb 17th) and tomorrow (Friday Feb 18th), 2:30-3:30, in
ITB-240.
- Feb 14: Notes on propositional logic have been posted below.
- Feb 13: Notes on Context-Free Grammars have been posted below.
- Feb 9: Notes of the dynamic programming paradigm have been
posted below.
- Feb 1: The Midterm will take place on Wednesday, March 2nd,
during the usual lecture time (10:30-11:20), in
ABB/B163 (this is the test room in the basement).
- Jan 26: Marc Bender just let me know that he is sick today, and
therefore he won't be able to hold office hours. Sorry for the late
notice.
- Jan 24: Notes on Porgram Development have been posted below.
- Jan 20: Notes on Job Scheduling have been posted below.
- Jan 17: Notes on Kruskal's algorithm have been posted below.
- Jan 17: The TA office hours will take place on Wednesdays,
2:30-3:30, in ITB-240. They start this week (this Wed Jan 19). The
instructor office hours will take place on Wednesdays, 9:30-10:20, in
ITB-214.
- Jan 6: Problem Set 1 has been posted below.
- Jan 6: Programs will be submitted via
WebCT. However, this will
remain the main page (I will post assignments and announcements on
this page).
- Jan 4: Computer Labs Access
You can find all the relevant information at
http://www.cas.mcmaster.ca/support/faq/
Here are the highlights (courtesy of Robert Li):
- The doors to all CAS teaching labs are locked at all times
and a magnetic key is required to gain access.
- The magnetic keys are distributed by the Engineering
DocuCentre (JHE201). They will find you on the class lists and
give you a magnetic key. There is a $20 deposit required for
this key.
- Should you lose your key, inform CAS Facility Staff (Derek or
Chris) in ITC242, so that your key can be de-activated.
- If your key has other problems, please see Derek at ITC242.
- Jan 4: Tutorial
There will be a Linux and Computer Lab tutorial on Monday January
10, 10:30--12:30, in ITB-237. The tutorial will be given by Robert Li
(Computing and Software). Robert will be available during the 2 hours
to answer questions about loggin in, etc.
Notes, Assignments, and Tests: