Home
Teaching
 
670 S '04
General
Texts
Syllabus
Communications
Blog
Journal
Lectures
Projects

Blog

Friday, November 21st, 2008


Reminder:Tomorrow is "aspect day", which means no class. Instead, you are to attend (at least) two of the presentations in Dodge Hall 450, between 1 and 5pm. For details, see below. The homework is due this coming Thursday (@ 12/noon), so get started today.

Friday, November 21st, 2008


Over the last ten years, a new promising technology has emerged in academia that industry is embracing quickly. The new technology, dubbed "aspects", was co-invented at Northeastern and has a tremendous following in the northeast corridor. Northeastern is jointly organizing a workshop with Brown to show case this technology. Please attend two presentations on March 8 instead of class; your homework for this week is to write a memo to your boss on the two talks, outlining the two ideas and writing a brief evaluation paragraph. Specifics will appear on the homework page soon.

Brown-Northeastern Aspects Day

Tuesday, March 8, 2005
Northeastern University, Boston, MA
12-5pm

We invite you to participate in a free symposium on aspect-oriented software development. Our speakers are

Kevin Sullivan, University of Virginia
Mario Sudholt, INRIA and Ecole des Mines de Nantes
Daniel Jackson, MIT
Robert Filman, NASA Ames Research Center

They are authorities on various facets of this exciting topic; some will promote it, while others will represent skeptical viewpoints. We expect a lively, informative, and even provocative day.

I have signed you up collectively. If you have time, I urge you to attend all talks. It is rare to encounter such a strong collection of speakers from all over the world in a private workshop for free.

Friday, November 21st, 2008


The Final Code Walk

Final submission: The code that you submit on Friday at 5:00pm is the code that you will present in your final code walk. You will present it on either a lab-style Windows computer or a lab-style Solaris (Unix) computer. To ensure that you can present and run your code, you must

  • CC Alex on your final submission (see Web page for email address)
  • Specify in your email on which machine you want to present and run your code
  • Plead your case with Alex to install software other than the one on the lab machines. If you really need such software, you should meet with Alex as soon as you can do prepare this installation.

Final presentation: Over the weekend you should prepare your final presentation of your entire project. The presentations will proceed as follows:

  • You will demo your game. You will run your server; I will connect my players to your server.
  • You will give an overview of the project's goals, the software organization that you chose, the data representations, and how the pieces interact with each other.
  • During the Q&A period, we will ask you specific questions about (i) the proxy architecture of your project and (ii) anything else that we might become interested in.
So come prepared to explain every aspect of the project.

Friday, November 21st, 2008


Please take a look at the revised scoring policy for incomplete abbeys at the end of the game in the Carcassonne description. We will give you full credit for either policy but for future reference (and planning) you should take the revised version into account.

Friday, November 21st, 2008


Sam TH and I will hold office hours on a by-appointment basis. Also, if you need to see us spontaneously, check whether we are in the lab. If we are around and have time, we are happy to discuss course matters with you.

Friday, November 21st, 2008


As announced in class today, you must find a new partner by the end of the week. You and your new partner must choose one of the two code bases that you worked on as the new code base.

Action Item: You must let Sam know via email by Friday midnight who your new partner is and which code base you will use from here on out. Failure to do so will cost you 10 points on the next assignment.

Friday, November 21st, 2008


The grading rubric for Project 4:

Task 1: Here are the minimal answers:


  (define admin<%> (interface () ))
  ;; because the admin doesn't have external 
  ;; stimuli for this task!

  (define player<%>
    (interface ()
      take-turn ;; turn<%> -> Void
      ;; it's the player's turn

      score-and-token ;; Number Number -> Void
      ;; the player has scored a point 
      ;; and receives some of the tokens back
      ))

  (define turn<%>
    (interface ()
      potential-locations-for-tile ;; -> Listof[tile<%>]
      ;; given an index for a potential tile,
      ;;  compute a list of tiles
      ;; that could be placed into the graph

      place-tile ;; tile<%> -> Void
      ;; _this_ turn places the given tile into the graph

      potential-locations-for-followers
	;; -> Listof[(list tile<%> Position)]

      ;; compute the potential tile locations
      ;; and positions on these tiles
      ;; in _this_ graph where a follower could be placed

      place-follower ;; tile<%> Position -> Void
      ;; this turn places the player's follower on t at p
      ))


If they deliver less, take off points in proportion. If they deliver more, take off points in proportion, unless they justify the extra entry points really well.

Task 2: The only modification I could think of is this one:


  (define admin-graph<%>
    (interface ()
      ...
      abbey-regions 
      ;; -> Listof[(list Follower Number)]
      ;; compute who gets how many points 
      ;; for incomplete abbey regions
      ))


More and less is punished as above.

Task 3: The 28 points are already distributed over the interfaces. 0 means they should recognize that the graph must implement _both_ interfaces.
  • subtract 9 points if the code doesn't compile
  • otherwise subtract points for (1) missing methods that are specified in the interface
  • for (2) badly implemented methods: missing purpose statement included
  • high-light but don't subtract points for missing tests for public methods

Task 4: If they describe the idea of "place and investigate for strategy" [i.e., backtracking] they get 3 points; otherwise 0.

Friday, November 21st, 2008


Copies of the sign-up sheets are posted at the glass walls of WVH 308. More directions on the code walk to appear here soon.

Friday, November 21st, 2008


Until further notice, please email the tar bundles for projects on the due date and before the due time to Sam T-H. with 670 as the starting word in the subject line.

Friday, November 21st, 2008


People have raised two questions concerning the submission of project 2:
  1. Can we use zip files instead of tar files? The answer is "no", you really need to turn in tar files.

    In general, it is terribly important for you to get to know a range of technologies---things I can't teach and your boss won't teach you but everyone will want you to know. Creating a tar bundle is one such thing. A rudimentary understanding of cvs (a version control system) is another one. Reading a newsgroup on a regular basis falls into the same category. See the homepage for a motivation.

  2. What are we to do about the diagrams? You may either use plain text diagrams (aka ASCII art) or you can use the tool of your choice and generate a jpeg file. I haven't encountered any tool yet that doesn't output some graphics file format and finding a filter from that format to jpeg is usually a matter of googling.

Friday, November 21st, 2008


He is dead serious and so am I:
From: 	  samth0@gmail.com
Subject:  Homework submission
Date: 	  January 20, 2005 7:13:59 PM EST
To: 	  matthias@ccs.neu.edu
Reply-To: samth@ccs.neu.edu

Can you post to the blog that anyone who submits
assignment 3 without the word 670 in the subject
line will not have their assignment graded?

Thanks,
-- 
sam th
samth@ccs.neu.edu
He is just horribly wrong about the use of "their". Not graded means 0.

Friday, November 21st, 2008


Welcome to the 670 Blog site for Spring '05. The staff will post important messages here, concerning lectures, projects, presentations, and so on. Make a habit of reading the blog on a daily basis.

last updated on Tue Jun 9 22:03:19 EDT 2009generated with PLT Scheme