Home AP Computer Science Animation Using Virtual Worlds Intro Java Programming Concepts  
Current Schedule Favorites Class(room) Policy Computing Club Gunn Girls Tech Club Send Me Email


Programming Concepts

This is what you need to do to set up a computer for this course.

Stuff you need to know for the final

Notes on the list abstraction

Textbook: Simply Scheme, 2nd Edition by Brian Harvey and Matthew Wright. (CH)

Programming Tools: PLT Scheme (DrScheme). The files which go with the book can be found here. (It may take a fair amount of time before for your browser to view this directory of files; once you get through, it may be wise to download all of them.)

Fine Print: The schedule below is subject to change; any updates will be discussed in class and updated here.

Extra credit project

WEEK TOPIC(S) READING
HOMEWORK
8/25--8/28 Showing Off Scheme; Functions Chapters 1 and 2

Download PLT Scheme; 1.1*, 1.2*, 2.1, 2.2, 2.3, 2.4, 2.7 (note that the answer to 2.7 contains more than just basic arithmetic functions)

Purchase a flash drive (you will need this to back up your homework; any size will do for this class)

Save your homework file onto the F drive in the classroom and onto your flash drive; show me that you have done this to get credit for this week's homework

* Optional problem

8/31--9/4 Composition of Functions; Defining Your Own Functions Chapters 3 and 4

3.1 (do the plumbing diagrams by hand, not on the computer), 3.5, 3.6, 3.7, 3.9, 4.1, 4.3, 4.4, 4.5, 4.8 (including the hotshots stuff), 4.10, Boring Quiz

Notes on problem 4.8

9/8--9/11 Words and Sentences Chapter 5 5.1, 5.3, 5.9, 5.12, 5.13, 5.15, 5.16, 5.19, 5.21
9/14--9/18 Boolean Values (True and False), Variables

Chapters 6 and 7

Please make sure to read "Decisions, Decisions, Decisions" on pages 78--80 and "Let" on pages 94--97.

Chapter 5 Quiz

6.1, 6.3, 6.4, 6.7, 6.8, 6.11, 6.14, 7.1--7.4

Problem 6.11 starter kit

Notes on problem 6.14

Notes on problem 7.1

9/21--9/24 Boolean Values (True and False), Variables

Chapters 6 and 7

Please make sure to read "Decisions, Decisions, Decisions" on pages 78--80 and "Let" on pages 94--97.

Finish 6.1, 6.3, 6.4, 6.7, 6.8, 6.11, 6.14, 7.1--7.4

Problem 6.11 starter kit

Notes on problem 6.14

Notes on problem 7.1

Solutions to valid-date? and describe-time problems

9/29--10/2 Higher-Order Functions Chapter 8

HOF summary

Wednesday 10/1: Chapters 1--7 Test

Tuesday: Jeopardy review game

8.1, 8.3, 8.6, 8.7

10/5--10/9 Higher-Order Functions

Chapter 8

HOF summary

Boring quiz

8.8 (do one more exaggeration--make up your own!--not given in the problem), 8.10, 8.13, 8.14

10/12--10/16 Lambda

Chapter 9

Be sure to read pages 134--136. They are helpful in getting a handle on when to use lambda instead of named procedures.

9.1, 9.2, 9.3, 9.4, 9.5

10/19--10/23 Lambda

Chapter 9

Be sure to read pages 134--136. They are helpful in getting a handle on when to use lambda instead of named procedures.

9.8, 9.10, 9.14, 9.15, 9.17 (this is not a short assignment; if you get stuck, PLEASE come and see me for help)

Higher-Order Functions and Intro to Lambda Quiz

accumulate pseudo-quiz
10/26--10/30 Bridge Project Chapter 9

Bridge Project (all functions at the end of Chapter 9)

Bridge hand starter kit

Write a possible chapter 8/9 test problem.

11/2--11/6 Tic-Tac-Toe Project Chapter 10

Bridge hand problem solution

10.1, 10.2, 10.3, 10.5*

11/9--11/13 TBD Chapter 11

Some Tic-Tac-Toe solutions

Monday, November 9: Chapters 8 and 9 Test

TBD

11/16--11/20 Introduction to Recursion; Leap of Faith Chapters 11 and 12 11.1, 11.2, 11.3, 11.5, 11.6, 11.7, 12.2, 12.4, 12.5, 12.7

Extra Credit: 12.12* (this is really the most interesting problem in the chapter, so it is worth extra credit)

Friday: Intro to Recursion Quiz
11/23--11/24 How Recursion Works; Common Patterns in Recursive Procedures Chapters 13 and 14

