CS 2ME3: Software Design I
Winter 2006
- Instructor: Michael Soltys, email:
my last name at mcmaster.ca
- Course Information
- Lectures: M,W 11:30-12:20, and F 13:30-14:20,
in ABB/162.
- Course outline:
A mathematical approach to program development using Java. Here
"mathematical" implies rigor in our approach to program correctness.
Program design techniques, as well as verification techniques.
- Textbook:
There is one required textbook:
- Java Software Solutions (Java 5.0 version):
Foundations of Program Design
4th Edition
by John Lewis and William Loftus
Addison Wesley, ISBN: 0321322037.
The following are recommended readings:
- Introduction to Algorithms, Second Edition, by Thomas H.
Cormen et al., McGraw-Hill Book Company, 2001.
- 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
- Please Read:
McMaster Academic Integrity Statement.
- Previous versions of this course:
2004,
2005.
- WebCT
Announcements:
- Apr 3: Click here to see your term
marks ordered by student number; please let me know if there are
mistakes by Friday!!!
- Apr 3: Click here for Imene's
marking comments for Problem Set 3.
- Apr 1: Problem Set 3 with solutions has been posted below.
- Mar 26: The last batch of notes has been posted below; they
contain chapter 4, and the pages are numbered 51-64.
- Mar 17: The TA, Imen Bourguiba, will conduct a tutorial on
Monday April 3rd, instead of the usual lecture. Please bring your
marking concerns for the midterm and the assignments on that day.
- Mar 15: Click here for Imene's
marking comments for Problem Set 2.
- Mar 5: Solutions to the midterm, as well as solutions to problem
set 2, have been posted below. Also the last problem set has been
posted below.
- Feb 15: Click here for Imene's
marking comments for Problem Set 1.
- Feb 11: For the midterm you are responsible for
the material in the lectures notes posted so far, except for the
section on the determinant. You should understand all the
material and know how to do the exercises. Remember that Problem Set
2 is due the day of the midterm; please bring Part B of Problem Set to
the test room (and submit Part A via WebCT as last time).
- Feb 11: The latest batch of lecture notes has been posted below
(pages 23 through 39, comprising all of dynamic programming).
- Feb 6: Just a reminder that Imene Bourguiba is the TA for this
course; her email is bourgui at mcmaster dot ca.
- Feb 2: Midterm: Monday, February
27, 11:30-12:20 (the usual lecture time) in BSB/121.
- Feb 2: The solutions to Problem Set 1 have been posted below.
- Jan 31: Problem Set 2 (due Feb 27) has been posted below.
- Jan 28: A new set of notes has been posted below.
- Jan 20: Note that the
WebCT page
for this course is up and running.
- Jan 20: A revised version of problem set 1 is posted below. As
was pointed out, there was a mistake in problem 2(a), Part B. The
definition of Fibonacci numbers should be changed to f_0=0, and there
should be no exponent in the right-hand side of the matrix equality.
You can download the new version of the assignment by clicking on the
original version of the problem set 1 link.
- Jan 19: Pages 4 through 6 of course notes have been posted
below.
- Jan 11: Problem Set 1 has been posted below.
- Jan 9: The first 3 pages of notes have been posted below.
- Jan 5: There will be a Java tutorial on Wednesday January 11th,
11:30-12:20 (the usual lecture time slot), in ITB-236, conducted by
Robert Li. You are encouraged to attend.
Notes, Assignments, and Tests: