Schedule  CS 312  Fall 2013
Date  Topic  Reading, Links, and Events: Reading Assignments with a cited chapter are from the required textbook, Building Java Programs 3nd edition by Stuart Reges and Marty Stepp. Complete the readings before class. 
Wed 8/28  Topic 1 Course Intro Slides: PPT, PDF, PDF for printing 
1.Read the course syllabus carefully. 2. Read sections 1.1  1.3 3. Apply for your lab account today  see the syllabus for more details. 4. Read Advice for CS Undergrads (from Joel on Software) 5. Watch Randy Pausch's time management talk 6. Create a PracticeIt account 7. Register your iClicker  see the syllabus for details 
Fri. 8/30  Topic 2: Basic Java Slides: PPT, PDF, PDF for printing 
1. Reread sections 1.1  1.3 in the book. 2. Suggested SelfCheck Problems: Chapter 1 numbers 2, 3, 4, and 5. 3. Suggested Practice It exercises: 1.2 binary 1, 1.1 Stewie, 1.8 Stewie 2. 
Mon 9/2  Labor Day Holiday  Labor Day Holiday  No class 
Wed 9/4  Topic 3: Static Methods Slides: PPT, PDF, PDF for printing 
1. Read sections 1.4  1.5 2. Suggested SelfCheck Problems: Chapter 1 numbers 6, 7, 8, 9, 11, 13,16, 17, 18, 19, 23, 25 3. PracticeIt! exercises: 1.9 Egg, 1.13 Star Figures, 1.16 Shining 4. Video: methods, complex figure 
Fri 9/6  Topic 4: Expressions and Variables Slides: PPT, PDF, PDF for printing 
1. Read sections 2.1  2.2 2. Suggested SelfCheck Problems: Chapter 2 numbers 1, 3, 4, 5, 7, 8, 9 3. Practice It! exercises: 2.2: expressions 1, 2.3 expressions 2 4. Video: expressions 
Mon 9/9  Topic 4 continued, start Topic 5 if time permits  1. Video:
variables/assignment 2. Practice It! exercises: 2.4: expressions 3 Discussion Section, Quiz 1 
Wed 9/11  Topic 5: for loops, nested loops Slides: PPT, PDF, PDF for printing 
1. Read section 2.3 2. Suggested SelfCheck Problems: Chapter 2 numbers 12, 13, 15, 16, 20, 21 3. Suggested Practice it exercises: 2.2 loop Squares, 2.3 fibonacci, 2.9 waveNumbers40, 2.15 print design 4. Videos for loop, nested loops 
Th 9/12  Assignment 1 due by 11 pm  Assignment 1 due by 11 pm 
Fri 9/13  Topic 6: loops, figures, constants Slides: PPT, PDF, PDF for printing 
1. Read sections 2.4 and 2.5 2. Suggested SelfCheck Problems: Chapter 2 numbers 27 and 28. 3. Suggested Practice It exercises: 2.5 Star Triangle, 2.6 number Triangle, 2.8 spaces And Numbers, 2.10 numbers Output 60 4. Video: complex figure 
Mon 9/16  Topic 7: parameters Slides: PPT, PDF, PDF for printing 
1. Read sections 3.1 2. Suggested SelfCheck Problems: Chapter 3 numbers 1, 2, 3, 5, 7, 8, 10. 3. Suggested Practice It exercises: 3.1 print Numbers, 3.2 print Powers of Two, 3.3 print Powers of N, 4. Video: parameter mystery Discussion Section, Quiz 2. Program with Syntax errors to fix 
Wed 9/18  Topic 8: Graphics Slides: PPT, PDF, PDF for printing 
1. Read all of chapter 3G. 2. Suggested SelfCheck Problems: Chapter 3G numbers 1, 2, 3, 4. 3. Video: basic drawing 4. Suggested Practice It exercises: 3G.1: MickeyBox, 3G.5: ShowDesign 
Th 9/19  Assignment 2 due by 11 pm  Assignment 2 due by 11 pm 
Fri 9/20  Topic 9: More Graphics Slides: PPT, PDF, PDF for printing 
1. Read all of chapter 3G. 2. Video: parameterized drawing 3. 4. Suggested Practice It exercises: 3G.7: Squares , 3G.12: Triangle 
Mon 9/23  Topic 10: return values, Math methods Slides: PPT, PDF, PDF for printing 
1. Read sections 3.1, 3.2, and 3.3 2. Suggested Practice It exercises: 3.8: parameterMysteryTouch , 3.13: mathExpressions Discussion Section, Quiz 3 
Wed 9/25  Topic 11: Scanner, conditional execution, ifelse Slides: PPT, PDF, PDF for printing 
1. Read sections 3.3, 4.1 2. Suggested SelfCheck Problems: Chapter 3 numbers 12, 14, 15, 16, 17, Chapter 4, number 2. 3. Suggested Practice It exercises: 3.4: printSquare , 3.8: quadratic , 3.11: distance 4. Video: Scanner 
Th 9/26  Assignment 3 due by 11 pm  Assignment 3 due by 11 pm 
Fri 9/27  Topic 12: more if/else, cumulative algorithms, printf Slides: PPT, PDF, PDF for printing 
1. Read sections 4.1  4.5 2. Suggested SelfCheck Problems: Chapter 4 numbers 1, 2, 4, 5, 6, 8, 9, 10, 12, 16, 17, 19, 20, 22, 25 3. Suggested Practice It exercises: 4.2: logicExpressions1 , 4.2: repl , 4.8: smallestLargest , 4.10 print Triangle Type, 4.19: quadrant 4. Videos nested if/else, factoring if/else` 
Mon 9/30  Topic 131: Procedural design Slides: PPT, PDF, PDF for printing 
1. Read sections 3.4, 4.3, 4.5 2. Suggested Exercises (NOT the SelfCheck Exercise): Chapter 4 numbers 2, 15, and 16. 3. Video: cumulative sum Discussion Section, Quiz 4 
Wed 10/2  Topic 132: Strings Slides: Are second part of Procedural Design Slides, 131 
1. MIDTERM 1 TONIGHT 7  9 pm in WEL 1.308. (topics 1 
12) 1. Read sections 3.3, 4.3 2. Suggested Practice It exercises: 3.18: vertical , 3.19: printReverse, 4.17: swapPairs, 4.18: wordCount 
Fri 10/4  Topic 14: while loops, loop patterns Slides: PPT, PDF, PDF for printing Assignment 4 due by 11 pm 
1. Read sections 5.1, 5.2 2. Suggested SelfCheck Problems: Chapter 5 numbers 1, 2, 3, 6, 11, 13, 15, 16. 3. Suggested Practice It exercises: 5.4: whileLoopMystery2 , 5.14: logicExpressions2 , 5.3: toBinary , 5.7: diceSum, 5.12: printAverage 4. Video: sentinel loops Assignment 4 due by 11 pm 
Mon 10/7  Topic 15: Random numbers Slides: PPT, PDF, PDF for printing 
1. Read sections 5.1, 5.6 2. Suggested Exercise (NOT the SelfCheck Exercise): Chapter 5 numbers 3 3. Suggested Practice It exercise: 5.4: randomX , 5.8: randomWalk 4. Video: random numbers Discussion Section, Review Midterm 1 
Wed 10/9  Topic 16: Boolean logic Slides: PPT, PDF, PDF for printing 
1. Read sections 5.3, 5.4 2. Suggested SelfCheck Problems: Chapter 5 numbers 18, 19, 22, 24, 26, 27. 3. Suggested Practice It exercises: 5.2: gcd , 5.13: consecutive, 5.17: monthApart 4. Video: type boolean 
Th 10/10  Assignment 5 due by 11 pm  Assignment 5 due by 11 pm 
Fri 10/11  Topic 17: Assertions Slides: PPT, PDF, PDF for printing 
1. Read section 5.5 2. Video: assertions 
Mon 10/14  Topic 18: File input, tokens Slides: PPT, PDF, PDF for printing 
1. Read sections 6.1, 6.2, 5.4 2. Video: tokenbased processing 3. Suggested Practice It exercises: 6.1: boyGirl , 6.2: evenNumbers , 6.3: negativeSum Discussion Section, Quiz 5 
Wed 10/16  Topic 19: More file input Slides: PPT, PDF, PDF for printing 
1. Read sections 6.3 2. Video: linebased processing 3. Suggested Practice It exercises: 6.6: readEntireFile , 6.9: wordWrap 
Th 10/17  Assignment 6 due by 11 pm  Assignment 6 due by 11 pm 
Fri 10/18  Topic 20: Advanced file input, file output Slides: PPT, PDF, PDF for printing 
1. Read sections 6.4 and 6.5 2. Suggested SelfCheck Problems: Chapter 6 numbers 13, 14, 15 and Exercises 2 and 9. 3. Suggested Practice It exercise 6.8: doubleSpace , 6.12: stripHtmlTags , 6.14: printDuplicates 
Mon 10/21  Topic 21: arrays Slides: PPT, PDF, PDF for printing 
1. Read Section 7.1 from the textbook. 2. Suggested SelfCheck Problems: Chapter 7 numbers 1, 2, 3, 5, 6, 7, 8 3. Suggested Practice It exercise: 7.1: lastIndexOf , 7.2: range , 7.4: isSorted Discussion Section, Quiz 6 
Wed 10/23  Topic 22: more arrays, arrays as parameters, reference
semantics Slides: PPT, PDF, PDF for printing 
1. Read sections 7.1  7.3 2. Suggested SelfCheck Problems: Chapter 7 numbers 10, 11, 13, 14, 16 3.Suggested Practice It exercises: 7.5: mode , 7.6: stdev , 7.9: minGap 4. Videos: array mystery, array traversal 
Th 10/24  Assignment 7 due by 11 pm  Assignment 7 due by 11 pm 
Fri. 10/25  Topic 23: tallying, text processing Slides: PPT, PDF, PDF for printing 
1. Read sections 4.3, 7.6 2. Suggested SelfCheck Problems: Chapter 7 numbers 17, 20, and 22. 3. Suggested Practice It exercises: 7.10: percentEven , 7.11: isUnique, 7.13: longestSortedSequence 4. Video: array tallying 
Mon 10/28  Topic 24: Sorting and Searching arrays Slides: PPT, PDF, PDF for printing 
1. Read section 13.3 2. Suggested Practice It exercise: 7.8 median, 7.7: kthLargest , 7.18: wordLengths 3. Read the Wikipedia article on selection sort. Discussion Section, Quiz 7 
Wed 10/30  Topic 25: More array algorithms PPT, PDF, PDF for printing 
1. Suggested Practice It exercises:
7.14: contains,
7.15: collapse
2. Video: array shifting 
Th 10/31  Assignment 8 due by 11 pm  Assignment 8 due by 11 pm 
Fri 11/1  Topic 26 2d arrays Slides: PPT, PDF, PDF for printing 
1. Read section 7.5 2. Suggested SelfCheck Problems: Chapter 7 numbers 14 and 26. 3. Read the Wikipedia article on Conways' Game of Life 4. Look at this Game of Life Applet 
Mon 11/4  Topic 26 continued  1. Suggested Practice It exercises:
7.19: matrixAdd
Discussion Section, Quiz 8 
Wed 11/6  Topic 27: classes and objects, state and behavior Slides: PPT, PDF, PDF for printing 
1. Read sections 8.1  8.2 2. Suggested SelfCheck Problems: Chapter 8 numbers 1, 2, 3, 4, 5, 6 and Exercises 1 and 2. 3. Video: Defining a class 4. Suggested Practice It exercises: 8.1 quadrantPoint, 8.3: manhattanDistancePoint, 8.4: isVertical 
Th 11/7  Assignment 9 due by 11 pm  Assignment 9 due by 11 pm 
Fri 11/8  Topic 28: object behavior, methods Slides: PPT, PDF, PDF for printing 
1. Read sections 8.2  8.3 2. Suggested Practice It exercises: 8.5: slopePoint, 8.6: isCollinearPoiint, 8.7: addTimeSpan 
Mon 11/11  Topic 29: constructors, encapsulation Slides: PPT, PDF, PDF for printing 
1. Read sections 8.3  8.6 2. Suggested SelfCheck Problems: Chapter 8 numbers 7, 8, 10, 11, 13, 14, 15, 16 and Exercises 4 and 3. Videos: constructors, encapsulation Discussion Section, Quiz 9 
Wed 11/13  Review for Midterm 2 in class  1. MIDTERM 2 TONIGHT 7  9 pm in UTC 2.102A. Topics 1  28. 
Fri 11/15  Topic 30 creating classes case study, cards and decks, Java Enums  1. Read Appendix C, Enumerations: enum, pages 1119  1120 
Mon 11/18  Topic 30 creating classes case study, cards and decks  Discussion Section, Review Midterm 2 
Wed 11/20  Assignment 11 introduction, critters Slides: PPT, PDF 

Th 11/21  Assignment 10 due by 11 pm  Assignment 10 due by 11 pm 
Fri 11/22  Topic 31: Inheritance, extends, override, super Slides: PPT, PDF 
1. Read sections 9.1, 9.2 2. Video: inheritance 3. Suggested Practice It exercises: 9.4 inheritanceVariableSyntax, 9.1: Marketer, 9.3: HarvardLawyer 
Mon 11/25  Topic 32: Polymorphism and interfaces  1. Read sections 9.3  9.5, 10.2 2. Suggested SelfCheck Problems: Chapter 10 numbers 14, 15, 16, 18. 3. Suggested Practice It exercises: 9.4: MonsterTruck, 9.9: MinMaxAccount, 9.11: FilteredAccount Discussion Section, Quiz 10 
Wed 11/27  Topic 33: ArrayLists Slides: PPT, PDF, PDF for printing Assignment 11 due by 11 pm 
1. Read sections 10.1, 10.3 2. Video: ArrayList 3. Suggested Practice It exercises: 10.2: swapPairs , 10.3: removeEvenLength , 10.6: minToFront Assignment 11 due by 11 pm 
Fri 11/29  Thanksgiving Break  Thanksgiving Break  No Class 
Mon 12/2  Topic 33 continued  1. Suggested Practice It exercises:
10.7: removeDuplicates
,
10.11: stutter,
10.17: interleave
Discussion Section, Quiz 11 
Wed 12/4  Topic 34, Introduction to Recursion  1. Read sections 12.1, 12.2, 12.3, 12.4, 12.5, and
13.3 2. Suggested Practice It exercise: 12.3: mystery1, 12.4: 12.4: mystery2, 12.6: mysteryXY, 12.15 mystery6, 12.1 starString, 12.3 writeSequence, 12.12 isReverse, 12.18 waysToClimb 
Th 12/5  Assignment 12 due by 11 pm  Assignment 12 due by 11 pm  No slip days may be used on assignment 12. 
Fri 12/6  Catch up Day  Review for Final  Catch up Day  Review for Final 
Mon and Tues 12/9 and 12/10, DEAD DAYS  
Wed 12/11  12/17  Final Exams. The CS312 Exam
will be a uniform exam with the other CS312 sections at a data and time to
be announced. The Final exam is NOT Wednesday, December 11, 2:005:00 pm 
All slides in PowerPoint format