Full Stack

Programming Basics in JavaScript
JavaScript is among the most powerful and versatile programming languages. Learn what is a programming language and write programs manipulating variables, loops, conditions, and data structures.
Developer tools and workflow
You will also learn common Linux basic commands and concepts that are important for any programmer. Work with the right developer tools and workflow. Learn the basics of the command line, use a code text editor and install VSCode by Microsoft. Learn how to version your code with git and push it on Github.
Introduction to Web
Get started with Web development by getting familiar with HTML, CSS to build basic web applications which will be responsive.
JavaScript on the browser
Learn the fundamentals of DOM API and Javascript to work with the Browser to create dynamic, interactive, event-driven websites. We will also explore the core concepts of Javascript. Become proficient in taking commands from the user and processing the user actions thereby building a user-friendly product.
Data Structures and Algorithms
Primitive & abstract data structures, Single Dimensional Array, Strings & KVP, Brute Force, Multi-dimensional Arrays, Substring & subsequences
We will work with more modern JavaScript or ES6+ features. At this time we will explore more parts of the web to build more complex projects and understand different patterns will also work with Charting libraries that can be used for data visualization.
Basics of Unit Testing
We will look at basics of testing with JavaScript using jest.
Advanced CSS
We will explore Sass, and generate CSS code from it, where we can design CSS code faster and flexibly in a reusable manner.
Introduction to React and React Ecosystem
We work with the basics of Webpack and understand the evolution of the web. We will learn how to set up with Webpack as well as React. We will also look at npm packages. Explore the underlying principles of how React works, and start building Single Page Applications with it. We will understand state management, component design, declarative style of writing code.
Data Structures and Algorithms
Complexity Analysis, bubble & selection sort, Stacks Data Structures, Queue Data Structures, Sliding window technique, Two pointers Recursion
UI Libraries, Reusable Components, Routing and Advanced APIs
We will work with React and see how it’s a UI library and help us build large projects by using Reusable Components and work on Routing and other advanced APIs of react to do global state management.
Deployment
Learn how to deploy SPA on the web.
Unit Testing, and end to end testing
Learn how to make your application more robus with test suites ranging from unit tests to end-to-end UI tests.
Redux and Hooks
We will work with React and advanced parts of react to build larger applications to manage the global states, the latest patterns like Hooks, and libraries of the ecosystem along with deploying projects.
Data Structures and Algorithms
Recursion & Backtracking (generate all subsequences, n-queens, sudoku solver), Recursive sorting algorithm – Merge sort, Quick sort, Linked List
Node.js and Express.js
Intro into Node.js and understand principles. Work with async operations, async IO, handling basic HTTP requests, templating, routing, using express, and build APIs. Use environment variables and set up PM2 or nodemon for configuring your server.
Microservices
Get comfortable with the idea of setting up a microservice that will act as an interface to work with your databases and other services. Create authentication services with JWT and persist data.
MongoDB
Learn more advanced patterns of MongoDB like indexing and managing sessions, transactions, and other advanced queries to build a more robust backend.
Data Structures and Algorithms
Binary Search, Greedy technique, Dynamic Programming
System design basics
Have you ever been curious about how backend systems work? How do they manage to handle so much load?
How do they scale?
Learn all about high-level and low-level design, load balancing, caching, and database design. This includes guest lectures from top software engineers from some of the best companies around.
All about operating systems
A brief introduction to operating systems. This will be followed by understanding how tasks are scheduled by an operating system. Understand how operating systems allocate memory to various processes and how this memory is managed.
Data Structures and Algorithms
Graph theory
Projects :- Work on collaborative projects to build a large system that explores all concepts that are important for understanding real-world applications.
Interview Preparation :- We will revisit all concepts for revising in a structured manner and have pair programming sessions to improve and be prepared for interviews and final evaluations.