This site is not active!
The OOP website can be found at http://www.cs.technion.ac.il/Courses/OOP/slides/export/236703/home.html
Times and places
Lecture:Monday, 14:30-16:30, Taub 2Tutorial:Monday, 17:30-18:30, Taub 6 (Itai)
Tutorial:Wednesday, 09:30-10:30, Taub 3 (Claudia for the first 10 weeks, Itai for the other 4)
Tutorial:Thursday, 08:30-09:30, Taub 6 (Claudia for the first 10 weeks, Itai for the other 4)
Course tasks
- 4 HW assignments, 2 in Smalltalk and 2 in C++, submitted in pairs
- A MAGEN midterm exam (exact date TBD)
- Final exam
Grading policy
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 65%, while the home assignments are 35%, while the midterm, if it can improve your grade is weighted 15%. 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
Methods
....
grade
midterm isNil ifTrue: [^ self noMidterm]. ^ (0.5 * (self final) + 0.35 * (self truncate: 30) + 0.15 * midterm) max: self noMidterm
|
final
finalB isNil ifTrue: [ ^finalA ].
^ (finalA + finalB) / 2 max: finalB.
|
noMidterm
^ 0.65 * (self final) + 0.35 * (self truncate: 30)
|
truncate: maxDiff
| 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)
]
This was not too complicated, right?
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 programsin several object-oriented languages, including smalltalk and C++.Final project.