Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
School of Computer Science and Statistics Integrated Computer Science Programme ECTS Module Descriptor 2012-13 Module Code CS4012 Module Title Topics in Functional Programming Pre-requisites CS3016 Functional Programming ECTS 5 Chief Examiner Glenn Strong Teaching Staff Glenn Strong Delivery Lecture hours Lab hours (per student) Tutorial hours (per student) Total 22 0 11 33 Comments: Attendance at all lectures, labs and tutorials is compulsory. Aims This course builds on CS3012 which introduced the fundamental concepts of functional programming. In CS4012 we will take an in-depth look at more advanced topics in functional programming and discuss some current research directions in the field. Learning Outcomes On successful completion of this module students will be able to: Syllabus • Develop sophisticated programs in a high level functional language • Critique software designs in terms of functional concepts • Contrast the functional style as it is used in several languages Course content covers both techniques and technologies. Topics will include: • Designing programs with higher-order functions (functors and monad transformers) • Domain Specific Languages in functional programming Assessment Bibliography • Monads and Arrows for programming • Type systems for functional languages; basics of type inference • Generalized Abstract Data Types; introduction to dependent types • I/O and State handling • Functional debugging • Efficiency considerations • Functional programming for web and concurrent systems 25% coursework, 75% examination • Bryan O’Sullivan, Don Stewart, and John Goerzen, Real World Haskell (Paperback, O’Reilly Press, November 2008) available online http://book.realworldhaskell.org/ Website • Richard Bird, Introduction to Functional Programming using Haskell, 2nd edition (Prentice Hall Press, 1998, 460 pp.) • Simon Thompson, Haskell: The Craft of Functional Programming, Second Edition (Addison-Wesley, 507 pages, paperback, 1999) • Selected research papers will be assigned as reading for discussion sessions http://www.scss.tcd.ie/courses/CS4012