Knowledge of an object-oriented
language such as C++ or Smalltalk
OR Strong knowledge of C and instructor's permission.
Prior knowledge of Java a major plus.
List of topics
|Basic Java programming||6-7 lectures|
|Basic OO concepts||4-5 lectures|
|OO modeling||3-4 lectures|
|Design Patterns||2-3 lectures|
|Client/server programming||1-2 lectures|
|Threads in Java||2-3 lectures|
|Case studies in large-scale SE||2-3 lectures|
|Project presentations||2-3 lectures|
Students will be divided into
groups of 3 either by choice or by assignment.
Every group should choose a name and elect a leader, who will be responsible
for coordination of group's code. Students will be graded primarily on programming.
Throughout the class students will incrementally develop a system, which will be
completed by the end of the semester.
This class will require a lot of programming (I mean a lot!).
During midterms instructor and
assitant will check on the progress of the students.
There will be no final examination, instead students will present class projects to the
classmates and guests.