Fall 2026, August 24 to December 17 Lecture: 5:30 to 6:45 PM, Mondays and Wednesdays,
Urban Life 100
83931 recitation: 2:15 PM - 3:05 PM Thursdays, Langdale Hall Room: 518
83929 recitation: 11:00 AM - 11:50 AM Thursdays, Langdale Hall Room: 518
This course syllabus provides a general plan for the course;
deviations may be necessary.
Instructor: Dr. Michael Weeks
Computer Science Department Office: 25 Park Place, room 754 Office Hours:
Office Hours: by appointment, and
I am in the office from 1-2 Mondays and Wednesdays.
Department Phone: (404) 413-5700 (does not do texts)
Put the course number (3320) in the subject line to make sure
that your e-mail does not get classified as spam. Do not expect an answer.
If it is important and/or urgent, come see me duing office hours.
Web page:http://hallertau.cs.gsu.edu/~mweeks/csc3320/
CSC 1302 or CSC 2310
(Principles of Computer Science II) with a grade of C or higher.
The department will strictly enforce all prerequisites. Students without
proper prerequisites will be dropped from the class, without any prior
notice, at any time during the semester.
Catalog Description
An introduction to programming at the level of the operating system.
Topics include editors, system calls, programming tools, files, processes,
interprocess communication, and shells.
Course Objectives
This course is designed to give students experience in using a high-level
language ( C ) to interface with an operating system (UNIX). Students will
learn fundamental UNIX concepts, including files, processes, interprocess
communication, and shells. They will also gain experience writing and testing
C programs using UNIX editors and programming tools.
Topics
The terminal window, vi editor, man pages, and using gcc/g++
Introducing C
C Fundamentals (variables, comments, simple program)
Formatted Input/Output (printf, scanf) plus security issues with these
Expressions (arithmetic, assignment, inc/dec)
Selection Statements (if, switch)
Loops (while, do, for, break, continue)
Basic Types (int, float, char, conversions)
Arrays
Functions
Program Organization (local, external variables, scope)
Pointers
Pointers and Arrays
Strings
The Preprocessor
The Standard Library
Input/Output
Systems Programming
Low-level I/O
Required Texts
King, C Programming: A Modern Approach,
Norton,
2nd edition, 2008, ISBN-13: 978-0393979503.
Glass and Ables, Unix for Programmers and Users,
Prentice Hall, Third Edition (2003),
ISBN 0-13-046553-4.
Final Exam
The Final Exam will be given in the above classroom.
Wednesday December 9, 2026 16:15-18:45
Grading
3320 Students
Tests (2) will constitute 30% of the course grade.
Any pop-quizzes will be factored into the above.
Assignments (about 4 or 5) will constitute 15% of the course grade.
Labs (about 14) will constitute 25% of the course grade.
Participation will constitute 10% of the course grade.
This may include assignments such as the TA checking your notes,
answering in-class polls/questions, leaving feedback for others,
and attendance.
The final exam will constitute 20% of the course grade.
Learning Outcomes
By the end of the semester, students will be able to:
demonstrate knowledge of ssh and sftp to connect and transfer files
use a Unix/Linux computer, especially shell commands
apply C programming to solve problems
demonstrate knowledge about pipe, fork, exec, and other process mechanisms such as wait and exit
apply structs to access directory contents and/or process data, especially "struct dirent", "struct stat", and "struct task_struct" (Linux) / "struct proc" (BSD, Linux)