CS 262 / 001 & 002

Introduction to Low-level Programming

Meets

Section 001: Monday 9:00 am - 10:15 am in Robinson Hall B208, Section 002: Wednesday 9:00 am - 10:15 am in Robinson Hall B208

Professor

Zoran Duric.

Teaching Assistants

Course Web Page

http://cs.gmu.edu/~zduric/cs262.html

Textbook

The text is Brian Kernighan and Dennis Ritchie, The C Programming Language, 2nd ed., Prentice Hall, 1988.

About the Class

Most high-level programming languages (and particularly Java) insulate the programmer from the realities of the hardware on which the programs will run. C is the exception since it was originally designed to implement the Unix operating system. C offers the programmer direct access to much of the underlying hardware and, for programs running under Unix, direct access to operating system services. For these reasons C remains the language of choice for systems programming.

This is a (short) course on "low-level" programming using C. We will learn C with heavy emphasis on pointer operations.

Topics

Planned topics include:

Course outcomes

The students will:

Labs

Attendance at labs is required. A short programming assignment will be given at the beginning of the lab and the lab instructor will be available to help students with the programming. If not completed the lab may be taken home. Lab assignments will be due at the beginning of the following lab period. No late lab assignments will be accepted.

There will be occasional unannounced quizzes given in labs. A missed quiz cannot be made up. The lowest quiz score for the semester will be dropped.

Projects

In addition to the labs there will be several larger programming projects. These will be presented and discussed in the lecture. You can only turn in a program once. No revisions or additions can be made to your program after it has been submitted. Late programs will be accepted with a 10 points per day late penalty. You are responsible for keeping backups of your work ("my disk crashed" and "my roommate ate my program" are not reasons for late submissions).

Individual work

You are free to discuss ideas for both the labs and projects with other students, however no joint work is permitted. Any submitted work must be yours alone. Any work which shows too much similarity with others' submitted work will receive a grade of 0. Extreme or repeat cases may result in failing the course or referral to the Honor Commitee.

Read the CS Department honor code and the University honor code. You are bound by these honor codes.

Grading

In addition to the labs and projects there will be a midterm exam and a final. There will be no makeups on exams except under exceptional circumstances (as judged by me), and any such makeup must be arranged in advanced. Grades will be computed using a weighted average of these scores with the weights: