CMSC 131 -- Object Oriented Programming I

Spring 2007

Fear the Turtle!


05/08/07   This week some of the TA office hours that are normally scheduled for Friday have been moved to Saturday. Please see the "contact" section of the course webpage for this week's schedule. There will be no TA office hours next week.

05/06/07   The final exam will be held on Monday, May 14, from 4-6 pm in CHM 1407.

04/30/07   Project #8 has been posted! This is the last project, and it is worth a large portion of your grade in the course, so please get started right away and do a good job!

04/20/07   The following announcement is from the "Java users group":
Event: Presentation/Demo on "Writing games for cell phones using Netbeans"
Date: Tuesday, April 24
Time: 6:00-7:00 pm
Venue: 3258AVW
"Fast track your career with Free Training from Sun Microsystems" Also a meeting for the Java Users Group. Free Pizza and Free Stuff!!!

04/19/07   Fawzi Emad's office hours for tomorrow (Friday) are cancelled. Please note that there is a TA available at this time in room 1112 A.V.Williams.

04/19/07   If you are a Computer Science major, you should have already had your advising appointment for next semester. If you have not yet been advised, please make an appointment with either Brandi Adams or Kim Ozga by clicking this link

04/18/07   Project #7 has been posted!

04/14/07   The following announcement is from the "Java users group" on campus:
Event: Presentation/Demo on "Netbeans for Mobile Applications"
Date: Tuesday, April 17
Time: 6:00-7:00 pm
Venue: 3258AVW
"Fast track your career with Free Training from Sun Microsystems" Also a meeting for the Java Users Group. Free Pizza and Free Stuff!!!

04/06/07   Hint for project #6: When writing the "placeOrder" method of the Restaurant class, do not pass the Entree item directly to the "checkAvailability" method of the inventory, and do not try to remove the Entree object directly from the inventory. Instead, use the Entree method "getFoodList" to retrieve the list of food items that make up the Entree, and then pass that list of food items in to these two methods.

04/05/07   Project #6 has been posted! Many of you waited too long to begin project #5, and consequently did not get everything working in time. Please do not make that mistake on this project, since it is AT LEAST as difficult as the previous one.

04/05/07   Study questions 165, 171, 172, and 173 (those dealing with copying arrays) and their corresponding solutions were posted with incorrect terminology. They have now been corrected.

04/04/07   Some students have been found to have worked collaboratively on project #4. As you know, project #4 was a "closed" project. Information about these cases has been sent to the Student Honor Council, and these students are probably going to be in serious trouble with the University. This notice is a reminder that closed projects are to be considered individual work, and are not to be discussed at all with anyone other than the course instructors and TAs.

03/29/07   A few "hints" have been added to the online JavaDoc for the Jumble class. They all appear in green text.

03/27/07   The following message is from the "Java Users Group": There will be a presentation/demo of "Java Studio Creator Basics" on Thursday, March 29th from 6:00-7:00PM in room 3258 A.V. Williams. Tuesday, April 3rd from 6:00-7:00PM in room CSIC 2120. There will be free pizza and free "stuff".

03/26/07   Project #5 has been posted!

03/19/07   The extended deadline for project #4 is intended merely to allow everyone an opportunity to submit their work. You should have had the project completed by the original deadline on Friday 3/16, so we will not be providing further assistance with this project via email or during office hours. If you have questions about the project after Monday 3/26, we will be happy to answer them at that time, since the window for submissions will have passed.

03/17/07   As many of you know, the submit server was malfunctioning just as project #4 became due (between 8:15PM Friday night until about 3:30AM that night). Obviously we will have to extend the deadline for on-time submissions. Since many students are out of town enjoying their Spring Break, we will accept submissions on Project #4 through Monday 3/26 at 11:00PM. All submissions received by this time will be considered "on-time". We will NOT accept ANY submissions after that time -- the usual policy of accepting late submissions for 24 hours with a penalty will NOT be in effect, so be sure to submit the project by Monday 3/26 at 11:00PM.

03/08/07   If you would like to find out more about the "Java users group" on campus, you are invited to attend this event on Tuesday 3/13. (RSVP is requested by 3/12.)

03/07/07   Project #4 has been posted. Please note that this project is due the day just before Spring break. Start early so that you will have time to come in and get help, if needed!

03/03/07   Hints on Runtime Errors that you might encounter when you run Project #3:

