Erlang School

Bryan Hunter edited this page Jul 26, 2016 · 40 revisions
Clone this wiki locally

Syllabus

Text book: Erlang Programming by Francesco Cesarini (O'Reilly Press) Use discount code "DSUG"

Being social

June 25, 2013 Meeting

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

Extra credit

July 23, 2013 Meeting

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

August 27, 2013 Meeting

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

September 24, 2013 Meeting

Lab:

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