Corpus ID: 14800700

Teaching Functional Programming to Professional . NET Developers

  title={Teaching Functional Programming to Professional . NET Developers},
  author={Tom{\'a}{\vs} Petř{\'i}{\vc}ek},
Functional programming is often taught at universities to first-year or second-year students and most of the teaching materials have been written for this audience. With the recent rise of functional programming in the industry, it becomes important to teach functional concepts to professional developers with deep knowledge of other paradigms, most importantly object-oriented. We present our experience with teaching functional programming and F# to experienced .NET developers through a book… Expand

Figures from this paper


Real-World Functional Programming: With Examples in F# and C#
Real World Functional Programming is a unique tutorial that explores the functional programming model through the F# and C# languages and explains how ideas look in F#-a functional language-as well as how they can be successfully used to solve programming problems in C#. Expand
The structure and interpretation of the computer science curriculum
This pearl presents a framework for discussing the first-year curriculum and, based on it, the design rationale for the book and course, dubbed How to Design Programs, which emphasizes the systematic design of programs. Expand
How to design programs: an introduction to programming and computing
This introduction to programming places computer science in the core of a liberal arts education and focuses on the program design process, which fosters a variety of skills -- critical reading, analytical thinking, creative synthesis, and attention to detail -- that are important for everyone, not just future computer programmers. Expand
Domain Specific Languages
A number of DSLs spanning various phases of software development life cycle in terms of features that elucidates their advantages over general purpose languages and perform in depth study by practically applying a few open source DSLs: ‘Cascading’, Naked Objects Framework and RSpec. Expand
Aspect-oriented programming
This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way and includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood. Expand
Composing Contracts: An Adventure in Financial Engineering
This talk will introduce a combinator library that allows us to describe and valuing financial contracts precisely, and a compositional denotational semantics that says what such contracts are worth. Expand
Design patterns: elements of reuseable object-oriented software
The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns. The nice thing is, most experienced OOP designers will find outExpand
Programming in Haskell
This clear-cut text will enable students to write simpler and cleaner code, and to learn how to structure and reason about programs. Expand
Functional reactive animation
Fran (Functional Reactive Animation) is a collection of data types and functions for composing richly interactive, multimedia animations that provides them with a denotational semantics, including a proper treatment of real time, to guide reasoning and implementation. Expand
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs emphasizes the central role played by different approaches to dealing with time in computational models, appropriate for an introduction to computer science courses, as well as programming languages and program design. Expand