An Advanced Introduction to
Unix/C Programming

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

COMP-232, Programming Languages, is three classes in one. Mondays are a programming languages class. Wednesdays/Thursdays 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   16 Slides
2. C Reserved Words   52 Slides
3. stdio.h - Standard I/O Library   27 Slides
4. C Library Functions   32 Slides
5. Unix System Calls   15 Slides
6. C Pointers   20 Slides
7. Unix Commands   28 Slides
8. Unix Shells   12 Slides
9. Unix Environment   9 Slides
10. Unix Makefile   9 Slides
11. Databases   26 Slides
12. flex & bison   16 Slides
13. Hash Tables   16 Slides
14. Parser Program   16 Slides
15. Other Topics
      register, errno, fork, signals, shared memory, message queues
  25 Slides
16. Unix Administration
  27 Slides

IN-CLASS EXERCISE HANDOUTS

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

PROGRAMMING ASSIGNMENTS

LAB1. How to Install Ubuntu 24.04   7 Pages
LAB1. Programming Tasks 1-3   12 Pages
LAB2. Programming Tasks 4-5   12 Pages
LAB3. Programming Tasks 6-7   5 Pages
LAB4. Programming Tasks 8-9   4 Pages
LAB5. Linked List Student Database Task 10   12 Pages
LAB6. System Calls - Task 11   7 Pages
LAB7. Database Programming in C - Task 12   6 Pages
LAB7. Stocks - Task 13   7 Pages
LAB8. Scanner - Task 14   11 Pages
LAB9. Parser - Task 15   17 Pages
LAB10. Bison and Flex - Task 16   18 Pages
LAB 11: ciLisp Final Project   42 Pages

REPOLEAF.COM

Visit https://repoleaf.com
Repoleaf is a web browser, cloud based software engineering environment research project written by the professor.

The above presentations and class materials can be used for free
with written permission of John Dempsey john.dempsey@csuci.edu.

© 2025 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 notice any errors.