COMP 2160 Programming Practices

Course Description
Introduction to issues involved in real-world computing. Topics will include memory management, debugging, compilation, performance, and good programming practices. Not to be held with the former 074.225. Prerequisite: COMP 1020 or COMP 1021 (or 074.102 or 074.123)(C).


Student Resources
A list of University governing documents pertaining to students can be found here.

Academic Recourses
Various academic resources are available to students including the Science and Technology Library and various departmental help centers.

Health & Mental Health Resources
Students with Health and/or Mental Health issues may seek advice and/or help from Student Counselling Center, Student Accessibility Services, and University Health Services.

Copyright and Intellectual Property Resources
Copyrights and intellectual property must be respected by all students. For more information, please refer to the copyright office.

Respectful Behavior Resources
Students are expected to act in a respectful manner. Policies regarding respectful work and learning environment and sexual assault can be found here.

Final Examinations, Grades and Grade Appeals Resources
Final examination and grades policies can be found here. For more resources about examinations, see here.

Students wishing to appeal their term work grade can do so through the Registrar's office. A fee is charged for each appeal. More information can be found here.

To view your final examination, please check with the department offering the course for policies. More information can be found here.

To appeal your final grade, you can initiate the process at the Registrar's office. A fee will be charged for each appeal. See the Registrar's office for more information.

Limited Access and VW Resources
Students who fail or VW from a course will be subject to limited access to that course in future terms. That is, students will not be able to register for a course (for which they have VWed or failed) during the limited access registration period. For more information, please see the policy document for repeated courses.

Important Dates
Please see the Important Dates section of the U of M General Calendar for information on holidays, exams, and voluntary withdrawal dates.

Academic Integrity Resources
The Faculty of Science takes academic integrity very seriously. Any evidence of academic dishonesty on assignments, labs and/or tests will be forwarded to the appropriate authorities for potential disciplinary actions.

The University Student Discipline By‐Law may be accessed at: Information from the Faculty of Science regarding Cheating and Plagiarism can be found at

A signed Faculty of Science honesty declaration must be provided for your assignment and lab work to be counted towards your final grade.

Textbook (required)
Programming Pearls, Second Edition by Jon Bentley, Addison Wesley, 2000.

Textbook (required/recommended)
Introduction to Programming Practices by David Scuse, Department of Computer Science, University of Manitoba.

Textbook (optional)
The C Programming Language, Second Edition by Brian Kernighan and Dennis Ritchie, Prentice Hall, 1988.

Grade Breakdown

You can expect the following grading to be applied in this course:

Lab attendance is mandatory and is worth 15% towards your final grade. Your lab instructor will be responsible for allocating the 15% of your mark based on work evaluated during your assigned lab. Note that this means that lab work submitted after your assigned lab period will not be accepted.

The labs will make use of Programming Pearls and you will be expected to have completed the required reading prior to attending your lab. In fact, without it you will have a tough time completing the labs in the time allotted.

There will be 4 assignments, with due dates spaced approximately 3 weeks apart, worth a total of 25% towards your final grade. You must adhere to the assignment guidelines to ensure your assignment is not rejected. Please note that late assignments will generally not be accepted as sample solutions (useful for studying, future assignments, etc) will be posted within one business day of the due date. Every effort will be made to have assignment feedback returned in a timely manner (preferably prior to the next assignment due date), with the caveat that graders are students too. At least one assignment will be returned to you prior to the VW deadline.

In-Class Test
The class test is worth 10% of your final grade. It will be scheduled during regular class time, in the last week of June, and will help prepare you for the final exam.

Final Exam
The final exam is worth 50% of your final grade. The exam is scheduled for August 4th, 2017 at 6pm, location TBA.

Course Outline
This course focuses on programming; how it's done and how to do it properly. All of the assignments will use C under the Unix environment. Topics may include (but are not limited to):