| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Course Overview
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Office Hours: | Monday | 10:45a - 12:30a | Gates 195 (Will start in B12 after class) |
| Wednesday | 7:30p - 9:30p | Gates 195 (Call 5-5303 if Gates is locked) | |
| ...or by appointment | |||
Teaching Assistant: Yan Liu (Email: yl314@stanford.edu)
Office Hours: Wednesday 10:45a - 1:00p Gates B24A
Thursday 2:15p - 4:00p Gates B24B ...or by appointment
| Staff E-mail: | cs110-staff@cs.stanford.edu |
| Mailing list: | cs110-all@disordat.com; Usage information. |
| News Group: | su.class.cs110 Students in the class may wish to use the class newsgroup to discuss problems/look for partners. However, the staff is not obligated to answer questions from the newsgroup. |
| Lectures: | Monday and Wednesday, 9:30a – 10:45a, Gates b12 |
| Sections: | Sections will be scheduled if necessary |
| Prerequisites: | The official prerequisite for this course is completion of Stanford’s CS 106 program. If you have not completed CS 106B or CS 106X, you should be fairly proficient in a high-level language, such as C. |
| Electronic Access: | All
course handouts, programming project starters, and other course
material are accessible from the course web page at: http://www.stanford.edu/class/cs110/ …or through the “CS Catacombs”. Note: if attendance to lecture starts dropping, I may stop putting lecture notes online. |
| Textbooks: | Microcomputer
Architecture and Programming by John Wakerly (optional) M68000 Programmer’s Reference Manual (provided) |
| Hardware Requirement: | The entire class can be done quite
reasonably using the PalmOS Emulator provided by Palm at http://www.palmos.com/dev.
However, it’s really a lot more fun (and sometimes more
convenient) to do the class on real hardware.
Handspring has been nice enough to allow students of CS 110
to purchase a refurbished Visor Deluxe for $99.
Note: currently the debugger we are using only works over
serial (as opposed to USB) on Macs. Therefore, if you plan on doing development on this device on
the Mac, you also need to get a serial cradle. If you already have a PalmOS device, you’re free to use that for the class, but be sure to back up important data before loading any CS 110 programs onto your device. Note that the assignments for this class will require OS 3.0 or greater. As I said, the debugger we will be using only works over a serial connection (with the exception being the Handspring Visor on a PC) |
| Software Requirement: | The
supported software for this quarter is Metrowerks Codewarrior with
Palm’s SDK 3.5. Codewarrior
is site-licensed to the Stanford community and Palm’s SDK is
free. I am working to
make sure that these tools are present on various campus clusters.
I’ll keep you updated on my status and let you know which
clusters are supported. A future handout will help you obtain and setup the tools on
your own computer. Note: I will not be supporting the GNU toolchain for developing for PalmOS. While this is a great set of tools, getting them to do assembly works very differently with them, and the added support would just be too much. |
| Homework: | The remaining 60% of your grade comes from the programming projects. There will be a total of five labs (including lab #0). Assignments will be graded based on correctness and readability. Homework must be turned in at midnight on the day they are due. Submissions will be electronic. Information will be handed out with the first assignment. You may work with 1 other person on assignments, though this is not required. |
| Late Policy: | In
CS 110 you are given four late days that you can use to turn in
assignments late without being penalized.
Each late day is 24 hours.
You may take more than four late days throughout the
quarter, but you will be penalized 10% for any late days you take
above the four free ones. You
may not turn in any assignment more than a week late. Extensions (additional late days) will not be given except in very special circumstances. The four late days given to you are not designed to be freebies, but instead to be self-granted extensions. Extra late days will not be granted unless you had a good reason to take all of your free late days and you have a good reason for the extra one. |
| Grading: | It is very important to know up front that not everyone passes CS 110. While I do try to stick relatively closely to the standard Stanford grading scale, be aware the just because you were present for the whole class doesn’t mean that you will pass if your grades are not satisfactory. |
There will be an midterm worth 15% of your grade on May 7th, at 9:30 AM in the Meyer Forum Room. It is open book, open notes, closed computer.
The final exam is 8:30 – 11:30 on June 8th, located in room TC SEQ 201. The final is worth 25% of your grade. If you have a conflict with either time, you must let me know at least two weeks prior to the exam.
|
|
Date |
Title |
Reading |
In |
Out |
|
1. |
April 4 |
ch. 4 |
|
|
|
|
|
|
|
|
|
|
|
2. |
April
9 |
data/instruction
representation; basic computer organization |
ch.
5, ex 5.11 |
|
|
|
3. |
April
11 |
more
computer organization; intro to assembly language |
ch.
6.1-6.4 |
|
|
|
|
|
|
|
|
|
|
4. |
April
16 |
ch.
7.1-7.4 |
Lab
#0 |
||
|
5. |
April
18 |
addressing
- flow control |
skim
ch 8 |
|
|
|
|
|
|
|
|
|
|
6. |
April
23 |
flow
control |
|
|
|
|
7. |
April
25 |
flow
control cont; subroutines |
ch.
9.1-9.4 |
Lab
#1 |
Lab
#2 |
|
|
|
|
|
|
|
|
8. |
April
30 |
ch.
3 |
|
||
|
9. |
May
2 |
|
|
|
|
|
|
|
|
|
|
|
|
10. |
May
7 |
In
class MIDTERM (room 200-34) |
|
|
|
|
11. |
May
9 |
ch.
11 |
|
|
|
|
|
|
|
|
|
|
|
12. |
May
14 |
|
Lab
#2 |
||
|
13. |
May
16 |
|
|
|
|
|
|
|
|
|
|
|
|
14. |
May
21 |
ch.
12 |
|
|
|
|
15. |
May
23 |
|
Lab
#3 |
||
|
|
|
|
|
|
|
|
16. |
May
28 |
Memorial
Day – NO CLASS |
|
|
|
|
17. |
May
30 |
|
|
|
|
|
|
|
|
|
|
|
|
18. |
June
4 |
|
|
|
|
|
19. |
June
6 |
Final Review |
|
Lab
#4 |
|
|
|
|
|
|
|
|
|
|
June
8 |
Final
Exam (8:30 – 11:30). Location:
TC SEQ 201 |
|
||