Skip to main content

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

01.12.2024 - 13.01.2025

Timing

13.01.2025 - 30.04.2025

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • Finnish
  • English
Seats

0 - 50

Degree programmes
  • Degree Programme in Information and Communication Technology
  • Degree Programme in Information and Communications Technology
Teachers
  • Tiina Ferm
Groups
  • PTIVIS23H
    Health Technology

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

Exam schedules

Assessment is completely based on exercises.
The complete course can be completed with an exam. The date will be agreed upon during the first lesson, but must be within the 1st month (September).
There is no retake for the compensating exam.

Completion alternatives

The complete course can be completed with an exam. The date will be agreed upon during the first lesson, but must be within the 1st month (September).
The exam is an e-exam done in TUAS e-exam room using Ville system.
The compensating exam can only be taken if a student is enrolled to the course.

Student workload

reading the material 10* 3 h = 30 h
doing the network exercises 7 * 5 h = 35 h
doing the programming exercises 10 * 7 h = 70 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 followed with programming exercises



All the classes are programming labs. A student needs to go through the theory before the labs.

Further information

the course uses itslearning as a learning platform

Evaluation scale

H-5

Assessment methods and criteria

Assessment is completely based on exercises. NOTE! exercises returned late are not assessed



- 5 mandatory class programming exercises, assessment pass/fail during the class and returned by the end of the day.
- 4 quiz, each 5 points
- 4 programming labs, each 5 points


if all 5 mandatory class exercises are passed the grade is 1
each 10 points from quizzes and labs add 1 grade
If a student fails a mandatory class exercise, points from quizzes and labs are used to compensate it, 10 points compensates one class exercise.

Assessment criteria, fail (0)

missing mandatory accepted class exercises and not enough points to compensate them

Assessment criteria, satisfactory (1-2)

all mandatory class exercises done (grade 1) and additional 10 points (grade 2)

Assessment criteria, good (3-4)

all mandatory class exercises done (grade 1) and additional 20 points (grade 3) or 30 (grade 4)

Assessment criteria, excellent (5)

all mandatory class exercises done (grade 1) and additional 40 points (grade 5)

Qualifications

Introduction to Programming or equivalent programming skills

Enrollment

01.12.2024 - 13.01.2025

Timing

13.01.2025 - 30.04.2025

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • Finnish
  • English
Seats

25 - 70

Degree programmes
  • Degree Programme in Information and Communication Technology
  • Degree Programme in Business Information Technology
  • Degree Programme in Information and Communications Technology
Teachers
  • Sami Pyöttiälä
  • Annukka Kinnari
Scheduling groups
  • Demoryhmä 1 (Size: 0. Open UAS: 0.)
  • Demoryhmä 2 (Size: 0. Open UAS: 0.)
Groups
  • PTIVIS23O
    Software Engineering and Project Management
  • PTIETS23sepm
    Software Engineering and Project Management
Small groups
  • Demogroup 1
  • Demogroup 2

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

In the workspace of this course.

Teaching methods

Reading the given material, studying and trying in practice.

Coding the programming exercises (weekly) and problem solving in practice.

Coding, documenting and demonstrating the exercise work (set task). Attendance.

Exam schedules

No exam.

International connections

Self assessment
Student regularly pays attention to own learning and studying.
Students reflect their own learning, for example, by answering the following questions:
- Topic area: What did I know about the topic beforehand? What did I think about the area?
- While coding: Thoughts about the challenge level and interest of the exercise.
- Afterwards: What did I learn?
Moreover, students learn to assess their own work regarding every assignment using scale: Excellent - Good - Sufficient.

Sustainable development is discussed for example by considering the efficiency of algorithmic solutions (electricity, computing resources), code re-use with the mechanisms of the object-oriented paradigm (work, human resources) and avoiding the unnecessary use of AI (electricity).

Completion alternatives

