• No products in the cart.

[course_title] course offers the three main programming paradigms: functional, object-oriented, and declarative dataflow. The course covers the functional programming, its techniques and its data structures. You will explore the simple formal semantics for all concepts. The concepts will further illustrate with practical code that runs on the accompanying open-source platform, the Mozart Programming System.

Upon completion, you will be able to identify problems, break them down into their basic steps, and design algorithms and abstractions to solve them. You will also be able to write small concurrent programs in the deterministic data flow paradigm.


This course does not involve any written exams. Students need to answer 5 assignment questions to complete the course, the answers will be in the form of written work in pdf or word. Students can write the answers in their own time. Each answer needs to be 200 words (1 Page). Once the answers are submitted, the tutor will check and assess the work.


Edukite courses are free to study. To successfully complete a course you must submit all the assignment of the course as part of the assessment. Upon successful completion of a course, you can choose to make your achievement formal by obtaining your Certificate at a cost of £49.

Having an Official Edukite Certification is a great way to celebrate and share your success. You can:

  • Add the certificate to your CV or resume and brighten up your career
  • Show it to prove your success



Course Credit: Université catholique de Louvain

Course Curriculum

Course Motivation and Overview 00:15:00
Practical organization of the course 00:07:00
Our first paradigm: functional programming 00:07:00
Introduction to Mozart system 00:04:00
Single assignment in the functional paradigm 00:03:00
Static scope and identifier redeclaration 00:06:00
Learning the syntax of Oz 00:05:00
Introduction to functions and numbers 00:07:00
Functions that call other functions: composition and recursion 00:08:00
Overview of invariant programming 00:00:00
Factorial with communicating vases 00:06:00
Sum of digits with communicating vases 00:04:00
The golden rule of tail recursion 00:07:00
Invariant programming to calculate powers 00:09:00
Lists informally 00:03:00
Defining lists with grammar rules 00:06:00
Useful representations for lists 00:05:00
Tail recursion for lists 00:08:00
Pattern matching 00:07:00
List functions and the kernel language 00:05:00
Append in the kernel language 00:03:00
Why Append is tail recursive 00:04:00
Contextual environment 00:06:00
Procedure Values 00:04:00
Examples of higher-order programming 00:13:00
Records 00:11:00
Full Kernel Language 00:00:00
Introduction to trees 00:03:00
Ordered binary trees 00:03:00
Search trees and lookup 00:08:00
Insert function 00:06:00
Balanced trees 00:02:00
Delete function 00:13:00
Goal-oriented programming 00:02:00
Execution speed and big-O notation 00:09:00
Temporal complexity of the function Pascal 00:05:00
Best case, average case, and worst case 00:04:00
Upper and lower bounds 00:05:00
Spatial complexity 00:08:00
Moore’s Law and program optimization 00:07:00
Intractable problems and the class NP 00:10:00
Conclusions on performance 00:04:00
Overview of correctness and semantics 00:09:00
Proving a program is correct using the semantics 00:13:00
The abstract machine 00:06:00
An example execution in the abstract machine 00:06:00
Semantic rule for each instruction 00:05:00
Procedure definition and call semantics 00:00:00
Semantics: the ultimate programming tool 00:09:00
Submit Your Assignment 00:00:00
Certification 00:00:00

Course Reviews


9 ratings
  • 5 stars0
  • 4 stars0
  • 3 stars0
  • 2 stars0
  • 1 stars0

No Reviews found for this course.

©2021 Edukite. All Rights Resereved
Edukite is A Part Of Ebrahim College, Charity Commission
Reg No 110841