# Functionel Programming - information about the course ###### tags: `F#` **Commands there is good to know i Visiul Studio:** > ALT + ENTER > Makes everthing go to the interactive **Functional Programming Paragigm** - First class functions - Higher-order functions - Type inference and polymorphism - Recursion and tail recursion - Algebraic data types - Strict and lazy evaluation **Memory management** - Garbage collection - Reference types - Mutable vs immutable data - Parallel programming - Divide and conquer ## General about the course - 7 assignments of 2 points in groups (2-3 persons) - Submit on time! - Graded one week later (0-2 points) - 1 project (Scrabble) of 6 points - **Must have 16 for the exam** ## Plagiarism - You do not share code or copy code from others groups ## Project - Write a bot that plays Scrabble - Infinite boards - Boards with holes in them - Tiles contain sets of characters, not just single characters - Arbitrary languages - Powerful board elements - To pass you must not necessarily win, not even play particularly well, but you must find valid moves (not just passing) and be able to finish the game - No project report! Just hand in the source game - We will provide a back-end and multiplayer infrastructure - You focus only on playing the game - We will provide weekly assigments that you can use in your project ### Project after handin - Tournament - Tournament ladder - Battle Royal? - Drinks, relaxing and good company - Prizes?! ## Exam - 5 hours open-book exam - Online - Use book - Use internet - You will need to hand in functional software that follows a strict specification - We will give you plenty of old exams - Mandatory assignments dramatically improve results. Take them seriously!