1) Demonstrate e.g. a real work life project and showing that student masters the contents of this course.
2) mooc.fi contains a programming MOOC, whose contents covers the Introduction to Programming and Advanced Programming courses of the University of Helsinki. Courses are 10 credits together (5+5). MOOC in question contains object oriented material at the end (I.e., parts 8-14).

Student workload

To pass this course requires acceptably finished coding exercises as well as exercise work and return in time.

5 credits: 27 * 5 = 135 hours

Weekly work amount: 135 hours / 14 weeks = 9.6 hours a week.
The course includes 3 hours of guided instruction and 2 hours of assignments where teacher(s) are present.

Content scheduling

The course is given between Jan - Apr 2025.

After passing the course a student:
- knows the basic concepts of object-oriented programming, for example: object, class, attribute, class variable, method, constructor, inheritance, class hierarchy, polymorphism, exceptions
- can apply the previous concepts in practice
- can design and define classes and construct coherent wholes of classes
- recognizes methods that can affect code re-use
- can apply object-oriented paradigm as a part of algorithmic problem solving
- can describe the main phases of the development of software product and the most important methods
- can discuss about the possibilities of parallel programming
- can use exceptions in error handling
- can plan, implement, test and document an application
- uses UML for planning and documentation
- uses style guide and good coding practices

Further information

Maximum of 3 open university students can take this course.

Also take into account that students shall have passed introduction to programming course or have similar skills.

Evaluation scale

H-5

Qualifications

Introduction to Programming or equivalent programming skills

Enrollment

01.06.2024 - 06.09.2024

Timing

02.09.2024 - 20.12.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 - 60

Degree programmes
  • Degree Programme in Information and Communication Technology
  • Degree Programme in Information and Communications Technology
Teachers
  • Jari-Pekka Paalassalo
Scheduling groups
  • Opetusryhmä A (Size: 18. Open UAS: 0.)
  • Opetusryhmä B (Size: 18. Open UAS: 0.)
Groups
  • PTIVIS23S
    Embedded Software and IoT
Small groups
  • Lab Group A
  • Lab Group B

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

Student workload

Online lectures 12h
supervised exercises 36h
final exam and preparation 8h
independent study 74h

Content scheduling

1. Introduction to Object-Oriented Programming
2. Classes, Objects and Methods
3. Objects and references
4. Class hierarchies
5. Module tests with objects
6. Design Patterns

Further information

itslearning course page

Evaluation scale

H-5

Assessment methods and criteria

for a total of 100pts:
50 pts homework submitted
30 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.06.2024 - 06.09.2024

Timing

02.09.2024 - 18.12.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Engineering and Business

Campus

Kupittaa Campus

Teaching languages
  • Finnish
Seats

30 - 70

Degree programmes
  • Degree Programme in Information and Communication Technology
  • Degree Programme in Business Information Technology
Teachers
  • Anne Jumppanen
  • Annukka Kinnari
Groups
  • PTIVIS23W
    Software Development and Information Systems
  • PTIETS23swis
    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

Materials

Opintojakson työtilassa itslearningissa.

Teaching methods

Materiaalin lukeminen ja ohjelmointiharjoitusten tekeminen ohjatusti sekä itsenäisesti.

Harjoitustyö opettaa soveltamaan opittuja asioita laajemman sovelluksen näkökulmasta.

Materiaali pitää sisällään olio-ohjelmoinnin teoriaa sekä teoriaa valaisevia kuvia ja esimerkkikoodeja.

Exam schedules

Opintojaksolla ei ole tenttiä.

International connections

Itsearviointi
Opiskelijan tulee kiinnittää säännöllisesti huomiota omaan opiskeluunsa ja oppimiseensa.
Opiskelijaa pyydetään tekemään muistiinpanoja jokaisen viikkotehtäväsarjan kohdalla pohtien ainakin seuraavia asioita
* Tehtävän teema: Mitä tiesin teemasta etukäteen? Mitä ajatuksia teema herätti?
* Tehtävää tehdessä: Esiin nousseet ajatukset kohdistuen tehtävien vaativuustasoon ja mielenkiintoon
* Tehtävän jälkeen: Mitä opin?
sekä antamaan itselleen arvosana työskentelystään jokaisen viikkotehtäväsarjan kohdalla asteikolla: Erinomainen - Hyvä - Tyydyttävä.

