Information Package / Course Catalogue
Declarative Programming
Course Code: CSE313
Course Type: Area Elective
Couse Group: First Cycle (Bachelor's Degree)
Education Language: English
Work Placement: N/A
Theory: 2
Prt.: 2
Credit: 3
Lab: 0
ECTS: 6
Objectives of the Course

This course introduces the principles of functional programming using F# and shows how to apply basic theoretical concepts to produce succinct and elegant programs.

Course Content

This course introduces the principles of functional programming using F# and shows how to apply basic theoretical concepts to produce succinct and elegant programs.

Name of Lecturer(s)
Learning Outcomes
1.To understand the differences between concepts like value, operator, expression, function etc.
2.To implement concepts of finite trees or collections
3.To be able to implement asynchronous and parallel computations
4.To understand and apply efficiency
5.To know and be able to apply different declarative problem solving methods on given assignments
Recommended or Required Reading
1.Functional Programming using F#, Michael R. Hansen, Cambridge University Press, 2013.
Weekly Detailed Course Contents
Week 1 - Theoretical
Introduction
Week 2 - Theoretical
Values, operators, expressions, and functions
Week 3 - Theoretical
Tuples, records, and tagged values
Week 4 - Theoretical
Lists
Week 5 - Theoretical
Collections: lists, maps, and sets
Week 6 - Theoretical
Finite trees
Week 7 - Theoretical
Modules
Week 8 - Theoretical
Imperative features
Week 9 - Theoretical
Efficiency
Week 10 - Theoretical
Text processing programs
Week 11 - Theoretical
Sequences
Week 12 - Theoretical
Computation expressions
Week 13 - Theoretical
Asynchronous and parallel computations.
Week 14 - Theoretical
Asynchronous and parallel computations.
Assessment Methods and Criteria
Type of AssessmentCountPercent
Assignment5%5
Term Assignment1%5
Quiz4%15
Midterm Examination1%15
Final Examination1%60
Workload Calculation
ActivitiesCountPreparationTimeTotal Work Load (hours)
Lecture - Theory141242
Lecture - Practice141242
Assignment53015
Term Project110010
Quiz4118
Midterm Examination110212
Final Examination115217
TOTAL WORKLOAD (hours)146
Contribution of Learning Outcomes to Programme Outcomes
PÇ-1
PÇ-2
PÇ-3
PÇ-4
PÇ-5
PÇ-6
PÇ-7
PÇ-8
PÇ-9
PÇ-10
PÇ-11
OÇ-1
4
2
1
5
2
OÇ-2
4
2
1
5
2
OÇ-3
4
2
1
5
3
OÇ-4
4
2
1
4
3
OÇ-5
5
5
4
4
4
Adnan Menderes University - Information Package / Course Catalogue
2026