What you'll learn
Your hard work and commitment will transform you into a Full-stack Web Developer. Build from scratch with JavaScript, Python, SQL, HTML and CSS. Accelerate your projects with ReactJS, Express, Flask, and SQL Alchemy. You'll be shocked at how much you can learn - employers will be too.
Prep Work
Start your learning journey by acquiring the three vital skills that will help you through the rest of the course.
- HTML/CSS, Git
Programming Fundamentals
Master the underlying principles of your new craft through writing code, researching syntax, and solving complex problems as you would in a real-world job setting.
- JavaScript, Node, Git and Github, Command line
Computer Science
Extend your programming skill set with efficient ways to store and search for data. Learn how to develop algorithms to complete difficult tasks.
- Sorting algorithms, data structures, OOP, Testing
Web Development Fundamentals
Understand and build with the underlying technologies that make the internet work, then develop front-end and back-end projects and deploy them to the internet to share with friends and family.
- HTTP, Servers, HTML, CSS, Responsive Design, Flexbox, Netlify, Heroku
Back-End Engineering
Build on your understanding of back-end development to create robust and modern back-end servers to persist and manipulate data for your web applications.
- Express, SQL, Object-relational Mappers
Front-End Engineering
Learn how to use the power and flexibility of a modern front-end framework to create single-page applications for the web.
- React, Hooks, Redux, Web Sockets
Python
Discover how to take on any job by applying everything you’ve learned to the task of rapidly adopting a new language and new tools.
- Python, Flask, SQLAlchemy, Docker
Career Quest
Create your own portfolio project using the skills mastered throughout the course. This project will be the keystone of your portfolio and emphasize React, Redux, and the back-end of your choice. A chance to demonstrate your skills and creativity. Refine all that you’ve learned about finding a programming job with dedicated time for polishing your resume, pitch, online presence, and code portfolio.
- Resume Workshops, Networking, Applying Strategies, Personal Pitch
Solve Algorithms Using Fundamental Ruby Methods
After this comprehensive introduction to foundational Ruby concepts, your toolbox will be well-stocked and you will be well-prepared to solve a variety of commonly-seen problems.
- Ruby Environment Setup, RSpec Testing, Blocks and Procs, Arrays and Hashes, Function Arguments, Strings
Build Classes and Utilize Object Interactions
Learn to write programs where data and the methods that operate on it are compartmentalized into discrete objects. This introduction to Object-Oriented Programming (OOP) will be the foundation for future lessons.
- Object Initialization, Class and Instance Methods, Class and Instance Variables, Getter and Setter Methods, Nested Arrays, RSpec and Classes
Algorithms Using Recursion & Abstract Data Types
Abstract data types and concepts like recursion will help you to solve even more advanced problems. On top of that, you’ll learn the intricacies of version control with Git.
- Memory/References, Scope, Recursion, Git, Data Structures I (Stack, Queue, Trees)
Object-Oriented Programs With Inheritance & Modules
Learn more about the principles of Object-Oriented Programming (OOP) while building complex applications like Chess. This is also an opportunity to start writing your own RSpec tests and practice Test-Driven Development (TDD).
- OOP Principles, Modules, Test-Driven Development, RSpec, Big-O Notation
Create & Query Databases Using SQL & ActiveRecord
All that data has to go somewhere! The focus is on creating, seeding, and interacting with databases. After getting your hands dirty with raw SQL you’ll graduate to using ActiveRecord, which provides a more intuitive interface for sending data to and from our applications.
- Data Structures II (Linked Lists, LRU Cache), Databases, SQL, ORM, ActiveRecord, Validations, Associations, Indexing Databases
Build Full-Stack Apps with Rails
Time to put all the pieces together! This module you’ll build fully functional Rails applications using the traditional Model-View-Controller (MVC) architecture. This is also a great opportunity to learn more about the Internet’s underlying structure and standard protocols.
- Rails, MVC Architecture, Servers, Request-Response Cycle, RESTful Architecture, Web APIs vs Websites, ERB, HTML Forms
Implement User Authentication in Rails Apps
Don’t forget to make those applications secure! Learn about modern authentication patterns and how to implement them in a Rails application. Last but not least, you’ll build tests for these applications and add some special touches with CSS styling.
- User Authentication, Encryption, Hashing, Salting, Cookies, Rails testing, Integration testing, CSS (Flexbox, Dropdowns)
Understand the Fundamentals of JavaScript
It’s time for a new language, except we’re going to move even faster this time. Some of the problems you’ll see will be very familiar; however, JavaScript provides entirely new ways to solve them.
- Rails Under the Hood, Javascript Syntax, Closures, Callbacks, Asynchronicity, Binding (without args)
Use JavaScript to Build Dynamic Websites
There’s a reason that JavaScript is the premier web development language. After going over a few more foundational JS concepts, you’ll learn just how useful it can be for manipulating DOM elements and generally creating dynamic websites.
- Prototypal Inheritance, Binding (with args), Currying, Object-Oriented Javascript, DOM Manipulation (jQuery + Vanilla JS), AJAX
Manage Front-End Applications using React & Redux
React and Redux are the final pieces of the puzzle to building a dynamic, responsive, single-page application. There are a lot of moving parts here, but the material this module will introduce it one piece at a time.
- React, Redux, Flux Architecture, Local State, Global State, Components, Middleware, React with Rails
Put it All Together (Rails, React, and Redux)
Time to flex your web developer muscles! These projects will challenge you to build fully-featured, modern web applications. Learn about best practices, interface with a few external APIs, and smooth out any rough edges in your understanding of your development stack.
- JBuilder, Rails as a Web API, Frontend Routing with React Router, Frontend Authentication
Start Your Full Stack Project
This is where we really take the training wheels off! You'll build a fully-functional clone of a popular application from scratch.
- Rails, React, Redux, AWS, Heroku
Finish Your Full Stack Project
Put the finishing touches on your Full Stack Project. This will be the cornerstone of your portfolio when it comes time for the job search!
- Rails, React, Redux, AWS, Heroku
Learn a New Stack (MERN)
Time to switch things up a bit! You’ll be introduced to an entirely new development stack - MERN! Using this stack means learning about an entirely new database paradigm (MongoDB) and back-end framework (Express).
- NoSQL Databases, MongoDB, Express, Gitflow, Personal Pitch, Interviewing, Cover Letters
Take a Deep Dive into Vanilla JavaScript
It’s time for another portfolio piece. This project is all about building a fully-featured JavaScript application with minimal help from popular libraries. Whether you develop a game, data-visualization app, or something else entirely - you’ll come away with a much deeper understanding of JavaScript’s role in web development.
- Canvas, D3, Vanilla DOM Manipulation, Resumes
Prepare for Common Interview Topics
This final module is all about reviewing a wide variety of data structures and algorithms. Understanding these at a deeper level is key to succeeding in future job interviews.
- Optimizing Algorithms, Sorting Algorithms, Linked Lists, Stacks and Queues, Binary Trees, Search Algorithms, Graphs, Heaps, Tries, Networking, Applying Approaches, Negotiations
learn about app academy from real people
Hear directly from members of our Admissions team