FHTW Berlin

FHTW Berlin
Fachbereich 4
Internationale Medieninformatik
PROG2: Programmierung II
Sommersemester 2003


General Information Sheet


Welcome to Programming 2! We will be looking at Data Structures and Algorithms in Java this semester.

This handout describes some of the general information that you will need to know about the course.  It also includes course policies that we will expect you to abide by during this term.  You should read through this handout and make sure that you understand its contents.  You will probably also want to save it for future reference.  This handout -- as well as other course information -- is available on the web via the course web page, http://www.f4.fhtw-berlin.de/~weberwu/prog2.
 
Contents:    Course Staff
    Course Materials
    Course Components
    Laboratories
    Expectations and Policies
    Where to Find Additional Information



Course Staff

 

Teacher

  • Prof. Dr. Debora Weber-Wulff, weberuw@fhtw-berlin.de, 5019-2320, Verwaltungsgebäude Room 802.
    Office hours Thursdays 10-11 and by appointment.
  • David Zellhöfer will again be offering his famous walk-in clinic. The times will be announced on the mailing list.

Contacting me

I am best reached by email. I usually read email regularly, if you have something urgent, this is probably the best way to contact me.

Mailing List

I have a mailing list set up for the class, so that you can reach other students. You can join anytime by sending an email to majordomo@fhtw-berlin.de with an empty subject field and the text

SUBSCRIBE imi-prog2

in the body. All course announcements will be made to this list and not to the second semester mailing list.

 

Course Materials

We do not have a textbook for this course. There are lots of books on the subject, but none that I really like.

 
Goodrich and Tamassia.
Data Structures and Algorithms in Java with CD-ROM. Wiley, ISBN 0471193089, 40 €
Some of the structures and algorithms are described very well, others I don't like.
Standish.
Data Structures in Java, Addison-Wesley, ISBM 020130564X, 52 €.
Ditto.
Bailey
Java Structures. McGraw-Hill, ISBM 0071160914, 39 €.
http://www.cs.williams.edu/~bailey/JavaStructures/
Hubbard
Data Structures with Java. Schaum's Outlines, ISBN 0-07-136128-6. 2001. $16.95.
This is a compact collection of samples and exercises.
Waite
Data Structures and Algorithms in Java. LaFore.
With a nice CD containing all of the examples.
Harel
Algorithmics - The Spirit of Computing. Addison-Wesley. 1987.
Has nothing whatsoever to do with Java, but explains Algorithmics nicely, with just the right amount of theory.
Ottmann and Widmayer
Algorithmen und Datenstrukturen. BI Wissenschaftsverlag. 1993.
Relatively thorough in the theory, but of course no connection with Java.

Lang
Algorithmen in Java. Oldenburg. ISBN 3-203-486-25900-8.
The book is in German, unfortunately. But since the author as a Hilfskraft in Kiel taught me Automata Theory, he gets special mention even though the book is rather heavy on the theory side.

Please don't get Weiss, Data Structures and Problem Solving using Java. It is a translation from the author's Pascal book and completely misses the mark on the object-oriented way of thinking. The others do too, to some extent or other. Maybe someday Lynn will get around to writing a book on this, too.

Exercises will be posted on the web site, a week in advance of the first group. There will be pre-labs again.


Course Components

Course Meetings

The lecture is given once a week on Tuesdays in the second block (9.45-11.15) in HG 027.

In addition to lecture, each student will be assigned to a biweekly 4-hour laboratory session. If you are not in Programming, you will be in Media and Technology with Prof. Barthel. In the first week I want to see both groups for just a block. Group 1 is expected in block 3, group 2 in block 4. In the other block you have a nice long lunch break. The lab does not meet on May 20, 2003, as you will be participating in the Marketing Game.

Assignments and Grades

During the term, there will be 7 exercises which will be written assignments on programming. We will be programming lots of "little" things about algorithms and data structures. There will be a 2-hour examination on July 8, 2003, Room TBA. The examination will cover data structures and algorithms and conceptual understanding in ways that may be difficult to asses during the laboratory sessions.

Your grade in Prog2 will be a weighted mixture of the following elements of the course

You may volunteer, in groups of two, to take lecture notes for one of the sessions and publish it on the web. This will give you a free 5% of your grade and tends to be very useful! You must pass the examination to have your lab work counted.

To earn an 1.0 in Prog2, you should regularly demonstrate mastery of the material, have a strong understanding of and performance in laboratory work, be a valuable participant in course meetings and collaborations, and complete all portions of the course work in a timely fashion and write excellent reports.

