Assignments

15 Nov

There is a new "clean up codebase" assignment due before the Thanksgiving Break starts, see under Assignments on ICON. In class, there will be some explanation of a sample, partial design for the project, found here, which has some things for all parts of the project. However, this sample design makes choices that many groups would not do (that does not mean these groups have an inferior design, as many designs can work equally as well). One interesting feature of Github is "Github Pages", a way to host a static website. That was done for this sample project, to illustrate how Javadoc is used to document the code for a project. See it here. All the pages, the index, the documentation, were made automatically by Javadoc. You do not need to do this for your project, but if your group would like this, it's not so much work to do.

9 Nov

More progress on the Project due 14 November on Github. See the work description on ICON: students should document all methods with Javadoc-style comments, and there should be more convergence to a collaborative group project (with functioning code, though that may not be fully realized by the deadline).

1 Nov
Reading Assignment: during the coming week or so, read sections 10.1 through 10.4 of the textbook (easy reading, has description of some lecture topics).
31 Oct

Development assignment due 7 November: your part of the Project has probably (but not necessarily) changed. There will be a table on ICON for this assignment based on the last five digits of your student ID number. The table has both groups and project parts; in most cases the groups were chosen to have the same discussion section time, so that in principle all members of the group would have at least one common meeting time. Read the Project/InitialTasks page to get more detail about each part of the warehouse simulation. You can begin development without much group participation, by writing classes, interfaces, and possibly sequence diagrams if that helps in formalizing your design. Once you have written some code, try writing some unit tests with mock objects. In class, during discussion section times and even outside of class, you may also collaborate with others in your group. Once you have written some code, it should be checked in to a github account. For this assignment, the person with the "Master" part of the project will use their github account for everyone in the team to check in code.

Last Friday, some students had difficulty committing work to github through Eclipse on their personal laptops (though it worked fine from machines in the lab). The TAs subsequently discovered there may be a bug in recent Eclipse versions causing this problem; please see one of the TAs to learn a workaround if you would like to use your laptop instead of a lab machine.
24 Oct

UML assignment: first, find out which part of the Project is assigned to you based on the last four digits of your student ID number, a table is given on ICON. Then, for your assigned part, create a UML class diagram using draw.io, see the Draw UML page for a tutorial on this. Save your work as XML (you may need to work on it later, so best to save it as XML), but also export it as a PNG file (image of your diagram). Your UML class diagram should have a least three or four elements, which can be classes and interfaces. Upload the PNG file on ICON.

20 Oct

Reading assignment: selective parts of Chapter 8. Because this course uses Java rather than Ruby, many things in Chapter 8 are not sensible reading, however key concepts are explained in the chapter. Read from Section 8.2 just enough to know what TDD means and the idea of the Red-Green-Refactor process. The details of the "movie review" example (rotten potatoes) are not important. Also, read from Section 8.3 just enough to learn what is a seam and what a mock are (Section 8.3 has a summary and an elaboration on other languages, including Java, which makes sense for this course). Also read this Wikipedia article on what is a Method stub, which is terminology often used in Chapter 8; there is also a Wikipedia article on Mock object. Read sections 8.7 and 8.8, skipping over the "RSpec" and Ruby code examples.

18 Oct

User stories: each student in class got three or four 3x5 cards. On each card, please put (1) your group number, (2) your name, (3) your role (representing a stakeholder), and one user story in the standard form described in Section 7.1, with a specific pointer to a generic user story format at http://pastebin.com/We7vY0eg (and there are numerous examples of user stories in the textbook, but you can also see other pages describing primitive user stories, such as http://www.agilemodeling.com/artifacts/userStory.htm and https://www.mountaingoatsoftware.com/agile/user-stories plus Wikipedia entry User story). In order to write a useful and thoughtful user story, please read some reference material -- pointers on the Project page, and use your imagination to infer how a warehouse system would operate.

13 Oct

Reading assignment: Sections 7.1 through 7.5 of the textbook http://www.saasbook.info/ to learn something about the BDD approach.

10 Oct

Reading assignment: Section 1.2 (Plan and Document) and Section 1.3 (Agile Manifesto) of the textbook http://www.saasbook.info/ (electronic edition).

5 Oct
Midterm Exam, Wednesday 6:30pm to 8:00pm, Room 100 Phillips Hall
26 Sep

Reading assignment for the week, read Elements of OO Design and Elements of OO Design/UML; also read from references about some UML conventions and notation, such as multiplicity, arrows and lines (what does the diamond-headed line mean, etc).

26 Sep

Homework: extend the tutorial of the previous assignment by making a custom website navigating a database of information about birds, details on ICON. Due 30 September.

20 Sep

Homework: create a basic REST web service by following the steps in this tutorial. Due 27 September. This is a more advanced exercise that will likely take longer than the estimated 45 minutes, and there will be discussion in class. Details on ICON.

19 Sep

Read the tutorial on Java Packages and the tutorial on annotations.

12 Sep

It will be useful to look at this Java tutorial on interfaces as backup to the lectures during the week of 12-16 September.

8 Sep

Read about nested classes, including local classes and anonymous classes. No need to read about Java's lambda expressions for this course.

6 Sep
Due 15 September on ICON, the second homework has been assigned.
6 Sep

Read about access control to class members and the final keyword (make sure you know the difference between final and finally).

29 Aug
Due 1 September on ICON, the first homework has been assigned. Upload your solution before 2 September.
23 Aug

Review control flow in Java in this tutorial; this should be easy reading you can mostly skim, because you have previous experience with Java or a similar (C or C++) language. Then read about Exceptions, which will likely require more thoughtful reading.

24 Aug

Read Computer Facilities to find the instructions on creating a CLAS linux account, and then create your account (many returning CS students will already have an account, but you can make sure).

Assignments (last edited 2016-11-15 15:05:03 by Ted Herman)