Lecture Topics

DateDescription
January 3 Orientation
Slides
January 5 Introduction to Linux
Slides and Shell history.
Review before Friday: Linux demo
January 7 I/O Redirection and alias
Slides
Shell history, Alias demo
Emacs motivation
January 10 Introduction to scripting
Slides
shiftdemo script, dcdls script, lectfour demonstration script
January 12 Scripting Continued
Slides
fibo script, sdel script
Shell exercise description
Extras: Redirection Demo, Emacs demo
, History shortcuts
January 14 RegEx, Grep, & HW1
Slides
Exercise demo, RegEx/Grep demo
RegEx Tester, RegEx Crosswords
January 19 Regex and sed
Slides
numberslist shell history
January 21 Introduction to C
Slides, hello.c
January 24 C: control, declarations, preprocessor
Slides, magic.c, printargs.c,
square1.c, control.c, control2.c
Useful gcc flags
January 26 C: Files and more pointers
Slides, fgets.c
argumentdemo.c, dangling.c, pointeradd.c
Challenges before Friday:
mystery, mystery1, mystery2, mystery3, mystery4
January 28 C: Memory allocation & deallocation
Slides, arraydemo.c, arraydynamic.c
January 31 C: Debugging
Slides, factorial.c, factorial.c(Fixed), reverse.c, reverse.c(Fixed), arrdynamicwrong.c, mysterynum.c
debugging demo
February 2 C: datatypes, structs, linked lists
Slides
point.c, typedef reading
February 4 C: Trees
Slides
linkedlist.c
linkedlist.c, linkedlist.h, linkedlistclient.c
February 7 Version Control
Slides, Note: You can
git clone git@gitlab.cs.washington.edu:mh75/cse374-materials.git
to get all the C files, git demo
February 9 More pre-processor, multiple files
Slides, debug.c, twice.c
February 11 Make and Build Dependencies
Slides, main.c, speak.c, shout.c speak.h, shout.h
Makefile1, Makefile2, Makefile3
February 14 Testing & Projects
Slides, curve.c, test.c, curve.h, db.h, Makefile_test
for.h, for.c, testfor.c
February 16 Software Specification & Testing
Slides
February 18 Variable types and storage / hexadecimal
Slides, hexdemo.c
February 23 Buffer Overflows
Slides, buffover.c
February 25 HW6 & Intro to C++
Slides, hello.cpp
February 28 C++ Classes
Slides, People.cpp, People.h,
String.cpp, String.h
March 2 C++ Inheritance
Slides, Rectangle.cpp>
Mystery.cpp, VirtualMystery.cpp
main.cpp
BankAccount.h, BankAccount.cpp, SavingsAccount.h, SavingsAccount.h,
Property
March 4 C++ Classes and HW
Slides, Please review gitignore
March 7 Function Pointers and Concurrency
Slides, int1.c, int2.c, pthreadex.c
March 9 Concurrency / HW7
Slides, banking.h, banking.cpp
March 11 Profiling / Review
Slides, particleswarm.h, particleswarm.c, mainopt.c, Makefile