Giter Club home page Giter Club logo

curriculum's Introduction

DockYard Academy

The DockYard Academy curriculum is an open source Elixir curriculum built with Livebook. We're proud to offer our open-source curriculum free of charge for anyone to learn from at their own pace.

We also offer a paid course where you can learn from an instructor alongside a cohort of your peers. Applications will be accepted soon.

Email the instructor Brooklin at [email protected] or direct message @BrooklinJMyers on Twitter if you would like more information.

Prerequisites

While we strongly recommend the Visual Studio Code editor for its LiveShare capability, you may use any code editor you prefer.

Getting Started

Download and extract the Latest Release source code zip file.

Open the extracted curriculum folder in Livebook and open the start.livemd file to see all project lessons and exercises.

Optionally Create a GitHub Repository and follow the instructions on GitHub to manage your downloaded curriculum with Git and GitHub.

See the Troubleshooting Guide if you encounter issues setting up the curriculum.

Course Outcome

Our program is designed to produce highly qualified Elixir developers. Upon completion, students will possess a thorough understanding of Elixir fundamentals, project development using Elixir and Phoenix, LiveView, and OTP. They will have the expertise and problem-solving skills necessary to tackle complex coding challenges and continue to grow and excel in their careers. Graduates will be well-equipped to deliver idiomatic and well-tested features to production codebases.

Curriculum Outline

See start.livemd for a full breakdown of our lessons and exercises.

Core Syntax

  • Course Tools
  • Basics
  • Data Structures And Intro To Pattern Matching
  • Control Flow And Abstraction
  • Modules And Structs
  • Enumeration
  • Comprehensions And Non-Enumerable Data Types
  • Built-in Modules
  • Reduce
  • Dates And Time
  • String Manipulation

Mix Projects

  • Elixir Build Tooling
  • Testing With ExUnit
  • ExUnit With Mix Projects
  • Documentation And Static Analysis
  • Executables

OTP And Advanced Syntax

  • Advanced Pattern Matching
  • Guarding
  • Protocols
  • Recursion
  • Persistence Using The File System
  • Processes
  • GenServers
  • Asynchronous Messages
  • Supervisor Basics And Fault Tolerance
  • Mix Projects And Processes
  • Concurrency With Tasks

Capstone Project Preparation

  • Capstone Project

Web Servers And Phoenix

  • HTML And CSS
  • APIs And Parsing JSON
  • Phoenix
  • Tailwind
  • Ecto Changesets
  • Group Project Blog
  • Phoenix And Ecto
  • Testing Phoenix
  • Schemas And Migrations
  • Phoenix And Ecto One-to-Many Associations
  • Seeding
  • Phoenix Forms
  • Phoenix Authentication
  • Phoenix And Ecto Many-to-Many Relationships
  • Phoenix And Ecto One-to-One Relationships
  • Deployment
  • Group Project Presentation

LiveView

  • LiveView
  • LiveView And Ecto
  • LiveView Image Uploads
  • PubSub
  • LiveView JS Interoperability And Pagination
  • Emailing, Swoosh, And Oban

Bonus Topics

  • Performance Optimization
  • Benchmarking And Performance
  • Streams
  • State Management With Agents And ETS
  • Metaprogramming
  • Double-Ended Queues
  • Worker Pools
  • Rubix Cube Project

curriculum's People

Contributors

brooklinjazz avatar kianmeng avatar mraiih avatar threetriangles avatar srfowler avatar waranlogesh avatar matt-humphrey avatar mvkvc avatar padmajs avatar miguelbermudez avatar lgmfred avatar drueck avatar zorn avatar byronsalty avatar 0xamirul avatar rodneylab avatar pascalwengerter avatar czrpb avatar aryanlath avatar bigspaces avatar jmks avatar nathanl avatar paulo-valim avatar phaleth avatar closure-io avatar thegriffincircus avatar iciacarrobarallobre avatar houhoulis avatar aayushmau5 avatar tomireland avatar

Watchers

James Cloos avatar

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.