Skip to content
Bryan Hunter edited this page Jun 26, 2013 · 40 revisions

Syllabus

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

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 and 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: 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

September 24, 2013 Meeting

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
Clone this wiki locally