Siirry suoraan sisältöön

Ohjelmoinnin perusteet (5 op)

Toteutuksen tunnus: TE00CS88-3002

Toteutuksen perustiedot


Ilmoittautumisaika
01.12.2024 - 13.01.2025
Ilmoittautuminen toteutukselle on päättynyt.
Ajoitus
13.01.2025 - 30.04.2025
Toteutus on päättynyt.
Opintopistemäärä
5 op
Lähiosuus
5 op
Toteutustapa
Lähiopetus
Yksikkö
ICT
Toimipiste
Kupittaan kampus
Opetuskielet
englanti
Paikat
0 - 60
Koulutus
Degree Programme in Information and Communications Technology
Tietojenkäsittelyn koulutus
Opettajat
Noora Maritta Nieminen
Ryhmät
PINFOS24A
PINFOS24A
PINFOS24B
PINFOS24B
PINFOS24C
PINFOS24C
Opintojakso
TE00CS88

Toteutuksella on 46 opetustapahtumaa joiden yhteenlaskettu kesto on 92 t 0 min.

Aika Aihe Tila
Ma 13.01.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 13.01.2025 klo 10:00 - 12:00
(2 t 0 min)
Group C Practice, Introduction to Programming TE00CS88-3002
ICT_B1038 IT-tila - telakka
Ti 14.01.2025 klo 14:00 - 16:00
(2 t 0 min)
Group B Practice, Introduction to Programming TE00CS88-3002
ICT_B1038 IT-tila - telakka
Pe 17.01.2025 klo 10:00 - 12:00
(2 t 0 min)
Group A Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Ma 20.01.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 20.01.2025 klo 10:00 - 12:00
(2 t 0 min)
Group C Practice, Introduction to Programming TE00CS88-3002
ICT_B1038 IT-tila - telakka
Pe 24.01.2025 klo 10:00 - 12:00
(2 t 0 min)
Group A Practice, Introduction to Programming TE00CS88-3002
ICT_C2027 IT-tila - telakka
Pe 24.01.2025 klo 14:00 - 16:00
(2 t 0 min)
Group B Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Ma 27.01.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 27.01.2025 klo 10:00 - 12:00
(2 t 0 min)
Group C Practice, Introduction to Programming TE00CS88-3002
ICT_B1038 IT-tila - telakka
Pe 31.01.2025 klo 10:00 - 12:00
(2 t 0 min)
Group A Practice, Introduction to Programming TE00CS88-3002
ICT_C2027 IT-tila - telakka
Pe 31.01.2025 klo 14:00 - 16:00
(2 t 0 min)
Group B Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Ma 03.02.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 03.02.2025 klo 10:00 - 12:00
(2 t 0 min)
Group C Practice, Introduction to Programming TE00CS88-3002
ICT_B1038 IT-tila - telakka
Pe 07.02.2025 klo 10:00 - 12:00
(2 t 0 min)
Group A Practice, Introduction to Programming TE00CS88-3002
ICT_C2027 IT-tila - telakka
Pe 07.02.2025 klo 14:00 - 16:00
(2 t 0 min)
Group B Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Ma 10.02.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 10.02.2025 klo 10:00 - 12:00
(2 t 0 min)
Group C Practice, Introduction to Programming TE00CS88-3002
ICT_B1038 IT-tila - telakka
Pe 14.02.2025 klo 10:00 - 12:00
(2 t 0 min)
Group A Practice, Introduction to Programming TE00CS88-3002
ICT_C2027 IT-tila - telakka
Pe 14.02.2025 klo 14:00 - 16:00
(2 t 0 min)
Group B Practice, Introduction to Programming TE00CS88-3002
ICT_B1038 IT-tila - telakka
Ma 24.02.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 24.02.2025 klo 10:00 - 12:00
(2 t 0 min)
Group C Practice, Introduction to Programming TE00CS88-3002
ICT_B1038 IT-tila - telakka
Pe 28.02.2025 klo 10:00 - 12:00
(2 t 0 min)
Group A Practice, Introduction to Programming TE00CS88-3002
ICT_C2027 IT-tila - telakka
Pe 28.02.2025 klo 14:00 - 16:00
(2 t 0 min)
Group B Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Ma 03.03.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 03.03.2025 klo 10:00 - 12:00
(2 t 0 min)
Group C Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Pe 07.03.2025 klo 10:00 - 12:00
(2 t 0 min)
Group A Practice, Introduction to Programming TE00CS88-3002
ICT_C2027 IT-tila - telakka
Pe 07.03.2025 klo 14:00 - 16:00
(2 t 0 min)
Group B Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Ma 10.03.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 10.03.2025 klo 10:00 - 12:00
(2 t 0 min)
Group C Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Ma 17.03.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 17.03.2025 klo 10:00 - 12:00
(2 t 0 min)
Group C Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Pe 21.03.2025 klo 14:00 - 16:00
(2 t 0 min)
Group A&B Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Ma 24.03.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 24.03.2025 klo 10:00 - 12:00
(2 t 0 min)
Group C Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Pe 28.03.2025 klo 10:00 - 12:00
(2 t 0 min)
Group A Practice, Introduction to Programming TE00CS88-3002
LEM_A177 IT-tila Saccharomyces - koneilla
Pe 28.03.2025 klo 14:00 - 16:00
(2 t 0 min)
Group B Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Ma 31.03.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 31.03.2025 klo 10:00 - 12:00
(2 t 0 min)
Group C Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Pe 04.04.2025 klo 10:00 - 12:00
(2 t 0 min)
Group A Practice, Introduction to Programming TE00CS88-3002
ICT_C2027 IT-tila - telakka
Pe 04.04.2025 klo 14:00 - 16:00
(2 t 0 min)
Group B Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Ma 07.04.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 07.04.2025 klo 10:00 - 12:00
(2 t 0 min)
Group C Practice, Introduction to Programming TE00CS88-3002
ICT_B1038 IT-tila - telakka
Pe 11.04.2025 klo 10:00 - 12:00
(2 t 0 min)
Group A Practice, Introduction to Programming TE00CS88-3002
LEM_A176 IT-tila Micrococcus - koneilla
Ma 14.04.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Ma 28.04.2025 klo 08:00 - 10:00
(2 t 0 min)
Theory, Introduction to Programming TE00CS88-3002
ICT_C1027_Lambda LAMBDA
Muutokset varauksiin voivat olla mahdollisia.

