Schedule  CS 312  Spring 2014
Week 
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. 
1 
Mon 1/13  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 
Tue 1/14 
No Discussion Section or Quiz  
Wed 1/15  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. 

Fri 1/17  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 No Discussion Section or Quiz 

2 
Mon 1/20 
MLK Jr day  HOLIDAY 

Tue 1/21 
Discussion Section, Quiz 1 

Wed 1/22  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 

Fri 1/24  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 

3 
Mon 1/27  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 MyProgrammingLab SET 1 due by 11 pm 
Tue 1/28 
Discussion Section, Quiz 2 

Wed 1/29  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 

Th 1/30 
Assignment 1 due by 11 pm  
Fri 1/31 
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 Discussion Section, Quiz 2 

4 
Mon 2/3 
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 MyProgrammingLab SET 2 due by 11 pm 
Tue 2/4 
Discussion Section, Quiz 3 

Wed 2/5 
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 

Thu 2/6 
Assignment 2 due by 11 pm  
Fri 2/7  SNOW DAY  NO CLASS 

5 
Mon 2/10  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 MyProgrammingLab SET 3 due by 11 pm 
Tue 2/11  Discussion Section, Quiz 4  
Wed 2/12  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 

Thu 2/13  Assignment 3 due by 11 pm  
Fri 2/14  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 3, Quiz 4 

6 
Mon 2/17  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 MyProgrammingLab SET 4 due by 11 pm 
Tue 2/18  Discussion Section, Quiz 5  
Wed 2/19  MIDTERM 1  MIDTERM 1 in class, on topics 112.  
Fri 2/21  Topic 132: Strings Slides: Are second part of Procedural Design Slides, 131 
1. Read sections 3.3, 4.3 2. Suggested Practice It exercises: 3.18: vertical , 3.19: printReverse, 4.17: swapPairs, 4.18: wordCount Assignment 4 due by 11 pm Discussion Section, Quiz 5 

7 
Mon 2/24  Topic 14: while loops, loop patterns
Slides: PDF, PDF for printing 
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 MyProgrammingLab SET 5 due by 11 pm 
Tue 2/25  Discussion Section, Review Midterm 1  
Wed 2/26  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 

Th 2/27  Assignment 5 due by 11 pm  
Fri 2/28  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 Discussion Section, Review Midterm 1 

8 
Mon 3/3  Topic 17: Assertions Slides: PDF, PDF for printing Testing & Debug notes 
1. Read section 5.5 2. Video: assertions MyProgrammingLab SET 6 due by 11 pm 
Discussion Section, Quiz 6  
Wed 3/5  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 

Th 3/6  Assignment 6 due by 11 pm  
Fri 3/7  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 Discussion Section, Quiz 6 

9  3/103/14  SPRING BREAK  HOLIDAY  
10 
Mon 3/17  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 MyProgrammingLab SET 7 due by 11 pm 
Tue 3/18  Discussion Section, Quiz 7  
Wed 3/19  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 

Th 3/20  Assignment 7 due by 11 pm  
Fri 3/21  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 Discussion Section, Quiz 7 

11 
Mon 3/24  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 MyProgrammingLab SET 8 due by 11 pm 
Tue 3/25  Discussion Section, Quiz 8  
Wed 3/26  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. MyProgrammingLab SET 8 due by 11 pm 

Th 3/27  Assignment 8 due by 11 pm  
Fri 3/28  Topic 25: More array algorithms PDF, PDF for printing 
1. Suggested Practice It exercises:
7.14: contains,
7.15: collapse
2. Video: array shifting Discussion Section, Quiz 8 

12 
Mon 3/31  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 MyProgrammingLab SET 9 due by 11 pm 
Tue 4/1  Discussion Section, Quiz 9  
Wed 4/2  Topic 26 continued 
1. Suggested Practice It exercises:
7.19: matrixAdd 

Th 4/3  Assignment 9 due by 11 pm  
Fri 4/4  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 Discussion Section, Quiz 9 

13 
Mon 4/7  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: isCollinearPoint, 8.7: addTimeSpan 
Tue 4/8  Discussion Section, Quiz 10  
Wed 4/9  Review for Midterm 2 
MIDTERM 2 TONIGHT 7  9 pm on topics 1  28. Location JGB 2.324 

Fri 4/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 Discussion Section, Quiz 10 

14 
Mon 4/14  Topic 30 creating classes case study, cards and decks, Java Enums  1. Read Appendix C, Enumerations: enum, pages 1119  1120 MyProgrammingLab SET 10 due by 11 pm 
Tue 4/15  Discussion Section, Midterm 2 review  
Wed 4/16  Topic 30 creating classes case study, cards and
decks 
Read Section 9.5. 

Th 4/17  Assignment 10 due by 11 pm  
Fri 4/18  Topic 31: Inheritance, extends, override, super Slides: 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 

15 
Mon 4/21  Assignment 11 introduction, critters Slides: PDF 
MyProgrammingLab SET 11 due by 11 pm 
Tue 4/22  Discussion Section, Quiz 11  
Wed 4/23  Topic 32: Polymorphism Slides: PDF 
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.10: Discount Bill 

Thu 4/24  Assignment 11 due by 11 pm  
Fri 4/25  Topic 32a: Polymorphism: Typecasting Slides: PDF 
1. Suggested Practice It exercises: 9.11: FilteredAccount
Discussion Section, Quiz 11 

16 
Mon 4/28  Topic 33: ArrayLists
Slides: PDF, PDF for printing 
1. Read sections 10.1, 10.3 2. Video: ArrayList 3. Suggested Practice It exercises: 10.2: swapPairs , 10.3: removeEvenLength , 10.6: minToFront 10.7: removeDuplicates , 10.11: stutter, 10.17: interleave MyProgrammingLab SET 12 due by 11 pm 
Tue 4/29  Discussion Section, No Quiz. 

Wed 4/30  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 

Thu 5/1 
Assignment 12 due by 11 pm  2 slip days allowed. 

Fri 5/2  Review for Final  Review for Final Discussion Section, No Quiz. 

The Final exam is Tue, May 13, 2014, in UTC 2.112A. 