COMP 2160 Programming Practices
ROASS


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).

Website
www.cs.umanitoba.ca/~comp2160/

Registration Advisory
It is your responsibility to ensure that you are entitled to be registered in this course. This means that you:

The registration system may have allowed you to register in this course, but it is your responsibility to check. If you are not entitled to be in this course, you will be withdrawn, or the course may not be used in your degree program. There will be no fee adjustment. This is not appealable. Please be sure to read the course description for this and every course in which you are registered.

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 Dishonesty
Plagiarism on the assignments or any form of cheating during the examination is subject to serious academic penalty. If you are not sure what constitutes academic dishonesty consult section 8 of the general calendar, academic integrity.

We have specific Faculty of Science regulations that you must follow. Please look here for full details.

A signed Faculty of Science honesty declaration must be included with an assignment for its mark 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 (recommended)
The C Programming Language, Second Edition by Brian Kernighan and Dennis Ritchie, Prentice Hall, 1988.

Grade Breakdown

Labs
Lab attendance is mandatory and is worth 10% towards your final grade. Your lab instructor will be responsible for allocating the 10% of your mark. Please note that lab work submitted after your assigned lab period will generally 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.

Assignments
There will be 4-5 assignments worth a total of 20% towards your final grade. You must follow the programming standards and best practices to ensure your assignment is not rejected. Please note that late assignments will generally not be accepted. At least one assignment will be returned to you prior to the VW deadline.

Midterm Test
The test will be written during a regularly scheduled class, and will contribute 20% towards your final grade.

Final Exam
The final exam is worth 50% of your final grade. Time and locale to be announced by the Registrar's Office. You are reminded that you are obligated to make yourself available for the writing of the final exam.

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 include (but are not limited to):