Download Make Interactive Videos with PowerPoint and Office Mix

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Abstraction (computer science) wikipedia , lookup

Object-oriented programming wikipedia , lookup

Programming language wikipedia , lookup

Reactive programming wikipedia , lookup

Falcon (programming language) wikipedia , lookup

Go (programming language) wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Corecursion wikipedia , lookup

Structured programming wikipedia , lookup

Monad (functional programming) wikipedia , lookup

Logic programming wikipedia , lookup

Functional programming wikipedia , lookup

Transcript
Functional Programming (MTAT.05.106)
• Lecturers: Varmo Vene & Kalmer Apinis.
• On Tuesdays (r612) and Thursdays (r611) 10:15 to 12:00.
• 5x homework + presentation/attendance (20%) + exam (20%)
• For more information: courses & moodle.
Grading
• 5x Homework exercises (10% + 10% + 10% + 10% + 20%)
1. Pure Haskell
2. Pretty-Printing in Haskell
3. Combinatory logic in OCaml
4. Monadic programming
5. Compiling to the TIM
• Participation or Presentation (20%)
• Topics will be on courses.cs.ut.ee
• Final Exam (mostly theory, 20%)
Course plan – Theory and Practice
• λ-calculus
• Reduction
• Church-Rosser theorem
• Combinatory logic
• Quick intro to Haskell
• Intermediate Haskell programming
• Pretty-Printing
• Computability
• QuickCheck
• Church thesis
• Monadic Parsing
• Elements of type theory
• Simply typed λ-calculus
• Curry-Howard isomorphism
• Polymorphic λ-calculus
• Hindley-Milner type system
• Monads
• Quick intro to OCaml
• Compiling functional languages
• Type-classes
• From reduction-based to reduction free
• Three Instruction Machine
• Vectorized continuation