CSE 271: Programming in C and the UNIX Environment
Schedule of Topics (Spring 2009)

DateTopic(s)Readings
Mon Jan 12 Introduction Prata Ch 1
Hahn Ch 1-2
Wed Jan 14 Lab in PL122: Using X-Window and Editing Files Hahn Ch 3-6,22
Fri Jan 16 Short Quiz 1
Compiling / Intro to using UNIX
Prata Ch 2
Ch 1 of Advanced Linux Programming
Hahn Ch 8-10,21
Mon Jan 19 C Basics; Start mycat.c Prata Ch 4-7
Wed Jan 21 Lab in PL122: Using UNIX; Finish mycat.c Hahn Ch 24-25
Fri Jan 23 Short Quiz 2
Unix processes, redirection
Molay Ch 1, Hahn Ch 15-18,26
Mon Jan 26 C Functions and Structures, (myncat.c, dice.c) Prata Ch 9, 14
Wed Jan 28 Lab in PL122: Using UNIX, part 2 (rdice.c) Prata Ch 8
Fri Jan 30 Short Quiz 3
Strings and Pointers (concat.c)
Prata Ch 10-11
Mon Feb 2 More on Pointers
Memory Allocation (expand.c)
Prata Ch 12
Ch 3 of Linux Programming by Example: The Fundamentals
Wed Feb 4 Lab in PL122: Finish pointers  
Fri Feb 6 Short Quiz 4
Miscellaneous C topics
 
Mon Feb 9 Large Program Development/Preprocessor Prata Ch 16
Wed Feb 11 Lab in PL122: Debugging  
Fri Feb 13 Hourly Exam 1 
Mon Feb 16 Large Program Development/Coding Style
Debugging Dynamic Memory Management
Section 2.2 of Advanced Linux Programming
Appendix A of Advanced Linux Programming
Wed Feb 18 Lab in PL122: Debugging and Profiling Tools  
Fri Feb 20 Short Quiz 5
Introduction to Shell Scripting
Hahn Ch 11-14
Add'l references: Sams Teach Yourself Shell Programming in 24 Hours or The GNU Bash Reference Manual
Mon Feb 23 Scripting and Regular Expressions Hahn Ch 19,20
Wed Feb 25 Lab in PL122: Shell Scripting Exercises  
Fri Feb 27 Short Quiz 6
Finish Shell Scripting
UNIX Programming: who
 
Mon Mar 2NO CLASS - Spring Break 
Wed Mar 4NO CLASS - Spring Break 
Fri Mar 6NO CLASS - Spring Break 
Mon Mar 9 Lab in PL122: LaTeX  
Wed Mar 11 UNIX Programming: who.c Molay Ch 2
Fri Mar 13 Short Quiz 7
UNIX Programming: cp, tail, ls (who.c, mycopy.c)
Molay Ch 3
Mon Mar 16 UNIX File System Ls.c Molay Ch 4, Hahn 23
Wed Mar 18 Lab in PL122: More UNIX Programming Prata Ch 15
Fri Mar 20 Short Quiz 8
Finish filesystems
 
Mon Mar 23 Accessing and Controlling UNIX Devices Molay Ch 5
Wed Mar 25 Lab in PL122: Perl  
Fri Mar 27 Hourly Exam 2  
Mon Mar 30 Large files and memory  
Wed Apr 1 Lab in PL122: Terminals Molay Ch 6, Hahn Ch 7
Fri Apr 3 HPC Day  
Mon Apr 6 Games: Managing the screen and handling events Molay Ch 7
Wed Apr 8 Lab in PL122: Games part 2  
Fri Apr 10 Short Quiz 9
Processes and Inter-Process Communication
Molay Ch 8, 15.3
Mon Apr 13 Redirection and Pipes Molay Ch 10
Wed Apr 15 Lab in PL122: More Pipes Molay Ch 11.1-11.4
Fri Apr 17 Short Quiz 10
Character Sets (wide.c)
Prata B.V, B.VII
Mon Apr 20 NO CLASS - Do homework, finish project, and study for final 
Wed Apr 22 NO CLASS - Do homework, finish project, and study for final 
Fri Apr 24 NO CLASS - Do homework, finish project, and study for final 
Sun May 03 Final Exam: Packard 208, 4-7pm 
Last revised: 17 April 2009, Brian D. Davison.