Introduction to ProgrammingLaajuus (5 cr)
Code: TE00CS88
Credits
5 op
Objective
After completing the course, the student will be able to:
describe the program flow on a diagram
discuss the choice of an applicable solution model
define basic concepts related to programming such as source code, compiler, variable and type
read and understand the finished program code
utilize selection and loop structures
use exception handling mechanisms
design and implement simple application programs, and document and test them
Content
structure of software application
different development environments
reception of input data required in the program
processing of data on the program in order to solve the given problem
presentation of result
data variables and data types, simple data structures
functions and parameters
conditional clauses and loops
exceptions
file handling
testing and documentation of the program
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
Campus
Kupittaa Campus
Teaching languages
- English
Seats
0 - 60
Degree programmes
- Degree Programme in Business Information Technology
- Degree Programme in Information and Communications Technology
Teachers
- Noora Maritta Nieminen
Groups
-
PINFOS24CPINFOS24C
-
PINFOS24APINFOS24A
-
PINFOS24BPINFOS24B
Objective
After completing the course, the student will be able to:
describe the program flow on a diagram
discuss the choice of an applicable solution model
define basic concepts related to programming such as source code, compiler, variable and type
read and understand the finished program code
utilize selection and loop structures
use exception handling mechanisms
design and implement simple application programs, and document and test them
Content
structure of software application
different development environments
reception of input data required in the program
processing of data on the program in order to solve the given problem
presentation of result
data variables and data types, simple data structures
functions and parameters
conditional clauses and loops
exceptions
file handling
testing and documentation of the program
Materials
Recommended literature:
Python Basics: A Practical Introduction to Python3 4th edition by David Amos,Dan Bader,Joanna Jablonski, Fletcher Heisler, ISBN:9781775093329 (paperback), ISBN:9781775093336 (electronic)
AI-Assisted Programming by Tom Taulli, Released April 2024, Publisher(s): O'Reilly Media, Inc., ISBN: 9781098164560
Programming tools
- Python 3.12.x
- Visual Studio Code (with Extensions)
- Git / Github
- Github Copilot or other AI programming assistants
Teaching methods
Learning by programming
Learning efficient and responsible use of AI programming copilots
Theory and practical examples shared during lectures
Practical understanding gained in practice sessions
Exam schedules
No exam
International connections
Students will learn theoretical concepts and gain programming good practices in lectures.
Students will put their understanding into practice in weekly assignments.
Course material will be entirely digital.
Student workload
Contact hours 14x2h (theory) + 12x2h (practice) = 52h
Independent study continuously throughout the course 80h
TOTAL approx. 130h
Theory lectures are held onsite.
Programming labs in subgroups A, B and C are also onsite.
Content scheduling
TOPICS / CONTENTS
week 3: Introduction
week 4: Built-in functions print and input, variables and types
week 5: Arithmetic and bitwise operators
week 6: Branching
week 7: Loops
week 8: Winter Break - no teaching
week 9: Breaking loops
week 10: Collections
week 11: Collections and loops
week 12: Functions
week 13: Function parameters and return values
week 14: Modularity and unit testing
week 15: GUI, events and callback functions
week 16: File IO (text and binary files)
week 17-: Basics of exception handling, try-except-finally, with
Further information
ItsLearning
Email
Evaluation scale
H-5
Assessment methods and criteria
The course consists of 10 weekly assignment series, which include studying programming theory and completing related programming tasks. Students earn points by demonstrating their work to the instructor.
During the course, students complete a project in which they create a more extensive application (applying the knowledge they have gained during the course and innovatively utilizing AI programming copilots). This project allows students to apply what they have learned and demonstrate their skills.
Each weekly assignment can earn a maximum of 10 points. The overall assessment of the weekly assignment series follows the following scale:
40 points -> grade 1
55 points -> grade 2
70 points -> grade 3
80 points -> grade 4
90 points -> grade 5
The project is assessed separately on a scale of 1-5.
The student's course grade is the average of the weekly assignments and the project. Both components must be passed.
If, during the course, it appears that a student will not achieve the required points to pass, they will be given the opportunity to complete missing assignments retroactively. For these assignments, they can earn up to half of the available points. The student must collect the required points before the course end date.
Assessment criteria, fail (0)
Student
• does not know the basic concepts of programming
• cannot read or write simple programs
Assessment criteria, satisfactory (1-2)
Student
• knows such basic concepts of programming as variables, control structures and functions
• understands how the program flow is going
• can read or write simple programs
Assessment criteria, good (3-4)
Student
• knows such basic concepts of programming as variables, control structures, functions, classes, objects and arrays
• understands how the program flow is going and can find easy errors
• can make simple programs
Assessment criteria, excellent (5)
Student
• knows such basic concepts of programming as variables, control structures and functions, classes and objects
• utilizes some data Structures such as arrays, lists and hash tables.
• understands how the program flow is going and can use debugger and error-handling
• can make programs that include aforesaid concepts.
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
Campus
Kupittaa Campus
Teaching languages
- Finnish
Seats
25 - 40
Degree programmes
- Degree Programme in Business Information Technology
Teachers
- Noora Maritta Nieminen
Groups
-
PTIVIS24BPTIVIS24B
-
PTIVIS24CPTIVIS24C
-
PTIVIS24APTIVIS24A
Objective
After completing the course, the student will be able to:
describe the program flow on a diagram
discuss the choice of an applicable solution model
define basic concepts related to programming such as source code, compiler, variable and type
read and understand the finished program code
utilize selection and loop structures
use exception handling mechanisms
design and implement simple application programs, and document and test them
Content
structure of software application
different development environments
reception of input data required in the program
processing of data on the program in order to solve the given problem
presentation of result
data variables and data types, simple data structures
functions and parameters
conditional clauses and loops
exceptions
file handling
testing and documentation of the program
Materials
Suositeltu kirjallisuus:
"Python Basics: A Practical Introduction to Python3", 4. painos, David Amos, Dan Bader, Joanna Jablonski, Fletcher Heisler, ISBN:9781775093329 (paperback), ISBN:9781775093336 (sähköinen)
"AI-Assisted Programming" by Tom Taulli, Julkaistu huhtikuussa 2024, Kustantaja: O'Reilly Media, Inc., ISBN: 9781098164560
Ohjelmointityökalut:
Python 3.12.x
Visual Studio Code (laajennuksilla)
Git / Github
Github Copilot tai muu AI-ohjelmointiassistentti
Teaching methods
Oppiminen ohjelmoimalla
Tehokkaan ja vastuullisen AI-ohjelmointiassistenttien käytön oppiminen
Teoriaa ja käytännön esimerkkejä jaetaan luentojen aikana
Käytännön ymmärrystä hankitaan harjoitustunneilla
Exam schedules
Ei tenttiä
International connections
Opiskelijat oppivat teoreettisia käsitteitä ja saavat ohjelmoinnin parhaita käytäntöjä luennoilla.
Opiskelijat soveltavat ymmärrystään käytäntöön viikkotehtävissä.
Kurssimateriaali on täysin digitaalinen.
Student workload
Kontaktiopetustunnit 14x2h (teoria) + 12x2h (harjoitukset) = 52h
Itseopiskelu jatkuvasti kurssin ajan 80h
YHTEENSÄ noin 130h
Teorialuennot pidetään lähiopetuksena.
Ohjelmointiharjoitukset alaryhmissä A, B ja C ovat myös lähiopetuksena.
Content scheduling
AIHEET / SISÄLLÖT
viikko 3: Johdanto
viikko 4: Sisäänrakennetut funktiot print ja input, muuttujat ja tyypit
viikko 5: Aritmeettiset ja bittitason operaattorit
viikko 6: Haarautuminen
viikko 7: Toistorakenteet
viikko 8: Talviloma - ei opetusta
viikko 9: Toistorakenteiden katkaisu
viikko 10: Kokoelmat
viikko 11: Kokoelmat ja toistorakenteet
viikko 12: Funktiot
viikko 13: Funktion parametrit ja paluuarvot
viikko 14: Modularisuus ja yksikkötestaus
viikko 15: Käyttöliittymä, tapahtumat ja callback-funktiot
viikko 16: Tiedostojen käsittely (teksti- ja binääritiedostot)
viikko 17-: Poikkeusten käsittelyn perusteet, try-except-finally, with
Further information
ItsLearning
Sähköposti
Evaluation scale
H-5
Assessment methods and criteria
urssi sisältää 10 viikkotehtäväsarjaa, joihin sisältyy ohjelmoinnin teorian opiskelua ja aiheeseen liittyvien ohjelmointitehtävien suorittamista. Opiskelija saa pisteitä opettajalle demonstroimalla tehtäviä.
Kurssilla tehdään harjoitustyö, jossa opiskelija luo laajemman sovelluksen (soveltaen kurssin aikana opittuja tietoja ja hyödyntäen innovatiivisesti AI-ohjelmointiassistentteja). Tämä harjoitustyö antaa opiskelijalle mahdollisuuden soveltaa oppimaansa ja osoittaa osaamisensa.
Jokaisesta viikkotehtävästä voi saada maksimissaan 10 pistettä. Viikkotehtäväsarjan kokonaisarviointi noudattaa seuraavaa kaavaa:
40 pistettä -> arvosana 1
55 pistettä -> arvosana 2
70 pistettä -> arvosana 3
80 pistettä -> arvosana 4
90 pistettä -> arvosana 5
Harjoitustyö arvioidaan erikseen asteikolla 1-5.
Opiskelijan kurssiarvosana muodostuu viikkotehtävien ja harjoitustyön keskiarvosta. Molemmat osiot täytyy olla hyväksyttyjä.
Jos kurssin edetessä näyttää siltä, että opiskelija ei saavuta läpäisyyn vaadittavaa pistemäärää, hänelle annetaan mahdollisuus suorittaa puuttuvat tehtävät takautuvasti. Näistä tehtävistä hän voi saada maksimissaan puolet tarjolla olevista pisteistä. Opiskelijan tulee kerätä vaadittavat pisteet ennen kurssin päättymispäivää.
Assessment criteria, fail (0)
Opiskelija
• ei tunne ohjelmoinnin peruskäsitteitä
• ei pysty lukemaan tai kirjoittamaan yksinkertaisia ohjelmia
Assessment criteria, satisfactory (1-2)
Opiskelija
• tuntee ohjelmoinnin peruskäsitteet, kuten muuttujat, kontrollirakenteet ja funktiot
• ymmärtää ohjelman kulun
• osaa lukea ja kirjoittaa yksinkertaisia ohjelmia
Assessment criteria, good (3-4)
Opiskelija
• tuntee ohjelmoinnin peruskäsitteet, kuten muuttujat, kontrollirakenteet, funktiot, luokat, oliot ja taulukot
• ymmärtää ohjelman kulun ja löytää yksinkertaiset virheet
• osaa tehdä yksinkertaisia ohjelmia
Assessment criteria, excellent (5)
Opiskelija
• tuntee ohjelmoinnin peruskäsitteet, kuten muuttujat, kontrollirakenteet, funktiot, luokat ja oliot
• hyödyntää joitain tietorakenteita, kuten taulukot, listat ja hajautustaulut
• ymmärtää ohjelman kulun ja osaa käyttää debuggeria ja virheenkäsittelyä
• osaa tehdä ohjelmia, jotka sisältävät edellä mainittuja käsitteitä.
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
Campus
Kupittaa Campus
Teaching languages
- Finnish
Seats
25 - 40
Degree programmes
- Degree Programme in Business Information Technology
Teachers
- Sami Pyöttiälä
Groups
-
PTIVIS24DPTIVIS24D
-
PTIVIS24EPTIVIS24E
-
PTIVIS24FPTIVIS24F
Objective
After completing the course, the student will be able to:
describe the program flow on a diagram
discuss the choice of an applicable solution model
define basic concepts related to programming such as source code, compiler, variable and type
read and understand the finished program code
utilize selection and loop structures
use exception handling mechanisms
design and implement simple application programs, and document and test them
Content
structure of software application
different development environments
reception of input data required in the program
processing of data on the program in order to solve the given problem
presentation of result
data variables and data types, simple data structures
functions and parameters
conditional clauses and loops
exceptions
file handling
testing and documentation of the program
Materials
Suositeltu kirjallisuus:
"Python Basics: A Practical Introduction to Python3", 4. painos, David Amos, Dan Bader, Joanna Jablonski, Fletcher Heisler, ISBN:9781775093329 (paperback), ISBN:9781775093336 (sähköinen)
"AI-Assisted Programming" by Tom Taulli, Julkaistu huhtikuussa 2024, Kustantaja: O'Reilly Media, Inc., ISBN: 9781098164560
Ohjelmointityökalut:
Python 3.12.x
Visual Studio Code (laajennuksilla) tai jokin vastaava
Teaching methods
Keskeisin oppimismenetelmä on ohjelmointitehtävien ratkaisemisen yrittäminen käytännössä, virheiden tekeminen ja niiden korjaamisen harjoittelu sekä toisinaan valmiin ratkaisun tai osaratkaisun hyödyntäminen. Tehokkaan ja vastuullisen AI-ohjelmointiassistenttien käytön pohtiminen ja oppiminen. Ohjelmoinnin asioista keskusteleminen.
Exam schedules
Ei tenttiä
International connections
Luentotunnilla keskitytään uusien asioiden sisäistämiseen. Opittua sovelletaan itse oman algoritmisen ongelmanratkaisuharjoittelun osasina ja keinoina. Harjoitustuntia ennen harjoitellaan tehtävien avulla ja harjoitustunnilla on mahdollista saada ohjausta ja tukea, jotta osaaminen täydentyy ja kehittyy mahdollisimman suotuisasti.
Kurssimateriaali on sähköisenä annetuilla alustoilla. Kestävää kehitystä pohditaan yleisen ohjelmointiin liittyvän kestävyyden, esim. koodin uudelleenkäytön alueella.
Student workload
Kontaktiopetustunnit 14x2h (teoria) + 12x2h (harjoitukset) = 52h
Itseopiskelu jatkuvasti kurssin ajan 80h
YHTEENSÄ noin 130h
Teorialuennot pidetään lähiopetuksena.
Ohjelmointiharjoitukset alaryhmissä D, E ja F ovat myös lähiopetuksena.
Content scheduling
Opintojaksolla opetellaan käytännön ohjelmointitaito. Tässä keskeisimpänä asiana on algoritminen ajattelu ja algoritminen ongelmanratkaisutaito. Taidon oppiminen edellyttää tietämystä ohjelmointiin liittyvistä perusasioista, joista opiskellaan esimerkiksi muuttujat, tyypit, operaattorit, kontrollirakenteet, aliohjelmat (funktiot), parametrit, modulaarisuus, testaus, syöttö näppäimistöltä, tulostus ruudulle, listat, kokoelmat, poikkeukset ja tiedostonkäsittely. Opetuksen apuvälineenä on Python-kieli. Opintojaksolla käytetään spiraalioppimista, mikä on tavallista ohjelmoinnin opettelussa, joten aiheiden käsittelyn tarkkaa ajoitusta ei ole mahdollista antaa viikkotasolla.
Further information
ItsLearning
Sähköposti
Evaluation scale
H-5
Assessment methods and criteria
Opintojakso sisältää 10 viikkotehtäväsarjaa, joihin sisältyy ohjelmoinnin teorian opiskelua ja aiheeseen liittyvien ohjelmointitehtävien suorittamista. Opiskelija saa pisteitä opettajalle demonstroimalla eli esittämällä tehtyjä tehtäviä tai toisinaan osittain tehtyjä ja kattavasti yritettyjä tehtäviä.
Opintojaksoon sisältyy harjoitustyö, jossa opiskelija luo laajemman sovelluksen (soveltaen kurssin aikana opittuja tietoja ja mahdollisesti jopa osittain hyödyntäen innovatiivisesti AI-ohjelmointiassistentteja). Tämä harjoitustyö antaa opiskelijalle mahdollisuuden soveltaa oppimaansa ja osoittaa osaamistaan.
Jokaisesta viikkotehtävästä voi saada maksimissaan 10 pistettä. Viikkotehtäväsarjan kokonaisarviointi noudattaa seuraavaa kaavaa:
40 pistettä -> arvosana 1
55 pistettä -> arvosana 2
70 pistettä -> arvosana 3
80 pistettä -> arvosana 4
90 pistettä -> arvosana 5
Harjoitustyö arvioidaan erikseen asteikolla 1-5.
Opiskelijan kurssiarvosana muodostuu viikkotehtävien ja harjoitustyön keskiarvosta. Molemmat osiot täytyy olla hyväksyttyjä.
Jos kurssin edetessä näyttää siltä, että opiskelija ei saavuta läpäisyyn vaadittavaa pistemäärää, hänelle annetaan mahdollisuus suorittaa puuttuvat tehtävät takautuvasti. Näistä tehtävistä hän voi saada maksimissaan puolet tarjolla olevista pisteistä. Opiskelijan tulee kerätä vaadittavat pisteet ennen kurssin päättymispäivää.
Assessment criteria, fail (0)
Opiskelija
• ei tunne ohjelmoinnin peruskäsitteitä
• ei pysty lukemaan tai kirjoittamaan yksinkertaisia ohjelmia
Assessment criteria, satisfactory (1-2)
Opiskelija
• tuntee ohjelmoinnin peruskäsitteet, kuten muuttujat, kontrollirakenteet ja funktiot
• ymmärtää ohjelman kulun
• osaa lukea ja kirjoittaa yksinkertaisia ohjelmia ja testejä
Assessment criteria, good (3-4)
Opiskelija
• tuntee ohjelmoinnin peruskäsitteet, kuten muuttujat, kontrollirakenteet, funktiot, luokat, oliot ja listat
• ymmärtää ohjelman kulun ja löytää yksinkertaiset virheet
• osaa laatia yksinkertaisia ohjelmia ja testata niiden toimivuutta
Assessment criteria, excellent (5)
Opiskelija
• tuntee ohjelmoinnin peruskäsitteet, kuten muuttujat, kontrollirakenteet, funktiot, luokat, oliot ja listat
• hyödyntää joitain tietorakenteita, kuten taulukot, listat ja hajautustaulut
• ymmärtää ohjelman kulun ja osaa käyttää debuggeria ja virheenkäsittelyä
• osaa laatia ohjelmia, jotka sisältävät edellä mainittuja käsitteitä ja osoittaa toimivuuden testaamalla
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
Campus
Kupittaa Campus
Teaching languages
- Finnish
Seats
35 - 80
Degree programmes
- Degree Programme in Business Information Technology
Teachers
- Anne Jumppanen
- Annukka Kinnari
Groups
-
PTIETS24APTIETS24A
-
PTIETS24BPTIETS24B
Objective
After completing the course, the student will be able to:
describe the program flow on a diagram
discuss the choice of an applicable solution model
define basic concepts related to programming such as source code, compiler, variable and type
read and understand the finished program code
utilize selection and loop structures
use exception handling mechanisms
design and implement simple application programs, and document and test them
Content
structure of software application
different development environments
reception of input data required in the program
processing of data on the program in order to solve the given problem
presentation of result
data variables and data types, simple data structures
functions and parameters
conditional clauses and loops
exceptions
file handling
testing and documentation of the program
Materials
Kaikki oppimateriaali ilmoitetaan itslearningissä.
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 omaa oppimistaan ja edistymistään.
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).
Ohjelmoinnin perusteet voi suorittaa tekemällä ohjelmoinnin MOOCin alkuosan.
Student workload
Opiskelijan työn mitoitus
5 opintopistettä: 27 * 5 = 135 tuntia
Opintojakson kesto: 13.1. - 30.4.2025 (14 viikkoa + opetukseton viikko 8)
Viikkotyömäärä: 135 tuntia / 14 viikkoa = 9,5 tuntia viikossa
Content scheduling
Opintojaksolla opiskellaan ohjelmoinnin ajattelutapaa sekä tutustutaan ohjelmistokehityksen pääpiirteisiin.
Opintojakson harjoitukset tehdään Pythonilla.
Tulostaminen näytölle ja tiedostoon.
Tiedon lukeminen näppäimistöltä ja tiedostosta.
Ohjelmoinnin valintarakenteet.
Ohjelmoinnin toistorakenteet.
Aliohjelmat ja niiden käyttö.
Poikkeukset.
Listat ja merkkijonot.
Ohjelman dokumentointi.
Ohjelman testaus.
Further information
Kurssin viestintä tapahtuu pääsääntöisesti itslearningissä.
Evaluation scale
H-5
Assessment methods and criteria
Opintojakso pitää sisällään 10 viikkotehtäväsarjaa, joihin sisältyy ohjelmoinnin teorian opiskelua sekä aiheeseen liittyviä ohjelmointitehtäviä. Opiskelija saa pisteitä opettajalle demoamistaan tehtävistä.
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.
Viikkotehtävistä saa kustakin maksimissaan 10 pistettä. Kotitehtäväsarjan kokonaisarviointi noudattaa seuraavaa kaavaa:
40 pistettä -> 1
55 pistettä -> 2
70 pistettä -> 3
80 pistettä -> 4
90 pistettä -> 5
Harjoitustyö arvioidaan erikseen skaalalla 1-5.
Opiskelijan opintojakson arvosana muodostuu kotitehtäväsarjan ja harjoitustyön keskiarvosta. Molempien osioiden pitää olla hyväksyttyjä.
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ää.
Assessment criteria, fail (0)
Hyväksytysti suoritettuja harjoituksia puuttuu ja/tai harjoitustyö puuttuu.
Assessment criteria, satisfactory (1-2)
Suomeksi
Hyväksytysti suoritettuja harjoituksia on tehty minimimäärä tai niiden laatu on tyydyttävä ja/tai harjoitustyön laatu on tyydyttävää tasoa.
Assessment criteria, good (3-4)
Hyväksytysti suoritettuja harjoituksia on tehty riittävästi ja niiden laatu on hyvää ja harjoitustyön laatu on hyvää tasoa.
Assessment criteria, excellent (5)
Hyväksytysti suoritettuja harjoituksia on tehty 90 % ja niiden laatu on kiitettävää ja harjoitustyön laatu on kiitettävää tasoa.
Enrollment
01.06.2024 - 02.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
- English
Seats
0 - 60
Degree programmes
- Degree Programme in Information and Communications Technology
Teachers
- Tiina Ferm
Scheduling groups
- Pienryhmä A (Size: 25. Open UAS: 0.)
- Pienryhmä B (Size: 25. Open UAS: 0.)
Groups
-
PINFOK24BPINFOK24B
-
PINFOK24APINFOK24A
-
PINFOK24CPINFOK24C
Small groups
- subgroup A
- subgroup B
Objective
After completing the course, the student will be able to:
describe the program flow on a diagram
discuss the choice of an applicable solution model
define basic concepts related to programming such as source code, compiler, variable and type
read and understand the finished program code
utilize selection and loop structures
use exception handling mechanisms
design and implement simple application programs, and document and test them
Content
structure of software application
different development environments
reception of input data required in the program
processing of data on the program in order to solve the given problem
presentation of result
data variables and data types, simple data structures
functions and parameters
conditional clauses and loops
exceptions
file handling
testing and documentation of the program
Materials
Python Basics: A Practical Introduction to Python3 4th edition by David Amos,Dan Bader,Joanna Jablonski, Fletcher Heisler, ISBN:9781775093329 (paperback), ISBN:9781775093336 (electronic)
Programming tools
- Python 3.12.x
- IDLE
Teaching methods
Learning by programming
Exam schedules
Assessment is based on exercises and three mid-term exams. The complete course can be compensated with one exam completed within the one month from the beginning.
There is no retake option for midterm exams nor for the compensating exam.
Completion alternatives
The course can be compensated with an e-exam within the first month after the beginning of the course. More instructions on how to enroll is given in itslearning.
The exam can be done using a programming language e.g. C/C++/#, java, javascript a student states when enrolling.
The compensating exam can only be taken if a student is enrolled to the course.
24 Coding challenges – classroom activity. Each passed challenge is worth 0,25 p, a total of 6 p, that is added to the total points of the course. No minimum.
Student workload
Contact hours 77 h
Independent study continuously throughout the course, preparation for the exam 58 h
Theory lections are held onsite, programming labs in subgroups A or B are virtual.
Content scheduling
The course consists of eight topics with rehearsal questions, quizzes and labs for each.
week 36: Introduction
week 37: Built-in functions print and input, variables and types
week 38: Arithmetic and bitwise operators
week 39: Branching
Mid-term Exam I: 30.9.2024
week 40: Loops
week 41: Breaking loops
week 43: Collections
week 44: Collections and loops
Mid-term Exam II: 4.11.2024
week 45: Functions
week 46: Function parameters and return values
week 47: GUI, events and callback functions
week 48: File IO (text and binary files)
Mid-term Exam III: 2.12.2024
week 49-50: try-except-finally, with
Evaluation scale
H-5
Assessment methods and criteria
7 Quizzes – online, evaluated, minimum 14, maximum 35
7 Labs – classroom activity, evaluated, plagiarism check result must be < 50%, minimum 14, maximum 35
3 Exams – classroom activity, evaluated, 10 points each, minimum 12, maximum 30
To pass the course a student has to reach a minimum in all categories (quizzes, labs and exams). If the minimum is reached all the points are added and a scale of 1 – 5 is calculated.
Attendance to theory lections is mandatory, challenge points are accepted only if a person is attending the class.
Assessment criteria, fail (0)
Student
• does not know the basic concepts of programming
• cannot read or write simple programs
< 40 points or failed the exam
Assessment criteria, satisfactory (1-2)
Student
• knows such basic concepts of programming as variables, control structures and functions
• understands how the program flow is going
• can read or write simple programs
40 - 59 points and the minimum is reached in all categories (quizzes, labs and exams)
Assessment criteria, good (3-4)
Student
• knows such basic concepts of programming as variables, control structures, functions, classes, objects and arrays
• understands how the program flow is going and can find easy errors
• can make simple programs
40 - 79 points and the minimum is reached in all categories (quizzes, labs and exams)
Assessment criteria, excellent (5)
Student
• knows such basic concepts of programming as variables, control structures and functions, classes and objects
• utilizes some data Structures such as arrays, lists and hash tables.
• understands how the program flow is going and can use debugger and error-handling
• can make programs that include aforesaid concepts.
> 80 points and the minimum is reached in all categories (quizzes, labs and exams)
> 90 points, 1 additional credit (total of 6 credits)