Erlang School
Text book: Erlang Programming by Francesco Cesarini (O'Reilly Press) Use discount code "DSUG"
Lab: Debugging Erlang
Month Assignments:
- Install Erlang (Windows, Ubuntu, Mac)
- Read chapters 1,2,3 of Erlang Programming
- Chapter 1 Introduction (why, history, characteristics, cases,...)
- Chapter 2 Basic Erlang (data types, pattern matching, functions, modules)
- Chapter 3 Sequential Erlang (conditional logic, guards, BIFs, errors, debugging)
- Watch Debugging Erlang screencast
- Begin the Erlang Koans and complete the following:
- about_atoms.erl
- about_boolean_expressions.erl
- about_strings.erl
- about_lists.erl
- about_pattern_matching.erl
- about_guard_clauses.erl
Useful links and Extra credit
- Erlang Docs
- Learn You Some Erlang: A free online Erlang book
- Into to Erlang Talk: Bryan Hunter recorded at Codemash 2012
Lab: EUnit
Month assignments:
- Read chapters 4,5,6 of Erlang Programming
- Chapter 4 Concurrent Programming (processes, message passing, registered processes, benchmarking, tail recursion, concurrency-oriented programming)
- Chapter 5 Process Design Patterns (client/server, finite state machines, event managers and handlers)
- Chapter 6 Process Error Handling (process links, exit signals, robust systems) Exercises
- Erlang Koans complete the following:
- about_processes.erl
Lab: To be decided
Month assignments:
-
Read chapters 7, 8, 9 of Erlang Programming
-
Chapter 7 Records and Macros
-
Chapter 8 Software Upgrade (hot-code-loading, the ".erlang" file)
-
Chapter 9 More Data Types and High-Level Constructs (Functional Programming for Real, funs, list comprehensions, binaries, serialization)
-
Erlang Koans complete the following:
-
about_dicts.erl
-
about_higher_order_functions.erl
-
about_list_comprehensions.erl
-
about_binaries.erl
Lab: To be decided
Month assignments:
-
Read chapters 10, 11, 12 of Erlang Programming
-
Chapter 10 ETS and Dets Tables
-
Chapter 11 Distributed Programming in Erlang (The Basics, epmd)
-
Chapter 12 OTP Behaviors (intro to OTP behaviors, gen_server, gen_sup, applications, releases)
-
Take-home final exam. You will receive a specification to implement with Erlang. Your solutions will make perfect show-and-tell segments for later NashFP meetings.
##Show-and-Tell Challenges##
- FizzBuzz
- Image file to color histogram
- LuhnyBin
- Distributed Banking ATM