Object Oriented Programming
Structure Type: | Study unit |
---|---|
Code: | IITB8003 |
Curriculum: | IT 2020 |
Level: | Bachelor of Engineering |
Year of Study: | 2 (2021-2022) |
Semester: | Autumn |
Credits: | 5 cr |
Responsible Teacher: | Mäkinen, Seppo |
Language of Instruction: | English |
Courses During the Academic Year 2021-2022
Impl. | Group(s) | Study Time | Teacher(s) | Language | Enrolment |
---|---|---|---|---|---|
3003 | IT2020-2, IT2020-2A, IT2020-2B | 2021-08-23 – 2021-12-19 | Johan Dams | English | 2021-08-01 – 2021-09-06 |
3004 | IT2020-2, IT2020-2C, IT2020-2D | 2021-08-23 – 2021-12-19 | Johan Dams, Ghodrat Moghadampour, Seppo Mäkinen | English | 2021-08-01 – 2021-09-06 |
Learning Outcomes
After the course, the student will know how to routinely develop small object oriented programs, and the students will be able to develop and implement a larger programming project in a team. The student will become familiar with object oriented programming techniques such as classes, methods, inheritance, polymorphism and serialization.
Student's Workload
135 h, which contains 70 h of scheduled contact studies.
The assessment of student’s own learning 1 h is included in contact lessons.
Prerequisites / Recommended Optional Courses
Introduction to Programming.
Contents
Basic skills: Compiling a program and the phases of compiling, byte code and object code, deployment of a program. Classes, constructors, class members, object instantiation, using instance variables and methods. Inheritance. Composite objects. String manipulation. Input and output operations, formatting output. Reading and writing files. Basics of dynamic data structures. Exception handling. Collaboration of objects.
Supplementary skills: Properties of preprocessor. Function overloading and default values of parameters. Method polymorphism, overriding, virtual functions, interfaces/multiple inheritance. ArrayList, HashMap/vector, map. Using existing class hierarchy and interfaces.
Special skills: Abstract classes. Object cloning. Graphical user interface.
Recommended or Required Reading and Other Learning Resources/Tools
Material on the course Web site.
Mode of Delivery / Planned Learning Activities and Teaching Methods
Problem-based learning. Solving practical cases of working life.
Assessment Criteria
Grade 5: The student understands most course concepts, is able to apply them and is capable of developing applications with advanced features.
Grade 3: The student understands a considerable portion of course concepts, is able to apply them and is capable of developing applications with moderate number of functions.
Grade 1: The student understands basic course concepts, is able to apply them and is capable of developing simple applications.
Assessment Methods
Continuous assessment, the grade is based on homework exercises, project works and an examination.