CS2931 - Winter 2005

Instructor: Dr. R. Rosebrugh, Dunn 203

General Information

The scheduled sessions are MWF at 1:30pm in Hart Hall 218 and W 2:30pm in Dunn 102 (lab session). Additional help is available other times by appointment; contact me by email.

The text is:
Computer Systems: A programmer's perspective, Bryant and O'Halloran
A home page for the book is at http://csapp.cs.cmu.edu/ We will cover approximately Chapters 1 to 3, 5, 6, and 8 to 11. There will be assigned three hour labs held in the PC Lab in Dunn 102.

If you are interested in Computer Science your library should include the following. They are highly recommended, classic and very affordable:
C Programming Language
by Brian W. Kernighan, Dennis Ritchie

The Unix Programming Environment
by Brian W. Kernighan, Rob Pike

Labs start January 12. There will be no programming assignments handed in, but the quizzes will be based entirely on assigned homework. One in-class Mid-term Test will be held on February 14. The Lab Test will be held during the lab on March 23.

For official detail see the University Calendar


Note: In order to pass the course: The final grade in the course will normally be assigned with approximately the following weighting:


Laboratory attendance is mandatory, as noted above. The Dunn PC lab is available 2:30-5:20pm Wednesdays. Lab sessions will require about two hours to complete. All laboratory solutions must conform to the programming standards to be discussed in class. Some lab solutions may be posted on ETA.

Homework Assignments

The homework assignments will be used to provide quiz questions. Be sure to complete the solved practice problems before attempting these. The other text problems are also recommended.

Chapter 2: 2.39, 2.40, 2.41, 2.43, 2.46, 2.47, 2.48, 2.50, 2.54, 2.56, 2.57, 2.59, 2.60, 2.62

Course Ethics

You are expected to be familiar with and you must follow the Computer Account Policy of Mount Allison Computing Services.

By its nature much of the work in Computer Science is done in collaborations. However, all CS2931 course work must be done individually. You are encouraged to discuss any CS2931 topic, including programming and lab assignments, with other students in the course but exchange of any code by any written or electronic means between CS2931 students is not acceptable. It is dishonest either to read someone else's solution or to provide a classmate with a copy of your work.

Penalties for cheating are severe and may result in a failing grade for the course. See Calendar Regulation 6.13.

Do not expect that small changes in a program (such as altering comments, changing variable names, or interchanging statements) will avoid detection. If you cannot do the work yourself, it is extremely unlikely that you will succeed in disguising someone else's work.

Cheating in any form will not be tolerated. Even the most trivial assignment is better not done than if you cheat to complete it.

Useful Links


C Programming

Linux Assembly and GDB