CSC 272 - Unix and C - Fall 2007
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.
A new option is to use one of
the UNIX systems that is available thru the new book "Guide to UNIX Using
Linux" by Michael Palmer (4 th Edition, Thompson, 2008 -- incredible they
published this book next year and it is sitting on my desk!). This book is $75
on Amazon. It includes a DVD with
Fedora Linux Core 6 that you can install on your PC if you have about 5
Gigabytes of disk space on a separate partition. It also includes a CD with
Knoppix Linux 5.1.1 that is a Liunx that runs off the CD (nothing to install).
This is a great guide to UNIX and gives you Linux to boot!
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 |
||