Toteutuksella noudatetaan jatkuvan tekemisen ja arvioinnin mallia siten, että opiskelijan tulee tehdä, palauttaa ja demota kurssin tehtäviä säännöllisesti noudattaen kurssin tehtäville annettuja aikatauluja. Tällä tähdätään opiskelijan mahdollisuuteen seurata itsenäisesti omaa edistymistään ja oppimistaan kurssin aikana.

Jatkuva aktiivinen työskentely ja oppiminen tukevat ohjelmoinnissa esiintyvää spiraalioppimisen mallia.

Completion alternatives

1) Antamalla näytön esim. tekemästään työelämän projektista, jolla opiskelija osoittaa hallitsevansa opintojakson sisällön.
2) Sivustolla mooc.fi kuvataan ohjelmoinnin MOOC, joka vastaa sisällöltään Helsingin yliopiston tietojenkäsittelytieteen laitoksen kursseja Ohjelmoinnin perusteet ja Ohjelmoinnin jatkokurssi. Kurssit vastaavat yhteensä kymmentä opintopistettä (5+5).
Olio-ohjelmoinnin voi suorittaa tekemällä ohjelmoinnin MOOCin Java-kielisen loppuosan.

Toteutuksen valinnaisista suoritustavoista pitää aina keskustella kurssin opettajan kanssa heti toteutuksen alkaessa.

Student workload

Opintojakson suoritus edellyttää hyväksytysti suoritettujen harjoitustehtäväsarjojen tekemistä ja palauttamista määräaikaan mennessä. Lisäksi opiskelijan tulee esitellä tekemänsä tehtäväsarjat kurssin demotuntien aikana.

5 opintopistettä: 27 * 5 = 135 tuntia

Opintojakso ajoittuu aikavälille 1.9.2024 - 16.12.2024

Viikkotyömäärä: 135 tuntia / 13 viikkoa = 10,4 tuntia viikossa

Kurssilla annetaan kontaktiopetusta 5h viikkotasolla. Tämä koostuu luento-osiosta (3 h) ja koodiklinikasta (2 h). Luento-osio koostuu uusien asioiden teoriaopetuksesta ja näihin liittyvistä koodiesimerkeistä. Koodiklinikalla tehdään ohjelmoinnin harjoituksia yhdessä ja opiskelijat demoavat itsenäisesti tekemiään tehtäviä.

Toteutuksella seurataan opiskelijan läsnäoloa.

Content scheduling

This course is held in Finnish

Opintojakson suoritettuaan opiskelija osaa:
- kuvailla ohjelmistotuotteen kehitystyön vaiheet ja keskeiset menetelmät
- selittää käsitteet luokkahierarkia, periytyvyys ja monimuotoisuus sekä soveltaa niitä ohjelmistokehityksessä
- havainnoida säännöllisten lausekkeiden ja funktionaalisen ohjelmoinnin käyttömahdollisuuksia
- soveltaa poikkeusrakenteita
- suunnitella, toteuttaa ja dokumentoida yksinkertaisen käyttöliittymäsovelluksen.
Sisältö
- keskeisimmät oliorakenteet
- virheiden käsittely poikkeuksilla
- tietokantayhteyden luominen
- ohjelmistotuotannon prosessi ja menetelmät
- UML kaavioiden ymmärtäminen ja niiden piirtäminen

Further information

Kurssin viestintäkanava on itslearning.

Avoimen AMK:n opiskelijoita otetaan mukaan opintojaksolle max 3.
Lue myös opintojakson edeltävyysehdot.

Evaluation scale

H-5

Assessment methods and criteria

Arvosanan muodostuminen

