Information Systems A: Object-Oriented Programming I
Syllabus, Bachelor's level, 2IS006
- Code
- 2IS006
- Education cycle
- First cycle
- Main field(s) of study and in-depth level
- Information Systems G1N
- Grading system
- Fail (U), Pass (G), Pass with distinction (VG)
- Finalised by
- The Department Board, 8 April 2021
- Responsible department
- Department of Informatics and Media
Entry requirements
General entry requirements and Mathematics 3b or 3c/Mathematics C, Social Studies 1b or 1a1+1a2, English 6
Learning outcomes
In terms of knowledge and understanding, after completing the course the student should be able to
- describe central object-oriented terms such as encapsulation, information hiding, composition, polymorphism, inheritance, and abstraction,
- describe the relationship between the object-oriented paradigm, and other programming paradigms,
- describe coding conventions, coding principles, design patterns, and anti-patterns.
In terms of skills and abilities, after completing the course the student should be able to
- design, motivate and implement object-oriented programs based on given problems,
- construct and interpret modelling diagrams as well as translate diagrams to and from code,
- apply simple design patterns.
In terms of judgement and approach, after completing the course the student should be able to
- discuss maintainability using object-oriented terminology in the context of coding conventions, coding principles, design patterns, and anti-patterns.
Content
The course acts as an introduction to object-oriented programming and focuses on independent problem solving with the help of object-oriented techniques. The course also deals with the ability to identify, discuss and evaluate advantages and disadvantages of different solutions in relation to changing requirements over time. The course emphasises understanding the object-oriented paradigm in relation to other programming paradigms such as procedural and declarative programming.
The course deals with foundational concepts such as encapsulation, information hiding, composition, and polymorphism. More advanced concepts such as coding conventions, coding principles, design patterns (i.e., common solutions to recurring problems) and anti-patterns (i.e., counterproductive, but common, solutions) are also covered.
Instruction
Lectures, laboratory exercises and supervision.
Assessment
The course is examined through assignments and an exam.
If there are special reasons for doing so, an examiner may make an exception from the method of assessment indicated and allow a student to be assessed by another method. An example of special reasons might be a certificate regarding special pedagogical support from the University's disability coordinator or a decision by the department's working group for study matters.
Reading list
- Reading list valid from Autumn 2022
- Reading list valid from Autumn 2021
- Reading list valid from Autumn 2020
- Reading list valid from Autumn 2019
- Reading list valid from Autumn 2018
- Reading list valid from Autumn 2017
- Reading list valid from Autumn 2016
- Reading list valid from Autumn 2015
- Reading list valid from Autumn 2013, version 2
- Reading list valid from Autumn 2013, version 1
- Reading list valid from Autumn 2010