Ohjelmoinnin perusteet (5 op)
Toteutuksen tunnus: TE00CS88-3002
Toteutuksen perustiedot
Ilmoittautumisaika
01.12.2024 - 13.01.2025
Ajoitus
13.01.2025 - 30.04.2025
Opintopistemäärä
5 op
Toteutustapa
Lähiopetus
Yksikkö
ICT
Toimipiste
Kupittaan kampus
Opetuskielet
- Englanti
Paikat
0 - 60
Koulutus
- Tietojenkäsittelyn koulutus
- Degree Programme in Information and Communications Technology
Opettaja
- Noora Maritta Nieminen
Ryhmät
-
PINFOS24CPINFOS24C
-
PINFOS24APINFOS24A
-
PINFOS24BPINFOS24B
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.
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
Viestintäkanava ja lisätietoja
ItsLearning
Email
Arviointiasteikko
H-5
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.