CS 246 Syllabus

Course Description

An introduction to the Unix operating system and programming in C. The history of Unix and C. Unix file systems, common used Unix commands, shells, editors, pipelines, redirection, filters, regular expressions, programming in scripting languages. Programming in C including input and output, control constructs, data types and structures, files, and the interaction between C and Unix.


Some knowledge of programming, including loops and arrays.

Course Objectives

Students successfully completing this course should:


Exam 117%
Exam 217%
Homework (including programs)  30%

You must have an average of at least 60% on homework and exams (separately) in order to pass the course.


Homework will consist of written assignments and programming assignments. Late homework will not be accepted.


Attendance is required. Every unexcused absence after 3 will result in a deduction of 1.0 from your final grade. Being late to class 3 times will be considered an unexcused absence.


Copying programs is not permitted. The first offence will result in a reduction of 1.0 from your final grade. A second offense will result in a grade of 0 for the course.

If you get help from any source other than your instructor on a program or other assignment, you must indicate what help you received in writing (for example, in the documentation for a program).

Recommended Textbooks

A Practical Introductino to Linux Commands, Editors, and Shell Programming by Mark G. Sobell
The C Programming Language by Kernighan and Ritchie