    Course module   NWIIBC040  Category   BA (Bachelor)  Language of instruction   English  Offered by   Radboud University; Faculty of Science; Informatica en Informatiekunde;  Lecturer(s)     Academic year   2018   Period   KW1KW2  (03/09/2018 to 27/01/2019) 
 Starting block   KW1  
 Course mode   fulltime  
 Remarks   This course is the replacement course for the 3 eccourses NWIIBC029 Func. Prog. 1 and NWIIBC030 Func. Prog. 2.  Registration using OSIRIS   No  Course open to students from other faculties   Yes  Preregistration   No  Waiting list   No  Placement procedure    
     
After following this course, you can:
 solve problems in a functional way;
 choose and develop suitable data structures for given problems;
 use and deploy fundamental language concepts such as higherorder functions, polymorphism, type classes, recursive datatypes
 integrate sideeffects using applicative functors and monads.


Functional programming is a style of programming that is based on the mathematical concept of "function". By using (pure, higherorder) functions, algebraic data types, and a flexible string typing system, an expressive programming language is available to you to express advanced programs concisely and clearly. The wellstudied mathematical foundations (lambdacalculus and termrewriting) allow you to reason about functional programs using relatively simple mathematical techniques such as equational reasoning and induction. 



   Recommended materialsBookISBN  :   9781316626221 
Title  :   Programming in Haskell (2nd Edition) 
Author  :   Graham Hutton 
Publisher  :   Cambridge University Press 


Instructional modesCursusgebeurtenissenAttendance Mandatory   Yes 

 TestsExamTest weight   1 
Test type   Exam 
Opportunities   Block KW2, Block KW3, Block KW4 
 LabTest weight   0 
Test type   Lab course 
Opportunities   Block KW2 


  
 
 