CSCI 223: C Language for Mathematics and Science

Tentative Schedule

[Home]     [Up]     [Tentative Schedule]     [Announcements]     [Handouts]     [Assignments]    



Lesson # Date Topic
Week 1 1 01/28/2020 introduction to C; code samples; the build process; the printf function
2 01/30/2020 printf, cont.; the scanf function; loops; assignment statements;
Week 2 3 02/04/2020 user-defined functions
4 02/06/2020 character data; predefined character functions; redirection operators
Week 3 5 02/11/2020 base 8 and 16 number systems; int and float data types; type conversions; operators; the Coding Style Guidelines (CSG)
6 02/13/2020 binary representation of negative numbers; command line shell and tools; bitwise operators
Week 4 7 02/18/2020 bitwise operators, cont.
8 02/20/2020 conditional operator; jump statements; arrays
Week 5 9 02/25/2020 the null statement; program termination; switches
10 02/27/2020 local and global variables; the runtime environment; storage classes
Week 6 11 03/03/2020 storage classes, cont.; typedef statements; header files; separate compilation; multi-module projects
12 03/05/2020 Midterm #1
Week 7 13 03/10/2020 shell scripts; the make utility
14 03/12/2020 pointers; const pointers; pointers and arrays
Week 8 15 03/17/2020 more with pointers; pointer arithmetic
16 03/19/2020 void pointers; dynamic memory management; strings
Week 9 17 03/24/2020 multiple levels of indirection; command line arguments
18 03/26/2020 structures; structure declaration variants; unions
Week 10 19 03/31/2020 bitfields
20 04/02/2020 Midterm #2
*** *** 04/07/2020 NO CLASS -- SPRING BREAK
*** 04/09/2020 NO CLASS -- SPRING BREAK
Week 11 21 04/14/2020 2D arrays
22 04/16/2020 linked lists
Week 12 23 04/21/2020 file stream functions; pointers to functions
24 04/23/2020 the preprocessor; linking C and C++ modules; user-defined preprocessor macros; complex expressions; static libraries; debugging C
Week 13 25 04/28/2020 stringizing and tokenizing preprocessor macros; variable length argument lists;
26 04/30/2020 binary file I/O; random access
Week 14 27 05/05/2020 the /proc filesystem in linux
28 05/07/2020 multi-threading
Week 15 29 05/12/2020 fork and exec; unix sockets
30 05/14/2020 network sockets
Week 16 31 05/2020/2020 ???
32 05/21/2020 FINAL EXAM