Object-Oriented ProgrammingLaajuus (5 cr)
Code: 5051125
Credits
5 op
Objective
After completing the course the student can:
- explain the different phases and main methods of the development of a software product
- explain the concepts class hierarchy, inheritance, and polymorphism, and utilize these in software development
- discuss the possibilities of parallel programming
- apply exception handling mechanisms
- design, implement and document a simple user interface application.
Content
- object-oriented structures
- error handling with exceptions
- threads
- database connection
- software development process and methods
- UML diagrams
Qualifications
Introduction to Programming or equivalent programming skills
Enrollment
02.12.2023 - 31.12.2023
Timing
01.01.2024 - 30.04.2024
Number of ECTS credits allocated
5 op
Mode of delivery
Contact teaching
Unit
Engineering and Business
Campus
Kupittaa Campus
Teaching languages
- Finnish
- English
Seats
20 - 35
Degree programmes
- Degree Programme in Information and Communication Technology
- Degree Programme in Information and Communications Technology
Teachers
- Jari-Pekka Paalassalo
Teacher in charge
Jari-Pekka Paalassalo
Groups
-
PTIVIS22SEmbedded Software and IoT
Objective
After completing the course the student can:
- explain the different phases and main methods of the development of a software product
- explain the concepts class hierarchy, inheritance, and polymorphism, and utilize these in software development
- discuss the possibilities of parallel programming
- apply exception handling mechanisms
- design, implement and document a simple user interface application.
Content
- object-oriented structures
- error handling with exceptions
- threads
- database connection
- software development process and methods
- UML diagrams
Materials
Published at git.dc.turkuamk.fi
Teaching methods
Lectures
Exercises
Final project
Student workload
lectures 12h
hands-on exercises 24h
home exercises 100h
Content scheduling
1. Introduction to Object-Oriented Programming
2. Classes, Objects and Methods
3. Objects and references
4. Class hierarchies
5. Design Patterns
6. Applications
Further information
itslearning course page
Evaluation scale
H-5
Assessment methods and criteria
for a total of 100pts:
40 pts homework submitted
40 pts development process evidence in gitlab
20 pts concepts exam
Assessment criteria, fail (0)
<50 pts
missing homework
No systematic gitlab commit evidence
Assessment criteria, satisfactory (1-2)
50-70 pts
homework missing
Weak evidence of systematic commit cycle
Assessment criteria, good (3-4)
70-90 pts
Clear evidence of systematic commit cycle
Assessment criteria, excellent (5)
>90 pts
Qualifications
Introduction to Programming or equivalent programming skills
Enrollment
01.08.2023 - 23.09.2023
Timing
11.09.2023 - 08.12.2023
Number of ECTS credits allocated
5 op
Mode of delivery
Contact teaching
Unit
Engineering and Business
Campus
Kupittaa Campus
Teaching languages
- Finnish
- English
Seats
20 - 60
Degree programmes
- Degree Programme in Information and Communication Technology
- Degree Programme in Information and Communications Technology
Teachers
- Werner Ravyse
Teacher in charge
Werner Ravyse
Groups
-
ICTMODgameSem
-
PTIVIS22PGame and Interactive Technologies
Objective
After completing the course the student can:
- explain the different phases and main methods of the development of a software product
- explain the concepts class hierarchy, inheritance, and polymorphism, and utilize these in software development
- discuss the possibilities of parallel programming
- apply exception handling mechanisms
- design, implement and document a simple user interface application.
Content
- object-oriented structures
- error handling with exceptions
- threads
- database connection
- software development process and methods
- UML diagrams
Materials
Lecture and supplementary material will be made available at the appropriate timing for each topic or upon request from the students.
Teaching methods
The course will combine instructivist theory lectures with cognitivist problem solving by means of programming tasks and assignements.
Exam schedules
This course does not have a formal exam.
Completion alternatives
All theory lessons and practical sessions will be in face-to-face contact mode at TUAS premises.
The location and timing of each of the lessons will be made available in August 2023.
Student workload
OOP is a 5 ECTS course and each student is thereby expected to work 135 hours. The workload will be broken into:
- 25 - 40% theory
- 25 - 40% practical work (under guidance and supervision)
- 20 - 50% self-exploratory work and problem solving
The workload numbers are purely indicators and will vary from student to student (depending largely on experience).
Content scheduling
This course teaches the basics of object oriented programming (OOP) and uses the C# programming language as practical application tool.
OOP runs from September to December and consists of:
- Theory sessions (all students);
- Practical sessions for students who already have experience in C#;
- Practical sessions for students with little to no experience with C#.
The theory lecture sessions will include theoretical unpacking of OOP concepts and demonstrations (in tutorial fashion) of the topic for that specific phase of the course, while the practical sessions will be an opportunity for students to practice the aspects shown during the lecture sessions. The practical sessions are also intended for students to work on their class assignments, under the assistance of the lecturer, Turku Game Lab engineer, or senior student class assistant.
The course content is delivered on a weekly basis and will cover the following topics:
- The history and low-level theory of computer program execution;
- The C# development environment (Visual Studio) and the basic program structure;
- Data types and how to use them with logical and arithmetical operators;
- Control structures and iteration;
- Overview of OOP principles;
- Abstraction;
- Encapsulation;
- Inheritence;
- Polymorphism
Evaluation scale
H-5
Assessment methods and criteria
This course consists of:
- Practical assignments per topic; and
- An online theory quiz
All work is individual.
Practical assignments are to be returned via ItsLearning and will be graded on a 0-5 basis (failure to return an assignment by the end of the course, will lead to the assignment receiving a grade of 0). The grading criteria (rubric) for each assignment will be made available at the time of receiving the assignment. All practical assignments will be combined to give a practical average.
The theory quiz will be completed via the ItsLearning platform and transposed to a grade of 0-5. The quiz will only be open at the end of the course for a specified time - failure to complete a quiz during the allocated time slot (unless pertinent reasons are given) will result in the quiz receiving a grade of 0.
All assignments and the quiz will contribute to the respective averages - in other words, an assignment that was not attempted will score 0 and still count toward the final grade.
The course is graded as follows:
(Practical average x 0,5) + (Theory quiz x 0,5)
Assessment criteria, fail (0)
Each student must complete:
- At least 4 practical assignments; and
- The theory quiz
If students do not meet this minimum requirement, they will fail the course.
Qualifications
Introduction to Programming or equivalent programming skills
Enrollment
01.05.2023 - 15.09.2023
Timing
04.09.2023 - 15.12.2023
Number of ECTS credits allocated
5 op
Mode of delivery
Contact teaching
Unit
Engineering and Business
Campus
Kupittaa Campus
Teaching languages
- Finnish
Seats
15 - 35
Degree programmes
- Degree Programme in Business Information Technology
Teachers
- Anne Jumppanen
- Annukka Kinnari
Groups
-
PTIETS22swisPTIETS22 Software Development and Information Systems
Objective
After completing the course the student can:
- explain the different phases and main methods of the development of a software product
- explain the concepts class hierarchy, inheritance, and polymorphism, and utilize these in software development
- discuss the possibilities of parallel programming
- apply exception handling mechanisms
- design, implement and document a simple user interface application.
Content
- object-oriented structures
- error handling with exceptions
- threads
- database connection
- software development process and methods
- UML diagrams
Evaluation scale
H-5
Qualifications
Introduction to Programming or equivalent programming skills
Enrollment
30.11.2022 - 18.01.2023
Timing
09.01.2023 - 30.04.2023
Number of ECTS credits allocated
5 op
Mode of delivery
Contact teaching
Unit
Engineering and Business
Campus
Kupittaa Campus
Teaching languages
- Finnish
- English
Degree programmes
- Degree Programme in Information and Communication Technology
- Degree Programme in Information and Communications Technology
Teachers
- Tiina Ferm
Teacher in charge
Tiina Ferm
Groups
-
PTIVIS21SEmbedded Software and IoT
Objective
After completing the course the student can:
- explain the different phases and main methods of the development of a software product
- explain the concepts class hierarchy, inheritance, and polymorphism, and utilize these in software development
- discuss the possibilities of parallel programming
- apply exception handling mechanisms
- design, implement and document a simple user interface application.
Content
- object-oriented structures
- error handling with exceptions
- threads
- database connection
- software development process and methods
- UML diagrams
Materials
The content covers chapters 1-5 and 11
Python 3 Object Oriented Programming by Dusty Phillips, ISBN-13: 978-1849511261
Teaching methods
learning by programming
this is not an online course
Completion alternatives
The course can be compensated with an exam. Enrol by email by 15.1.2023 and tell which programming language you will use e.g. java, python, C# ...
Student workload
reading the material 10* 3 h= 30 h
doing the network exercises 10* 3 h= 30 h
doing the programming exercises 10* 4 h= 40 h
project 35 h
total 135 h student work
Content scheduling
The learning is based on doing
- network exercises
- programming exercises
- to support the learning there are weekly introductory lectures on the topic and exercises
- weekly labs for presenting the exercises and getting support prior to returning the exercises
- programming project work
All the classes are programming labs. A student needs to go through the theory before the labs. Part of the lab exercises is evaluated only if they have been presented in front of the class.
Further information
Course platform is itslearning
NOTE! the course is implemented together with group PTIVISH
Evaluation scale
H-5
Assessment methods and criteria
Assessment is completely based on exercises returned in time. NOTE! exercises returned late are not assessed
- 40% network exercises
- 40% programming exercises
- 20% programming project
If the number of points is 90% of the total the number of credits is 6cr and the grade is 5.
Assessment criteria, fail (0)
< 40% of accessed exercises
Assessment criteria, satisfactory (1-2)
40-59%
Assessment criteria, good (3-4)
60-79%
Assessment criteria, excellent (5)
>80%
Qualifications
Introduction to Programming or equivalent programming skills
Enrollment
30.07.2022 - 31.10.2022
Timing
05.09.2022 - 09.12.2022
Number of ECTS credits allocated
5 op
Mode of delivery
Contact teaching
Unit
Engineering and Business
Campus
Kupittaa Campus
Teaching languages
- Finnish
- English
Degree programmes
- Degree Programme in Information and Communication Technology
- Degree Programme in Information and Communications Technology
Teachers
- Werner Ravyse
Teacher in charge
Werner Ravyse
Groups
-
ICTMODgameSem
-
PTIVIS21PGame and Interactive Technologies
Objective
After completing the course the student can:
- explain the different phases and main methods of the development of a software product
- explain the concepts class hierarchy, inheritance, and polymorphism, and utilize these in software development
- discuss the possibilities of parallel programming
- apply exception handling mechanisms
- design, implement and document a simple user interface application.
Content
- object-oriented structures
- error handling with exceptions
- threads
- database connection
- software development process and methods
- UML diagrams
Materials
Lecture and supplementary material will be made available at the appropriate timing for each topic or upon request from the students.
Teaching methods
The course will combine instructivist theory lectures with cognitivist problem solving by means of programming tasks and assignements.
Exam schedules
This course does not have a formal exam.
Completion alternatives
The theoretical content will be handled largely online while the practical parts of the course have face-to-face facilities and support.
Student workload
OOP is a 5 ECTS course and each student is thereby expected to work 135 hours. The workload will be broken into:
- 25 - 40% theory
- 25 - 40% practical work (under guidance and supervision)
- 20 - 50% self-exploratory work and problem solving
The workload numbers are purely indicators and will vary from student to student (depending largely on experience).
Content scheduling
This course teaches the basics of object oriented programming (OOP) and uses the C# programming language as practical application tool.
OOP runs from September to December and consists of:
- Theory sessions (all students);
- Practical sessions for students who already have experience in C#;
- Practical sessions for students with little to no experience with C#.
The theory lecture sessions will include theoretical unpacking of OOP concepts and demonstrations (in tutorial fashion) of the topic for that specific phase of the course, while the practical sessions will be an opportunity for students to practice the aspects shown during the lecture sessions. The practical sessions are also intended for students to work on their class assignments, under the assistance of the lecturer, Turku Game Lab engineer, or senior student class assistant.
The course content is delivered on a weekly basis and will cover the following topics:
- The history and low-level theory of computer program execution;
- The C# development environment (Visual Studio) and the basic program structure;
- Data types and how to use them with logical and arithmetical operators;
- Control structures and iteration;
- Overview of OOP principles;
- Abstraction;
- Encapsulation;
- Inheritence;
- Polymorphism
Evaluation scale
H-5
Assessment methods and criteria
This course consists of:
- Practical assignments per topic; and
- Online theory quizzes per topic
All work is individual.
Practical assignments are to be returned via ItsLearning and will be graded on a 0-5 basis (failure to return an assignment by the end of the course, will lead to the assignment receiving a grade of 0). The grading criteria (rubric) for each assignment will be made available at the time of receiving the assignment. All practical assignments will be combined to give a practical average.
Theory quizzes will be completed via the ItsLearning platform and each quiz result will be transposed to a grade of 0-5. The quizzes will only be open at very specific time periods - failure to complete a quiz during the allocated time slot (unless pertinent reasons are given) will result in the quiz receiving a grade of 0. All quizzes will be combined to give a theory average.
All assignments and quizzes will contribute to the respective averages - in other words, an assignment that was not attempted will score 0 and still count toward the final grade.
The course is graded as follows:
(Practical average x 0,7) + (Theory average x 0,3)
Assessment criteria, fail (0)
Each student must complete:
- At least 4 practical assignments; and
- At least 5 theory quizzes
If students do not meet this minimum requirement, they will fail the course.
Qualifications
Introduction to Programming or equivalent programming skills
Enrollment
20.07.2022 - 08.09.2022
Timing
29.08.2022 - 16.12.2022
Number of ECTS credits allocated
5 op
Mode of delivery
Contact teaching
Unit
Engineering and Business
Campus
Kupittaa Campus
Teaching languages
- Finnish
Seats
25 - 40
Degree programmes
- Degree Programme in Business Information Technology
Teachers
- Anne Jumppanen
Groups
-
PTIETS21swisPTIETS21 Software Development and Information Systems
Objective
After completing the course the student can:
- explain the different phases and main methods of the development of a software product
- explain the concepts class hierarchy, inheritance, and polymorphism, and utilize these in software development
- discuss the possibilities of parallel programming
- apply exception handling mechanisms
- design, implement and document a simple user interface application.
Content
- object-oriented structures
- error handling with exceptions
- threads
- database connection
- software development process and methods
- UML diagrams
Evaluation scale
H-5
Qualifications
Introduction to Programming or equivalent programming skills
Enrollment
02.12.2021 - 16.01.2022
Timing
01.01.2022 - 30.04.2022
Number of ECTS credits allocated
5 op
Mode of delivery
Contact teaching
Unit
Engineering and Business
Teaching languages
- Finnish
- English
Seats
20 - 40
Degree programmes
- Degree Programme in Information and Communication Technology
- Degree Programme in Information and Communications Technology
Teachers
- Tiina Ferm
Teacher in charge
Tiina Ferm
Groups
-
PTIVIS20SEmbedded Software and IoT
Objective
After completing the course the student can:
- explain the different phases and main methods of the development of a software product
- explain the concepts class hierarchy, inheritance, and polymorphism, and utilize these in software development
- discuss the possibilities of parallel programming
- apply exception handling mechanisms
- design, implement and document a simple user interface application.
Content
- object-oriented structures
- error handling with exceptions
- threads
- database connection
- software development process and methods
- UML diagrams
Materials
Programming tools used:
Examples and model answers are presented using Spyder for editing, managing modules and files, executing code in the console, and checking the code style.
Links to recommended reading and exercises:
SoloLearn
This course covers SoloLearn (Android , IOS) Learn Python 3 module Object-Oriented Programming sub modules 1-9
Python.org
Python tutorial chapter 9
Python 3.7.3 documentation
Documentation
w3schools
w3schools topics Python Classes/Objects, Python Inheritance, Python Modules
Recommended literature:
Python 3 Object Oriented Programming by Dusty Phillips, ISBN-13: 978-1849511261
Learning Python: Powerfull Object-Oriented Programing, 5th Edition, by Mark Lutz
Mastering object-oriented Python : grasp the intricacies of object-oriented programming in Python in order to efficiency build powerful real-world applications by Steven F. Lott
Teaching methods
learning by programming
Completion alternatives
The course can be compensated with an exam 18.1.2022 10.15-12.00. Enrol with email by 15.1.2022 and tell which programming language you will use e.g. java, python, C# ...
Student workload
reading the material 10* 3 h= 30 h
doing the network exercises 10* 3 h= 30 h
doing the programming exercises 10* 4 h= 40 h
project 35 h
total 135 h student work
Content scheduling
The learning is based on doing
- network exercises
- programming exercises
- to support the learning there are weekly introductory videoed lectures on the topic and exercises
- weekly labs for presenting the exercises and getting support prior to returning the exercises
- programming project work
Further information
Course platform is itslearning
Evaluation scale
H-5
Assessment methods and criteria
Assessment is completely based on exercises returned in time.
- 40% network exercises
- 40% programming exercises NOTE! exercises returned late are not assessed
- 20% programming project
Assessment criteria, fail (0)
< 40% of accessed exercises
Assessment criteria, satisfactory (1-2)
40-59%
Assessment criteria, good (3-4)
60-79%
Assessment criteria, excellent (5)
>80%
Qualifications
Introduction to Programming or equivalent programming skills