Below is the current calendar for the CSE390C class. Please keep in mind that we are constantly updating this. It should accurately describe the past, but it won't always accurately predict the future.

Monday Wednesday Friday
3/31
administrative details
intro to C++


Lecture: panopto video
Program: sample.cpp
4/2
more on cin, cout
functions
reference parameters

Lecture: panopto video
Program: sample2.cpp
Program: money.cpp
4/4
parameter mystery
strings


Lecture: panopto video
Program: parameters.cpp
Program: strings.cpp
4/7
const reference parameters
vectors
range-based for

Lecture: panopto video
Program: strings2.cpp
Program: vectors.cpp
4/9
input and output streams



Lecture: panopto video
Program: streams.cpp
4/11
separate compilation



Lecture: panopto video
Program: streams.cpp
Program: sample3.cpp
Program: sample4.cpp
Program: to_string.cpp
Program: to_string.h
4/14
classes
const member functions

Lecture: panopto video
Program: Point.java
Program: point1.cpp
Program: point2.cpp
4/16
more on header files
overloaded insertion operator (<<)

Lecture: panopto video
Program: point.h
Program: point.cpp
Program: point_client.cpp
4/18
more on classes
overloaded < operator

Lecture: panopto video
Program: point.h
Program: point.cpp
Program: point_client2.cpp
Program: item.h
Program: item.cpp
Program: item_client.cpp
4/21
pointers


Lecture: panopto video
Program: sample5.cpp
Link: CodeStepByStep problem
Link: CodeStepByStep problem

4/23
infix vs prefix notation
overloading -=

Lecture: panopto video
Program: sample6.cpp
Program: rational1.cpp
4/25
more on overloading


Lecture: panopto video
Program: rational.h
Program: rational.cpp
Program: rational_client.cpp
4/28
intro to dynamic allocation
rule of three
(copy constructor, destructor, assignment)

Lecture: panopto video
Program: combo1.cpp
Program: combo2.cpp
4/30
more on dynamic allocation



Lecture: panopto video
Program: combo3.cpp
Program: combo4.cpp
5/2
linked list implementation
Lecture: panopto video
Program: linked_list1.cpp
Program: ListNode.java
Program: LinkedIntListClientPoint.java
Program: LinkedIntList.java

5/5
more linked list implementation


Lecture: panopto video
Program: linked_list.h
Program: linked_list.cpp
Program: linked_list_client.cpp
5/7
review for midterm

Lecture: panopto video
5/9
midterm
5/12
Standard Template Library
iterators

Lecture: panopto video
Program: stl1.cpp
5/14
more Standard Template Library
maps

Lecture: panopto video
Program: stl2.cpp
Data file: moby.txt
Data file: stl2.txt
5/16
STL Algorithms


Lecture: panopto video
Link: STL algorithms
Program: stl3.cpp
Data file: dictionary.txt
5/19
initializer lists
inheritance

Lecture: panopto video
Program: inherit1.cpp
5/21
pointers to avoid slicing
virtual destructor

Lecture: panopto video
Program: inherit2.cpp
5/23
pure virtual functions
abstract classes

Lecture: panopto video
Program: inherit3.cpp
5/26
Memorial Day holiday


5/28
templates


Lecture: panopto video (spr24 version)
Program: templates.cpp
5/30
functional programming
lambdas

Lecture: panopto video
Program: functional.cpp
6/2
smart pointers
casting

Lecture: panopto video
Smart Pointer Slides: pdf, pptx
Casting Slides: pdf, pptx
6/5
assertions
type safety

Lecture: panopto video
Program: asserting.cpp
Program: bad1.cpp
Program: bad2.cpp
Program: bad3.cpp
Program: bad4.cpp
6/6
review for final


Lecture: panopto video

Final Exam -- Wednesday, June 11, 2:30-4:20