1 | Due Sat 12 Sept. | ||||
Interact with a linked list of named places. | |||||
2 | Due Sun 11 Oct. | ||||
A very basic shell | |||||
3 | Due Sun 1 Nov. | ||||
Your own version of ls | |||||
4 | Due Sun 15 Nov. | ||||
A better shell | |||||
5 | Due Wed 2 Dec. | ||||
An even better shell, with pipes and redirects | |||||
Deadline - Last day anything (except the final project) can be accepted for grading: Wed 2 Dec. |
Class 1 ‑ | Tue 18‑8‑2020 | Quick introductions. A brief overview. | ||||
Class 2 ‑ | Thur 20‑8‑2020 | Programming in C as opposed to C++. | ||||
Class 3 ‑ | Tue 25‑8‑2020 | Programming in C: a hash table. Coding some string functions. | ||||
Class 4 ‑ | Thur 27‑8‑2020 | More string functions, Tokenizing a string with something like a vector. | ||||
Class 5 ‑ | Tue 1‑9‑2020 | Building a tree, simulating a reference parameter, FILE * functions, the point of stderr. | ||||
Class 6 ‑ | Thur 3‑9‑2020 | The unix input and output functions, a basic example using most of them. | ||||
Class 7 ‑ | Tue 8‑9‑2020 | A plain-text data file. Creating a binary file, Binary chop search on a file (using C functions), The same using Unix functions. | ||||
Class 8 ‑ | Thur 10‑9‑2020 | Comparing two trees using communicating subprocesses, part 1. | ||||
Class 9 ‑ | Tue 15‑9‑2020 | Comparing two trees using communicating subprocesses, part 2. Capturing the output from the "ls -l" command (unfinished). | ||||
Class 10 ‑ | Thur 17‑9‑2020 |
Getting input from the command line, Capturing the output from the "ls -l" command, Redirecting standard output to a file, prog1.c, prog2.c, connecting two programs with a pipe. | ||||
Class 11 ‑ | Tue 22‑9‑2020 | Separate compilation and .h files. Signals - sending and receiving. Handling signals, Reading and processing directory entries. | ||||
Class 12 ‑ | Thur 24‑9‑2020 | The struct stat, Time functions, User database. Today's work, unfinshed. | ||||
Class 13 ‑ | Tue 29‑9‑2020 | Attempt to finish last class' project, Here it is, corrected. How the shell processes the command line. | ||||
Class 14 ‑ | Thur 1‑10‑2020 | Review day | ||||
Class 15 ‑ | Tue 6‑10‑2020 | Test Day | ||||
Class 16 ‑ | Thur 8‑10‑2020 | Bit operations: & | ~ << >> Packing data into small spaces. | ||||
Class 17 ‑ | Tue 13‑10‑2020 | Going over the test The test, The answers. | ||||
Class 18 ‑ | Thur 15‑10‑2020 | ^ Logarithmic counting ones and leading zeros. | ||||
Class 19 ‑ | Tue 20‑10‑2020 | The last answer, corrected. Internet functions. A sample TCP server and client. We made a very super-basic internet server. | ||||
Class 20 ‑ | Thur 22‑10‑2020 |
We converted our server to a very unsafe web server, and made a very basic web client. | ||||
Class 21 ‑ | Tue 27‑10‑2020 | UDP communications: receiver, sender. qsort() and the void-star. setjmp and longjmp. | ||||
Class 22 ‑ | Thur 29‑10‑2020 | Shell commands and shell script programming. | ||||
Class 23 ‑ | Tue 3‑11‑2020 | Some practice: a little backup utility. | ||||
Class 24 ‑ | Thur 5‑11‑2020 | Review of bit operations and shell programming. $status and $< | ||||
Class 25 ‑ | Tue 10‑11‑2020 | Second Test, A sample,
Some additional questions. Possible topics: Bit operations, internet, shell commands and script programming. | ||||
Class 26 ‑ | Thur 12‑11‑2020 | Links, reference counts, and I-nodes. Regular Expressions: egrep, The syntax, and an example of regcomp and regexec, and with multiple matches. grep and egrep. | ||||
Class 27 ‑ | Tue 17‑11‑2020 | A brief introduction to sed and awk. Pthreads and sempahores. | ||||
Class 28 ‑ | Thur 19‑11‑2020 | Test one, test two. Today's scratchy notes. |