The University of Western Ontario
London, Canada

Department of Computer Science

Computer Science 2211b
Software Tools and Systems Programming
Course Outline - January 2017

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, and the C programming language. As time permits, other topics will be chosen from: system calls, memory management, libraries, multi-component program organization and builds, version control, debuggers and profilers.

Prerequisite: Computer Science 1027a/b with a grade of at least 65% or 1037a/b with a grade of at least 60%

Antirequisites: Software Engineering 2250a/b and the former Software Engineering 201a/b

Lecture Hours: Tuesday 9:30am - 10:30am and Thursday 11:30am - 1:30pm, in MC room 105b.

Instructor: Kaizhong Zhang
Office: Middlesex College 372
Office Hours: Monday 2:30-4:30pm
Email: kzhang <at>
Phone: 661-2111 x 83826

Required Texts

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

Course Website
The CS2211b website is accessible through OWL: Lecture notes, assignments, and class information will be posted on this website. You are responsible for reading this information on a frequent and regular basis.

Lecture Notes
Course lecture notes will be made available in PDF on the course website. They are provided as a courtesy by the course instructor. Possessing (and even reading) these notes is not a suitable substitute for attending lectures.

TA Consulting Schedule: to be arranged

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, or to the I/O counter (MC 352).

Email Contact

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

Note that UWO and most other email providers establish quotas or limits on the amount of space available to you. If you let your email accumulate, your mailbox may fill up and you may lose important email from your instructors. Losing email is not an acceptable excuse for not knowing about the information that was sent.

Students can ask questions via email, however if there are any large, somewhat complicated issues, it is recommended to discuss them during office hours. Moreover, you MUST use your UWO account in order to write to the instructor. (Emails from non-academic accounts will be automatically ignored.) In addition, you must include "CS2211" in the subject line.

Student Evaluation

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

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

If for any reason a lab has to be canceled, the remaining lab weights will be prorated to 5%.

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 2 weeks of the hand-in date. Midterm exam marks will be posted within 2 weeks of the exam. If we are unable to comply with our intended return dates, revised dates will be posted on the course website.

Test and Exams

Midterm: 1 hr 50 minutes, Thursday March 9, during class time.
Final: 3 hours during the April exam period; exact time to be announced.

There will be no makeup midterm exam. If you miss the midterm exam for any reason, follow the university procedure for Academic Accommodation for Medical Illness given below. If accommodation is approved by your Dean's office, your final exam mark will be reweighted to include the weight of the midterm exam, which will then be worth 55%. You must notify the course instructor within a week of the missed midterm exam, and documentation must be received by your Dean's office within 2 weeks of the missed exam.



Due Dates (tentative)

Asn 1 - 1% (light) - assigned between Jan. 9 and Jan. 16, due Jan. 24
Asn 2 - 7% (medium) - assigned Jan. 24, due Feb. 7
Asn 3 - 7%(medium) - assigned Feb. 7, due Feb. 28
Asn 4 - 7%(medium) - assigned Feb. 28, due Mar. 14
Asn 5 - 18% (heavy) - assigned Mar. 14, due Mar. 30

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 submitted, 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.


The role of tutoring is to help students understand course material. Tutors should not write assignments or tests for the students who hire them. Submitting an assignment that contains material written by a tutor is an academic offense. Having employed the same tutor as another student is not a legitimate defense against an accusation of collusion, should two students hand in assignments judged similar beyond the possibility of coincidence.

Academic Accommodation for Medical Illness
If you are unable to meet a course requirement due to illness or other serious circumstances, you must provide valid medical or other supporting documentation to your Dean's office as soon as possible and contact your instructor immediately. It is the student's responsibility to make alternative arrangements with their instructor once the accommodation has been approved and the instructor has been informed. In the event of a missed final exam, a "Recommendation of Special Examination" form must be obtained from the Dean's Office immediately. For further information please see

A student requiring academic accommodation due to illness should use the Student Medical Certificate when visiting an off-campus medical facility or request a Record's Release Form (located in the Dean's Office) for visits to Student Health Services. The form can be found at .

Accessibility Statement
Please contact the course instructor if you require material in an alternate format or if you require any other arrangements to make this course more accessible to you. You may also wish to contact Services for Students with Disabilities (SSD) at 661-2111 x 82147 for any specific question regarding an accommodation.

Ethical Conduct
Scholastic offences are taken seriously and students are directed to read the appropriate policy, specifically, the definition of what constitutes a Scholastic Offence, at the following site: You are also responsible for reading and respecting the Computer Science Department's policy on Scholastic Offenses and Rules of 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 your individual effort. Assignments that are judged to be the result of academic dishonesty will, for the student's first offense, be given a mark of zero with an additional penalty equal to the weight of the assignment also being applied.

Student Support Services
Learning-skills counsellors at the Student Development Centre ( ) are ready to help you improve your learning skills. They offer presentations on strategies for improving time management, multiple-choice exam preparation/writing, textbook reading, and more. Individual support is offered throughout the Fall/Winter terms in the drop-in Learning Help Centre, and year-round through individual counselling.

Students who are emotional/mental distress should refer to Mental Health@Western site at for a complete list of options about how to obtain help.

Additional student-run support services are offered by the USC, .

The website for Registrarial Services is