Siirry suoraan sisältöön

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

  • PINFOS24C
    PINFOS24C
  • PINFOS24A
    PINFOS24A
  • PINFOS24B
    PINFOS24B

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.