Computer Science 212

Programming Practicum

Spring 2008

Administration

Compiler Project

GBA Project

Course Info

Assignments

Assignments

Staff & Office Hours

SaM

Setup Notes

CMS

Bali

C++

Notes & Examples

Java

GBA Tutorial

Lecture Notes

Section Notes

Announcements

Date

Topic

Announcement

Apr 30

Project

For Compiler and GBA: The due-date for the project is Friday, May 2, but we won’t count it as late as long as it’s submitted by Tuesday, May 6, at noon.

Apr 23

Lecture

Correction: The lecture for Wednesday, April 23, had been canceled. In the earlier announcement the date was incorrectly listed as April 30. The April 30 lecture is not canceled.

Apr 22

Compiler Project

A correction has been made to the Part 4 Grammar. It makes the rules for working with “.” (as in linkedList.next()) more natural.

Apr 18

Project

The final part of the project (Part 4) is due Saturday, May 3, at 11:59pm

Apr 18

Compiler Project

The Bali Grammar for Part 4 has been posted. Some changes have also been made to the "complete" specifications for Bali.

Apr 18

Lecture

The lecture for Wednesday, April 23, has been canceled. Use the time to work on your project.

Apr 16

GBA
Part 4

Instructions for the Part 4 Design Document have been posted.  The Part 4 Design Document is due Sunday, April 20, at 11:59PM.

Apr 10

Office Hours

Paul Chew's office hours on Friday, April 11, have been cancelled.

Apr 9

GBA

In preparation for GBA Part 4, we need to know (by Sunday, April 13) what game you are planning to implement. This document describes some of the possible choices.

Apr 9

Part 3

The deadline for Part 3 has been extended.  For both the Compiler and the GBA projects, Part 3 code is now due Sunday, April 13, at  noon.

Mar 31

Compiler 
Part 3

A correction has been made to the Part 3 Grammar and to the "Complete" Grammar so that declarations of the form
{ my foo = 3; } are legal.

Mar 26

Compiler 
Part 3 
Design Document

Some guidance on topics that should appear in the Design Document:

  • Symbol Table / Namespace / Scoping

  • Bali Types

  • Your AST

  • Bali Functions

  • Other topics, if explanation is needed

Mar 18

Part 3
GBA

The GBA assignment write-up is now available.  Remember to submit your Design Document by Thursday, Mar 27.

Mar 14

Part 3

  • Compiler: The grammar has been posted and is available on the Assignments page.

  • GBA: The assignment write-up is not yet available, but should be online soon.

Mar 14

Part 3 
Design Document

For both Compiler and GBA, you are to submit a Part 3 Design Document by Thursday, Mar 27. A description of what goes into such a Design Document appears in the Mar 12 lecture.

Mar 3

Compiler 
Part 2 
[Bonus Work]

Minor revisions have been made to the file MultipleBaliException.java so that it works more easily with AMS [this file is only used if you're doing Bonus Work]. The method getError has been added.

Feb 29

Compiler
Part 2

Minor revisions have been made to the grammar for Part 2. (It really is Part 2 even though the both the original and revised grammar say "Part 1".)

Feb 29

Special Section Meeting

Monday, March 3, there will be a combination help-with-project/pizza session in place of both the GBA and Compiler 12:20 sections.  The pizza and the project help will be in Olin 245 (the regular meeting room for the 12:20 compiler section) from 12:20 until 2:10. Get started on Part 2 and bring questions --- both Compiler and GBA questions.
[Pizza and drinks courtesy of Google.]

Feb 29

Project 
Part 2

For both Compiler and GBA it is important that you start early on the project. If you wait until the last few days then you are unlikely to finish.

Feb 29

Compiler 
Part 2

AMS (Assignment Management System) is a tool you must use to submit Part 2B. Here is an outline of the necessary steps

  • Download part2ams.jar from here or from Part 2 of CMS. 

  • Double-click on part2ams.jar. This should open a Java window. 

  • Click on "New Assignment..." to add your project files to an assignment. The remaining steps should be straightforward.

AMS will ask if it needs your help to find the tools.jar file that you are using (if you can compile Java code then you're using a tools.jar file). It should be in your JDK installation. For instance, mine is in C:\Program Files\Java\jdk1.6.0_02\lib.

Feb 25

Part 1 Regrade Requests

Regrade requests for Part 1 (both Compiler and GBA) can be submitted via CMS until 11:59PM, Wednesday, Feb 27.

Feb 25

Section

The Monday evening GBA section has been shut down due to insufficient interest. If you were assigned to this section, please find a different section. If your schedule is such that you cannot attend a different section, please contact the instructor or one of the TAs.

Feb 19

GBA Part 2

GBA Project Part 2 has been posted. The GBA Assignments page has a link to a .zip file containing the C++ code that you'll need for the assignment. Just as for the Compiler Project, it is due on Sunday, March 9, and it is important that you start early.

Feb 15

Compiler Part 2

Compiler Project Part 2 has been posted. It is due on Sunday, March 9, but it is important that you start early. There is a substantial amount of code to produce; if you wait until the last few days, it is unlikely that you will be able to finish.

Feb 5

Sections

The permanent meeting place for each section has been determined. All GBA sections are meeting in 401 Hollister. See the Staff & Office Hours page for section times and places and a list of which TAs are covering which sections.

Feb 4

GBA Part 1

Chuck Sakoda has provided a Demo program that can be used to test whether you have correctly setup your development environment. Please refer to the README for build instructions, and forward any questions to the GBA TAs.

If you are having trouble getting your development environment setup, contact a TA as soon as possible, it is crucial that you get your compiler appropriately setup.

Feb 4

Sections

You can attend any section that you want. At each section time there is a GBA section and a Compiler section. You can also switch section times if you wish.

Feb 4

Sections

Starting today, each section is being split into two: one Compiler section and one GBA section. For today, the GBA sections will meet in Upson 315. The room is going to change as soon as the Registrar assigns us a permanent meeting place for the GBA sections. The Compiler sections will continue to meet in the rooms originally assigned to each section. See the Staff & Office Hours page for section times and places and a list of which TAs are covering which sections.

Feb 1

Newsgroups

This course has several newsgroups that are monitored by the course staff.

  • cornell.class.cs212.compiler (questions and discussion of the compiler project)

  • cornell.class.cs212.gba (questions and discussion of the gba project)

  • cornell.class.cs212.talk (general discussion of the course)

Using a newsgroup is likely to be the quickest way to get a question answered. Please don't post homework solutions or partial solutions. Look here for general information about using newsgroups and setting up a news reader. There are lots of available news readers; CIT recommends Thunderbird which does both email and newsgroups. You may want to check if whatever you are using for email can handle newsgroups as well.

Jan 31

Project

Compiler Part 1 and GBA Part 1 have both been posted (see the Assignments link, above).  Both are due Friday, Feb 8, at 11:59pm. Choose either one of the assignments --- you don't have to do both. Start early; both assignments require you to download some software in order to do the assignment.

Jan 31

Sections

Each section is being split in two: one Compiler Section and one GBA Section. We are in the process of acquiring rooms for the additional sections. An announcement will appear here as soon as we have the rooms.

Jan 28

Project Preference

The Survey feature of CMS appears to be broken.  A hard-copy survey on project preference will be distributed during Wednesday's lecture.

Jan 25

Sections

Sections will not be meeting during the first week.  The first lecture takes place on Wednesday, January 23, at 3:35 in Phillips 203.