22c:022 Object-Oriented Software Development
Fall 2013

Announcements

Dec 12 Course project reminders:
  • The Part B deliverables should be submitted, in the "Project - Part B" folder of ICON's Dropbox, by only one person per team.
  • They should include all the deliverable for Part A, revised as needed.
  • Everybody should complete and submit a team member evaluation form. The blank form is in the "Team member evaluation" folder of ICON's Dropbox. The completed one should be submitted there too.
Dec 11 In the project, if you are using actors in your implementation, as we suggested you are allowed to add a call to their start method in the predefined file Main.scala (but that should be your only chance to that file).
Dec 11 We have updated the file messenger.scala for better performance. Please download it again and replace the old messenger.scala in your project's subdirectory src/main/scala/ with the new one above.
Dec 10 As discussed today in class, more information about the final has been posted in Exams section.
Dec 5 As discussed today in class, we have modified the some of the predefined Scala classes in the project to use more actors. This will prevent the GUI fron freezing when your won code is running.
Please add the following files: guiGlobals.scala, Main.scala, and messenger.scala to your project's subdirectory src/main/scala/. The first two will replace existing files, the third is new.
Nov 14 The class project has been posted on ICON's dropbox, in the "Project - Part A" folder. It has two sets of deliverable, with different deadlines.
  • Part A deliverables: due by 7pm on Fri, Nov 22 in "Project - Part A" folder.
  • Part B deliverables: due by 7pm on Fri, Dec 13 in "Project - Part B" folder.
The deliverables above must be submitted by one person per team. However, each team member must provide a team evaluation in the Part B folder by Dec 13.
Nov 6 The teams for the project have been formed. You can find the list in the Contents section of ICON. Please contact your team members are soon as possible so you can get started on the project right away.
Oct 24 As announced on Tuesday in class, the course project will be done in teams of 4 people. (Teams of 3 people will be permitted in exceptional cases.) You are free to team up with anyone you want in the class, regardess of your class section.

Please find partners for your team and let Frank (peng-fu AT uiowa DOT edu) know by this Thursday, Oct 31.

If you do not do that, or send us a list with less than 4 names, you will be grouped with others by us, the instructors.
Your are welcome to use the general forum in the Discussions section of ICON to advertise or look for team partners.
Oct 24 Note that a copy of the Scalacheck library is included in the SBT project in hw4.zip for Homework 4. If you use ScalaEdit's SBT terminal to develop your solution for the homework, which is highly recommended, you have nothing to install.
See the Internal Resources section for instruction on how to use SBT in ScalaEdit.
Oct 22 Homework 4 is out. It is to be done individually and is due by 9pm on Tue, Oct 29.
Oct 22 The grades for the midterm have been posted on ICON. A solution key is available in the Contents section of ICON. As with the homework assignments, please go see one of the TAs if you think that your exam has been misgraded for any reason.
Oct 11 Sample solutions for Homework 3 have been posted on ICON.
Oct 7 More information about the midterm has been posted in Exams section.
Oct 2 A sample solution for the quiz is available in the Content section of the ICON page.
Oct 5 For the weeks of Oct 7 and Oct 14, Prof Tinelli's Mon, Wed office hours will be held by Frank in 201C MLH. The Tue office hours will be held by Ryan in 201N MLH.
Oct 3 The grades for Homework 2 and sample solutions have been posted on ICON.
Oct 2 The grades for Quiz 2 have been posted on ICON. A sample solution for the quiz is available in the Content section of the ICON page.
Oct 1 Homework 3 is out. It is to be done individually and is due by 9pm on Tue, Oct 8.
Sep 30 Correction: Frank's office hours for this next Thursday, Oct 3 Oct 10 (and only for that day) are moved to Wednesday, Oct 2 Oct 9, at 3:00-4:30pm in 201C.
Sep 25 There is a small typo in the specification of Matrix.apply in hw2b.scala. The line
given i in [0 .. h-1] and j in [1 .. w-1] should read as
given i in [0 .. h-1] and j in [0 .. w-1].
Sorry for any confusion.
Sep 25 The last line of the file hw2b.scala, which reads: val m = new Matrix, is there by mistake. You can ignore it.
Sep 24 The dates for the midterm and the final exam have been finalized. Please check the Exams section for more details.
Sep 19 Homework 2 is out. It is to be done individually and is due by 9pm on Thu, Sep 26.
Sep 19 The grades for Homework 1 have been posted on ICON.
Sep 19 A sample solution for Homework 1 has been posted in the Dropbox section of ICON.
Sep 19 The grades for Quiz 1 have been posted on ICON. A sample solution for the quiz is available in the Content section of the ICON page.
Sep 10 The submission deadline for Homework 1 has been extended from 7pm to 9pm on the same day since Frank's office hours end at 7pm on Thursday.
Sep 6 Today's lab exercises are available in the Content section of the ICON site. Later exercises will be posted there each time after the labs.
Sep 5 Homework 1 is out. It is to be done individually and is due by 7pm on Thu, Sep 12.
You can download it from the Dropbox section of the ICON site.

One clarification about Homework 1 problems:

You are not allowed to use any Scala library method that essentially trivializes the problem by providing the same or almost the same functionality as the method you are asked to implement. Examples of that would be using the library method drop to implement remove or contains to implement isIn.

All of the list problems can be solved using none of the predefined library functions for lists. Pattern matching and recursion are enough.

Sep 5 Several useful resources on Scala, including a cheat sheet, can be found in the External Resources section.
More readings on Scala, including a great syntax primer, can be found in the Readings section.
Sep 4 There have been some changes in the TA office. Please check the Syllabus for the new hours.
Aug 29 In case you have not been notified already, there are no labs/discussions tomorrow. They will start next week.
Aug 29 In class we will use the simple ScalaEdit IDE to work with Scala programs. We recommend for use at home and in the lab as well. See the
  • Internal Resources section for instructions on how to use it on the CS lab machines.
  • External Resources section for more information on the tool and how to install it on your computer.
Aug 29 A brief summary of each class together with assigned readings will be available in Lectures section after class.
Aug 28 Everyone registered in this course has an account on the machines in the CS labs (e.g. 301 MLH). You login is the same as your HawkID. The password is however separate. You can set or reset it here.
Aug 27 First assignment of the semester: read the syllabus!
Aug 27 Welcome to the 22c:022 web site.
Please check this section on a regular basis for announcements, or for updates to the other sections of the site.


Copyright: Cesare Tinelli, The University of Iowa, 2013