Functional Programming (5 op)
Toteutuksen tunnus: TTC8810-3001
Toteutuksen perustiedot
Ilmoittautumisaika
01.11.2022 - 05.01.2023
Ajoitus
09.01.2023 - 28.04.2023
Opintopistemäärä
5 op
Toteutustapa
Lähiopetus
Yksikkö
School of Technology
Toimipiste
Lutakko Campus
Opetuskielet
- Englanti
Paikat
0 - 30
Koulutus
- Bachelor's Degree Programme in Information and Communications Technology
Opettaja
- Jani Immonen
Objectives
Purpose:
You will be aware of the functional programming paradigm and write simple programs and services using a purely functional language. You understand the functional programming paradigm and will be aware of concepts such as immutability and recursion.
EUR-ACE Competences:
Knowledge and Understanding
Engineering practice
Communication and team-working
Multidisciplinary competences
Investigations and information retrieval
Learning outcomes:
You will be able to utilize functional programming principles and develop software with at least one purely functional programming language.
Content
The course covers an introduction to functional programming using a purely functional programming language. The course also covers various programming language related concepts and terminologies e.g. mutability and state.
Learning materials and recommended literature
Verkko-oppimisympäristössä julkaistava sähköinen materiaali.
Teaching methods
- luennot
- itseopiskelu
- verkko-opinnot
- pienryhmätyöskentely
- harjoitustyöt
- oppimistehtävät
Practical training and working life connections
- projektit
Exam dates and retake possibilities
Mahdollinen tentin ajankohta ja toteutustapa ilmoitetaan opintojakson ensimmäisellä kerralla.
Alternative completion methods
Hyväksilukemisen menettelytavat kuvataan tutkintosäännössä ja opinto-oppaassa. Opintojakson opettaja antaa lisätietoa mahdollisista opintojakson erityiskäytänteistä.
Student workload
Yksi opintopiste (1 op) tarkoittaa keskimäärin 27 tunnin työtä.
- luennot 50 h
- harjoitustyöt 15 h
- tehtävät 40 h
- itsenäinen työskentely 30 h
Yhteensä 135 h
Evaluation scale
0-5
Evaluation criteria, satisfactory (1-2)
Sufficient (1): The student is familiar with the topics discussed during the course. The student is able to write simple functions in a functional manner using a functional programming language with assistance.
Satisfactory (2): The student understands most of the topics discussed during the course, however, he/she struggles to utilize this knowledge. The student is not able to search for relevant information independently. The student is able to write simple programs in a functional manner using a functional programming language with assistance.
Evaluation criteria, good (3-4)
Good (3): The student is able to utilize knowledge gained on the course in the most basic cases. The student is able to utilize information about the discussed topics. The student is able to write simple programs in a functional manner using a functional programming language.
Very good (4): The student is able to utilize the knowledge gained on the course in most common cases. The student is able to search and understand information about the discussed topics. The student is able to write programs in a functional manner using a functional programming language.
Evaluation criteria, excellent (5)
Excellent (5): The student understands all topics discussed during the course and is able to use them in an innovative manner even in challenging situations. The student is able to search and utilize information about discussed topics independently. The student is able to write complex programs in a functional manner using a functional programming language.
Prerequisites
Basics in programming, Operating systems, Data structures and algorithms