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

Slides: PPT, PDF


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
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 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.
Fri 1/17 Topic 3: Static Methods

Slides: PDF, PDF for printing

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

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 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
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 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

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 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
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 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

Discussion Section, Quiz 2
4
Mon 2/3
Topic 8: Graphics

Slides: PDF, PDF for printing

DrawingPanel.java

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

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, 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


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 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 3, Quiz 4
6
Mon 2/17 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

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 1-12.
Fri 2/21 Topic 13-2: Strings

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

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 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

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

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: token-based 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: line-based processing
3. Suggested Practice It exercises: 6.6: readEntireFile , 6.9: wordWrap

Discussion Section, Quiz 6
9
3/10-3/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 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

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 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


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 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

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 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

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 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

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 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

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 Self-Check 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 Self-Check 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.