Arviointiasteikko

H-5

Sisällön jaksotus

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

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:
• kuvata ohjelman toimintaa kaaviolla
• keskustella soveltuvan ratkaisumallin valinnasta
• määritellä ohjelmointiin liittyviä peruskäsitteitä kuten lähdekoodi, kääntäjä, muuttuja ja tyyppi
• lukea ja ymmärtää valmista ohjelmakoodia
• hyödyntää valinta- ja toistorakenteita
• käyttää poikkeustenkäsittelymekanismeja auttavasti
• suunnitella ja toteuttaa yksinkertaisia sovellusohjelmia sekä dokumentoida ja testata niitä

Sisältö

• ohjelmistosovelluksen rakenne
• erilaiset kehitysympäristöt
• ohjelmassa tarvittavien syötetietojen vastaanottaminen
• tietojen prosessoiminen ohjelmassa, jotta annettu ongelma saadaan ratkaistuksi
• tulostietojen esittäminen
• muuttujat ja tietotyypit, yksinkertaiset tietorakenteet
• funktiot ja parametrit
• ehtolauseet ja silmukat
• poikkeukset
• tiedoston käsittely
• ohjelman testaus ja dokumentointi

Oppimateriaalit

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

Opetusmenetelmät

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

Tenttien ajankohdat ja uusintamahdollisuudet

No exam

Pedagogiset toimintatavat ja kestävä kehitys

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.

Opiskelijan ajankäyttö ja kuormitus

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.

Arviointimenetelmät ja arvioinnin perusteet

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.

Hylätty (0)

Student
• does not know the basic concepts of programming
• cannot read or write simple programs

Arviointikriteerit, tyydyttävä (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

Arviointikriteerit, hyvä (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

Arviointikriteerit, kiitettävä (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.

Lisätiedot

ItsLearning
Email

Siirry alkuun