Opintojakso pitää sisällään 8 viikkotehtäväsarjaa, joihin sisältyy ohjelmoinnin teorian opiskelua sekä aiheeseen liittyviä ohjelmointitehtäviä. Opiskelija saa pisteitä opettajalle demoamistaan tehtävistä.
Jokaisen viikkotehtäväsarjan maksimipistemäärä on 10 pistettä.
Viikkotehtäväsarjojen maksimipistemäärä on 80 pistettä.

Kurssilla tehdään harjoitustyö, jossa opiskelija tekee laajemman sovelluksen. Harjoitustyössä opiskelija pääsee soveltamaan oppimiaan asioita ja osoittamaan osaamistaan. Harjoitustyön tuotos demotaan opiskelijaryhmälle.
Harjoitustyön maksimipistemäärä on 40 pistettä.

Jos kurssin edetessä näyttää siltä, että opiskelija ei saavuta kurssin läpäisyyn tarvittavaa pistemäärää, niin hänen kanssaan sovitaan puuttuvien tehtävien tekemisestä takautuvasti. Näistä tehtävistä hän voi saada maksimissaan puolet tarjolla olevasta pistemäärästä. Opiskelijan tulee kerätä läpäisyyn vaadittava pistemäärä ennen kurssin loppumispäivämäärää.

Koko kurssilla on siis jaossa 120 pistettä.

Pistemäärä 48 (40%) -> arvosana 1
Pistämäärä 66 (55%) -> arvosana 2
Pistemäärä 84 (70%) -> arvosana 3
Pistemäärä 96 (80%) -> arvosana 4
Pistemäärä 108 (90%) -> arvosana 5

Assessment criteria, fail (0)

Katso yllä arvioinnin kohteet:

Opintojakson arvosana muodostuu opiskelijan tekemien, palauttamien ja demoamien tehtävien lukumäärän ja laadun perusteella.

Opiskelijan arvosana on hylätty, mikäli pistemäärä on alle 40 % maksimipistemäärästä.

Assessment criteria, satisfactory (1-2)

Katso yllä arvioinnin kohteet:

Opintojakson arvosana muodostuu opiskelijan tekemien, palauttamien ja demoamien tehtävien lukumäärän ja laadun perusteella.

Opiskelijan arvosana on 1, mikäli pistemäärä on yli 40 % mutta alle 55% maksimipistemäärästä.
Opiskelijan arvosana on 2, mikäli pistemäärä on yli 55 % mutta alle 70% maksimipistemäärästä.

Assessment criteria, good (3-4)

Katso yllä arvioinnin kohteet:

Opintojakson arvosana muodostuu opiskelijan tekemien, palauttamien ja demoamien tehtävien lukumäärän ja laadun perusteella.

Opiskelijan arvosana on 3, mikäli pistemäärä on yli 70 % mutta alle 80% maksimipistemäärästä.
Opiskelijan arvosana on 4, mikäli pistemäärä on yli 80 % mutta alle 90% maksimipistemäärästä.

Assessment criteria, excellent (5)

Katso yllä arvioinnin kohteet:

Opintojakson arvosana muodostuu opiskelijan tekemien, palauttamien ja demoamien tehtävien lukumäärän ja laadun perusteella.

Opiskelijan arvosana on 5, mikäli pistemäärä on vähintään 90% maksimipistemäärästä.

Qualifications

Introduction to Programming or equivalent programming skills

Enrollment

29.05.2024 - 23.09.2024

Timing

02.09.2024 - 18.12.2024

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
  • Timo Haavisto
  • Werner Ravyse
Groups
  • ICTMODgameSem
  • PTIVIS23P
    Game 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 assignments.

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.

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

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 an online delivery 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

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
  • PTIVIS22S
    Embedded 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
  • PTIVIS22P
    Game 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
  • PTIETS22swis
    PTIETS22 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
  • PTIVIS21S
    Embedded 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
  • PTIVIS21P
    Game 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
  • PTIETS21swis
    PTIETS21 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
  • PTIVIS20S
    Embedded 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