NullPointerException: Look at the file and line number. If this is outside of the code YOU have written, this likely means you are returning a variable that refers to "null" instead of an actual Photograph object.

ArrayOutOfBoundsException: You are probably trying to get or set a Pixel that is outside the bounds of a Photograph. For example, if a Photograph p has width 5 and height 10:
  1. p.getPixel(30, 0) will generate an ArrayOutOfBoundsException - 30 is outside the width of 5

  3. p.getPixel(5, 0) will generate an ArrayOutOfBoundsException - 5 is again outside the width of 5. The width is 5, so for any given row, there are 5 values, when x = 0, 1, 2, 3, 4.

03/01/07   Midterm #1 will be on Wednesday 3/7 during your discussion session. Be sure to arrive on time and bring a few pencils with working erasers. The lecture that day will proceed as usual; in fact, we will be presenting challenging and critical material, so make sure you are there!

02/24/07   Project #3 has been posted!

02/15/07   Since we missed the quiz on 2/14 due to the snow day, we will have TWO quizzes in the lab session on 2/21! Be prepared and arrive on time.

02/14/07   The due date for project #2 has been extended to 11:00PM on Saturday 2/24.

02/14/07   We were planning to present material in the lecture today that would help you to get started on Project #2. Unfortunately, the weather did not cooperate (campus is closed today.) If you are confused about what a "method" is, or confused about the role of those variables at the top of the method you are writing (they're called "parameters"), then please be sure to attend the lecture on Friday when we will talk about these things in detail.

02/12/07   Project #2 has been posted! Get started now, and work steadily on it until you are done. Have fun!

02/02/07   Project #1 has been posted! Click on the Projects link to the left to view the project description. We recommend that you start the project immediately! Begin by checking out the project files from your CVS repository -- the project is called "Spring07Proj1". Please drop by office hours if you have problems getting started.

02/02/07   Fawzi Emad's office hours have been changed. The new office hours are: Tuesdays 1-3 and Fridays 3-4.

01/31/07   There are no "surprise quizzes" this semester -- you can expect a quiz every Wednesday in your Lab session!

01/31/07   When you startup Eclipse, you may find that sometimes you get a warning message that looks like this link. For now, just press "yes". We are looking into a more permanent solution. If after pressing "yes" you are still not able to connect, then please see the announcement below this one.

01/31/07   If your CVS connection in Eclipse WAS working but has suddenly stopped working, it may be because the linuxlab RSA keys have changed for some reason. If that has happened, please (in the CVS repository perspective) right-click the repository connection and select "discard location". Then create the repository connection again from scratch.

01/28/07   If you have not already, please immediately go through the following steps to make sure your computer at home is ready for work on course projects.  If you need help with any of these steps, please drop by office hours right away.  (See the schedule by clicking the "contacts" link to the left.)

  1. Install Java, Eclipse, and the Eclipse plug-ins on your computer.  Please see this link for Eclipse installation instructions.

  2. Go to the grades server to obtain your class account login ID and password.

  3. In Eclipse, go into the CVS repository perspective.  Create a connection to your CVS repository using your class account.  See this screenshot to see how to fill in the various fields of the connection dialog box. Replace cs131XXX with your class account login id (this occurs in two places.) Be sure to use connection type "extssh".

  4. Find the project called "TestProject" and "check it out" by right-clicking the folder and selecting "check out".

  5. Go into the Java perspective, and you will see the TestProject that you checked out.  Right-click the project folder.  You should see an option for "submit".  Submit the project, and enter your University directory ID and password when prompted to do so.

  6. Login to the submit server to verify that your submission has been received.  This is where you will go to see whether or not your projects are passing our tests.

01/26/07   The CVS repository server (linuxlab) is acting a bit flaky today. I have alerted the system staff, and they are working on the problem. If you have trouble connecting to your CVS repository using Eclipse, please try it again over the weekend. Hopefully the problem will be fixed very quickly.

01/25/07   All students must attend both the lecture and discussion sessions FOR WHICH THEY ARE REGISTERED! You may not attend an alternate section.

01/25/07   If you attempt to switch sections in the course, you may find that you are blocked by the system. If this happens, you probably need to have your permission for the course updated. Please see either Kim Ozga or Brandi Adams in the C.S. Education Office (1119 A.V. Williams).

01/17/07  Be sure to check this page from time to time (I recommend daily) for important course announcements.  The more recent messages will appear at the top of the page.