- Teaching Policy
- We make every effort to help you study the course material in the most
convenient way for you:
- You are welcome of course to attend the lectures and the
- All course material, including lectures, exercise slides and class handouts
will be available online
- The 'Resources' section contains online papers that cover a large percentage
of the material and can be used to learn it, as well as any other useful
material you find
- You are also welcome to schedule meetings at the reception hour for individual
In addition, we firmly believe in learning from hands-on experience, and so an
important part of the course is the exercises. The five exercises compose 45% of
the final grade.
- Programming Exercises
Students in this course are required to submit all homework
assignments in pairs. Two heads are better than one, especially when designing
software - but if this causes a problem for you, exceptions can be made. Each pair must work on their own
- you are assumed to know the distinction between cooperation and cheating.
Programming exercises must be done in Java, using the Eclipse platform. See the
'Technical Help' section about how to download and install at home Eclipse and
all the plug-ins we will use. Although this
is not a first-year programming course, points will be taken for messy, unmodular or under-documented code.
Be professional! Your code will not undergo a serious of automatic tests, but it
will have to pass several tests, as well as rigorous reading of the code and the
design, in order to assess how good your design is. In addition, each exercise must be accompanied with a complete set on unit tests using JUnit. The unit tests are
an important part of the exercise! It is
suggested that you start with the unit tests before writing the actual code.
All programming exercise must include an ant file which performs a complete
build (compilation and execution of unit tests), and include a README file.
- README submission
- The README file should include the following details:
You can use the sample README as template.
- In the first line should be the login(s) of the author(s), comma seperated
(and nothing else).
- The personal details of the author(s).
- The name of the exercise.
- A list of the submitted files, with a one line dexcription for each file.
- Any remarks you have about special cases, implementations, additional features
or anything else you think the checker should know.
- The name of the file should be "README". Not "readme", "ReadMe" or other
variations which mainly appear after working under Windows.
- Theoretical Exercises
There are three theoretical exercises. They are intended to introduce you
to further material, which we don't have time to cover in class. Therefore, each
such exercise usually asks you to read 3-5 articles, and answers questions which
show that you understand them. As a solution,
submit a file with your answers, which must be in one of the following
formats: text file (.txt), HTML file (.html) or PDF (.pdf).
The name of the file should be exX.<suffix> (i.e. ex1.txt, ex2.pdf). It should contain
the submitters' names, logins and IDs.
Note that no printouts are submitted in any exercise in this course.
- How to submit
- The exercises are submitted electronically. For each project create a zip file
called exX.zip (i.e. ex1.zip, ex2.zip, etc). Linux users:
create the file using
zip -9 -r <zip-file> <file-list>.
Submit the zip file using the course admin system that can be reached from the
- What if you can't finish the exercise on time?
- Relax. Submit what you have done, explain what problems you had to complete
the exercise, and you will get partial credit for your work. Another popular
approach is to email us with an excuse we
can't reject, and an extension request so polite that we can't refuse.