University of Minnesota
CSci 1113: C++ Programming
index.php

Schedule*   

This is an approximate schedule. It will be updated as the class progresses.

Week
Week Of
Topics
Lecture Materials (001)
Lecture Materials (010)
Readings
Exams Lab Due
1 Jan. 20
Introduction, computers, algorithms, programs, compilers
1/22
1/24 helloWorld.cpp inputOutput.cpp logicError.cpp magic8ball.cpp RuntimeError.cpp
slides
HelloWorld.cpp magic8ball.cpp inputOutput.cpp runtimeError.cpp logicError.cpp
Ch. 1
 
Unix tutorial
(no lab this week) Coding from home options
 
2 Jan. 27
Variables, expressions, assignment, console I/O, predefined functions
1/27 assignmentOp.cpp binaryVsUnaryOps.cpp float.cpp uninitialized.cpp
1/29 intVSlong.cpp math.cpp simpleDivision.cpp subtractionError.cpp
1/31 cinMismatchingTypes.cpp ifElse.cpp madlibs.cpp stringInput.cpp
slides assignmentOp.cpp binaryVsUnaryOps.cpp float.cpp intVSlong.cpp madlibs.cpp math.cpp simpleDivision.cpp stringInput.cpp subtractionError.cpp uninitialized.cpp Ch. 2, Section 4.2
 
Lab 1: Basic C++ programs
kittyCode.cpp

3 Feb. 3
Selection, boolean expressions, if-else, multiway-if, switch
2/3
ifAndSemi.cpp rng.cpp
2/5 bridgeOfDeath.cpp grades.cpp ifIfElse.cpp max.cpp scope.cpp shortCircuit.cpp switch.cpp switchToIf.cpp whileLoop.cpp
2/7 99beer.cpp break.cpp continue.cpp countingSheep.cpp doWHile.cpp forLoop.cpp sumLoop.cpp
slides 99beer.cpp break.cpp bridgeOfDeath.cpp continue.cpp countingSheep.cpp doWhile.cpp forLoop.cpp grades.cpp ifAndSemi.cpp ifIfElse.cpp max.cpp rng.cpp scope.cpp shortCircuit.cpp sumLoop.cpp whileLoop.cpp Sections 3.1, 3.2
 
Lab 2: Sequence and selection
HW 0, Friday Feb. 7 at 11:55 P.M.
4 Feb. 10
Iteration, while loops, for loops, loop paradigms
2/10 identityMatrix.cpp nestedLoop.cpp sumAllToN.cpp sumToN.cpp
2/12 addition.cpp addition2.cpp maze.cpp overload.cpp sayHi.cpp
2/14 callByReferenceSwap.cpp changeInt.cpp findPrime.cpp globalVariable.cpp runForest.cpp sillySwap.cpp
slides addition.cpp addition2.cpp callByReferenceSwap.cpp findPrime.cpp globalVariable.cpp maze.cpp nestedLoop.cpp overload.cpp runForest.cpp sayHi.cpp sillySwap.cpp sumAllToN.cpp sumToN.cpp Sections 3.3, 3.4
 
Lab 3: Iteration
HW 1, Friday Feb. 14 at 11:55 P.M.
5 Feb. 17
User-defined functions, procedural abstractions
2/17 helloWorldAppend.cpp helloWorldFile.cpp needClose.cpp nomNomHD.cpp BEWARE WHEN RUNNING NOMNOM
2/19--Quiz sample 1 sample 2
fileInBasics.cpp fileInput.cpp
2/21 arrayAddress.cpp average.cpp simpleArray.cpp stringConcatenation.cpp string.cpp
2/18--Quiz
sample 1 sample 2
slides
fileInBasics.cpp fileInput.cpp helloWorldAppend.cpp helloWorldFile.cpp needClose.cpp nomNomHD.cppBEWARE WHEN RUNNING NOMNOM readTable.cpp
Ch. 4, 5
Quiz
Covers Ch 1-3.2 (up to week 3: if-statements)
Lab 4: User defined functions
HW 2, Friday Feb. 21 at 11:55 P.M.
6 Feb. 24
Basic file I/O
2/24
2/26
slides Ch. 6
 
Lab 5: Reference parameters and basic file I/O
flightData.dat
HW 3, Friday Feb. 28 at 11:55 P.M.
7 March 2
Arrays, strings
3/4--Midterm 1
sample 1 sample 2
3/3--Midterm 1 sample 1 sample 2 Ch. 7, Sections 8.1, 8.2
Midterm 1, Covers Ch 1-3.4 & 4-5
(weeks 1-5)
Lab 6: Arrays
 
  March 9
Spring Break
 
 
 
 
 
 
8 March 16
Recursion
Ch. 14
 
Lab 7: Strings
HW 4, Friday March 20 at 11:55 P.M.
9 March 23
User defined functions and classes
Ch. 10.1-10.3
 
Lab 8: Recursion
HW 5, Friday March 27 at 11:55 P.M.

10 March 30
Operator overloading, friend functions, references, const
Sections 11.1 - 11.3
 
Lab 9: Introduction to objects
HW 6, Friday April 3 at 11:55 P.M.
11 April 6
Pointers and dynamic arrays
Ch. 9, Section 13.1

Lab 10: Operator overloading
HW 7, Friday April 10 at 11:55 P.M.
12 April 13
Dynamic memory in class definitions
4/15--Midterm 2 4/14--Midterm 2 Section 11.4, Appendix 7
Midterm 2,
Covers weeks 6 (File I/O) to 9 (basic classes)
Lab 11: Pointers and dynamic memory
 
13 April 20
Inheritance
Sections 15.1 - 15.2
 
Lab 12: Dynamic memory in classes
HW 8, Friday April 24 at 11:55 P.M.

14 April 27
Polymorphism, templates
Section 15.3
 
Lab 13: Advanced Classes and Objects
HW 9, Friday May 1 at 11:55 P.M.
15 May 4
Extra topics

No Class 5/6
No Class 5/8
No Class  
 
 
 
16 May 11
Finals Week
Monday May 11, 10:30am - 12:30pm in Keller 3-210 (normal room)
Tuesday May 12, 6:30pm - 8:30pm in Tate Hall 101 (normal room)
 
Final Exam