Print
Programming Concepts and Languages
Code
IT-PCL1
Version
3.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
Having successfully 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/apps using F# and Python programming languages.
- Understand and use the Python language with various middleware such as Django, Flask, and RabbitMQ
Skills
Having successfully completed this course, the student should be able to:
- use the different programming paradigms to solve a particular programming problem.
- Use one of the Web Frameworks to develop a distributed application.
Competences
Topics
Overview of programming concepts, paradigms and languages
Imperative paradigm with Imperative Programming in F# and Python
Concurrent paradigm with Concurrent Programming in F#
Functional paradigm with Functional Programming in F# and Python
Object-Oriented paradigm with Object-Oriented Programming in Python
Python Distributed Computing in a nutshell (Web services, Microservices, Django, Flask, RabbitMQ).
Teaching methods and study activities
Activities will vary between theory, programming exercises, and mini project work.
Required workload for students is estimated to 150 hours.
Resources
Some papers about the general programming concepts and languages.
A book about functional programming in F#.
Python 3.X
Lesson notes.
Evaluation
Examination
Exam prerequisites:
None
Type of exam:
Individual written exam, three hours
Internal assessment
Tools allowed:
All aids are allowed included access to online material. However, it is not allowed to use AI tools such as ChatGPT and similar AI and Machine Learning driven tools and chatbots..
Re-exam:
Same as the ordinary exam.
Grading criteria
Grading based on the Danish 7-point scale.
Additional information
Responsible
Joseph Okika (jook)
Valid from
2/1/2024 12:00:00 AM
Course type
6. semester
7. semester
Electives
Web 6 og 7
Keywords
Type systems, traits, lambda functions, higher-order functions, pattern matching, type interference, currying, closures, web services, microservices, etc.