120 likes | 176 Views
PROGRAMMING PARADIGMS. Jason Atkin and Graham Hutton University of Nottingham. Today. Module evaluation (SET / SEM); Reflection on FP + Haskell; Reflection on OO + Java. Final Lectures. Exam preparation + revision. 1. Exam Information. 2.5 hours duration, four questions;
E N D
PROGRAMMING PARADIGMS Jason Atkin and Graham Hutton University of Nottingham
Today • Module evaluation (SET / SEM); • Reflection on FP + Haskell; • Reflection on OO + Java. Final Lectures • Exam preparation + revision. 1
Exam Information • 2.5 hours duration, four questions; • 2 questions on OO + 2 questions on FP; • Haskell standard prelude provided. Fri 29th March, 11am = OO exam revision Fri 29th March, 3pm = FP exam revision 2
COMMENTS FROM JASON 3
Module Evaluation bluecastle.nottingham.ac.uk Complete two short surveys for G51PGP: SET - Graham’s teaching only; SEM - Module content (both). 5 means strongly agree ! 4
REFLECTION ON FP + HASKELL 5
What Have You Learned? • How to write simple Haskell programs; • A new way of thinking; • The power of types; • The power of abstraction. 6
Key Concepts • Saying what to compute, rather than how: sum . map (^2) . filter even • Separating pure and impure code: Int IO Bool Int Bool vs 7
Key Concepts • Functions as first-class citizens: map :: (a b) [a] [b] • Equational reasoning about programs: map f . map g map (f . g) = 8
Main Drawbacks • Difficult to reason about efficiency; • Limited tool support for developers; • Requires ability to think abstractly. 9
Taking Things Further • G52AFP Advanced Functional Programming; • G54RFP Real-World Functional Programming; • G52ACE, G52LAC, G53CMP, G54FOP, …; • C#, F#, Scala, Erlang, …; • Industry jobs + PhD positions. 10
REFLECTION ON OO + JAVA 11