13.3, 13.4, 13.6, 14.2, 14.6, 14.7, 14.9, 14.10, 14.15

Extra credit project

11/30--12/4 How Recursion Works; Common Patterns in Recursive Procedures Chapters 13 and 14

13.3, 13.4, 13.6, 14.2, 14.6, 14.7, 14.9, 14.10, 14.15

A solution to the expand problem (14.8)

12/7--12/11

Advanced Recursion

Chapter 15

How the decimal to binary algorithm works; Note that while the code part is in C++, the process is in the table and is the big idea here. % is the remainder function in C++.

15.1--15.4; it is OK to use one accumulate in problem 15.2

Scoring Poker Hands Project;

Here are some functions to help get you started.

Here is a solution to the project.

Recursion activity

Extra Credit: 16.2--5, 16.7, 16.9, 16.10, 16.15--16.21 (Chapter 16 stuff is time-consuming; there is a reason it is listed as extra credit and not part of the main homework)

12/14--12/18 Lists Chapter 17

Notes on the list abstraction

Chapters 1--15 Test, Wednesday, December 16

Jeopardy Review

Solution to the toBinary problem (15.1)

17.1, 17.2, 17.3, 17.8--17.12, 17.14

Quiz on list functions

Notes on the list abstraction

Extra Credit: 16.2--5, 16.7, 16.9, 16.10, 16.15--16.21 (Chapter 16 stuff is time-consuming; there is a reason it is listed as extra credit and not part of the main homework)

12/21--12/25 Vacation Sleep Loafing or working on the Mastermind project
12/28--1/1 Vacation Eating, Occasional Getting Up The Energy To Do Something Such As Perhaps Watching TV eXtreme Loafing (please do get some rest)
1/4--1/8

Trees

Input and Output

Extra Credit: Vectors

NOTE: The final will not include chapter 23. Homework and extra credit problems will be accepted up to, but not after Friday, January 15.

 

 

Chapter 18

Chapter 20

 

 

Chapter 23

 

Final Review Jeopardy Game

 

 

Solution to the flatten problem

18.1--4, 18.6

20.1--3, 20.5, 20.9, the number guessing game

Mastermind can be written for substantial extra credit. You will need some of the stuff in Chapter 20 as that is where user input is discussed. Mastermind game due on Friday, January 15. No exceptions.

More extra credit: 23.2, 23.3, 23.14 (complete the abstraction by writing make-matrix, matrix-ref, matrix-size (should return a list of the number of rows and number of columns), and matrix-set!), 23.13, 23.12 (this order of problems is the order in which I would choose to do them).

Even More extra credit: Do the spreadsheet problems: 24.1, 24.2, 24.3, 25.1--25.12

1/11--1/15

Trees

Input and Output

Extra Credit: Vectors

NOTE: The final will not include chapter 23. Homework and extra credit problems will be accepted up to, but not after Friday, January 15.

 

 

Chapter 18

Chapter 20

 

 

Chapter 23

 

Final Review Jeopardy Game

 

 

Solution to problem 18.3, the tree depth problem

Solution to the flatten problem

18.1--4, 18.6

20.1--3, 20.5, 20.9, the number guessing game

Mastermind can be written for substantial extra credit. You will need some of the stuff in Chapter 20 as that is where user input is discussed. Mastermind game due on Friday, January 15. No exceptions.

More extra credit: 23.2, 23.3, 23.14 (complete the abstraction by writing make-matrix, matrix-ref, matrix-size (should return a list of the number of rows and number of columns), and matrix-set!), 23.13, 23.12 (this order of problems is the order in which I would choose to do them).

Even More extra credit: Do the spreadsheet problems: 24.1, 24.2, 24.3, 25.1--25.12

1/19--1/21 Finals: Chapters 1--15, 17, 18 Solution to Mastermind game; Solution to problem 23.14
A Period Final Wednesday, January 20, 8:00am--9:40am

B Period Final Tuesday, January 19, 8:30am--10:10am

Readings are due each Monday.  Homeworks and projects are due AT THE BEGINNING OF CLASS on the following Monday unless it is a holiday. In that case they are due the first class period after the holiday.

Example: Chapters 1 and 2 should be read by Friday, 8/28.  Chapters 3 and 4 should be read and the programming problems for chapters 1 and 2 should be done by Monday, 8/31, so we can move forward promptly. Problems for chapters 3 and 4 are due on Monday, 9/7 as that is the first day of class that week.

Unexcused late homework, projects, quizzes, and tests will be given a score of zero.  If you expect to have problems meeting a deadline, I need to know about it in advance.  Excuses after the fact will be given zero tolerance, barring a note signed by parents.