| Important Messages from the Instructors
Tuesday, November 27th, 2007
Homework 10 due-date extended
Because of a medical emergency, not all the homework 9's were returned
to students in a timely manner. So we are granting an extension on
the homework — it is now due Wednesday 11/28 6:00 pm.
Monday, November 19th, 2007
Assignment Set 10 extension, No more Labs
The due date for Assignment 10 has been extended until 6pm Monday,
November 26.
There will be no further labs for the rest of the semester.
Good luck on exam 2 and enjoy your break.
Saturday, November 17th, 2007
Friday, November 16th, 2007
Exam 2 Room
The second exam will be held in 200 RI (Richards Hall), 6pm-9pm
Monday, November 19.
Thursday, November 15th, 2007
Homework 10
Homework 10 is available on the web pages. Note the due date.
Thursday, November 15th, 2007
Lab X: Meta-circular evaluator
Code from the first Lab X session is available here: eval.scm.
Thursday, November 15th, 2007
KMcG Reloaded
Ken McGrady has agreed to return to the Living Learning Center
at 20 Stetson East on Sunday for another round of tutoring; see
the notices posted all over WVH for specific time & location.
Ken regrets that he will not be able to stay past the tutoring period
to sign autographs and chat with the students.
He has also requested that students try not to bother his bodyguards;
they are serious professionals doing a difficult job.
Thank you.
Olin
Thursday, November 15th, 2007
Exams posted
We have posted some of the
old 211 exams
on the course web site.
Unfortunately, Fall 2007 exam 2 is not among them.
Good luck on Monday.
Olin
Thursday, November 15th, 2007
Jana Yamani joins the 211 staff
Just in time for the pre-exam crunch, we've hired Jana Yamani
as an extra tutor. Her office hours are Thu 6-8. Students who
need extra tutoring should take advantage of this extra resource.
Olin
Wednesday, November 14th, 2007
Including old code in homework 9
If you need to reference old, fixed-up code in your homework, just enclose
the old, bogus code in comments. Be sure to clearly delineate it
as such, so you don't get marked off twice!
Tuesday, November 13th, 2007
X marks the spot
Lab X meets Thursdays 2:45-4:15, in WVH 164.
The first lab is this Thursday: 11/15.
The password is:
(λ (F) ((λ (G) (λ (x) ((F (G G)) x)))
(λ (G) (λ (x) ((F (G G)) x)))))
Olin
Sunday, November 11th, 2007
The 211 guide to dating
Several students, currently working hard on homework 9,
have written to point out that November 14 is Wednesday.
That is correct. November 14 is Wednesday.
Olin
Friday, November 9th, 2007
Homework 9
Homework 9 is available on the web pages. Note the due date.
Have a good Veteran's day.
Olin
Wednesday, November 7th, 2007
Block head
I had a student come to me with an interesting problem on his Tetris game. His
tetras were falling down under gravity, as they should, and they would stop at
the bottom of the board, as they should. But when they stopped, they wouldn't
be grid aligned -- they would fall about half a square too far. The bottom row
of the piece would lay with its upper half visible at the bottom of the board,
and its lower half hanging below the board, out of sight.
Why?
The answer has something to do with thinking carefully about exactly what
your data describes.
Suppose I describe a block with a structure:
;;; A Block is (make-block Number Number Symbol)
;;; where the numbers are its location, in "computer graphics" coordinates
;;; and the symbol is the color of the block.
(define-struct block (x y color)
Notice that we have thought somewhat carefully about what our data means,
because we went to the trouble of spelling out that the coordinates
are in "computer graphics" coordinates, where the y-axis runs from
the top of the screen downwards, so we know a y-coordinate of 0
means the top of the board, not the bottom.
Are we done? No. Here's the problem: a block isn't a single point.
It's a 10x10 square block of pixels on the screen. But we are
describing it, in our data definition,
it with a single x/y coordinate pair.
So, what is the mapping from that single coordinate to the location of the block?
For example, if I tell you that a block is at (20,60), where is the block?
Is its center at (20,60)? Is its upper-left corner
at (20,60)? Or maybe its lower-right corner. Or maybe some other
fixed spot in the block?
It doesn't matter what convention you choose. But you have to choose one
and write it down in your data definition.
If you don't pin it down precisely, then you'll use one interpretation
in one part of your code, and a different one in some other part of
your code, and things will break.
So we want a data definition like this:
;;; A Block is (make-block Number Number Symbol)
;;; where the numbers are its location, in "computer graphics" coordinates
;;; and the symbol is the color of the block. The (x,y) coordinates give the
;;; location of the block's lower/left corner.
(define-struct block (x y color)
Now we're all set.
We can write the code that renders blocks as images and do it right.
We can write our collision-detection code and do it right, too.
The moral of the story is this:
you have to think carefully about what your data means.
When you have sloppy assumptions about the interpretation of your data,
bugs will inevitably creep into your code.
Good luck with the game coding.
Olin
Friday, October 26th, 2007
The new homework assignment has been posted.
Monday, October 22nd, 2007
Julianne Emmon's office hours
Julianne Emmons's office hours Tuesday 9/23 (only) will be 9-10 am.
Wednesday, October 17th, 2007
Julianne Emmon's office hours
Julianne Emmons's office hours today (only) will be 10-11 am.
Monday, October 15th, 2007
Here is the code from today's lecture—save it to
your computer and open in DrScheme: lec18.ss.
Sunday, October 14th, 2007
Exam details
The exam is open book, open notes.
What this means: we don't test your ability to memorise.
We test your ability to think, problem solve and program.
The exam, however, is not "open network" — the only
computational device you may employ is your brain.
No notebook computers, blackberries, iPhones, PDAs, wristwatch TVs, holodecks.
You may not bring your mother.
So if you have notes on your computer that you want to bring to
the exam, print them out on paper.
Friday, October 12th, 2007
Living / Learning / Schemeing
Ken McGrady (yes, the Ken McGrady) will be available for
tutoring in the Living Learning Center at 20 Stetson East at 7:00 PM on
Sunday.
The Design Recipe: Learn it. Live it. Love it.
See you on Monday...
Thursday, October 11th, 2007
Here is the code from Wednesday and today's lecture—save it to
your computer and open in DrScheme: lec16.ss lec17.ss
Thursday, October 11th, 2007
The midterm exam will be held on Monday in SN108 (Snell Engineering
Center) from 6pm - 9pm.
Wednesday, October 10th, 2007
Did you leave a pair of keys in class this morning?
Describe them to Diane Keys (no pun intended) in the main office (WVH202),
and she'll give them to you.
Wednesday, October 10th, 2007
We have posted
old exams
from previous years.
You may wish to read over them to get a sense for the upcoming exam.
Tuesday, October 9th, 2007
Friday, September 28th, 2007
Many students have questions about the get-your-tutors-signature component
of the current problem set.
- How do I find out which tutor grades my homework?
You look up your lab section on the course web pages. Your homework is
graded by the tutors who are the lab assistants for that section. If your
lab section has two such assistants, for the purposes of problem set 4,
either one will do.
- How can I get that tutor's signature if that tutor isn't having office
hours between now and Monday?
Send your tutor email. Tutors may elect to have an extra hour sometime on
Monday before 6:00 where they'll be available for signatures.
For example,
Julianne Emmons has arranged to be in first-floor lab in WVH Monday 4-4:30;
if she is your grading tutor, then you simply go there on Monday and collect
your signature.
If you have another tutor, keep an eye on this blog. If tutors arrange
extra meeting times, they'll be posted here.
- How do I hand in my signature?
You hand in your signatures on paper.
Everything else must be handed in via the homework server.
Monday, September 24th, 2007
Here is the code from today's lecture—save it to your computer
and open in DrScheme:
lec09.ss
Monday, September 24th, 2007
People have asked us how a mouse click can be turned into a direction
for the ball-animation problem in problem-set 3. Here is some help.
Divide the screen into 4 areas:
\ /
\ 1 /
\ /
4 / \ 2
/ 3 \
/ \
Then we want to set the velocity of the ball depending upon the area
in which the mouse is clicked:
- 1: Up
- 2: Right
- 3: Down
- 4: Left
(If the mouse is clicked exactly on one of the two diagonal
dividing lines, then the click should be ignored; we don't have enough
information to pick a direction.)
If we put (0,0) at the center of the above diagram, then the areas are
defined this way:
- 1: y > -x and y > x
- 2: y > -x and y < x
- 3: y < -x and y > x
- 4: y < -x and y < x
- 5: x=y or x=-y
Region 5 is the two lines that divide the other 4 regions.
Monday, September 17th, 2007
This is the final list.
The following people have been moved into Lab 5, which meets in
WVH212 from 5:15 to 6:55pm (numbers on the left indicate which lab you
are being moved out of):
-
- Etre, Matthew
- Blanchette, Jeffrey
- Foss, David
- Frawley, Robert
- Katsevman, George
- Martinez, James
- Rahhal, Ghadeer
- Rhistina, Revilla
-
- Cheetam, Kevin
- Huh, Daniel
- Knight, Jennifer
- Kelley, Stephen
- Leahy, David
- Lee, Alex
- Strano, Christian
-
- Denicolo, Joseph
- Desmarais, Matthew
- Foss, Jamie
- Hagerman, Jeremy
- Pelland, Matthew
- McVay Scott
- Foss, Jamie
- Montouro, Joseph
-
- Crowell, Brett
- D'Amico, Stefano
- Forbes, Joseph
- Hunt, Andrew
- Evans, Erin
- Roach, Andrew
- Flagg, Rachel
- Xie, Melissa
If your name does not appear in this list, then you should attend your
regularly scheduled lab. If your name does appear, you should attend
Lab 5 for the remainder of the semester.
Monday, September 17th, 2007
Here is the code from today's lecture—save it to your computer
and open in DrScheme:
lec06.ss
Thursday, September 13th, 2007
Here is the code from today's lecture—save it to your computer
and open in DrScheme:
Wednesday, September 12th, 2007
Shaved, sterilized, and destroyed: You have until the end of the day
tomorrow to get in your signed contract to one of the graduate TAs.
After that, until you get your contract in, you do not exist in this
class (and will get zeroes on all graded material in the meantime).
Wednesday, September 12th, 2007
Here is the code from today's lecture—save it to your computer
and open in DrScheme:
Wednesday, September 12th, 2007
This is your last chance to opt-out or opt-in to Lab 5. If you have
not sent email to the instructors by midnight tonight, you are
eligible to be moved into Lab 5; no excuses.
Tuesday, September 11th, 2007
This is a revised list.
The following 30 people have been moved into Lab 5, which meets in
WVH212 from 5:15 to 6:55pm (numbers on the left indicate which lab you
are being moved out of):
-
- Etre, Matthew
- Blanchette, Jeffrey
- Foss, David
- Frawley, Robert
- Katsevman, George
- Martinez, James
- Rahhal, Ghadeer
-
- Cheetam, Kevin
- Hanley, Paul
- Knight, Jennifer
- Mahlmeister, Nathan
- Monico, Kyle
- Serge, Badaev
- Strano, Christian
-
- Gambrell, Robert
- Desmarais, Matthew
- Foss, Jamie
- Hagerman, Jeremy
- Pelland, Matthew
- McVay Scott
- Terry, Tyler
- Montouro, Joseph
-
- Corson, Tucker
- D'Amico, Stefano
- Forbes, Joseph
- Hunt, Andrew
- Mackenzie, Jackson
- Roach, Andrew
Bostwick, Daniel
- Xie, Melissa
If your name does not appear in this list, then you should attend your
regularly scheduled lab. If your name does appear, you should attend
Lab 5 for the remainder of the semester.
Monday, September 10th, 2007
The following 30 people have been moved into Lab 5, which meets in
WVH212 from 5:15 to 6:55pm (numbers on the left indicate which lab you
are being moved out of):
-
- Afzal, Shakeib
- Blanchette, Jeffrey
- Foss, David
- Gregoire, Philip
- Katsevman, George
- Martinez, James
- Rahhal, Ghadeer
-
- Cheetam, Kevin
- Hanley, Paul
- Knight, Jennifer
- Mahlmeister, Nathan
- Monico, Kyle
- Rosmarin, Lee
- Strano, Christian
-
- Alfonso, Gregory
- Denicolo, Joseph
- Foss, Jamie
- Hert, Jeremy
- Pelland, Matthew
- Saroufim, John
- Terry, Tyler
- Tewfik, Daniel
-
- Corson, Tucker
- D'Amico, Stefano
- Forbes, Joseph
- Hunt, Andrew
- Mackenzie, Jackson
- Roach, Andrew
- Treese, Caitlyn
- Xie, Melissa
If your name does not appear in this list, then you should attend your
regularly scheduled lab. If your name does appear, you should attend
Lab 5 for the remainder of the semester.
Wednesday, September 5th, 2007
Welcome to the Fall 2007 edition of CSU211 from me and my co-instructor, David
Van Horn, who is visiting Northeastern University's Programming
Research Lab from Brandeis University this year.
|