- Able to navigate linux using just commandline
- Understand how the linux file system works
- Understand what is the OSI model and able to explain it to a layman
- Challenges
- Deploy your own website to a cloud server using GCP or AWS
- Functional Programming
- Write a recursive factorial function
- Write a tail recursive factorial function
- Object Oriented Programming
- Create a class object with methods and constructors
- Challenges
- Solve basic algorithm challenges on Freecodecamp
- Solve all of intermediate algorithm challenges on Freecodecamp
- Familiar with CSS and HTML
- Familiar with CSS Flexbox and CSS Grid
- Challenges
- Able to replicate a major website with 80% - 90% accuracy using just HTML and CSS
- Understand what is a web server
- Familiar with API and what it does
- Understand how Nodejs Works
- Deploy an express web server and expose API calls
- Build your own guessing game
- Build a web scraper
- Build a todo application using DOM methods
- Ddos a website
- Integrate to a database
- Add login / logout functionality
- Make API calls to a backend server
- Use a SPA framework to build the web application (Vue, React, Angular)S
- Able to learn up a new framework on your own
- Able to touch type and use VIM
- Learn a low level coding language (Golang, Rust, C)
- Understand how pointers work
- Learn infrastructure as Code (Terraform)
- Deploy a CI / CD pipeline
- Build your application in a docker container
- Strong focus on programming logic and solving algorithm problems
- Some degree of focus on computer science to give that deeper understanding of code and technology
- Practical devops learning with primary emphasis on how to deploy applications and websites to servers
- Using the right tools from the beginning (Git, Linux, VSCode)
- Strong focus on helping the individual to find out answers for themsevles (being a good googler)
- Encourage each person to teach one another
- To think like a coder and able to solve logic problems
- Knowledge of HTML, CSS and Javascript
- Able to use Javascript NPM packages to install JS libraries
- Able to build full fledged web applications using Vuejs Framework
- Familiar with essential developer tools like Git and VSCode
- Understand web server technology and how to build one using ExpressJs
- Being a good googler and able to ask the right questions
- Able to become a job ready junior coder
- Clone this repo and make it your own
- Push all your work in this repo and make this your own
- Dual boot linux on your windows machine (if Mac, can skip this option) video tutorial
- Install VSCode on your computer
- Install Nodejs Installation guide
*We go through all the basics of programming logic as well as concepts of servers and cloud deployment. Understanding how a server works is essential to any developer. We get a taster of the 2 major areas of being a developer, Programming Langauge Fundamentals and managing Backend Servers"
- Programing Logic 101
- Complete Codeacademy Modules (1 - 4)
- Understand deeply what are variables, conditionals, loops and data structures (objects and arrays)
- Computer Science 101
- Crash Course Computing
- Backend 101
- Understand how web servers work
- Deploying websites to the cloud
- Expected Outcome
- Able to solve basic algorithm problems on freecodecamp. Select the first 5 problems and complete the solution - Part 1
- Programming Logic 102
- Codeacademy Modules (5- 8)
- Learn what is a class, methods and functions
- Understand the concept of recursive function
- Understand what is Big O Notation
- Computer Science 102
- Crash Course Computing
- Solve basic algorithm problems on freecodecamp. Select 5 random problems and complete the solution - Part 2
- Build your own personal website with HTML + CSS Sample Site to follow
In this month, we run through how an entire app works, from the frontend, to the backend to deploying it to the cloud. Running through the whole steps gives you the bigger picture and idea of how apps work. Sure you may not understand parts of it, but getting the bigger picutre and idea gives you a strong foundation and goal to work on. It sets you the roadmap of what you need to do to get a basic web application up and running.
-
Building the Frontend Build the entire frontend of the todo app with javascript
- HTML
- Input box
- Dropdown box
- List of todos
- CSS
- Styling the code
- Javascript / Vuejs
- Showing my completed todos
- Showing my pending todos
- Showing my deleted todos
- HTML
-
Deploying it to the cloud
-
Hosting your app on digitalocean
-
Database Intgration
- Google Firebase
-
Handling User Authentication (login/logout)
- Login / logout
- Solve intermediate algorithm problems on freecodecamp. Select 5 random problems and complete the solution
- Solve Google Code Jam problem Foregone Problem
- Make a todo application with Javascript + Jquery Reference
- Complete all javascript modules on Codeacademy and able to solve all problems without assistance
- Hacking Kali Linux The key to being a great coder is understanding the fundamentals of servers and opearting systems, which is Linux. The big chunk of software applications today run on Linux OS, and knowledge of this OS is key to being able to deploy and run your applications. The best way to learn something is to hack it.
- Finish all crash course computing videos
- Complete entire guide to build a full web server with express js framework Tutorial Guide
- Build your own project (Do something of your own)
- Understand vuejs. Read complete the essentials guide
- Build todo application with Database and login / logout features using Firebase Firebase Ref
- Internship (practical projects) | Matching to a real company
- What will I be able to build once I complete this program after 8 months? You will be able to build a full application that stores data and allow's users to login and logout using firebase.
- Do not just use this resource as the ultimate guide. Go out there and explore other areas of technology and development. Get excited to be on the tech innovation rollercoaster ride. The journey will not be easy, but you can satisfy your curiosity with new libraries, tools and resources being released daily.