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

Code done in class

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 Practice-It 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 Self-Check 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

Code done in class

1. Read sections 1.4 - 1.5
2. Suggested Self-Check Problems: Chapter 1 numbers 6, 7, 8, 9, 11, 13,16, 17, 18, 19, 23, 25
3. Practice-It! exercises: 1.9 Egg1.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 Self-Check 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 Self-Check 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 Self-Check 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 Self-Check 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 Self-Check 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, if-else

Slides: PDF, PDF for printing

1. Read sections 3.3, 4.1
2. Suggested Self-Check 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 Self-Check 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 13-1: Procedural design

Slides: PDF, PDF for printing

1. Read sections 3.4, 4.3, 4.5
2. Suggested Exercises (NOT the Self-Check Exercise): Chapter 4 numbers 2, 15, and 16.
3. Video: cumulative sum
Wed 10/2 Topic 13-2: Strings

Slides: Are second part of Procedural Design Slides, 13-1

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 Self-Check 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 Self-Check 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 Self-Check 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: token-based 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: line-based 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 Self-Check 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 Self-Check 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 Self-Check 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 Self-Check Problems: Chapter 7 numbers 17, 20, and 22.
3. Suggested Practice It exercises: 7.10: percentEven , 7.11: isUnique7.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 Self-Check 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 Self-Check 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 Self-Check 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

Slides: PPT, PDF

1. Read sections 9.3 - 9.5, 10.2
2. Suggested Self-Check 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