An Advanced Introduction to
Unix/C Programming

John Dempsey
COMP-232 - Programming Languages
California State University Channel Islands

COMP-232, Programming Languages, is three classes in one. Mondays are a programming languages class. Wednesdays are an Advanced Unix/C Programming class using the materials below. At the end of class, the class becomes a compiler class where each student writes a compiler in C.

PRESENTATIONS

1. Introducing the Unix System   35 Slides
Last Updated: 8/16/2023
2. C Reserved Words   52 Slides
Last Updated: 8/16/2023
3. stdio.h - Standard I/O Library   27 Slides
Last Updated: 8/16/2023
4. C Library Functions   32 Slides
Last Updated: 8/16/2023
5. Unix System Calls   15 Slides
Last Updated: 8/16/2023
6. C Pointers   20 Slides
Last Updated: 8/16/2023
7. Unix Commands   28 Slides
Last Updated: 8/16/2023
8. Unix Shells   12 Slides
Last Updated: 8/17/2023
9. Unix Environment   9 Slides
Last Updated: 8/17/2023
10. Unix Makefile   9 Slides
Last Updated: 8/17/2023
11. Databases   26 Slides
Last Updated: 8/17/2023
12. flex & bison   16 Slides
Last Updated: 8/18/2023
13. Other Topics
      register, errno, fork, signals, shared memory, message queues
  26 Slides
Last Updated: 8/18/2023

IN-CLASS EXERCISE HANDOUTS

1. Git Educated - A mini tutorial on gcc, make, and git   10 Pages
Last Updated: 8/16/2022
2. Unix: A Simple Operating System   7 Pages
Last Updated: 8/17/2023
3. Putty/sftp/ssh   6 Pages
Last Updated: 8/17/2023
4. sftp Public/Private Keys.com   8 Pages
Last Updated: 8/17/2023
5. Unixland   23 Pages
Last Updated: 8/19/2023
6. Debugging gdb   7 Pages
Last Updated: 8/19/2023
7. Debugging GDB Cheat Sheet   1 Page
Last Updated: 10/13/2022
8. Unix System Calls   6 Pages
Last Updated: 8/17/2023
9. Database Queries   10 Pages
Last Updated: 8/17/2023
10. Programming Guidance   4 Pages
Last Updated: 8/19/2022

PROGRAMMING ASSIGNMENTS

LAB1. How to Install Ubuntu 22.04   7 Pages
Last Updated: 8/16/2023
LAB2. Programming Tasks 1-5   12 Pages
Last Updated: 8/16/2023
LAB3. Programming Tasks 6-7   5 Pages
Last Updated: 8/19/2022
LAB4. Programming Tasks 8-9   4 Pages
Last Updated: 8/17/2023
LAB5. Linked List Student Database Task 10   12 Pages
Last Updated: 8/19/2023
LAB6. System Calls - Task 11   7 Pages
Last Updated: 8/17/2023
LAB7. Database Programming in C - Task 12   6 Pages
Last Updated: 8/19/2023
LAB7. Stocks - Task 13   7 Pages
Last Updated: 8/19/2023
LAB8. Scanner - Task 14   11 Pages
Last Updated: 8/19/2023
LAB9. Parser - Task 15   17 Pages
Last Updated: 8/19/2023
LAB9. Lex and Yacc Extra Credit   3 Pages
Last Updated: 8/19/2023
LAB10. Bison and Flex - Task 16   18 Pages
Last Updated: 8/19/2023
Final Project: ciLisp (not posted)   4 Pages
Last Updated: 8/19/2022

The above presentations and class materials can be used for free by non-profit organizations, like community colleges or universities, but must provide a URL link to comp232.com.

If you are a for profit organization, you cannot use the above material and must contact the author at john.dempsey@csuci.edu before use.

© 2023 John Dempsey - All Rights Reserved
Above materials are provided "AS IS" and "WITH ALL FAULTS".
Please contact author at john.dempsey@csuci.edu if you do see any errors.