Functional Programming
- ECTS credits10
- Teaching semesterAutumn
- Course codeINF122
- Number of semesters1
- LanguageNorwegian
- Resources
Main content
Level of Study
Bachelor
Full-time/Part-time
Full-time
Teaching semester
Autumn.
Objectives and Content
A functional program consists of definitions of functions and its effect is determined by the input-output behaviour of these functions. Functional programming is the central example of the declarative paradigm, where program, in addition to its operational interpretation, has also a dual one: as a formula with static meaning independent from the transitions between program states. Execution of a program corresponds then to this declarative interpretation and this facilitates development and maintenance of correct software. The course introduces basic concepts from the functional paradigm through programming in a functional language (e.g., Haskell).
Learning Outcomes
On completion of the course the student should have the following learning outcomes defined in terms of knowledge, skills and general competence:
Knowledge
The student knows:
the basic concepts of functional programming, such as:
- recursion
- higher-order functions
- inmutable datastructures
- the constructs of an example functional language
Skills
The student can:
- write simple functional programs
General competence
The student:
- can discuss functional programs with others
- is aware of the differences between imperative and functional programming
- can apply the knowledge and his/her programming skills in various domains and contribute to innovation
Required Previous Knowledge
None
Recommended Previous Knowledge
It is an advantage to know some imperative language, e.g., from INF100 or INF109.
Credit Reduction due to Course Overlap
INF121: 5 SP, INF121A: 5 SP
Access to the Course
Access to the course requires admission to a programme of study at The Faculty of Mathematics and Natural Sciences
Teaching and learning methods
During the whole semester: two double lectures and one workshop per week.
Compulsory Assignments and Attendance
The assignments are valid two semesters: the semester when they are approved and the succeeding semester.
Forms of Assessment
Written exam (3 hours).
Compulsory exercises may count towards the final grade.
Examination Support Material
None
Merk våren 2022 er følgende hjelpemidler på eksamen tillatt: Alle trykte og skrevne
Grading Scale
The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.
Assessment Semester
Examination both spring semester and autumn semester. In semesters without teaching the examination will be arranged at the beginning of the semester.
Reading List
The reading list will be available within June 1st for the autumn semester and December 1st for the spring semester
Course Evaluation
The course will be evaluated by the students in accordance with the quality assurance system at UiB and the department.
Programme Committee
The Programme Committee is responsible for the content, structure and quality of the study programme and courses.
Course Coordinator
Course coordinator and administrative contact person can be found on Mitt UiB, or contact
Course Administrator
The Faculty of Mathematics and Natural Sciences represented by the Department of Informatics is the course administrator for the course and study programme.
Contact Information
This course is administered by the Department of Informatics.
Contact
Exam information
For written exams, please note that the start time may change from 09:00 to 15:00 or vice versa until 14 days prior to the exam.
Type of assessment: Written examination
- Date
- 06.12.2023, 15:00
- Duration
- 3 hours
- Withdrawal deadline
- 22.11.2023
- Examination system
- Inspera
- Digital exam