Course Schedule (Subscribe)
DATE
TOPIC
EXERCISES
HOMEWORK
Week 1
Mon, Mar 30
LEC 01 Introduction, Getting Started in C
Slides:
Code:
args.c
Wed, Apr 01
LEC 02 C: Memory, Data, Parameters
Slides:
Code:
arraysum.c
, buggy_copyarray.c
, copyarray.c
, 📁 extra
, outparam.c
, stack.c
, sum_badorder.c
, sum_betterorder.c
, sum_declared.c
, sumnum.c
, sumstore.c
Thu, Apr 02
SEC 01 C, Pointers, Gitlab
Materials:
Fri, Apr 03
LEC 03 C: Pointers
Slides:
Week 2
Mon, Apr 06
LEC 04 C: More Pointers
Slides:
Wed, Apr 08
LEC 05 C: Structs, Typedefs and the Heap
Slides:
Code:
arraycopy.c
, complexstruct.c
, 📁 extra
, index
, manual_list.c
, memcorrupt.c
, pair.h
, push_list.c
, segfault.c
, simplestruct.c
, structarg.c
, structassign.c
, util.c
, util.h
Thu, Apr 09
SEC 02 Structs, Debugging
Materials:
Code:
reverse.c
, simplestring.c
Fri, Apr 10
LEC 06 C: Modules, Preprocessor
Slides:
Week 3
Mon, Apr 13
LEC 07 C: Preprocessor (cont'd), Linking, File I/O
Slides:
Code:
buffered_hi.c
, cpp_example.c
, cpp_example.h
, extra1_hold.c
, extra1_nums.txt
, extra2_hold.c
, readN.c
, text.txt
, unbuffered_hi.c
Wed, Apr 15
LEC 08 Buffering, POSIX I/O, System Calls
Slides:
Code:
buffered_hi.c
, extra1_hold.c
, extra1_nums.txt
, extra2_hold.c
, index
, readN.c
, text.txt
, unbuffered_hi.c
Thu, Apr 16
SEC 03 POSIX I/O
Materials:
Fri, Apr 17
LEC 09 Makefiles
Slides:
Week 4
Mon, Apr 20
LEC 10 C++ Intro
Slides:
Code:
.gitignore
, Makefile
, concat.cc
, echonum.cc
, 📁 extra
, helloworld.c
, helloworld.cc
, helloworld2.cc
, helloworld3.cc
, index
, manip.cc
, msg.cc
Wed, Apr 22
LEC 11 C++: References, Const, Classes
Slides:
Code:
.gitignore
, Makefile
, Point.cc
, Point.h
, brokenpassbyrefconst.cc
, constmadness.cc
, index
, passbyreference.cc
, pointer.cc
, poll1.cc
, poll2.cc
, reference.cc
, styleguide.cc
, usepoint.cc
Thu, Apr 23
SEC 04 C++ Intro, make, HW2
Materials:
Fri, Apr 24
LEC 12 C++: Classes, Constructors, and Copies
Slides:
Code:
.gitignore
, FileDescriptor.h
, Makefile
, SimplePoint.cc
, SimplePoint.h
, 📁 extra
, foo.txt
, index
, poll.cc
, use_fd.cc
Week 5
Mon, Apr 27
LEC 13 C++: new/delete
Slides:
Code:
.gitignore
, Complex.cc
, Complex.h
, Makefile
, Point.cc
, Point.h
, Point_2011.cc
, Point_2011.h
, Str.cc
, Str.h
, arrays.cc
, 📁 extra
, heappoint.cc
, index
, sanepoint_2011.cc
, strtest.cc
, testcomplex.cc
Wed, Apr 29
LEC 14 C++: Templates
Slides:
Thu, Apr 30
SEC 05 C++ Classes, Dynamic Memory
Materials:
Fri, May 01
LEC 15 C++: STL
Slides:
Code:
Amoeba.cc
, Amoeba.h
, Makefile
, 📁 extra-problems
, index
, listexample.cc
, mapexample.cc
, test.cc
, vectoralgos.cc
, vectorcap.cc
, vectorfun.cc
, vectoriterator.cc
, vectoriterator_2011.cc
Week 6
Mon, May 04
EXAM Midterm Exam
Wed, May 06
LEC 16 Smart Pointers (start)
Slides:
Code:
Makefile
, ToyPtr.h
, index
, sharedcycle.cc
, sharedrefcount.cc
, shareduse.cc
, sharedvec.cc
, toyuse.cc
, uniquearray.cc
, uniquefail.cc
, uniquemap.cc
, uniquemove.cc
, uniquepass.cc
, uniquevec.cc
, uniquevecsort.cc
, weakcycle.cc
, weakrefcount.cc
Thu, May 07
SEC 06 C++ Templates, STL
Materials:
Code:
exercise3_t9.cc
Fri, May 08
LEC 17 C++: Smart Pointers (cont'd), HW3 Intro, Sneak Peek: Class Inheritance
Slides:
Code:
📁 inheritance-initial
Week 7
Mon, May 11
LEC 18 C++: Inheritance I
Slides:
Wed, May 13
LEC 19 C++: Inheritance II
Slides:
Code:
badctor.cc
, baddtor.cc
, 📁 extra1
, 📁 extra2
, goodctor.cc
, mixed.cc
, slicing.cc
, test.cc
, vtable.cc
Thu, May 14
SEC 07 C++ Smart Pointers, Casting, Inheritance
Materials:
Fri, May 15
LEC 20 C++ Conversions and Casting, Networks Introduction
Slides:
Week 8
Mon, May 18
LEC 21 Networks: OSI Model, Intro to Sockets
Slides:
Wed, May 20
LEC 22 Networks: Addresses, DNS, Client Sockets
Slides:
Code:
Makefile
, connect.cc
, dnsresolve.cc
, genaddr.cc
, genstring.cc
, sendreceive.cc
, socket.cc
Thu, May 21
SEC 08 Client-side Networking
Materials:
Fri, May 22
LEC 23 Server Sockets, HTTP
Slides:
Week 9
Mon, May 25
HDAY Memorial Day
Wed, May 27
LEC 24 Introduction to Concurrency
Slides:
Thu, May 28
SEC 09 HW4, HTTP, and Boost
Materials:
Week 11
Wed, Jun 10
EXAM Final Exam