IV1350 VT24 Objektorienterad design (60097)

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, 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, there's one session 10-12 and another 13-15. The sessions 10-12 are for those who find the topic hard, and want thorough explanations of the basics. The sessions 13-15 are for those who have already grasped the basics, and want more advanced exercises.
  • 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 in place in Kista, but it's also possible to join in zoom. The queuing system stay a while is used to manage 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 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: 2p
  • Sem 3: 2p
  • Sem 4: 1p
  • Additional higher grade tasks: 1p

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 three seminars, and also completed one additional higher grade task, which gives a total of 3 + 1 = 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
    Note that Leif is working part time. Which days varies from week to week, but the work days are mainly Monday, Tuesday and Friday.
  • Niharika Gauraha, teacher
  • Zia Mohseni, teaching assistant
  • Andreas Westberg, teaching assistant
  • Razan Yakoub, teaching assistant
  • Zubair Yousafzai, teaching assistant

 

 

CC attribution This course content is offered under a CC attribution Links to an external site. license. Content in this course can be considered under this license unless otherwise noted.