You will work on approximately one "project" per week. The first few
projects are more like homework assignments the way you (should) know
them from Fundamentals I and II (BS) or Program Design Principles (MS).
These include writing memos, designing interfaces, and programming to
interfaces.
The remaining projects contribute to the construction of a distributed
implementation of Acquire. Most will require the design of a component
interface and the implementation of some (other) component to a given
interface. Others will call for the modification of existing programs,
etc. As in the real world, the project descriptions will become available
only a short time (typically a week or so) before they are due. This
simulates the time pressure you will experience in industry. As you rush
to complete your projects, don't forget, however, that performing tasks
systematically and according to a plan makes life easy in the long
run. In other words, what may seem to you a detour now will likely turn
out to be a time saver.
Pair Programming:
You must work on all projects in pairs. Pair programming means that you
do everything together, jointly in front of a single computer.
You will choose your first partner during the first lecture.
You will confirm your partnership with a single email per partnership to
Asumu Takikawa by on Wednesday, 09 JANUARY 2013
(NOON). In return, the two of you will get accounts on the
SUBVERSION server, which will be your only means to submit projects.
Submission:
All of your work will live on the Subversion server, organized according
to Asumu Takikawa's instructions. On the specified due date and time, an
automatic script will copy the homework project into our space.
Asumu Takikawa will present basic guidelines on Subversion and
instructions on how to organize your Subversion account in class in the
third segment of the first lecture.
For every project you will also turn in a cover page in the first class
following the due date. The cover page contains these pieces:
- the project title,
- the due date, and
- the names of the partners and their signatures.
The signatures guarantee that you completed the task without any outside
assistance. If we discover plagiarism in any form after that, we will
deal with the issue as if we were a company that is being sued in court
because one of its programmers used source code from outside the company
without explicit permission of the owner.