CSE 374 Winter 2015
Lecture Topics

Subscribe to this calendar (google, iCal, etc.)

Tentative lecture schedule. Expect some adjustments during the quarter.
Slides will normally be posted the night before class.
Sample code, demo transcripts, and other files will be posted after lectures, often later the same day.

DateDescription
January 5 Course Introduction
Course introduction, shell basics
Reading (LPG pp 1-36, skim later parts)
January 7 Processes, users, shell characters
Processes, users, shell characters, emacs
Command sampler
shell history
Reading (Pocket Guide page 30 (2nd ed) or 28, emacs-help,
and Bash reference manual Sec. 8.4.)
January 9 I/O Redirection, shell scripts
I/O redirection, shell scripts
Sample code: lec3scripts.tar mtn.jpg
shell history
(bash manual 3.6, 3.8, 4.1 (., break, cd, continue, exit, pwd, shift, test))
January 12 Shell variables, more shell scripts
Shell variables, more shell scripts
Sample code: makeNFiles
shell history
(LPG Programming with shell scripts 195-208, bash manual 3.3)
January 14 Regular expressions, grep, other utilities
Regular expressions, grep, other utilities
shell history
January 16 Regular expressions (concl.)
sed
shell history
lec6files.tar
January 21 Introduction to C
Introduction to C
lec7.history
hello.c
hello-annotated.c
(suggested: Kernighan & Ritchie (K&R) Intro 1.1, char arrays 1.9, pointers 5.1, printf 7.2)
January 23 C: control, declarations, preprocessor, printf
C: control, declarations, preprocessor, printf
shell history
lec8-files.tar
(suggested: K&R functions 4.1, scope 4.4, header files 4.5, preprocessor 4.11, scanf 7.4)
January 26 C: parameters, scope, left vs. right expressions
C: parameters, scope, left vs. right expressions
lval_rval.c
storage.c
January 28 Pointers, examples
Pointers, examples
examples
January 30 Debugging and gdb
Debugging and gdb
reverse1.c
reverse2.c
lec11.history
debugging reverse1
February 2 gdb demo
reverse2.c
debugging reverse2
reverse3.c
debugging reverse3
reverse4.c
February 4 malloc/free
malloc/free
files and valgrind demos
February 6 C structs and hw5
C structs and hw5
structs.c; array_struct.c
February 11 Linked lists, casts, preprocessor revisited
Linked lists, casts, preprocessor revisited
casts.c; list.c
February 13 Preprocessor revisited, multifile programs
Preprocessor revisited, multifile programs
preprocessor.tar; shell history
February 18 Build process, make
Build process, make
make_demo.tar; shell history
February 20 Version Control
Version control
demos: alice; bob; git_alice_and_bob.tar
Git book (free online)
February 23 Project, make details
Makefile; Makefile2; Makefile3
February 25 more hw6, Linking and libraries
Linking and libraries
linker_demo.tar
shell history
February 27 more Linking, hw6 pointers/casts
more linking, hw6 pointers/casts
lec21.history
archive_demo.tar
March 2 Intro to C++ (IO, namespaces, classes, allocation, call-by-reference)
Intro to C++
by_reference.cc
hello.cc
java.cc
shell_history
allocations.tar
namespace.tar
March 4 More C++: class declaration/definition, copy constructor, const
More C++: class declaration/definition, copy constructor, const
binary_tree.tar
copy_constructor.cc
vector.tar
shell history
March 6 Final homework; Inheritance and virtual methods
Inheritance and virtual methods
property.tar
virtual.cc
March 9 virtual methods, Function pointers in C
virtual methods, function pointers in C
virtual_destructor.cc
funcptr.tar
March 11 Objects in C using function pointers; Intro to concurrency and parallelism
bankaccount_c_c++.tar
March 13 Concurrency and Parallelism in C++; course wrap-up
Concurrency and Parallelism in C++
concurrency.tar