Application development, in particular web and mobile application development. Performance and security considerations. Measuring and evaluating performance and security. Best practices. Thin client development and architectures.
Functional Programming (FP) and its applications in parallel and distributed computing. The Channel (CSP/CML) and Actor models for concurrent and distributed computing, and their implementations in various modern programming languages, including C# and F#. Parallel programming, Amdahl's and Gustafson's laws. Advanced topics in FP illustrated in F# - such as: monads, computation expressions (sugared monads), Kleisli compositions - and their role in modelling various async, channel, actor features. Optional topics. Cloud actors, cloud functions (aka serverless), cloud monads.