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  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: 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: 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: 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 Discussion Section, Quiz 1 
Mon 9/9  Topic 4 continued, start Topic 5 if time permits  1. Video:
variables/assignment 2. Practice It! exercises: 2.4: expressions 3 
Wed 9/11  Topic 5: for loops, nested loops Slides: 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: 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 Discussion Section, Quiz 2. Program with Syntax errors to fix 
Mon 9/16  Topic 7: parameters Slides: 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 
Wed 9/18  Topic 8: Graphics Slides: 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: 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 Discussion Section, Quiz 3 
Mon 9/23  Topic 10: return values, Math methods Slides: 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 
Wed 9/25  Topic 11: Scanner, conditional execution, ifelse Slides: 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 Discussion Section, Quiz 4` 
Mon 9/30  Topic 131: Procedural design Slides: 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 
Wed 10/2  Topic 132: Strings Slides: Are second part of Procedural Design Slides, 131 
1. MIDTERM 1 TONIGHT 7  9 pm in WCH 1.120. (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: 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 Discussion Section, Review Midterm 1 Assignment 4 due by 11 pm 
Mon 10/7  Topic 15: Random numbers Slides: 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 
Wed 10/9  Topic 16: Boolean logic Slides: 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: PDF, PDF for printing Testing & Debug notes 
1. Read section 5.5 2. Video: assertions Discussion Section, Quiz 5 
Mon 10/14  Topic 18: File input, tokens Slides: 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 
Wed 10/16  Topic 19: More file input Slides: 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: 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: 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: 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: 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 Discussion Section, Quiz 7 
Mon 10/28  Topic 24: Sorting and Searching arrays Slides: 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. 4. Videos: Insertion sort and Selection sort through dance. 
Wed 10/30  Topic 25: More array algorithms 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: 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 Discussion Section, Quiz 8 
Mon 11/4  Topic 26 continued  1. Suggested Practice It exercises: 7.19: matrixAdd 
Wed 11/6  Topic 27: classes and objects, state and behavior Slides: 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: 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 Discussion Section, Quiz 9 
Mon 11/11  Topic 29: constructors, encapsulation Slides: 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 
Wed 11/13  Review for Midterm 2 in class  1. MIDTERM 2 TONIGHT 7  9 pm in UTC 4.102, UTC 4.104, UTC 4.124. 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 Discussion Section, Quiz 10 
Mon 11/18  Topic 30 creating classes case study, cards and
decks Interfaces introduction. PDF PDF for printing 
Read Section 9.5. 
Wed 11/20  See topic 31. Assignment 11 introduction, critters Slides: PPT, PDF 
See reading material and exercises for Friday, 11/22. 
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 Discussion Section, Midterm 2 review 
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 
Wed 11/27  Topic 33: ArrayLists Slides: 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 33a Polymorphism: Typecasting Slides: PDF 
1. Suggested Practice It exercises:
10.7: removeDuplicates
,
10.11: stutter,
10.17: interleave

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 Discussion Section, Quiz 11 
Mon and Tues 12/9 and 12/10, DEAD DAYS  
The Final exam is Friday, Dec. 13 