#### Section 1 : An Elixir Warmup

 Lecture 1 How to Get Help 2:53 Lecture 2 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM Pdf Lecture 3 Installing Elixir 2:1 Lecture 4 Project Outline 4:5 Lecture 5 Generating a Project 4:5 Lecture 6 Elixir Modules and Methods 6:5 Lecture 7 Lists and Strings 3:22 Lecture 8 Object Oriented vs Functional Programming 9:13 Lecture 9 Method Arguments 4:48 Lecture 10 The Enum Module 5:54 Lecture 11 Immutability in Elixir 3:57 Lecture 12 Searching a List 6:2 Lecture 13 Comprehensions Over Lists 7:12 Lecture 14 Not Everything Works the First Time 5:3 Lecture 15 Solving Nested Arrays 6:48 Lecture 16 Importance of Index with Tuples 8:34

#### Section 2 : Elixir's Amazing Pattern Matching

 Lecture 17 Pattern Matching 10:44 Lecture 18 Elixir's Relationship with Erlang 5:15 Lecture 19 Saving a Deck 3:53 Lecture 20 Pattern Matching Continued 10:23 Lecture 21 Pattern Matching in Case Statements 14:15 Lecture 22 The Pipe Operator 4:23 Lecture 23 The Pipe Operator Continued Lecture 24 Module Documentation 3:50

#### Section 3 : Testing and Documentation

 Lecture 25 Writing and Generating Documentation 3:34 Lecture 26 Creating Function Docs 6:18 Lecture 27 Introduction to Testing 2:54 Lecture 28 Amazingly Productive Doctests 3:38 Lecture 29 Writing Effective Doctests 5:16 Lecture 30 Case Tests 6:53

#### Section 4 : A Few Side Topics

 Lecture 31 Introduction to Maps 4:8 Lecture 32 Updating Values in a Map 7:56 Lecture 33 Keyword Lists 8:22

#### Section 5 : Image Manipulation with Elixir

 Lecture 34 Project Overview 3:44 Lecture 35 Identicon Generation Process 2:33 Lecture 36 Identicon Generation Process Continued 3:3 Lecture 37 The Main Pipeline 3:21 Lecture 38 Hashing a String 4:5 Lecture 39 The Purpose of the Hex List 5:46

#### Section 6 : Structs - Elixir's Data Modeling Tool

 Lecture 40 Modeling Data with Structs 6:46 Lecture 41 Pattern Matching Structs 10:40 Lecture 42 Updating Structs 10:9 Lecture 43 Building the Grid 8:16 Lecture 44 Mirroring a Row 5:9 Lecture 45 Mapping with Custom Functions 6:32 Lecture 46 Grid Structure 8:31 Lecture 47 Giving an Identicon Shape 9:34 Lecture 48 Planning Image Creation 7:42 Lecture 49 Creating the Pixel Map 5:48 Lecture 50 Drawing Rectangles 9:47

#### Section 7 : On to Phoenix

 Lecture 51 Quick Note About Phoenix Text Lecture 52 Phoenix Installation 4:10 Lecture 53 Postgres Setup on OSX 6:37 Lecture 54 What is Phoenix 6:35 Lecture 55 App Overview 7:17 Lecture 56 Into Phoenix We Go Lecture 57 Server Side Templating 3:40 Lecture 58 Templates vs Layouts 9:31

#### Section 8 : MVC in Phoenix

 Lecture 59 Phoenix's MVC Model 7:37 Lecture 60 Exploring the Router and Controller 9:47 Lecture 61 Views vs Templates 10:0 Lecture 62 The Model Layer in Phoenix 8:28 Lecture 63 Migration Files 5:29 Lecture 64 A Game Plan for Creating Topics 9:45 Lecture 65 Routing to the Topic Controller 7:25 Lecture 66 Setting Up the Topic Controller 6:6 Lecture 67 Code Reuse with Import, Alias, and Use 9:17 Lecture 68 Phoenix's Code Sharing Model 8:10 Lecture 69 Phoenix's Conn Struct 8:24 Lecture 70 A Phoenix Approach to Forms 4:54

#### Section 9 : Models in Phoenix

 Lecture 71 The Topic Model 3:55 Lecture 72 Model Changesets and Validations 12:6 Lecture 73 More on Changesets 8:27 Lecture 74 Generating Changesets for the Form 6:5 Lecture 75 New Topic Form 7:49 Lecture 76 Phoenix Template Syntax 10:2 Lecture 77 Handling Form Submissions 10:41 Lecture 78 A Quick Review and Breather 8:16

