CSC 272 - Unix and C - Fall 2006

Augsburg Weekend College

Class: Friday 6:00 – 9:30 PM

An introduction to the Unix operating system and the C language

Students should have previous experience with a programming language. This course requires hands-on work. Students should either have access to a Windows, Unix, Linux, or OS X system with a gnu C compiler. The primary lab will be the Linux machines in Sverdrup 203G. You will be able to use those machines remotely by logging in to one of the CS lab machines  (eg, eagle) using ssh.

Instructor:

Noel J. Petit
Office: Sverdrup 203D            Email: petit@augsburg.edu      Phone: 612-330-1061

Text:
C and Unix Programming: A Comprehensive Guide, N. S. Kutti, Lightspeed Books, 2002, ISBN 1-929175-28-4 (paperback)

Requirements:

Assignments are all short programs demonstrating some part of C or Unix. Each week, a short description of the new program will be handed out. You are expected to do your own programming. The programs should be well documented with an explanatory header and lots of notes in the code. Keep all of your code well organized in folders as you may reuse some parts of previous assignments.

To work on c programs at home, I recommend the gnu c compiler from http://gcc.gnu.org for a unix or linux machine. This will require some work on your part to download and install some software. Read the web pages carefully on doing the installation.  If you want to run windows then there is a windows c compiler at http://www.cs.virginia.edu/~lcc-win32/.  You may have to do some Google seaching for other compilers.

Assignments are to be your own individual work. Do NOT share code.  Code that is identical to other’s work (or found on Google.com) will be given a zero grade.

Grading will be based on:

         Fifteen assigned programs        70%

Quiz I                                    10 %

         Quiz II                                   10 %

         Final Exam                             10 %

Course Outline

Week

Topics

Chapters

1

Intro and Your first C program

1,2

1

Variables

3

2

Functions and Storage Class

4,5

2

Statements and Macros

6,7

3

Quiz I

1-7

3

Integers and Reals

8,9

3

Characters and Strings

10,11

4

Pointers and Arrays

12,13

4

String Operations and Composite Data Structures

14,15

4

Storage Management and ANSI- C File system

16, 17

5

Signal, Time Management and the Unix Interface

18,19

5

Quiz II

1-19

6

Project Management 

20

6

Unix File I/O

21

7

Program Call Interface and Shell Scripts

22

7

Programming with Threads

23

8

Final

1-23