594 Old Announcements
Spring 2005, David Matuszek
I've posted new versions of Piece.java
and Board.java. The only way these
are different is that several methods, when called with an unexpected
If things are not being removed from the display when you "take" them, I am no closer to solving this problem, but you can use Tom's workaround: Whenever you take an object, take an additional step forward; this erases the taken object.
Pizza time! Third Wednesdays from 6-7:15
pm in Levine 307.
|April 19||One more extension--to Thursday--while I check for additional
errors in my BoardGame
I've posted a new version of BoardGame.zip.
The only changes in this version are that I've removed the erroneous
I've also posted a newer version of BoardGame.html,
with brief added descriptions of
|April 14||I've posted the corrections discussed in class.|
I've updated the BoardGame.zip
files to fix a serious error in removing a
I've also added quite a bit more detail to my descriptions of how to handle Threads in Robot, part 3.
|April 12||I've posted one addition to the current assignment.|
|April 5||I'm having some (unexpected) electrical work done at home today, so I may be late for office hours. I will be in as soon as I can.|
|April 4||In two places (the partial grammar rules for the while
and repeat commands) in the interpreter
assignment, I removed extra
|March 31||I've just posted a page of Interpreter Notes.|
|March 30||This just in--Gayle Laakmann wrote a scraper for the Registrar's web site to help discover what classes are offered at what time: http://wren.cis.upenn.edu/GayleStuff/classtimes/|
|March 30||I've just posted a page on Registering for Courses.|
|March 25||Final version of the Interpreter assignment has been posted.|
|March 24||Draft version of the Interpreter assignment has been posted.|
|March 24||[Advertisement] Pat's class, CIS 573, Software Engineering, will definitely be offered this summer. This is a course basically in building corporate-sized software projects using (among other tools) Microsoft's C# and .NET. Most summer courses are horrible because they try to cram a full semester into six weeks, but Pat has managed to get CIS 573 scheduled for twelve weeks (both Summer I and Summer II sessions). Although perhaps less convenient, this schedule will be a lot more pleasant, IMHO.|
|March 23||[Advertisement] I just met with Mark Van Langeveld, who is teaching CIS 561, 3-D Computer Modeling & Animation Applications, this summer (MW 6-9). He's a really nice guy and, contrary to my expectations, Mark will be teaching Maya (a high-end graphics package), not all the scary math that goes on underneath. I think MCIT students will be well-prepared for this course, and it looks like a lot of fun (but very time-consuming). I'm going to try to arrange things so I can sit in on it myself.|
|March 22||Added an example of calling
|March 21||Here's some code that you may find useful in constructing JUnit tests for the Parser.|
|March 21||I've added to the Parser
Assignment example code for building a correctly-shaped Tree to represent
|March 16||Minor correction: The grammar rule for an if statement
was wrong in the Parser examples:
The correct rule (as given in the Recognizer assignment) is:
Pizza time! Third Wednesdays from 6-7:15
pm in Levine 307.
|Midterm grades have been posted on Blackboard.
Raw scores: 46 52 53 56 56 61 63 63 64 65 66 66 69 72
73 73 77 77 78 79 81 82 82 82 83 85 88 90 92 93
By popular request, I've posted a draft of the next assignment.
|March 2||I've told some people that Spring break begins after classes on Thursday. I was wrong--it begins after classes on Friday. See http://www.upenn.edu/almanac/3yearcal.html.|
If you recall, I don't count holidays and breaks when taking off late points. You shouldn't have to work those days. Hence, those days "don't exist" for grading purposes.
Recognizer programs turned in Friday, March 4 through Sunday, March 13, will therefore receive only a 5 point late penalty; and I'll extend that to Monday, March 14. Then it will be the usual: Tuesday, 10 points; Wednesday, 15 points; etc. So if you can't get the program done before break, you will have a little extra time after break.
I'll be available via email during Spring break, but I may not always respond immediately. I will not be in my office. (I too can use a break!)
Have a great (and safe) Spring break!
|February 28||I won't be in my office today, due to the approaching storm. Whether we have class (and office hours) tomorrow depends on whether Penn cancels classes.|
|February 28||I've posted some comments about the current assignment, including links to some sample code.|
|February 22||I've posted a Study Guide for the midterm.|
I do try to answer all the CIT594 questions that people email to me.
However, Penn has been rejecting email that I send from home, and I get no bounce messages to warn me that this has happened. (I have no problem receiving mail.) If you have sent me email and not gotten an answer, this is probably why. My apologies.
To be sure my mail is received, I have to use the slow-as-molasses Webmail, which I find extremely painful. Also, Wednesday through Saturday I will be at a conference, so I will be very slow in answering email (assuming I can do so at all).Please bear with me until I can get this problem resolved.
Comments on the current assignment (Tree API):
You do not have to check for loops when you add a child. (If you have already done so, that's great; leave it in!)
Pizza time! Third Wednesdays from 6-8 pm
in Levine 307.
Last minute suggestions on the current assignment:
|February 15||Email problems: I did answer all mail I received this past Friday, Saturday, and Sunday. I discovered on Monday that nothing addressed to a Penn address was delivered (but nothing bounced, either). The problem has been temporarily fixed. My apologies to everyone who didn't get replies to their questions; this was frustrating for me, too.|
|February 14||On Tuesday, February 15, we will spend a significant amount of class time going over the next assignment (not the current one). The assignment will be posted on this site a day or two later.|
One (small) correction and two (small) clarifications:
The posted assignment has been updated to reflect these changes.
|February 8||The next assignment has been posted.|
|February 8||The midterm exam will be February 24.|
Today's most popular error: Implicit super constructor BinaryTree<Operation>() is undefined. Must explicitly invoke another constructor. Why?
An uncommon but extremely mysterious error: Exception
in thread "main" java.lang.VerifyError: (class: ArithmeticExpressionTest,
method: testPrint signature: ()V) Unable to pop operand off an empty stack.
This means you are using as a parameter to an assert method (probably
I've posted my version of FloodFillApplet.java.
I've also posted, somewhat belatedly, the winner of last semester's programming competition, ShortestTokenCounter.zip, at 994 non-comment tokens. [I did some very minor editing on comments.] Remember, this competition was all about minimizing program size; no compromises were made for clarity or efficiency.
|January 29||Second correction: The constructor given as
public BinaryTree<T>(T value, BinaryTree<T> leftChild, BinaryTree<T> rightChild)should be
public BinaryTree(T value, BinaryTree<T> leftChild, BinaryTree<T> rightChild)because the type of element (
First correction (you knew there would be some!):
|January 28||Reading other people's code is a good way to learn to program. Your current assignment is to create a general-purpose binary tree API, so I wrote a little program (BinaryTreeSort) to use that API. You may find it helpful.|
|January 26||I've posted the slides on the "Three Piles" problem, with corrections and a little expansion.|
|January 20, 2005||
Error in EqualPiles.zip -- please download a fresh copy.
The assignment asks you to sort 5 numbers into 3 piles, but the earlier version of my problem generator insisted on having at least two numbers per pile. That is now fixed.
|January 20, 2005||In case anyone in interested, I've posted my Flood Fill Applet (classes only; I'll post source code later).|
|January 17, 2005||
I've updated Eclipse FAQ to reflect the changes in Eclipse 3.1.
|January 17, 2005||I've just learned that the posted version of SwingExamples.zip might have been corrupted (it's not completely clear). If it works for you, fine; otherwise download a new copy.|
|January 13, 2005||I've updated my SwingExamples.zip
program from last semester to include
|January 13, 2005||For the current assignment, I'm expecting one applet. The user chooses whether to use a recursive or a nonrecursive fill method.|
|January 13, 2005||In case you're having trouble running my sample code in Eclipse, I've added a bit to my Eclipse FAQ page about importing existing code into Eclipse. (Remember to run my program as an applet!)|
|January 9, 2005||
CS Survival Talk
Wed. Jan. 12, 4:30 pm in Heilmeyer Hall
Rosette Pyne, the SEAS representative in Career Services, will give an overview of Career Services, talk about writing resumes, and answer job hunting related questions.