McMaster University
Computer Science II

COMP SCI 1MD3, Term II 2002/03

Slides     Assignments    Exercises    Midterms

Lectures and Tutorials

Monday, Wednesday, Thursday 10:30-11:20 in CNH-104
Tutorials:

Instructor

Dr. J. Carette, ITC-129 , ext 26869

Office hours: by appointment only.

For all course related questions, due to the large size of the class, it is asked that a TA be contacted first. A class forum will also be set up on WebCT so that questions and their answers can be posted centrally. The instructor will, regretably, not answer emails sent to him directly, but will answer questions posted on the discussion forum(s).

Teaching Assistants

Nameemailtutorial timestudents marked
Jeff Hargothargotj@mcmaster.caTut 3 T 8:30dagrumaj - huynhj2
Mary Tudotudom@cas.mcmaster.caTut 3 W 8:30wallerc - yongze
Ning Liuliuning_online@hotmail.comTut 5 T 4:30liz8 - paynelm
Thabo Subramaniamsubrat@muss.cis.mcmaster.caTut 1 W 11:30peiy - vrbikp
Vasanthakumar (Vasanth) Kugathasankugathv@mcmaster.caTut 6 T 11:30ilurida - lium8
Will Blairblairw@cas.mcmaster.caTut 2 W 9:30adamsrb - davreosf

Note that the "students marked" above are alphabetica by WebCT userid, and inclusive.

Textbooks

Computer Science: an overview Edition 7, J. Glenn Brookshear, Addison Wesley. Slides (as PowerPoint files) from this book are available online.
A Book on C Al Kelley and Ira Pohl. The second author maintains a web page for this book. From there one can download all the code from this book, as well as review errata, etc.

Course Objectives

This course is for people who have had an introduction to programming. From the undergraduate calendar, the topics of the course are:
abstract data models and data structures; virtual memory and memory allocation; advanced programming paradigms: recursion, functional programming, communication protocols; logic, finite-state machines and complexity
More broadly, the objectives of this course will be to continue to teach programming basics, as well as introduce a number of more advanced computer science topics that will be covered more in depth in later courses.
Broadly, the course will have 2/3 of the lectures on topics such as data structures, algorithms, programming languages, complexity, and 1/3 of the lectures will be spent on (quick) overviews of advanced topics such as XML, OCaml, Haskell, compilers, interpreters, scientific computation, symbolic computation, templates and the STL, genericity, Open Source, automated testing, garbage collection, web technologies, IDEs, etc. The exact list of topics will be finalized partway through the term; as well, the class will have input on the final list of topics.

Course Information on Web, and Slides

The latest version of this outline and the most "up-to date" information as well as hand-outs can be found on the course web page. http://www.cas.mcmaster.ca/~carette/CS1MD3/2003/index.html.
(Or go to my home page and then to the course page). The slides and assignments can be found there as well.

Mid-terms, Exams, and Grading

Outline of the course lectures

The following outline is approximate and is likely to change. It is expected that, generally, Monday and Wednesday lectures of each week will be on basic material, and Thursday lectures will be on advanced topics. The order of the list below is only approximate; the number in parentheses is the estimate of the number of lectures devoted to the topic. Chapters 4, 5 and 7 of Brookshear will be completely covered. Most of chapter 3 will be covered, as well as parts of chapters 2, 6, 8, and 11. Most of chapter 1 and 2 should be known from a previous course, as well as parts of chapter 7.

Slides

Slides will be made available online after the lectures.

Notes:

Discrimination

"The Faculty of Engineering is concerned with ensuring an environment that is free of all adverse discrimination. If there is a problem that cannot be resolved by discussion among the persons concerned individuals are reminded that they should contact there Chair, the Sexual Harassment Office or the Human Rights Consultant, as soon as possible."

Academic Dishonesty

"Students are reminded that they should read and comply with the Statements on Academic Ethics and the Senate Resolutions on Academic Dishonesty as found in the Senate Policy Statements distributed at registrations and available in the Senate Office."
Students are referred to: http://www.mcmaster.ca/senate/academic/academic.htm

Jan 2003