Skip to main content

Object-Oriented Programming with C# (5 cr)

Code: TE00CW15-3001

General information


Enrollment
01.06.2025 - 17.09.2025
Registration for the implementation has begun.
Timing
17.09.2025 - 28.11.2025
The implementation has not yet started.
Number of ECTS credits allocated
5 cr
Local portion
5 cr
Mode of delivery
Contact learning
Unit
ICT
Campus
Kupittaa Campus
Teaching languages
English
Seats
0 - 60
Degree programmes
Degree Programme in Information and Communications Technology
Degree Programme in Business Information Technology
Degree Programme in Information and Communication Technology
Teachers
Werner Ravyse
Groups
GAIT24A
Game and Interactive Technologies
GAIT24B
Game and Interactive Technologies
Course
TE00CW15

Realization has 20 reservations. Total duration of reservations is 50 h 0 min.

Time Topic Location
Wed 17.09.2025 time 15:00 - 17:00
(2 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_C1042_Myy MYY
Fri 19.09.2025 time 12:00 - 15:00
(3 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_B1038 IT-tila - telakka
Wed 24.09.2025 time 13:00 - 15:00
(2 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_C1042_Myy MYY
Fri 26.09.2025 time 12:00 - 15:00
(3 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_B1038 IT-tila - telakka
Wed 01.10.2025 time 13:00 - 15:00
(2 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_C1042_Myy MYY
Fri 03.10.2025 time 12:00 - 15:00
(3 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_B1038 IT-tila - telakka
Tue 07.10.2025 time 16:00 - 18:00
(2 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_C1042_Myy MYY
Fri 10.10.2025 time 12:00 - 15:00
(3 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_B1038 IT-tila - telakka
Tue 21.10.2025 time 14:00 - 16:00
(2 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_C1042_Myy MYY
Fri 24.10.2025 time 12:00 - 15:00
(3 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_C2027 IT-tila - telakka
Tue 28.10.2025 time 15:00 - 17:00
(2 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
EDU_1002 Moriaberg Esitystila byod
Fri 31.10.2025 time 12:00 - 15:00
(3 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_C2027 IT-tila - telakka
Tue 04.11.2025 time 15:00 - 17:00
(2 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_C1042_Myy MYY
Fri 07.11.2025 time 12:00 - 15:00
(3 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_B1038 IT-tila - telakka
Tue 11.11.2025 time 15:00 - 17:00
(2 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_C1027_Lambda LAMBDA
Fri 14.11.2025 time 12:00 - 15:00
(3 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_B1038 IT-tila - telakka
Tue 18.11.2025 time 15:00 - 17:00
(2 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_C1042_Myy MYY
Fri 21.11.2025 time 12:00 - 15:00
(3 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_B1038 IT-tila - telakka
Tue 25.11.2025 time 15:00 - 17:00
(2 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_C1042_Myy MYY
Fri 28.11.2025 time 12:00 - 15:00
(3 h 0 min)
Object-Oriented Programming with C# TE00CW15-3001
ICT_B1038 IT-tila - telakka
Changes to reservations may be possible.

Evaluation scale

H-5

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);
- Short theory quizzes;
- Practical sessions where one of the practical assignments will be worked through in detail.

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 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;
- Inheritance;
- Polymorphism

Objective

After completing the course, the student will be able to:
- Explain and apply the fundamental principles of object-oriented programming, including encapsulation, inheritance, polymorphism, and abstraction
- Demonstrate proficiency in writing, debugging, and optimizing code, utilizing the programming language's features and libraries effectively
- Show proficiency in using an integrated development environment (IDE), and its respective debugging tools
- Understand and implement multi-threading concepts, creating efficient and responsive applications that can perform multiple tasks concurrently
- Effectively use exception handling mechanisms to manage and respond to runtime errors, ensuring robust and reliable software

Content

This course is based on the OOP language that is most appropriate for the competence track in which it is taught. Regardless of the programming language selected by the lecturer, the course will contain the following topics:
- Setting up an IDE project and introducing debugging tools
- Basic syntax
- Classes and objects
- Encapsulation through access modifiers, variable scope and the “static” keyword
- Abstraction
- Inheritance and polymorphism
- Exception handling
- Regular expressions with custom exceptions
- Multi-threading
- Deadlock resolution

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 assignments.
Short theory quizzes will ensure critical understanding of the fundamental OOP principles.

Exam schedules

This course does not have a formal exam, but there is a summative online quiz that takes place at the end of the course.

Pedagogic approaches and sustainable development

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 at the start of the course.

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).

Evaluation methods and criteria

Students will have 7 assignments that are peer assessed​ (a detailed rubric will be available in ItsLearning​)
- Your average grade for all the assignments will count 0,3 toward your final grade​
- At least 6 assignments must be completed.

There will be 7 progress quizzes that test the fundamentals of OOP principles and C# syntax:​
- The quizzes are completed through ItsLearning
- All progress quizzes must be completed​
- The average of the progress quizzes will count 0,2 toward your final grade​

There will be a Final quiz​ that tests the student's OOP with C# comprehension and problem solving skills
- Students have 2 weeks to complete it​
- The final quiz score will count 0,5 toward your final grade​

FINAL GRADE​
(Assignments grade x 0,3) + (Progress quiz grade x 0,2) + (Final quiz grade x 0,5)​

Failed (0)

Failure to complete 6 assignments, 7 progress quizzes and the final quiz will result in failing the course.

Assessment criteria, satisfactory (1-2)

All assignments are graded according to a rubric, transposed to a scale of 0 to 5 and weighted as follows:
(Assignments grade x 0,3) + (Progress quiz grade x 0,2) + (Final quiz grade x 0,5)​

In terms of the course outcomes:
- Understanding of OOP Principles - Demonstrating limited understanding of core OOP concepts (e.g., encapsulation, inheritance, polymorphism, abstraction); misusing or omitting them in code
- Grasp of Fundamental C# Syntax and Constructs - Struggling with basic C# syntax (e.g., data types, control structures, methods, classes); frequent syntax errors

Assessment criteria, good (3-4)

All assignments are graded according to a rubric, transposed to a scale of 0 to 5 and weighted as follows:
(Assignments grade x 0,3) + (Progress quiz grade x 0,2) + (Final quiz grade x 0,5)​

In terms of the course outcomes:
- Understanding of OOP Principles - Showing basic understanding of OOP principles and applying them correctly in the task scenarios
- Grasp of Fundamental C# Syntax and Constructs - Understanding and using fundamental C# constructs correctly in most cases

Assessment criteria, excellent (5)

All assignments are graded according to a rubric, transposed to a scale of 0 to 5 and weighted as follows:
(Assignments grade x 0,3) + (Progress quiz grade x 0,2) + (Final quiz grade x 0,5)​

In terms of the course outcomes:
- Understanding of OOP Principles - Demonstrating strong understanding and applying OOP principles effectively and appropriately in complex or real-world scenarios
- Grasp of Fundamental C# Syntax and Constructs - Using C# syntax fluently, including advanced constructs (e.g., multi-threading, delegates, exception handling) with minimal errors

Qualifications

Introduction to Programming or equivalent programming skills

Go back to top of page