E-mail icon E-mail courses Print icon Print course(s)
 

as of 7/2/2022

FUNCTIONAL PROGRAMMING
Country - Partner Institution - Programs: Netherlands - Utrecht University - 'Utrecht Univ.'
UC Course SubjectComputer Science
Number & Suffix: 102
Full UC Title: FUNCTIONAL PROGRAMMING 
Transcript Title: FUNCTIONAL PROGRAM 
UC QTR Units - Division: 6.0 - Upper Division 
Course Description: This course covers functional programming language, where the program consists of function definitions, similar to those given in mathematics. Writing programs in a functional language involves a different way of thinking, and that is what this course is about. In this course, students solve problems using the functional programming language Haskell. This language provides numerous ways of abstraction, resulting in remarkably compact programs. Many details, like the order of computation or the allocation of memory, need not be specified. Emphasis is on the "what", rather than the "how". Also, Haskell has an extensive type system, many elements of which evolve into imperative languages. Recursion is the functional equivalent of loop statements (for, while) in imperative languages. It is the way to express functions that traverse a data structure, or do repeated calculations. Because functional programs have no variables that change during program execution, programs can be easily reasoned. Students are instructed on how to systematically construct and transform programs, and how to prove properties of it. These properties can be used to assert program correctness, or to rewrite programs. For recursive programs, this involves inductive proofs. 
Language of Instruction: English
 
Partner Title: FUNCTIONAL PROGRAMMING 
Partner University Department: Computing Sciences 
Partner University Course Number: INFOFP