Home
Teaching
 
U211 F '07
General
Texts
Syllabus
Readings
Assignments
Communication
Blog
Labs
Office Hours
Advice
Contract
DrScheme

Blog

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

Here is the code from several of the previous lectures: lec20.ss lec22.ss lec23.ss lec24.ss lec25.ss lec26.ss lec27.ss lec28.ss lec29.ss lec30.ss lec31.ss.

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

Here is code from several recent lectures: lec07.ss lec08.txt lec09.ss lec10.ss lec11.scm lec12.ss lec13.ss

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.

last updated on Tue Nov 27 17:49:03 EST 2007generated with PLT Scheme