An Advanced Introduction to
Unix/C Programming

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

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

PROGRAMMING ASSIGNMENTS

LAB1. How to Install Ubuntu 22.04   7 Pages
LAB2. 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
LAB9. Lex and Yacc Extra Credit   3 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 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.

© 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 do see any errors.