Monthly Schedule

(AP Computer Science A, Blocks 2 and 5)

M 12/1/14
F

No additional HW due. Rest and relax during your break!

 

T 12/2/14
G

Block 2: No class.

Block 5: The assignment that was supposed to be due today was mistakenly not posted in time. Accordingly, the due date has been moved to tomorrow.

 

W 12/3/14
A

HW due (both periods):

1. Read Lessons 27 and 28. (Note: We are skipping Lesson 26 for now.)

2. Write Exercises 1-22 all on p. 27-3.

3. Write personal pseudocode (with complete clarity, but omitting all comments) to implement a recursive algorithm for the Towers of Hanoi game. Since this is a classic exercise with hundreds of examples of pseudocode that you can find online, we will make the problem slightly more challenging by imposing the following requirements:

(1) In the “wrapper” pseudocode, i.e., the pseudocode that lies outside the method that is called recursively, include all necessary initializations so that if you were to implement your code in Java, the translation from pseudocode to Java would be easy. Note: Initializations and imports, if any, are not to be written in Java; they are merely notes to yourself to set up the appropriate data structure(s) so that if you later translate to Java, you don’t forget anything. There are no hard and fast rules on how to do this. Everyone will take a unique approach.

(2) The tower size, n, is to be specified by the user. Include pseudocode to verify that n is an integer between 0 and 125, inclusive. The algorithm should exit without doing anything if n is an invalid value.

(3) Label the spindles A, B, and C, and assume that the tower of size n always starts on spindle A.

(4) Assume that the n discs have diameter 1, 2, 3, . . ., n, when initially reading from top to bottom on spindle A.

(5) The ending spindle for the tower can be either B or C. (If n = 0, the concept of an ending spindle is undefined.) However, the preferred ending location for a tower of size n is spindle C, which would mean that as long as n > 0, the tower of size n – 1 should first be moved to spindle B; then the n-sized disc can be moved from A to C, and the tower of size n – 1 can be moved from B to C.

(6) The algorithm should work correctly for any legal value of n, including 0. At the successful completion of all the disc moves, the message “Success!” should be displayed once.

(7) Each disc move that occurs should be printed for the user to see, using the following format:

Now moving disc of diameter ### from spindle # to spindle #.

 

Th 12/4/14
B

Period 2 HW due:

1. Use the pseudocode given in class on Wednesday to flesh out a working Java version of the Towers of Hanoi.

2. Read this Wikipedia article. The first illustration (the colorful one with Requirements, Design, Implementation, Verification, and Maintenance) is often rendered as Requirements Analysis, Design, Coding, Testing, Documentation, and Maintenance. Documentation and testing can often be swapped or conducted in parallel, at least to a certain degree.

Period 5: No class.

 

F 12/5/14
C

Period 2: No class.

Period 5 HW due:

1. Use the pseudocode given in class on Wednesday to flesh out a working Java version of the Towers of Hanoi.

2. Read this Wikipedia article. The first illustration (the colorful one with Requirements, Design, Implementation, Verification, and Maintenance) is often rendered as Requirements Analysis, Design, Coding, Testing, Documentation, and Maintenance. Documentation and testing can often be swapped or conducted in parallel, at least to a certain degree.

 

M 12/8/14
D

HW due (both periods):

1. Read the “Tweaking for Speed” project on p. 28-7. Execution is optional. (As the author notes, we are rarely concerned with how fast our code runs. Real-time control software is an example of an exception.)

2. On your HW paper, write another example of a situation in which the speed of execution is important.

3. Read Lesson 29.

4. Write problems 1-5 on p. 28-6 and problems 1-9 on pp. 29-4 and 29-5.

 

T 12/9/14
E

Period 2 HW due:

1. Read Lesson 31. (Note: We are skipping Lesson 30 for now.)

2. Write #1-14 all on p. 31-4.

3. Write #1-5 all on p. 31-5.

Period 5: No class.

 

W 12/10/14
F

Period 5 HW due:

1. Read Lesson 31. (Note: We are skipping Lesson 30 for now.)

2. Write #1-14 all on p. 31-4.

3. Write #1-5 all on p. 31-5.

Period 2: This is the “flipped” day. We will have class today, but no additional HW is due today.

 

Th 12/11/14
G

Period 2: No class.

Period 5: No additional HW is due today.

 

F 12/12/14
A

HW due (both periods):

1. Read Lesson 32.

2. Write #1-8 all on p. 32-3.

3. Write #1-4 all on p. 32-4.

 

M 12/15/14
B

Period 2 HW due:

1. Read Lesson 33.

2. Write the exercise (4 problems) on p. 33-3.

3. Write problems 1-6 on pp. 33-4 and 33-5.

Period 5: No class.

 

T 12/16/14
C

Period 2: No class.

Period 5 HW due:

1. Read Lesson 33.

2. Write the exercise (4 problems) on p. 33-3.

3. Write problems 1-6 on pp. 33-4 and 33-5.

 

W 12/17/14
D

Test (100 pts.), on all recent material.

This will be the last major assessment of the quarter. There are a large number of tests scheduled for today, but fortunately, of the 243 students who have tests today, only 5 have a test in one of Mr. Hansen’s classes. Nobody has a double conflict with Mr. Hansen. It originally looked as if no dates would be possible for a test before the new year because of scheduling conflicts, but amazingly, all the stars aligned on 12/17.

 

Th 12/18/14
E

Period 2 HW due: Sleep.

In class: Pairs programming exercise on string shuffler.

Period 5: No class.

 

F 12/19/14
F

Period 5: In-class pairs programming exercise on string shuffler.

Period 2: Jeopardy Bingo.

 

 

Christmas break.

 

 


Return to the CSA Zone

Return to Mr. Hansen’s home page

Return to Mathematics Department home page

Return to St. Albans home page

Last updated: 14 Jan 2015