Lecture Topics

DateDescription
March 30 Orientation
Slides, Slides PDF
April 1 Linux basics (with practice problem)
Slides, Slides PDF
Linux filesystems, Linux man pages
Linux demo
If you have a laptop, bring it to class.
April 3 Shell access / Bash
Slides, Slides PDF
Alias demo, Redirection Demo, Emacs demo
Special characters, Redirections, History shortcuts
Emacs motivation
April 6 Bash scripting
Slides, Slides PDF
shiftdemo script, dcdls script (check git repo)
Bash style guide
April 8 Bash scripting & Grep
Slides, Slides PDF
demo script, fibo script, sdel script (check git repo)
Script challenge
Exercise demo
April 10 Regular expressions, Grep/Sed
Slides, Slides PDF
RegEx/Grep demo
RegEx Tester, RegEx Crosswords
grep shell history, numberslist, numbers shell history
April 13 Version Control (gitlab)
Slides, Slides PDF
Git reference, git demo
April 15 Intro to C
Slides, Slides PDF
hello.c, printargs.c
April 17 C Basics: control, declarations, definitions
Slides, Slides PDF
magic.c, square1.c, control.c, control2.c
Useful gcc flags
April 20 Written assessment
April 22 C: I/O, the Stack, & scoping
Slides, Slides PDF
printargs.c, fgets.c, fopen.c
argumentdemo.c, dangling.c, arraydemo.c.
April 24 C: Pointer practice & the Heap
Slides, Slides PDF
arraydemo.c, arraydynamic.c
arrdynamicwrong.c
Challenges: mystery, mystery1, mystery2, mystery3, mystery4
April 27 C: Debugging with GDB
Slides, Slides PDF
factorial.c, factorial.c(Fixed), reverse.c, reverse.c(Fixed), arrdynamicwrong.c, mysterynum.c
debugging demo
more debugging demo
April 29 C: Datatypes, casting, structs
Slides, Slides PDF
scopedemo.c, point.c
May 1 C: Lists & Trees
Slides, Slides PDF
linkedlist1.c
linkedlist.c, linkedlist.h, linkedlistclient.c
May 4 C: Testing
Slides, Slides PDF
curve.c, test.c, curve.h, db.h, Makefile_test
for.h, for.c, testfor.c
May 6 Pre-processor & multi-module projects
Slides, Slides PDF
debug.c, twice.c
May 8 Build dependencies and make
Slides, Slides PDF
main.c, speak.c, shout.c speak.h, shout.h
Makefile1, Makefile2, Makefile3
May 11 Memory Details & Numerical issues
Slides, Slides PDF
hexdemo.c
May 13 Memory Manipulation
Slides, Slides PDF
buffover.c
May 15 Profiling
Slides, Slides PDF
particleswarm.h, particleswarm.c, mainopt.c, Makefile
May 18 Assessment 2
May 20 C++ and Object Oriented Programming
May 22 C++ Classes
May 27 C++ Inheritance
May 29 C++ Standard Template Library
June 1 C++ Smart Pointers
June 3 Function Pointers & Concurrency
June 5 Review