#### Section 10 : Working with Postgres

 Lecture 79 Introduction to the Repo Module 11:59 Lecture 80 Handling Failed Form Submissions 4:28 Lecture 81 Styling with CSS in Phoenix 6:34 Lecture 82 Breaking Restful Conventions Safely 6:43 Lecture 83 Using the Repo Module for Queries 7:4 Lecture 84 Building Lists in EEX Templates 6:48 Lecture 85 Redirects in the Controller 8:17 Lecture 86 Generating Anchors with Link Tags 12:9 Lecture 87 Router Wildcards 7:57 Lecture 88 Setting up the Edit Form 9:38 Lecture 89 Defining the Update Route 6:48 Lecture 90 Editing a Topic 11:21 Lecture 91 Linking to the Edit Topic Form 6:24 Lecture 92 The Resources Helper 7:0 Lecture 93 Deleting a Topic 9:44 Lecture 94 Wrapping up TopicController 6:58

#### Section 11 : Handling Authentication with OAuth

 Lecture 95 OAuth Overview 6:28 Lecture 96 OAuth Setup with Ueberauth 7:50 Lecture 97 Creating a Github OAuth App 9:53 Lecture 98 Defining OAuth Routes 11:58 Lecture 99 Receiving User Info From Github 9:41 Lecture 100 Users Migration 7:41 Lecture 101 Digesting the OAuth Response 7:0 Lecture 102 The User Changeset 8:2 Lecture 103 Creating New Users 7:48 Lecture 104 Our Auth Grand Plan 7:9 Lecture 105 Handling OAuth Success 7:9

#### Section 12 : Transforming Requests with Plugs

 Lecture 106 Introduction to Plugs 12:44 Lecture 107 Using a Module Plug to Set the User 11:44 Lecture 108 Implementing Module Plugs 9:3 Lecture 109 Allowing Users to Signout 10:27 Lecture 110 Restricting Access of Users 5:48 Lecture 111 The Require Auth Plug 13:4 Lecture 112 Controller Scoped Plugs Lecture 113 Associating Users with Topics 6:57 Lecture 114 Altering Existing Tables 2:27 Lecture 115 Playing Around with Associations 9:7 Lecture 116 Using the Build Assoc Function Lecture 117 Finalizing the Association 3:3 Lecture 118 Checking the Topics Owner 12:10

#### Section 13 : Websockets in Phoenix

 Lecture 119 Introduction to Websockets 4:17 Lecture 120 Showing Individual Topics 6:40 Lecture 121 Making the Comments Migration 3:51 Lecture 122 The Comments Model 3:45 Lecture 123 Overview of Channels in Phoenix 6:14 Lecture 124 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM Pdf Lecture 125 Introducing the Comments Channel Lecture 126 Making Progress with Sockets 9:11 Lecture 127 Quick Breather and Review 7:28 Lecture 128 Publishing Messages 7:30 Lecture 129 Figuring Out What Topics to Show 5:8 Lecture 130 Refactoring to Determine Topic Id 9:8 Lecture 131 Fetching Topics on Join 5:40 Lecture 132 Debugging Topic Fetching 2:45 Lecture 133 Building the Comment Form 5:53 Lecture 134 Inserting Comments into the Database 7:58 Lecture 135 Remaining Items with Sockets 4:56 Lecture 136 Poison Encoder 8:42 Lecture 137 Rendering a List of Comments 8:25 Lecture 138 Broadcasting Updates 6:44 Lecture 139 Updating the Client 6:15 Lecture 140 The Socket Event Object 3:8 Lecture 141 Authentication with Sockets 7:53 Lecture 142 Transporting Tokens to the Server 4:51 Lecture 143 Verifying the Current Socket User 4:42 Lecture 144 Associating Comments with Users 5:17 Lecture 145 Fetching Users with Comments 8:2 Lecture 146 Rendering Associated Users 3:57

#### Section 14 : Phoenix 1

 Lecture 147 New in Phoenix 1 3:42 Lecture 148 CLI Command Changes 3:25 Lecture 149 Assets Folder Changes 4:12 Lecture 150 Directory Structure Changes 5:20 Lecture 151 Contexts 7:48 Lecture 152 More on Contexts 12:30