Syllabus

Welcome to the LEARN Syllabus! This repository is a reflection of the current status of the curriculum at LEARN Academy. Just like the technology we teach, the syllabus is ever evolving and adapting to suit the needs of the user. That's you! The instructors at LEARN Academy are continuously pushing the syllabus forward; working to give our students the best experience possible. Help us make our syllabus better by submitting a Pull Request to fix any errors, expand definitions, or further explain concepts.

Resources

Programming Tools

Unit One: Javascript Foundations

This is our introduction to coding through the Javascript programming language. Here we will cover foundational concepts and data structures that will get us thinking in code.

  1. JavaScript Introduction
  2. JavaScript Conditionals
  3. JavaScript Arrays
  4. JavaScript Loops
  5. JavaScript Functions
  6. JavaScript Functions, Loops, and Arrays
  7. JavaScript Higher-Order Functions
  8. JavaScript Testing with Jest
  9. JavaScript Objects
  10. JavaScript Classes
  11. JavaScript Class Inheritance

Additional Topics:

Unit Two: Introduction to React

React is a powerful Javascript library used to build more complicated user interfaces.

  1. React Introduction
  2. React Nested Components
  3. Creating a New React Application
  4. React State
  5. React State with Images

Additional Topics:

Unit Three: Intermediate React

In this section we dive into what React has to offer several full-day projects.

  1. React Props
  2. React Functional Props
  3. React Inputs and Events
  4. React Forms and Functional Props

Additional Topics:

Unit Four: Ruby

Ruby is a backend, object-oriented programming language. Here we will cover the fundamentals of the Ruby language and revisit the fundamental concepts shared by many programming languages.

  1. Ruby Introduction
  2. Ruby Conditionals
  3. Ruby Methods
  4. Ruby Blocks and Iterables
  5. Ruby Hashes
  6. Text Based Game Challenge
  7. Ruby Classes and Objects
  8. Ruby Inheritance
  9. Ruby Testing with RSpec

Unit Five: Intro to Postgres and Ruby on Rails Models

Rails is full-stack framework built into the Ruby programming language. Here we will focus on the model layer of the MVC architecture pattern through a deep-dive into Active Record and persistence storage with Postgres.

PostgreSQL

  1. Introduction to Databases
  2. PostgreSQL Queries

Ruby on Rails

  1. Ruby on Rails Introduction
  2. Active Record Introduction
  3. Active Record Migrations
  4. Active Record Associations
  5. Active Record Validations and Models Specs

Additional Topics:

Unit Six: Ruby on Rails

In this section we explore all the Ruby on Rails MVC architecture has to offer. We built our first full-stack application as well as look at how to create a backend-only Rails application.

  1. Rails Routes, Controllers, and Views
  2. Rails Parameters
  3. Rails RESTful Routes and CRUD Actions
  4. Full-stack Rails
  5. Rails Strong Parameters
  6. Rails Generate Resource
  7. Wildlife Tracker Challenge

Additional Topics:

Unit Seven: Professional Development Week

Professional development is dedicated to preparation for internship and the upcoming career transition. Here we leverage LEARN's career services manager to curate tech resumes, share each student's portfolio, improve online professional presence, develop networking techniques for every personality, practice technical interview skills, and learn about salary negotiations.

Unit Eight: Cat Tinder! Combining React and Rails

Here we explore our first decoupled, full-stack application. We build a React frontend and a Ruby on Rails backend leveraging all the concept we've covered so far.

This Is So Fetch

  1. Consuming External APIs with Fetch

Cat Tinder Frontend

  1. Cat Tinder Introduction, Routing, and Wireframes
  2. Cat Tinder Testing with Jest and Enzyme
  3. Cat Tinder Read Functionality
  4. Cat Tinder Create Functionality
  5. Cat Tinder Update Functionality

Cat Tinder Backend

  1. Cat Tinder API Introduction
  2. Cat Tinder API Seeds
  3. Cat Tinder API CORS
  4. Cat Tinder API Endpoints
  5. Cat Tinder API Validations

Bringing it Together!

  1. Cat Tinder Fetch for Read Functionality
  2. Cat Tinder Fetch for Create Functionality
  3. Cat Tinder Fetch for Update Functionality
  4. Cat Tinder Fetch for Delete Functionality

Unit Nine: React in Rails and Authentication

There are many ways to create a full-stack application. In this section we use Ruby on Rails to host React components in a monolithic application. We also introduce Devise, a Ruby gem that gives us the ability to create user login.

  1. React IN Rails Introduction
  2. Apartment App Devise Introduction
  3. Apartment App Devise with React
  4. Apartment App Challenge

Additional Topics:

Unit Ten: Capstone Project, MVP

The capstone project is the peak experience at LEARN Academy. Students work in a small group to create a full-stack web application. Acting as a development team, the students use agile and scrum project management techniques to plan, wireframe, code, and deploy an application.

Unit Eleven: Capstone Project, Icebox

Unit Twelve: Internship Preparation