Code Monkey home page Code Monkey logo

elixir-video-plan's Introduction

elixir-video-plan

A place to expand on ideas for a video introduction to Elixir

elixir-video-plan's People

Contributors

zooeymiller avatar

Stargazers

 avatar

Watchers

 avatar  avatar

elixir-video-plan's Issues

Structure of videos

I think a playlist suits more than a single video does, there are lots of single videos that introduce Elixir out there, and I think they do a plenty good job of it.

In which case, dependant of what we think of #1 we can either have a standard what, why, how structure, perhaps with what and why taking up one video together, and then the how being the real meat of the series of videos.

I suppose in general this issue is to keep track of whether we decided to go with the what, why, how format or just with the how

What could a mini project be?

Depending on whether we think a mini project is the right way to go for these videos, as mentioned in #4, we would have to come up with a project to use!

I'm a bit lost of this one, any suggestions of good micro-projects we could do where we could cram in all of the elixir basics mentioned in #3 ?

Do we need to introduce Elixir from the bare basics?

In the learn-elixir repo we give installation instructions and the links to some (awesome) videos and a link to elixirschool.com to get the user acquainted with what Elixir is.

Do we need to have an introduction to what Elixir is in our own videos, or should we just suggest that the user watches the videos/reads the material linked in the README? I suppose it depends on whether we want these videos to be able to completely stand on their own, or to be an accompaniment to the README of the learn-elixir repo.

I can see arguments for both so am keen for input!

Style of content (project based vs. mini examples)

Based on the content outlined in #3 I think there are two possible ways to go in terms of the video content.
Apart from for the intro to iex and types of data in Elixir, I think we could introduce the rest of the content either through little examples where we show each thing in a nutshell (here's how to use a case statement, here's how to do pattern matching), or we create a micro project and introduce concepts as we encounter them in a sort of code along style way.

I personally prefer the idea of a project based walkthrough with core libraries and stuff included, but I don't know if other people thing introducing things in a very separate way might be better?

Content to include initially

For the sort of MVP of the videos I think we should make a small amount of content which covers some of the basics of Elixir to see how well the videos are received. Content I think would be good to cover:

  • Use of iex
  • types of values in elixir
  • using the elixir documentation and how awesome it is
  • commonly used code modules (Enum etc)
  • case, cond, if and unless
  • guards
  • pattern matching (including pattern matching in case statements)
  • creating projects with mix
  • documentation in elixir
  • testing in elixir, including doctests

I think these would be a good basis and be enough content that someone could go and play with Elixir. Some of this stuff (testing/doctesting and documentation) is not included in any of the free videos that I've seen on Elixir, and testing and documentation are both super important to us at dwyl so I think they are a must have.

Any suggestions of other content to include in the first series of the videos?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.