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 (020)
Readings
Exams Lab Due
1 Jan. 16
Introduction, computers, algorithms, programs, compilers
slides helloWorld.cpp inputOutput.cpp logicError.cpp magic8ball.cpp runtimeError.cpp Ch. 1
 
Unix tutorial hello.cpp
Remote connect
(no lab this week)
 
2 Jan. 23
Variables, expressions, assignment, console I/O, predefined functions
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 Jan. 30
Selection, boolean expressions, if-else, multiway-if, switch
slides 99beer.cpp break.cpp bridgeOfDeath.cpp continue.cpp countingSheep.cpp doWhile.cpp football.cpp forLoop.cpp grades.cpp ifAndSemi.cpp max.cpp randomNumber.cpp scope.cpp shortCircuit.cpp sumLoop.cpp switch.cpp switchToIf.cpp whileLoop.cpp Sections 3.1, 3.2
 
Lab 2: Sequence and selection
HW 0 due Thursday Feb. 1 at 11:55 P.M.
4 Feb. 6
Iteration, while loops, for loops, loop paradigms
slides addition.cpp addition2.cpp callByReferenceSwap.cpp findPrime.cpp globalVariable.cpp identityMatrix.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, Thursday Feb. 8 at 11:55 P.M.
5 Feb. 13
User-defined functions, procedural abstractions
slides fileCopy.cpp fileInBasics.cpp fileInput.cpp helloWorldAppend.cpp hlloWorldFile.cpp needClose.cpp nomNomHD.cpp (BEWARE WHEN RUNNINGTHIS) readTable.cpp nums.txt toSum.txt spending.txt Ch. 4, 5
Quiz
Covers Ch 1-3.2 (up to week 3: if-statements) previous quiz 1 previous quiz 2 (Note: our quiz will be about half this length)
Lab 4: User defined functions
HW 2, Thursday Feb. 15 at 11:55 P.M.
zeroToOne.cpp
6 Feb. 20
Basic file I/O
slides arrayAddress.cpp average.cpp cstring.cpp forEach.cpp gridWorld.cpp lineWorld.cpp maxPassArray.cpp maxPassInt.cpp oneToAHundered.cpp partiallyFilled.cpp reverse.cpp reverseFail.cpp simpleArray.cpp sort.cpp string.cpp stringConcatenation.cpp stringConversion.cpp Ch. 6
 
Lab 5: Reference parameters and basic file I/O
flightData.dat
HW 3, Thursday Feb. 22 at 11:55 P.M.
7 Feb. 27
Arrays, strings
2/27--Midterm 1 (whole class) Ch. 7, Sections 8.1, 8.2
Midterm 1, Covers Ch 1-3.4
(weeks 1-4)
Sample 1 Sample 2
Lab 6: Arrays partner.cpp
 
8 March 6
Recursion
slides badRecursion.cpp countdown.cpp fibonacciRecursion.cpp rootFind.cpp story.cpp stringRecursion.cpp sudokuSolver.cpp sumToN.cpp tangent.cpp towerHanoi.cpp Ch. 14
 
Lab 7: Strings
HW 4, Thursday March 8 at 11:55 P.M.
  March 13
Spring Break
 
 
 
 
 
9 March 20
User defined functions and classes
slides dateClass.cpp dateClass.hpp dateConstructor.cpp datePrivate.cpp heightsCompare.cpp heights.cpp pointClass.cpp pointClassAdd.cpp pointFriends.cpp pointFriendsOverload.cpp privateDates.cpp runDate.cpp
Ch. 10.1-10.3
 
Lab 8: Recursion
HW 5, Thursday March 22 at 11:55 P.M.

10 March 27
Operator overloading, friend functions, references, const
slides deleteMemory.cpp dynamicArrays.cpp lostPointer.cpp memAddress.cpp memoryLeak.cpp newMemory.cpp nullptr.cpp person.cpp personV2.cpp personV3.cpp pointerBasics.cpp pointerPointers.cpp raggedArray.cpp returnArrays.cpp returnPointer.cpp Sections 11.1 - 11.3
 
Lab 9: Introduction to objects
HW 6, Thursday March 29 at 11:55 P.M.
11 April 3
Pointers and dynamic arrays
slides callByValue.cpp classMemoryLeak.cpp classMemoryLeakFixed.cpp copyArray.cpp copyConstructor.cpp copyIssues.cpp copyVsEquals.cpp destructor.cpp overloadEquals.cpp placesCopyConstructorRuns.cpp redefiningTypes.cpp thisSelfPointer.cpp Ch. 9, Section 13.1

Lab 10: Operator overloading
HW 7, Thursday April 5 at 11:55 P.M.
heroineQuestV2.cpp
12 April 10
Dynamic memory in class definitions
4/10--Midterm 2 (whole class) Section 11.4, Appendix 7
Midterm 2,
Covers weeks 5 to 8
Midterm 2 study guide
Sample 1 Sample 2
Lab 11: Pointers and dynamic memory
 
13 April 17
Inheritance
slides childDestructor.cpp classScopes.cpp complexPoint.cpp computerConstructor.cpp computerConstructorV2.cpp computerRedefine.cpp convertClassTypes.cpp dunecat.cpp Sections 15.1 - 15.2
 
Lab 12: Dynamic memory in classes
Gar3D.zip
HW 8, Thursday April 19 at 11:55 P.M.
dice.cpp
14 April 24
Polymorphism, templates
slides badMemoryManagement.cpp compileVsRun.cpp dynamicBindingFunctions.cpp dynamicBindingFunctionsV2.cpp dynamicObject.cpp incorrectChildFunction.cpp memoryOops.cpp yetAnotherMemoryLeak.cpp Section 15.3
 
Lab 13: Advanced Classes and Objects
HW 9, Thursday April 26 at 11:55 P.M.
15 May 1
Standard template library, review
slides createThreads.cpp prob1.cpp prob2.cpp sharingBetweenThreads.cpp waitForThreads.cpp TBA
No lab HW 10, Thursday May 3 at 11:55 P.M.
battleship.cpp
16 May 8
Finals Week
Tuesday May 8, 6:30pm - 8:30pm in Tate Hall 101 (normal room)
 
Final Exam
study guide
sample 1
sample 2