Course Layout
This course makes you able to implement a given requirement specification in flexible and easily understood code. To reach this goal, the course covers fundamental concepts of object-oriented analysis, design and architecture, such as low coupling, high cohesion, encapsulation and polymorphism. The course also gives hands-on experience in using these concepts to design and implement an object-oriented program.
1. Scheduled Activities
There are four kinds of activities, lectures, exercises and tutorials and seminars.
- Only the first lecture, course introduction, is given live. All other lectures are recorded (in Swedish). Videos and reading instructions are found on the corresponding lecture page which can be reached from Modules.
- There are a number of exercises, where smaller tasks are solved as a practice for the assignments. These are not mandatory, and no new material is presented. Exercise tasks are found on the corresponding exercise page which can be reached from Modules. Each exercise is scheduled twice in the schema, both instances will have the same content. Please attend only one of them. The purpose of the duplication is that there will be fewer participants, which should encourage discussions and interactions.
- There are a number of tutorials, where you can ask questions regarding assignments. These are not mandatory, and no new material is presented. Tutorials are scheduled on place in Kista, but it's also possible to join in zoom. The queuing system stay a while is used managing the queue for asking questions. Sign up there, and if you're in zoom enter the link to your zoom room in the field Location.
- Remember that there's also Allmänhandledning 11-13 and 17-20 most days. There you can get help with general programming problems.
- The assignments are presented at seminars. More information on assignments and seminars is found on the page Seminar Tasks.
2. How to Get Help
Before the course starts you will be automatically enrolled to the IV1350 Piazza Forum This is the official forum of the course for all discussions, questions and answers. If you're not enrolled after the course starts please notify the teachers via email.
You can also ask questions at tutorials and 'allmänhandledning', which are described above.
Please don't send direct emails to teachers, instead post questions in Piazza, since then all students can be helped by the answers. You're also encouraged to write in Piazza about problems you encountered and have already solved. Your solutions to the problems you faced will most likely be of help to other students.
Mind that posts can be anonymous to peer students in Piazza. Only the Instructors are able to see the author of every post.
3. Textbook
The course text book, Lindbäck: A First Course in Object Oriented Development, exists only as a pdf which is available here, object-oriented-development.pdf. The code examples from the book are included in this NetBeans project, https://github.com/oodbook/code/
4. UML Editors and Programming IDEs
Recommended UML Editors and Programming IDEs are listed on the page Software .
5. Examination
There is only one subcourse, INL1, 7.5 credits, grading scale: A-F. The grade of this subcourse is also the final grade of the course. The examination consists of seminar tasks, which are reported both orally and in writing, and of additional higher grade tasks, which are reported only in writing.
5.1. Seminars
The seminars consist of the development of one single object-oriented program, which is reported at five different seminars. The first four seminars concern different activities of object-oriented development. Each of these seminars give 0-2 points, where zero means fail, one means pass and two means pass with distinction. To pass a seminar with distinction (2p) gives one higher grade point. The fifth seminar is an opportunity to re-submit seminars you did not pass or to improve your score for one or more seminars. To pass the course you must pass (one or two points) all seminars.
More information on seminars and grading is found on the page Seminar Tasks.
5.2. Additional Higher Grade Tasks
The additional higher grade tasks are not mandatory. They cover more advanced concepts than the seminars, and contribute to grades A-D. More information, including grading criteria, is found on the page Additional Higher Grade Tasks.
5.3 Grading
The requirement to pass the course, with grade E, is to pass all seminars. The additional higher grade tasks and the higher grade points at seminars are proof of sufficient skills to get a higher grade. Therefore, higher grades (A-D) are given based on the number of higher grade points collected from seminars tasks (max 4) and additional higher grade tasks (max 3). The table below shows the grade limits.
Grade | Requirement |
---|---|
E | Pass all seminars |
D | Pass all seminars + 1 higher grade point |
C | Pass all seminars + 3 higher grade points |
B | Pass all seminars + 5 higher grade points |
A | Pass all seminars + 6 higher grade points |
As an example, consider a student who gets the following results.
- Sem 1: 2p
- Sem 2: 1p
- Sem 3: 1p
- Sem 4: 2p
- Additional higher grade tasks: 2p
The student passes the course and is eligible for a higher grade, since all seminars are passed (at least 1p at each seminar). The student has got 2p at two seminars, and also completed two additional higher grade tasks, which gives a total of 2 + 2 = 4 higher grade points. The student thus gets the final grade C.
6. Disability
If you have a disability, you can get support through Funka, KTH's coordinator for students with disabilities, see https://www.kth.se/student/stod/studier/funktionsnedsattning. In addition, if you have special needs, inform the course coordinator and show the certificate from Funka.
Support actions under code R (i.e. adaptations relating to space, time and physical circumstances) are generally granted by the examiner.
Support actions under code P (educational adaptation) can be granted or rejected by the examiner after you have applied in accordance with KTH's rules. Normally, support efforts under code P are also granted.
7. Teachers
- Leif Lindbäck, examiner, course responsible, teacher
- Niharika Gauraha, teacher
- Hasan Al-Zubeidi, teaching assistant
- Karolina Sjökvist, teaching assistant
- Nicole Wijkman, teaching assistant
