6.1.1
Blog
Design problem survey
Wed Apr 15 21:08:23 EST 2015
As we mentioned in class today (or will mention tomorrow),
a colleague of ours teaches Fundies at another school, and is conducting a survey to see which of several solutions you prefer to a small selection of programming problems.
Each problem is described, and solutions are given. You are just asked to rank each of the solutions to each problem, and explain
why you prefer the solutions you chose over the others. If you are interested in completing this survey, the files can be found
here, and you can submit your answers via WebCAT as a plain text file.
This survey is entirely optional, and will have absolutely no bearing on your grade for the course, but we would
appreciate it if you did choose to participate.Honors make-up lecture
Mon Apr 13 16:32:45 EST 2015
We we hold our final makeup lecture for the honors section
next Monday (Patriots’ day) at our usual 11:45 time, in the lab (210 WVH).
Lab 11 is fixed!
Mon Apr 6 20:01:00 EST 2015
Mere moments after lab completed tonight, I was able to repair the lab in time for tomorrow.
So, honors students, you are welcome to come to lab tomorrow and work through it yourselves,
or you can do it next week (Monday or Tuesday, if you have a Logic&Comp midterm) instead.
Homework 9 is posted
Sat Mar 28 14:05:32 EST 2015
Homework 9 is now posted. The honors supplement will be posted soon.
Note the due date is the day before the next midterm — I strongly recommend you start early!
Second midterm
Sat Mar 28 14:05:32 EST 2015
The second midterm will be Thursday, April 9th, 6–9pm, in the same
rooms as the first midterm was. (If the room assignments change unexpectedly, I’ll update the blog accordingly.)
Homework 8 (honors): update 2
Thu Mar 26 22:06:14 EST 2015
I am cancelling the Tries problem as a required submission
for homework 8; you will only have to submit the first TreeDicts problem. If you are curious about the tries problem, however,
we can discuss it a bit further in class on Monday.
Homework 8 (honors): update
Wed Mar 25 22:34:45 EST 2015
Writing automated tests for the Tries problem
is challenging, given the way the problem is worded. I will enable submissions for the first honors problem tonight;
I will update the wording of the Tries problem tomorrow, and will extend the due date for that problem alone until Saturday.
Apologies for the confusion; I’ll explain this more in class tomorrow.
Homework 8 Buddy Lists: update
Wed Mar 25 22:11:48 EST 2015
I’ve updated the wording of the BuddyList problem
to indicate explicitly that for partyCount, the party organizer should be counted as attending the party. Configuring WebCAT
to accept both kinds of answers unambiguously was not feasible.
Homework 8 (regular) is available on WebCAT
Wed Mar 25 20:40:23 EST 2015
I’ve created
submissions for the regular problems on Hw8. There may be some minor problems with the WebCAT reference tests; if you encounter them,
email me directly — don’t bother with Piazza, as I won’t be checking that as frequently.
The submissions for the honors problems will be available a little later, and I’m still tweaking the reference tests for them.
Checking for exceptions when passing null as arguments
Tue Mar 24 20:03:50 EST 2015
On the latest homework, you might be inclined to test that your Node constructors properly throw
an exception when given a null argument. To do that, you might want to use t.checkConstructorException.
Unfortunately if you do that, the tester library itself will give you a NullPointerException.
The workaround for this is simple, but subtle. The tester library has to inspect each of the arguments you pass
it to find out their types, so it can determine which constructor to invoke. If you pass it a null value,
it cannot find out their types. The solution is to not let the tester library see the null values:
class ExamplesNode { |
ANode<String> constructNullNode() { |
return new Node<String>(null, null, "Oops"); |
} |
void testConstructNullNode(Tester t) { |
t.checkException(new InvalidArgumentException(), this, "constructNullNode"); |
} |
} |
Because there are no arguments for constructNullNode, there are no null arguments for the tester
library to get tripped up over, so it can successfully call constructNullNode, and successfully observe that it
successfully fails with the intended error.
WebCAT outage should now be fully fixed
Thur Mar 19 11:33:40 EST 2015
WebCAT should be working again.
WebCAT outage not-quite-fixed
Thur Mar 19 10:33:40 EST 2015
Students who are submitting homeworks right now are getting errors when WebCAT tries to build
their homeworks. We’re aware of the problem; we’ll fix it shortly. In the meantime, please do not keep endlessly re-submitting homeworks; it’ll just overwhelm the server again.
WebCAT outage fixed
Thur Mar 19 10:06:40 EST 2015
WebCAT crashed last night around 11:05pm, leading to some students
being unable to submit their homework. Additionally, there may be some database corruption, and so some submissions right near that
time may have been lost. Submissions have been extended until 5:00pm today. Everyone should
double-check that their homework is properly submitted, and (re-)submit if necessary.
Moving office hours today
Thur Mar 5 8:04:10 EST 2015
Prof Lerner’s office hours are moved today to 10:30AM.
Naming error on Hw6, problem 1
Tues Mar 3 8:34:15 EST 2015
I forgot that problem 1 on the homework
asks you to submit both the generic and the non-generic files in one .zip submission. As a result, WebCAT
will be unhappy if your code contains two classes with the same name, such as the generic and non-generic implementations
of the string comparators. So I have revised the assignment slightly, to specify new names for the generic
versions of the comparators. Please take a look there, if you find yourself with an annoying WebCAT error about
duplicate names.
Subtleties with generics
Wed Feb 25 19:29:32 EST 2015
In class today someone asked a fairly tricky question
about implementing specific-purpose methods on generic types. The example given was, if we have an
IList<Integer>,
how could we implement a method
sum() that adds them all up? We didn’t have enough time in class today to answer that well, so
I’ve added a section in the
Lecture 15 notes to address this question more fully. Note that this isn’t the
final answer
on this question; we’ll see another approach tomorrow.
Fishy images
Wed Feb 18 10:37:52 EST 2015
One of the characteristics of the original Fishy game that you’re implementing is that fish come in different sizes.
If you’re drawing fish by using a FromFileImage object, you’ll be stuck at the exact image size of the source file.
Remember that realistic graphics aren’t the essence of the assignment, but behavior is: it will suffice to draw a fish as just an oval (for the body)
plus a triangle (for the tail), if you can make that scale to different sizes more easily.
Midterm exam dates
Sat Feb 14 10:13:27 EST 2015
The first midterm is scheduled for
Monday, Feb 23 at 6–9pm, in Snell Engineering rooms 108 (for Prof. Razzaq’s students) and 168 (for Prof. Lerner’s students).
ROOM CHANGE
Wed Feb 11 16:07:15 EST 2015
As of tomorrow, February 12th, Prof. Lerner’s 1:35 section of
Fundies 2 will be moving to Shillman Hall 105. This move is permanent for the rest of the semester.
Hw4 extended
Wed Feb 11 10:25:30 EST 2015
Homework 4 is extended until Friday night at 11:59pm. Another announcement will be made about homework 5.
Classes cancelled again tomorrow
Sun Feb 8 21:28:36 EST 2015
Due to another snowstorm, classes tomorrow are cancelled.
Tomorrow’s lecture was intended to be
Lecture 10, and it will likely help you with the homework. You are recommended to read it
yourself, in advance of when lectures resume. There will likely be an extension on the homework (again), but until we know
whether Tuesday’s labs are cancelled too or not, I won’t know how long the extension will be.
Honors students: we’ve only had one class per week the past few weeks, and next week will be no different, so these
snow days have been particularly difficult on our schedule. I will be looking into ways for us to make up at least some of
the missed classes, and will hopefully have some information by Thursday’s lecture.
Homework 4 will be posted late tonight
Thu Feb 5 17:25:13 EST 2015
I will be posting homework 4 late tonight;
it will be due on our regularly-scheduled Wednesday night deadline.
The honors supplement will not be ready tonight, and will be posted sometime tomorrow. (Honors students will have time in lab
on Monday to work on that problem, too.) WebCAT submissions for all homework 4 problems will be enabled over the weekend.
Mobiles problem is fixed
Wed Feb 4 17:49:32 EST 2015
The Mobiles problem is now corrected,
and valid data is now posted in Lab 3. Please revisit your submission to ensure you have the correct data!
Correction to Mobiles problem
Wed Feb 4 13:10:25 EST 2015
There is an error in the reference solution (and tests) of curWidth. The correct thing to implement
is the description in the problem statement. The mistake is in the complex example mobile, for which
a simple weight of size 45 does not have a width that works correctly as an integer.
I am updating the reference tests, and temporarily suspending submission of this problem until they are fixed.
Correction
Thu Jan 29 21:27:18 EST 2015
In lecture today, I said the
appropriate way to combine two strings was via the append method, namely string1.append(string2).
That is incorrect. The method is properly named concat. My apologies for any confusion.
Homework 2 extension
Wed Jan 28 14:17:37 EST 2015
Due to the two successive snow days, we’ve lost most of the office hours scheduled for this
week. Accordingly, we’re extending the due date for homework 2 until Friday night at 11:59pm.
So that the regular homework schedule isn’t too disrupted, homework 3 will go out on Friday
and be due next Thursday (i.e., one day later than usual), and homework 4 will go out next Thursday and
be due as usual on Wednesday night.
Homework 2 is posted
Thu Jan 20:02:15 EST 2015
Homework 2 and 2h have been posted
to the assignments page. WebCAT submissions will be enabled over the weekend.
Homework 1 Honors is up on WebCAT
Mon Jan 18 18:05:00 EST 2015
The honors problems for homework 1 have now been posted.
Homework 1 is up on WebCAT
Sun Jan 18 12:05:00 EST 2015
The three problems for homework 1 have been posted to WebCAT, and everyone who has
emailed us their CCS account information should now be able to log in. The honors
problems have not yet been posted, and will be made available by Monday evening.
If you have not yet emailed Deepen your CCS username, you will not be able to access WebCAT.
Do so as soon as possible. If you have emailed him your username, try to log in, and you still
cannot access the assignments, email Prof. Lerner.
Welcome to CS2510
Mon Jan 12 11:00 EST 2015
Please, check this page daily for any last-minute announcements
about the class, assignments, lectures, and other
information.