Print

Programming Concepts and Languages

Code

IT-PLC1

Version

2.0

Offered by

ICT Engineering

ECTS

5

Prerequisites

Considerable programming experience with e.g. Java, C# and C.

Main purpose

The purpose of the course is to qualify the student to:
  • Understand various programming concepts, paradigms and get knowledge about how different paradigms appear in different programming languages
  • Get thorough knowledge about the functional programming paradigm
  • Apply different paradigms to specific problems in different languages.
 

Knowledge

Skills

Having completed this course, the student should be able to:
  • Describe the key concepts and have a basic understanding of different programming paradigms and languages.
  • Understand and use the functional paradigm.
  • Develop small and medium size programs using F# programming language.
 

Competences

Having completed this course, the student should be able to:
  • Describe the key concepts and have a basic understanding of different programming paradigms and languages.
  • Understand and use the functional paradigm.
  • Develop small and medium size programs using F# programming language.

Topics

  • Overview of programming concepts, paradigms and languages
  • Functional paradigm with Functional Programming in F# and Python
  • Imperative paradigm with Imperative Programming in F# and Python
  • Concurrent paradigm with Concurrent Programming in F#
  • Object-Oriented paradigm with Object-Oriented Programming in Python
  • Integration of different programming paradigms in system development.

 

Teaching methods and study activities

Activities will vary between theory, programming exercises, and mini project work.

Resources

Some papers about the general programming concepts and languages.

A book about functional programming in F#.

Lesson notes.

Evaluation

Written programming hand-in exercises and presentations: 30%.
 

Examination

Three-hour written examination (70%) and hand-in exercises/presentations (30%) with marks according to the 7-point grading scale.
External examination.
 

 

Grading criteria

According to the 7-point grading scale.
 
Mark 12 Awarded to students who have shown excellent comprehension of the below-mentioned competences. A few minor errors and shortfalls are acceptable.
 
Mark 02 Awarded to students for the just acceptable level of comprehension of the required competences.
 

Additional information

Required workload for students is estimated to 150 hours.
 

Responsible

Joseph Okika (JOOK)

Valid from

1/1/2019 12:00:00 AM

Course type

Compulsory Course for all ICT Engineering
6. semester
Electives

Keywords

Types, type systems, classes, traits, lambda, functions and higher-order functions,