Introduction to Programming (5cr)
Code: TE00CS88-3004
General information
- Enrollment
- 01.12.2024 - 13.01.2025
- Registration for the implementation has ended.
- Timing
- 13.01.2025 - 30.04.2025
- Implementation has ended.
- Number of ECTS credits allocated
- 5 cr
- Local portion
- 5 cr
- Mode of delivery
- Contact learning
- Unit
- ICT
- 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
- Course
- TE00CS88
Realization has 42 reservations. Total duration of reservations is 83 h 0 min.
| Time | Topic | Location | 
|---|---|---|
| Mon 13.01.2025  time 12:00 - 14:00 (2 h 0 min) | (DEF) Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C1042_Myy
                                    MYY | 
| Mon 13.01.2025  time 14:00 - 16:00 (2 h 0 min) | Pienryhmätilaisuus D, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1039
                                    IT-tila - telakka | 
| Tue 14.01.2025  time 10:00 - 12:00 (2 h 0 min) | Pienryhmätilaisuus F, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Tue 14.01.2025  time 13:00 - 15:00 (2 h 0 min) | Pienryhmätilaisuus E, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Mon 20.01.2025  time 12:00 - 14:00 (2 h 0 min) | (DEF) Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C1042_Myy
                                    MYY | 
| Mon 27.01.2025  time 12:00 - 14:00 (2 h 0 min) | (DEF) Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C1042_Myy
                                    MYY | 
| Mon 27.01.2025  time 14:00 - 16:00 (2 h 0 min) | Pienryhmätilaisuus D, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1038
                                    IT-tila - telakka | 
| Tue 28.01.2025  time 12:00 - 14:00 (2 h 0 min) | Pienryhmätilaisuus F, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1039
                                    IT-tila - telakka | 
| Thu 30.01.2025  time 12:00 - 14:00 (2 h 0 min) | Pienryhmätilaisuus E, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Mon 03.02.2025  time 12:00 - 14:00 (2 h 0 min) | (DEF) Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C1042_Myy
                                    MYY | 
| Mon 03.02.2025  time 14:00 - 16:00 (2 h 0 min) | Pienryhmätilaisuus D, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1038
                                    IT-tila - telakka | 
| Thu 06.02.2025  time 12:00 - 14:00 (2 h 0 min) | Pienryhmätilaisuus E, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Fri 07.02.2025  time 08:00 - 10:00 (2 h 0 min) | Pienryhmätilaisuus F, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Mon 10.02.2025  time 12:00 - 14:00 (2 h 0 min) | (DEF) Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C1042_Myy
                                    MYY | 
| Mon 10.02.2025  time 14:00 - 16:00 (2 h 0 min) | Pienryhmätilaisuus F, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1039
                                    IT-tila - telakka | 
| Tue 11.02.2025  time 12:00 - 14:00 (2 h 0 min) | Pienryhmätilaisuus D, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1039
                                    IT-tila - telakka | 
| Thu 13.02.2025  time 14:00 - 16:00 (2 h 0 min) | Pienryhmätilaisuus E, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1038
                                    IT-tila - telakka | 
| Mon 24.02.2025  time 12:00 - 14:00 (2 h 0 min) | (DEF) Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C1042_Myy
                                    MYY | 
| Mon 24.02.2025  time 14:00 - 16:00 (2 h 0 min) | Pienryhmätilaisuus F, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1038
                                    IT-tila - telakka | 
| Tue 25.02.2025  time 12:00 - 14:00 (2 h 0 min) | Pienryhmätilaisuus D, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1039
                                    IT-tila - telakka | 
| Thu 27.02.2025  time 11:00 - 13:00 (2 h 0 min) | Pienryhmätilaisuus E, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Mon 03.03.2025  time 12:00 - 14:00 (2 h 0 min) | (DEF) Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C1042_Myy
                                    MYY | 
| Thu 06.03.2025  time 11:00 - 13:00 (2 h 0 min) | Pienryhmätilaisuus E, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Thu 06.03.2025  time 14:00 - 16:00 (2 h 0 min) | Pienryhmätilaisuus D, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1038
                                    IT-tila - telakka | 
| Fri 07.03.2025  time 08:00 - 10:00 (2 h 0 min) | Pienryhmätilaisuus F, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Mon 10.03.2025  time 12:00 - 14:00 (2 h 0 min) | (DEF) Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C1042_Myy
                                    MYY | 
| Mon 17.03.2025  time 12:00 - 14:00 (2 h 0 min) | (DEF) Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C1042_Myy
                                    MYY | 
| Thu 20.03.2025  time 11:00 - 13:00 (2 h 0 min) | Pienryhmätilaisuus E, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Thu 20.03.2025  time 14:00 - 16:00 (2 h 0 min) | Pienryhmätilaisuus D, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1038
                                    IT-tila - telakka | 
| Fri 21.03.2025  time 08:30 - 10:00 (1 h 30 min) | Pienryhmätilaisuus F, Ohjelmoinnin perusteet TE00CS88-3004, klo 8.30 | ICT_C2027
                                    IT-tila - telakka | 
| Mon 24.03.2025  time 12:00 - 14:00 (2 h 0 min) | (DEF) Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C1042_Myy
                                    MYY | 
| Thu 27.03.2025  time 11:00 - 13:00 (2 h 0 min) | Pienryhmätilaisuus E, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Thu 27.03.2025  time 14:00 - 16:00 (2 h 0 min) | Pienryhmätilaisuus D, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1038
                                    IT-tila - telakka | 
| Fri 28.03.2025  time 08:00 - 10:00 (2 h 0 min) | Pienryhmätilaisuus F, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Mon 31.03.2025  time 12:00 - 14:00 (2 h 0 min) | (DEF) Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C1042_Myy
                                    MYY | 
| Thu 03.04.2025  time 11:00 - 13:00 (2 h 0 min) | Pienryhmätilaisuus E, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Thu 03.04.2025  time 14:00 - 16:00 (2 h 0 min) | Pienryhmätilaisuus D, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1038
                                    IT-tila - telakka | 
| Fri 04.04.2025  time 08:30 - 10:00 (1 h 30 min) | Pienryhmätilaisuus F, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Mon 07.04.2025  time 12:00 - 14:00 (2 h 0 min) | (DEF) Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C1042_Myy
                                    MYY | 
| Tue 08.04.2025  time 12:00 - 14:00 (2 h 0 min) | Pienryhmätilaisuus D, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_B1039
                                    IT-tila - telakka | 
| Thu 10.04.2025  time 11:00 - 13:00 (2 h 0 min) | Pienryhmätilaisuus E, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
| Fri 11.04.2025  time 10:00 - 12:00 (2 h 0 min) | Pienryhmätilaisuus F, Ohjelmoinnin perusteet TE00CS88-3004 | ICT_C2027
                                    IT-tila - telakka | 
Evaluation scale
H-5
                    
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.
                    
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ä
                    
Pedagogic approaches and sustainable development
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.
                    
Evaluation 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ää.
                    
Failed (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
                    
Further information
ItsLearning
Sähköposti