Erlang School
Bryan Hunter edited this page Jul 26, 2016
·
40 revisions
Text book: Erlang Programming by Francesco Cesarini (O'Reilly Press) Use discount code "DSUG"
Being social
- Each month please Tweet to @NashFP when you complete your reading and assignments.
- If you hit snags, have questions, or have suggestions please send a message to the Google group.
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
- Erlang Docs
- Erlang Central: The homepage for the Erlang community
- Learn You Some Erlang: A free online Erlang book
- Erlang Folks on Twitter
- NashFP Folks on Twitter
Extra credit
- Excellent Joe Armstrong Interview on Software Engineering Radio
- Bryan Hunter's Erlang: a jump-start for .NET developers: recorded at NDC Oslo 2013
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: Processes & Dev tool workflow
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:
- Introducing Études for Erlang
- Screencast on Distributed Erlang
Final Exam:
- Here is the Take-home final exam. Follow the specification and implement it with Erlang (and then other languages if you like). Your solutions will make perfect show-and-tell segments for later NashFP meetings.
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)
##Show-and-Tell Challenges##
- FizzBuzz
- Image file to color histogram
- MP3 Jungle-gym
- LuhnyBin
- Distributed Banking ATM