The University of Western Ontario
London, Canada

Department of Computer Science

CS 211b - Software Tools and Systems Programming
Course Outline - Winter 2002


Course Description

This course provides an introduction to software tools and systems level programming. Topics include understanding how programs run (compilation, linking, and loading), an introduction to a complex operating system (UNIX), scripting languages, the C programming language, system calls, memory management, libraries, multi-component program organization and builds, version control, debuggers and profilers, and a brief introduction to the C++ language.

Lecture Hours: 3:00 - 4:00pm, Tuesdays, MC 110
3:00 - 5:00pm, Thursdays, MC 110

Prerequisite: Computer Science 027 a/b with a grade of at least 60%
Antirequisites: Software Engineering 201 a/b, 250y, and the former Computer Science 201


Note: Unless you have either the requisites for this course or written special permission from your Dean to enrol in it, you will be removed from this course and it will be deleted from your record. This decision may not be appealed. You will receive no adjustment to your fees in the event that you are dropped from a course for failing to have the necessary prerequisites.


Instructor Information

Instructor: Michael J. Katchabaw
Office: MC 28H (Basement Rotunda)
Office Hours: 3:00 - 4:00pm, Mondays
3:00 - 4:00pm, Wednesdays
3:00 - 4:00pm, Fridays
E-Mail: katchab@csd.uwo.ca
Phone: UWO extension 86908


Required Texts

Two books are required for this course, and are available for purchase from the University Bookstore or the Used Bookstore. A copy of each book will be made available on 2 hour reserve loan from the Allyn and Betty Taylor Library.


Course Topics

The course will address as many of the following topics as time will allow:


Lecture Notes

Course lecture notes will be made available in PowerPoint and Postscript formats on the course website on a weekly basis, as they are developed. They are provided as a courtesy by the course instructors. Possessing (and even reading) these notes is not a suitable substitute for attending lectures.


Course Website

The CS211b website is at http://www.csd.uwo.ca/courses/CS211b. Lecture notes, assignments, and class information will be posted on this website. You are responsible for reading this information frequently.


TA Consulting Schedule

This will be announced on the course website when this information becomes available.


Computing Facilities

Each student will be given an account on the Computer Science Department senior undergraduate computing facility, GAUL. In accepting the GAUL account, a student agrees to abide by the department's Rules of Ethical Conduct.

Note: After-hours access to certain Computer Science lab rooms is by student card. If a student card is lost, a replacement card will no longer open these lab rooms, and the student must bring the new card to a member of the Systems Group in Middlesex College Room 346.


E-Mail Contact

We will occasionally need to send e-mail messages to the whole class, or to students individually. E-mail will be sent to your GAUL e-mail address. You must make sure that you read your e-mail on GAUL on a frequent and regular basis, or have it forwarded to an alternative e-mail address if you prefer to read it there.

You should note, however, that e-mail at ITS (your UWO account) and other e-mail providers such as hotmail.com or yahoo.com may have quotas or limits on the amount of space they can use. If you let your e-mail accumulate there, your mailbox may fill up and you may lose important e-mail from your instructors. Losing e-mail that you have forwarded to an alternative e-mail address is not an excuse for not knowing about the information that was sent.


Student Evaluation

Grades will be based on five assignments worth a total of 35%, a midterm exam worth 25%, and a final exam worth 40%.

If for any reason the assignment schedule given below cannot be adhered to, the assignment marks will be prorated. (The four assignments are worth 35% of the overall mark for the course. If an assignment has to be cancelled for any reason, the remaining assignment weights will be prorated to add up to 35%.)

To be eligible to receive a passing grade in the course, your mark on the final exam must be at least 40%, and your weighted average on the assignments must be at least 40%. To be eligible to receive a grade of C or higher, your mark on the final exam must be at least 50%, and your weighted average on the assignments must be at least 50%.


Assignment and Test Feedback

Every effort will be made to have assignments marked and handed back within 3 weeks of the handin date. Midterm exam marks will be posted within 2 weeks of the exam at the latest. If we are unable to comply with our intended return dates, revised dates will be posted on the course website.


Test and Exams (tentative)

Midterm: Friday March 8, 2002, 4:00 - 6:00pm, room(s) to be announced
Final: 3 hours during the April exam period

There will be no makeup midterm exam, except for students requesting a special midterm exam for religious reasons. These students must have notified the course instructor and filed documentation with their Dean's Office at least 2 weeks prior to the midterm exam. If there are other serious medical or compassionate grounds for missing the midterm exam, please take supporting documentation to the office of the Dean of your faculty, who will contact the instructor. In such cases, the weight of your midterm exam will be shifted to the final exam, which would then be worth 65% of your final overall grade.


Assignments

Due Dates (tentative)

Assignment 1: 1% (light) Due week of January 14, 2002
Assignment 2: 7% (medium) Assigned January 22, 2002 Due February 4, 2002
Assignment 3: 7% (medium) Assigned February 5, 2002 Due February 18, 2002
Assignment 4: 10% (heavy) Assigned February 19, 2002 Due March 11, 2002
Assignment 5: 10% (heavy) Assigned March 12, 2002 Due April 2, 2002


About the Assignments


Submission of Assignments


Late Assignment Policy


Assignment Marking


Assignment Backups

It is your responsibility to keep up-to-date backups of assignment disk files in case of system crashes or inadvertently erased files. Retain disk copies of all material handed in, as well as the actual graded assignment, to guard against the possibility of lost assignments or errors in recording marks. It is not safe to discard these materials until you are satisfied that your final mark for the course has been computed properly.


Tutoring

The role of tutoring is to help students understand course material. Tutors should not write assignments or take-home tests for the students who hire them. Having employed the same tutor as another student is not a legitimate defence against an accusation of collusion, should two students hand in assignments judged similar beyond the possibility of coincidence.

Each term, the Department posts a list of students interested in acting as tutors for various courses. Tutors are screened for marks in an effort to determine their suitability. The Department accepts no responsibility for problems that may arise between students and their tutors.


Ethical Conduct

All assignments are individual assignments. You may discuss approaches to problems among yourselves; however, the actual details of the work (assignment coding, answers to concept questions, etc.) must be an individual effort. Assignments that are judged to be the result of academic dishonesty will, for the student's first offence, be given a mark of zero with an additional penalty equal to the weight of the assignment also being applied. You are responsible for reading and respecting the Computer Science Department's policy on Scholastic Offences and Rules of Ethical Conduct.


Plagiarism

Students must write their essays and assignments in their own words. Whenever students take an idea or a passage from another author, they must acknowledge their debt both by using quotation marks where appropriate and by proper referencing such as footnotes or citations. Plagiarism is a major academic offence (see Scholastic Offence Policy in the Western Academic Calendar).


Plagiarism Checking

The University of Western Ontario uses software for plagiarism checking. Students may be required to submit their written work and programs in electronic form for plagiarism checking.