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
-
PINFOK24BPINFOK24B
-
PINFOK24APINFOK24A
-
PINFOK24CPINFOK24C
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
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)