Siirry suoraan sisältöön

Ohjelmoinnin perusteet (5 op)

Toteutuksen tunnus: TE00CS88-3001

Toteutuksen perustiedot


Ilmoittautumisaika

01.06.2024 - 02.09.2024

Ajoitus

02.09.2024 - 18.12.2024

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet

  • Englanti

Paikat

0 - 60

Koulutus

  • Degree Programme in Information and Communications Technology

Opettaja

  • Tiina Ferm

Ajoitusryhmät

  • Pienryhmä A (Koko: 25. Avoin AMK: 0.)
  • Pienryhmä B (Koko: 25. Avoin AMK: 0.)

Ryhmät

  • PINFOK24B
    PINFOK24B
  • PINFOK24A
    PINFOK24A
  • PINFOK24C
    PINFOK24C

Pienryhmät

  • Pienryhmä A
  • Pienryhmä B
  • 04.09.2024 14:00 - 16:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 09.09.2024 14:00 - 16:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 10.09.2024 14:00 - 18:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 12.09.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001
  • 16.09.2024 10:00 - 12:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 16.09.2024 12:00 - 16:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 19.09.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001
  • 23.09.2024 14:00 - 16:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 24.09.2024 14:00 - 18:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 26.09.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001
  • 30.09.2024 14:00 - 16:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 02.10.2024 12:00 - 16:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 03.10.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001
  • 07.10.2024 14:00 - 16:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 09.10.2024 12:00 - 16:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 10.10.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001
  • 21.10.2024 14:00 - 16:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 23.10.2024 12:00 - 16:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 24.10.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001
  • 28.10.2024 14:00 - 16:00, Theory, Introduction to Programming TE00CS88-3001
  • 30.10.2024 12:00 - 16:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 31.10.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001
  • 04.11.2024 14:00 - 16:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 07.11.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001
  • 07.11.2024 12:00 - 16:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 11.11.2024 14:00 - 16:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 13.11.2024 12:00 - 16:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 14.11.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001
  • 18.11.2024 14:00 - 16:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 20.11.2024 08:00 - 12:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 21.11.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001
  • 25.11.2024 14:00 - 16:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 27.11.2024 14:00 - 18:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 28.11.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001
  • 02.12.2024 14:00 - 16:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 04.12.2024 08:00 - 12:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 05.12.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001
  • 09.12.2024 14:00 - 16:00, Theory (A+B+C), Introduction to Programming TE00CS88-3001
  • 11.12.2024 08:00 - 12:00, Programming lab, sub group B, Introduction to Programming TE00CS88-3001
  • 12.12.2024 08:00 - 12:00, Programming lab, sub group A, Introduction to Programming TE00CS88-3001

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

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

Opetusmenetelmät

Learning by programming

Tenttien ajankohdat ja uusintamahdollisuudet

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.

Toteutuksen valinnaiset suoritustavat

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.

Opiskelijan ajankäyttö ja kuormitus

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.

Sisällön jaksotus

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

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

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.

Hylätty (0)

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

< 40 points or failed the exam

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

40 - 59 points and the minimum is reached in all categories (quizzes, labs and exams)

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

40 - 79 points and the minimum is reached in all categories (quizzes, labs and exams)

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.

> 80 points and the minimum is reached in all categories (quizzes, labs and exams)

> 90 points, 1 additional credit (total of 6 credits)