Calendar
DATE
TOPIC
EXERCISES
HOMEWORK
Week 1
Mon, Sep 27
Welcome back! The course begins on Wednesday.
Wed, Sep 29
LEC 01
Introduction, C: Review
Slides:
pdf
Code:
args.c
,
sum_badorder.c
,
sum_betterorder.c
,
sum_declared.c
,
sumnum.c
,
sumstore.c
Thu, Sep 30
SEC 01
Pointers, Arrays & Memory diagrams
Materials:
333 Section 1 Slides
333 Section 1 Solutions
333 Section 1 Worksheet
Fri, Oct 01
LEC 02
C: Arrays, Memory
Slides:
pdf
Code:
arraysum.c
,
buggy_copyarray.c
,
copyarray.c
,
extra-problems
,
local_addr.c
,
outparam.c
,
pointy.c
,
stack.c
Ex-1 Due
Soln
Week 2
Mon, Oct 04
LEC 03
C: Pointers, Pointers, Pointers...
Slides:
ink
pdf
Code:
boxarrow.c
,
boxarrow2.c
,
brokenswap.c
,
map.c
,
pointerarithmetic.c
,
swap.c
Ex-2 Due
Soln
HW0 Due
Wed, Oct 06
LEC 04
C: The Heap, Data Structures
Slides:
ink
pdf
Code:
arraycopy.c
,
complexstruct.c
,
extra-problems
,
leaky.c
,
manual_list.c
,
memcorrupt.c
,
push_list.c
,
segfault.c
,
simplestruct.c
,
structarg.c
,
structassign.c
Ex-3 Due
Soln
Thu, Oct 07
SEC 02
Pointers, Debugging, gdb, valgrind
Materials:
333 Section 2 Solutions
333 Section 2 Worksheet
Makefile
leaky
reverse
Fri, Oct 08
LEC 05
C: Modules, Preprocessor
Slides:
pdf
Code:
cpp_example.c
,
cpp_example.h
,
example_ll_customer.c
,
extra-problems
,
include_problem
,
ll.c
,
ll.h
,
magic.c
,
manual_list.c
,
manual_list_void.c
,
push_list.c
,
push_list2.c
,
push_list3.c
Ex-4 Due
Soln
Week 3
Mon, Oct 11
LEC 06
C: Linking, File I/O
Slides:
ink
pdf
Code:
condcomp.c
,
cp_example.c
,
external_linkage
,
external_static_functions
,
ifdef.c
,
internal_linkage
,
static_extent.c
Ex-5 Due
Soln
Wed, Oct 13
LEC 07
POSIX I/O, System Calls
Slides:
pdf
ink
Code:
buffered_hi.c
,
readN.c
,
text.txt
,
unbuffered_hi.c
Ex-6 Due
Soln
Thu, Oct 14
SEC 03
POSIX, I/O, & Directories
Materials:
333 Section 3 Slides
333 Section 3 Solutions
333 Section 3 Worksheet
HW1 Due
Fri, Oct 15
LEC 08
C++ Intro
Slides:
pdf
Code:
Makefile
,
concat.cc
,
echonum.cc
,
helloworld.c
,
helloworld.cc
,
helloworld2.cc
,
helloworld3.cc
,
manip.cc
Week 4
Mon, Oct 18
LEC 09
C++: References, Const, Classes
Slides:
pdf
Code:
Makefile
,
Point.cc
,
Point.h
,
brokenpassbyrefconst.cc
,
constmadness.cc
,
passbyreference.cc
,
pointer.cc
,
poll1.cc
,
poll2.cc
,
poll3.cc
,
reference.cc
,
styleguide.cc
,
usepoint.cc
Ex-7 Due
Soln
Bonus-Ex-1 Due
Soln
Wed, Oct 20
LEC 10
C++: Makefiles, Constructure Insanity
Slides:
ink
pdf
Code:
SimplePoint.cc
,
SimplePoint.h
Ex-8 Due
Soln
Thu, Oct 21
SEC 04
C++ references/const, C++ Classes
Materials:
333 Section 4 Slides
333 Section 4 Solutions
333 Section 4 Worksheet
Fri, Oct 22
LEC 11
C++: Constructors (cont'd)
Slides:
pdf
ink
Week 5
Mon, Oct 25
LEC 12
C++: Class details, heap
Slides:
pdf
ink
Code:
Complex.cc
,
Complex.h
,
Makefile
,
Point.cc
,
Point.h
,
Point_2011.cc
,
Point_2011.h
,
Str.cc
,
Str.h
,
arrays.cc
,
extra1_hold.cc
,
heappoint.cc
,
sanepoint_2011.cc
,
strtest.cc
,
testcomplex.cc
Wed, Oct 27
LEC 13
C++: Templates
Slides:
pdf
ink
Code:
Makefile
,
Pair.cc
,
Pair.h
,
compare_prob
,
compare_soln_one
,
compare_soln_two
,
functiontemplate.cc
,
functiontemplate_infer.cc
,
usepair.cc
,
valtemplate.cc
Ex-9 Due
Soln
Thu, Oct 28
SEC 05
C++ classes, Dynamic Memory
Materials:
333 Section 5 Slides
333 Section 5 Solutions
333 Section 5 Worksheet
HW2 Due
Fri, Oct 29
LEC 14
C++: STL
Slides:
ink
Code:
Makefile
,
Tracer.cc
,
Tracer.h
,
test.cc
,
vectoralgos.cc
,
vectorfun.cc
,
vectoriterator.cc
,
vectoriterator_2011.cc
Week 6
Mon, Nov 01
LEC 15
C++: STL (end), Midterm discussion
Slides:
pdf
Code:
Makefile
,
ToyPtr.h
,
Tracer.cc
,
Tracer.h
,
animals.cc
,
listexample.cc
,
mapexample.cc
,
usetoy.cc
Ex-10 Due
Soln
Wed, Nov 03
LEC 16
C++: Smart Pointers
Slides:
ink
pdf
Code:
UseToyPtr.cc
,
copysemantics.cc
,
movesemantics.cc
,
sharedexample.cc
,
sharedvec.cc
,
strongcycle.cc
,
unique1.cc
,
unique2.cc
,
unique3.cc
,
unique4.cc
,
unique5.cc
,
uniquefail.cc
,
uniquemap.cc
,
uniquevec.cc
,
uniquevecsort.cc
,
usetoy.cc
,
usingweak.cc
,
weakcycle.cc
Thu, Nov 04
SEC 06
C++ Templates, STL, Smart Pointers
Materials:
333 Section 6 Slides
333 Section 6 Solutions
333 Section 6 Worksheet
Mid-Survey Due
Fri, Nov 05
EXAM
Midterm Exam
Midterm-Exam Due
Week 7
Mon, Nov 08
LEC 17
C++: Inheritance I
Slides:
ink
Code:
inherit
,
initial
,
vtable.cc
Ex-11 Due
Soln
Wed, Nov 10
LEC 18
C++: Inheritance II, Casting
Slides:
pdf
ink
Code:
badctor.cc
,
baddtor.cc
,
constcast.cc
,
dynamiccast.cc
,
goodctor.cc
,
mixed.cc
,
poll.cc
,
slicing.cc
,
staticcast.cc
,
test.cc
Thu, Nov 11
SEC 07
Veteran's Day / (Virtual Section) Casting & Inheritance
Materials:
333 Section 7 Slides
333 Section 7 Solutions
333 Section 7 Worksheet
Fri, Nov 12
LEC 19
Networks Introduction
Slides:
pdf
Week 8
Mon, Nov 15
LEC 20
IP Addresses, DNS
Slides:
ink
Code:
dnsresolve.cc
,
genaddr.cc
,
genstring.cc
Ex-12 Due
Soln
Wed, Nov 17
LEC 21
Client-side Networking
Slides:
pdf
ink
Code:
connect.cc
,
dnsresolve.cc
,
sendreceive.cc
,
socket.cc
Ex-13 Due
Soln
Thu, Nov 18
SEC 08
Networking & Client-side Networking
Materials:
333 Section 8 Slides
333 Section 8 Solutions
333 Section 8 Worksheet
Fri, Nov 19
LEC 22
Server-side Networking
Slides:
pdf
ink
Code:
extra1.cc
,
server_accept_rw_close.cc
,
server_bind_listen.cc
Week 9
Mon, Nov 22
LEC 23
HTTP
Slides:
pdf
ink
Ex-14 Due
Soln
Wed, Nov 24
LEC 24
No Lecture
HW3 Due
Thu, Nov 25
Thanksgiving
Fri, Nov 26
Fri. after Thanksgiving
Week 10
Mon, Nov 29
LEC 25
Introduction to Concurrency
Slides:
ink
pdf
Wed, Dec 01
LEC 26
Concurrency and Threads
Slides:
pdf
ink
Code:
Makefile
,
cthreads.c
,
pthreads.cc
,
searchserver_sequential
,
searchserver_threads
,
total.cc
,
total_locking.cc
,
total_locking_better.cc
Ex-15 Due
Soln
Thu, Dec 02
SEC 09
Concurrency
Materials:
Boost and Http Slides
Boost and Http worksheet solution
Boost and Http worksheet
section 9 slide
section 9 worksheet solution
section 9 worksheet
Fri, Dec 03
LEC 27
Concurrency and Processes
Slides:
ink
pdf
Code:
Makefile
,
fork_example.cc
,
forklatency.cc
,
searchserver_processes
,
threadlatency.cc
Week 11
Mon, Dec 06
LEC 28
Special Topic I
Wed, Dec 08
LEC 29
Special Topic II
Slides:
pdf
Code:
Makefile
,
README.md
,
dnautil.cc
,
dnautil.h
,
mybenchmark.cc
,
mydnapool.cc
Ex-16 Due
Soln
Thu, Dec 09
SEC 10
Concurrency, Wrap-up
HW4 Due
Fri, Dec 10
LEC 30
Course Wrap-Up
Slides:
pdf
Code:
rust_example
,
rust_example.tar.gz
Week 12
Mon, Dec 13
Exam week
Wed, Dec 15
EXAM
Final Exam
Final-Exam Due