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:
- T04: Tuesday 08:30-09:20 in BSB-245
- T05: Tuesday 16:30-17:20 in BSB-245
- T06: Tuesday 11:30-12:20 in BSB-245
- T01: Wednesday 11:30-12:20 in BSB-245
- T02: Wednesday 09:30-10:20 in BSB-245
- T03: Wednesday 08:30-09:20 in BSB-245
- T07 ? Friday 16:30-17:20 in BSB-244
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
Name | email | tutorial time | students marked |
Jeff Hargot | hargotj@mcmaster.ca | Tut 3 T 8:30 | dagrumaj - huynhj2 |
Mary Tudo | tudom@cas.mcmaster.ca | Tut 3 W 8:30 | wallerc - yongze |
Ning Liu | liuning_online@hotmail.com | Tut 5 T 4:30 | liz8 - paynelm |
Thabo Subramaniam | subrat@muss.cis.mcmaster.ca | Tut 1 W 11:30 | peiy - vrbikp |
Vasanthakumar (Vasanth) Kugathasan | kugathv@mcmaster.ca | Tut 6 T 11:30 | ilurida - lium8 |
Will Blair | blairw@cas.mcmaster.ca | Tut 2 W 9:30 | adamsrb - 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
- There will be two mid-terms. They are tentatively scheduled for
February 5th and March 13th, during the regular class hour.
- The final examination will be
scheduled by the Registrars office in the usual way. It will be
three hours in duration and cover the material of the course,
handouts and assignments.
- There is zero tolerance for academic dishonesty .
All assignments have to be solved by one person only,
any outside source, this includes asking other people,
or using any books or information found on the web has to
be documented. In complience with the senate regulations
on academic dishonesty I remind you that:
People who let other people copy are as
guilty as the ones who copy.
You are allowed to consult outside sources, meaning textbooks
or the web, but any use of an outside source
must be documented.
Students are referred to the
statement on academic ethics:
which contain details on "Plagiarism" and "Improper Borrowing in Non-Verbal
Disciplines" such as "improper use of the computer files".
- In the case the instructor or a TA
has the impression that an assignment is copied, the instructor can
ask the corresponding students to explain exactly how the assignment
was prepared and take appropriate actions.
- You must pass the final examination to pass the course.
Assuming you pass it, the final grade will be computed
according to:
Final Examination |
50% |
Mid-Term Test 1 |
20% |
Mid-Term Test 2 |
20% |
Assignments |
10% |
Additionally, many exercises will be posted. Some of these
exercises will be worth bonus points, to be added to the
final mark of those who have passed the final.
- The instructor does not accept
late doctor's notices, if you write a mid-term then the mark is
yours. If you do not write an exam or an assignment and do not provide
an acceptable doctors notice then it is marked with 0. The
instructor reserves the right to conduct any deferred exams orally.
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.
- Introduction (1)
- Algorithms (4)
- Programming Languages (4)
- Operating Systems concepts (2)
- Data Structures (4)
- Logic (2)
- Finite State Machines (2)
- Complexity (2)
- Advanced Topics (11)
- Review (1)
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