To earn a 2.0 in Prog2, you should demonstrate a solid grasp of most of the course material, competently perform laboratory work, participate in course meetings and collaborations, and complete all portions of the course work in a timely fashion and write good reports.

To earn a 3.0 in Prog2, you should demonstrate a sufficient understanding of the course materials that you can go on to build on that understanding in subsequent courses or employment, participate in course meetings and collaborations, and complete all portions of the course work in a timely fashion.

If none of the three descriptions above fits you at the end of Prog2, there are two possibilities:
 

  1. Your understanding of the material and demonstrable performance of that understanding is inadequate to  build on in subsequent coursework. In this case, you are ineligable for a Prog2 final grade of 4.0 or above. You will need to repeat the course and pass within 4 semesters in order to be able to continue with this program.

  2.  
  3. Your understanding of the material and demonstrable performance is adequate to receive a 3.0 or higher, but  you did not participate in course meetings and collaborations or you did not complete all portions of the course work in a timely fashion. In this case, your final grade will be adjusted to reflect this factor as follows:
  4. Missing one laboratory or one assignment may add 0,3 to your grade.
    Missing three laboratories or assignments may add 1,0 to your grade.


Late work will not be accepted and may be treated as missing work. Missing work will be graded as a 6,0. Always turn in what you have completed on time rather than delaying in the hope that you will be able to do more.

Laboratories

Laboratory sessions are an essential part of the course. The laboratory assignments will be posted on the home page. You must work in groups of two. There is a pre-lab for many of the exercises. As you have learned, it is usually a good idea to think these through before coming to the lab. I expect each student to have their own pre-lab with them when they come to class. The report, however, will be for the group, so there will only be one report for two people. All lab work must be turned in on time and be labelled with the names of the students who did the work.


Expectations and Policies

Missed Meetings

You are responsible for all material covered in each lecture unless otherwise indicated. This material may not be covered elsewhere, so if you miss a meeting, you are responsible for getting notes from a friend or otherwise making up the material. Handouts will not be distributed on paper outside of class, but all course handouts will be made available on the course web site.

Attendance at laboratory is mandatory. If for any reason you cannot attend your scheduled laboratory session, it is your responsibility to make alternate arrangements with the course staff as far in advance as is reasonably possible. In particular, if you have an athletic event or other scheduled conflict, I expect that you will discuss this with me as soon as the conflict is scheduled. I understand that unforseen events do arise (see below); however, your brother's wedding is (probably) not one of them.

The only exceptions to this policy (i.e., last-minute or after-the-fact rescheduling) will be in cases of significant and unanticipatable emergency. In these cases, we request a note from a doctor. In addition, we would appreciate it if you would make an effort to notify the course staff at the earliest possible opportunity so that we can adjust accordingly.

Collaboration

This section details the general course collaboration policy. Certain assignments require different kinds of, or restrictions on, collaboration. When the collaboration policy differs from that described here, it will be specified in the laboratory assignment.

I encourage you to work together on the exercises. They are designed for working in small groups, allowing you to help each other learn and to balance your knowledge and strengths. Note that collaboration extends to discussion and problem-solving, but not to writeups. We expect that any written work you turn in will be done by one of the two authors of the notes, though it may reflect joint preparation.

Experiment work is a more complex topic. It is often useful to discuss your program with peers or with me, and I strongly encourage this. It is particularly useful to do so as a means of debugging your program. Reading code written by others and having others critique your code are good ways to improve your programming style. However, it is of no benefit to you or to anyone else to have someone else actually do your experimental work. I expect that the default assumption (i.e., unless specified otherwise) is that experimantal assignments are your own work, but may reflect input from others just as an essay edited by friends might. You should be the one who wrote the code you turn in.

In each piece of work that you turn in, you must specify everyone with whom you have collaborated and each person's role in the collaboration (e.g., pre-lab, post-lab discussion and analysis, in-lab coding  - specify which pieces or how responsibility was distributed - , debugging, or advice). Failure to specify such collaboration will be interpreted as a statement that you have not collaborated with others in your work. While this is acceptable under course policy, it is probably ill-advised. (Really.  I want you to work together and to learn from each other!)

Examinations are diagnostic in nature and as a consequence should represent independent work.

Of course, copying of the work of others is entirely unacceptable.

 

Where to Find Additional Information

The primary source of information for this course is the world-wide web. The home page for the course is located at http://www.f4.fhtw-berlin.de/~weberwu/prog2/. Course materials will be made available there. Check this page regularly for news and updates.


Copyright 2003 Prof. Dr. Debora Weber-Wulff
All rights reserved.
Questions or comments: <weberwu@fhtw-berlin.de>

Letzte Änderung: 14.04.09 - 22:19