Siirry suoraan sisältöön

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ö

Teknologiayksikkö

Toimipiste

Lutakon kampus

Opetuskielet

  • Englanti

Paikat

0 - 30

Koulutus

  • Tieto- ja viestintätekniikka (AMK)

Opettaja

  • Jani Immonen
  • 28.03.2023 12:15 - 15:00, Functional Programming TTC8810-3001
  • 04.04.2023 12:15 - 15:00, Functional Programming TTC8810-3001
  • 11.04.2023 12:15 - 15:00, Functional Programming TTC8810-3001
  • 18.04.2023 12:15 - 15:00, Functional Programming TTC8810-3001
  • 25.04.2023 12:15 - 15:00, Functional Programming TTC8810-3001

Tavoitteet

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.

Sisältö

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.

Oppimateriaali ja suositeltava kirjallisuus

Verkko-oppimisympäristössä julkaistava sähköinen materiaali.

Opetusmenetelmät

- luennot
- itseopiskelu
- verkko-opinnot
- pienryhmätyöskentely
- harjoitustyöt
- oppimistehtävät

Harjoittelu- ja työelämäyhteistyö

- projektit

Tenttien ajankohdat ja uusintamahdollisuudet

Mahdollinen tentin ajankohta ja toteutustapa ilmoitetaan opintojakson ensimmäisellä kerralla.

Vaihtoehtoiset suoritustavat

Hyväksilukemisen menettelytavat kuvataan tutkintosäännössä ja opinto-oppaassa. Opintojakson opettaja antaa lisätietoa mahdollisista opintojakson erityiskäytänteistä.

Opiskelijan ajankäyttö ja kuormitus

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

Arviointiasteikko

0-5

Arviointikriteerit, tyydyttävä (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.

Arviointikriteerit, hyvä (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.

Arviointikriteerit, kiitettävä (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.

Esitietovaatimukset

Basics in programming, Operating systems, Data structures and algorithms