The text is Simply Scheme, 2nd Ed. by Brian Harvey and Matthew Wright, ISBN = 0262082810. Here is a comparison of some online book store prices. There will be a reader this semester -- details announced in lecture.
Simply Scheme is available in the Engineering Library circulation desk (http://www.lib.berkeley.edu/ENGI/reserves.html
CS 3 is graded on a 400 point scale. The point breakdown is as follows:
Homework: 80 pts. (20%) Labs: 40 pts. (10%) Project: 40 pts. (10%) Midterm1: 20 pts. ( 5%) Midterm2: 50 pts. (12.5%) Midterm3: 50 pts. (12.5%) Final: 120 pts. (30%) ------------------------- Total: 400 pts. (100%)The class is not graded on a curve. The grading scale is as follows:
Points Grade 390-400 A+ 370-389 A 360-369 A- 350-359 B+ 330-349 B 320-329 B- 310-319 C+ 270-309 C 250-269 C- 200-249 D 000-199 FI reserve the right to lower the cutoffs for each grade if the grading seems too harsh. I will not, however, raise the cutoffs.
Every week you will have a lab that will allow you to explore the ideas from the lectures yourself. There are ~10 lab assignments that will be done throughout the term. Each lab has four possible checkoff points that can be achieved, for a total of 40 lab points. The labs are very helpful in understanding the material, though, and are especially effective as preparation for the corresponding homework assignment, so it is best to try to complete all of the labs. If you must miss lab one week, or are unable to complete the lab, it is highly recommended that you try to finish it on your own time before attempting the homework assignment.
Labs must be done with a partner. You may not work on the labs by yourself unless you have a special circumstance which you have discussed with the instructor. Otherwise, you can do labs early only if you and your partner are agreed to meet at an earlier time.
The TA's are in charge of the labs, and they will be checking you and your partner off at the end of each lab. The check off is intended to make sure you understood all the ideas from the lab. If you do a problem incorrectly, the TA will help you to figure out the problem, and ask you to fix your solution. Thus, it is hoped that you will get every checkoff point on every lab. There are lab assistants whom the TA's might ask to help with check offs. Both the lab assistants and the TA are there to answer any and all questions you have about the material. Lab is your chance to get personal attention and assistance in understanding the ideas of the class.
Each week you will also have a homework assignment which is designed to help you master the material from that week. Each homework assignment is intended to be completed after the lab for that week has been completed.
The first two homework assignments are individual assignments and are intended to make sure you're keeping up with the class. Beginning with the third homework assignment, though, all homeworks must be done with a partner unless you have an arrangement with the instructor. From that point on, homeworks will be tougher, requiring you to think about the design of solutions to more complex programming problems.
Homeworks are graded for correctness, so you should test all of the programs that you write thorougly to be sure they work in all cases. When you turn in your homework, you must turn in not only a printout of the code that you write, but also a transcript of tests of your functions which show that you've called them with a range of arguments and have gotten consistently correct behavior. Write your name and lab time on the top of the assignment. For partnership assignments, be sure to write both partners' names and lab time.
Homeworks are graded face to face, meaning that you and the reader discuss the homework after you turn it in, and correct any problems or misunderstandings that you have. You must hand your homework into the box the friday before your labs. You must bring a disk with a file containing the final version of your solutions to the grading session. If you have any problems about the grading of an assignment, discuss it with the instructor.
Projects will contain the largest programs you must write in CS 3. It will require you to use all the knowledge you have gained in the class up to that point to complete it.
There will be three midterms and one final exam. The midterms will be roughly spaced evenly throughout the term. The first exam will be a 1-hour exam given during class. The remaining two exams will also be 1-hour exams, but you will be given three hours to finish and they will be administered during the evening. The final exam will be from 12:30-3:30pm on Friday, December 14th in a location TBA (exam group 8). All exams are open book, open note, open microfiche machine. They are not, however, open computer. The exams are not intended to be speed tests, so you should not have to rush to complete all the problems to your satisfaction.