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 cstring.cpp forEach.cpp maxPassArray.cpp maxPassInt.cpp partiallyFilled.cpp stringConversion.cpp
2/26 gridWorld.cpp lineWorld.cpp reverse.cpp reverseFail.cpp
2/28 badRecursion.cpp countdown.cpp fibonacciRecursion.cpp rootFind.cpp story.cpp stringRecursion.cpp
slides arrayAddress.cpp average.cpp cstring.cpp forEach.cpp gridWorld.cpp lineWorld.cpp maxPassArray.cpp maxPassInt.cpp partiallyFilled.cpp reverse.cpp reverseFail.cpp simpleArray.cpp stringConcatenation.cpp stringConversion.cpp string.cpp 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/2 IfMagic.cpp LoopMagic.cpp OperatorMagic.cpp
3/4--Midterm 1
sample 1 sample 2
3/6
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 partner.cpp
 
  March 9
Spring Break
 
 
 
 
 
 
8 March 16
Recursion
Ch. 14
 
Lab 7: Strings
HW 4, Friday March 20 at 11:55 P.M.
small.csv med.csv large.csv
9 March 23
User defined functions and classes
3/23 date.cpp date.hpp dateClass.cpp dateConstructor.cpp privateDates.cpp runDate.cpp
3/25 heights.cpp heightsCompare.cpp pointClass.cpp pointClassAdd.cpp pointOverload.cpp
3/27 multiplePrivates.cpp pointFriends.cpp pointFriendsOverload.cpp pointReview.cpp
Ch. 10.1-10.3
 
Lab 8: Recursion
HW 5, Friday March 27 at 11:55 P.M.
tictactoe.cpp
10 March 30
Operator overloading, friend functions, references, const
3/30 memAddress.cpp person.cpp personV2.cpp pointerBasics.cpp returnPointer.cpp
4/1 deleteMemory.cpp lostPointer.cpp memoryLeak.cpp newMemory.cpp personV3.cpp pointerPointers.cpp
4/3 dynamicArrays.cpp nullptr.cpp raggedArray.cpp returnArrays.cpp
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
4/6 classMemoryLeak.cpp classMemoryLeakFixed.cpp destructor.cpp
4/8 callByValue.cpp copyConstructor.cpp copyIssues.cpp placesCopyConstructorRuns.cpp
4/10 copyArray.cpp copyCout.cpp copyVsEquals.cpp overloadEquals.cpp redefiningTypes.cpp thisSelfPointer.cpp
Ch. 9, Section 13.1

Lab 10: Operator overloading
HW 7, Friday April 10 at 11:55 P.M.
simUniversity.cpp
12 April 13
Dynamic memory in class definitions
4/13 arrayQ.cpp credits.cpp cstringQ.cpp fileQ.cpp recursionQ.cpp wordGame.cpp
4/15--Midterm 2
previous exam 1
previous exam 2
4/17 complexPoint.cpp convertClassTypes.cpp dunecat.cpp sports.cpp
4/14--Midterm 2
previous exam 1
previous exam 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
4/20 childDestructor.cpp childParent.cpp classScopes.cpp computerConstructor.cpp computerConstructorV2.cpp computerRedefine.cpp
4/22 badMemoryManagement.cpp compileVsRun.cpp dynamicObject.cpp memoryOops.cpp whatMyType.cpp
4/24 dynamicBindingFunctions.cpp dynamicBindingFunctionsV2.cpp incorrectChildFunction.cpp yetAnotherMemoryLeak.cpp
Sections 15.1 - 15.2
 
Lab 12 is canceled due to vole issues: Dynamic memory in classes
HW 8, Friday April 24 at 11:55 P.M.
itsABirdItsAPlane...ItsATrain.cpp
14 April 27
Polymorphism, templates
4/27 badTemplates.cpp checkSameType.cpp classTemplate.cpp coutMe.cpp goodSwap.cpp multipleTypes.cpp vector.cpp
4/29 client.cpp server.cpp
5/1 createThreads.cpp sharingBetweenThreads.cpp waitForThreads.cpp
Section 15.3
 
Lab 13: Advanced Classes and Objects
labSports.cpp
HW 9, Friday May 1 at 11:55 P.M.
part9A.cpp part9B.cpp part9C.cpp
15 May 4
Extra topics
5/4 prob1.cpp prob2.cpp prob3.cpp prob4.cpp
No Class 5/6
No Class 5/8
No Class  
 
 
 
16 May 11
Finals Week
Monday May 11, 10:30am - 12:30pm on gradescope
finalSample1.pdf finalSample2.pdf
Tuesday May 12, 6:30pm - 8:30pm on gradescope
finalSample1.pdf finalSample2.pdf
 
Final Exam