Times and places
Lecture: Wednesday, 10:30-12:30, Taub 3
Tutorial: Wednesday, 14:30-15:30, Ulman 202 (Itai)
Tutorial: Thursday, 09:30-10:30, Taub 1 (Claudia)
4 HW assignments, 2 in Little Smalltalk and 2 in C++, submitted in pairs
A MAGEN midterm exam (exact date TBD)
The final grade in the course is a weighted average of your exam grade and the grade of your home assignments. Roughly speaking, the exam weight is 60%, while the home assignments are 40%, while the midterm, if it can improve your grade is weighted 20%. However, this simple weighted average only applies if your home assignments grade does not exceed your final grade by more than 30 points. Otherwise, a more complicated formula is used to compute your grade. This formula is captured by the following Smalltalk class:
Class Student Object name homework midterm finalA finalB
midterm isNil ifTrue: [^ self noMidterm].
^ (0.8* (self noMidterm) + 0.2 * midterm) max: self noMidterm
finalB isNil ifTrue: [ ^finalA ].
^ (finalA + finalB) / 2 max: finalB.
^ 0.6 * (self final) + 0.4 * (self truncate: 30)
| extraWeight |
(homework - self final) < maxDiff ifTrue: [^ homework].
extraWeight <- (homework - self final - maxDiff) * 0.03.
(extraWeight > 1.00) ifTrue: [extraWeight <- 1.00].
^ (self final) * extraWeight + homework * (1.00 -extraWeight)
The exam will be a multiple choice of 60 questions. In repeating an exam (Moed Beit), the risk is not as great as it is in other courses. If in the second time you write an exam your grade is lower than in the first time you did it, your exam grade will be the average of these two numbers. Naturally, if your grade in the second time is higher than in the first time, then your exam grade is that of the highest.
You have to hand in all four assignments. There will be different weights to different assignments, so that the simpler assignments would weight less. The weight is rougly proportional to the time alloted for the assignment.
Course description (from the Technion Catalog)
Credit points: 3.0
Comparative approach to object-oriented programming in differentlanguages. The concept of an "object". Classes and methods, abstractdata types, inheritance and multiple inheritance.Applications for implementing user interface. Writing programs in several object-oriented languages, including smalltalk and C++.