Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

Detailed Curriculum

Topics Sub-topics Details

Introduction to flowcharts, Decision


Flowcharts making using flowcharts, Loops,
Example problems

Basics of Variables and Data types


First program, Variables and data
types, Taking input, How data is stored
Programming in memory, Arithmetic Operators

Introduction to If else, Relational and


Flowcharts logical operators, Nested conditionals

While loops, Flow of execution of


While loops statements in while loop, Example
problems using while loop

Introduction to patterns, Basic Patterns,


Square Patterns, TriangularPatterns,
Patterns Character Patterns, Reverse Triangle,
Loops and Inverted patterns, Isoscelestriangles

Functions For loops, Break and Continue,


For loops increment - decrement operators

Introduction to functions, Working of


Functions function calling, Variables and
its scope, Pass by value

Introduction to arrays, How arrays


Introduction to arrays are stored in memory, Passing
arrays to functions
Arrays Understanding Binary Search, Selection
Searching and Sorting sort, Bubble sort, Insertion sort,
Merging two sorted arrays

Introduction to strings, storage of


Strings
Strings and
strings and their in built functions

2D Arrays 2D arrays, Storage of 2D arrays,


2D Arrays Example problems using2DArrays

Introduction to recursion, Principle of


mathematical induction,Fibonacci
Recursion numbers, Recursion using arrays,
Recursion using strings, Recursion
Problem Solving using 2D arrays

Techniques Order complexity analysis, Theoretical


Time and space complexityanalysis, Time complexity
analysis of searchingandrecursive
complexity algorithms, Theoretical space complexity,
Spacecomplexity analysis of merge sort
Topics Sub-topics Details

Introduction to oops, Creating objects,


Getters, andsetters, Constructors and
Basics of OOP related concepts, Inbuilt constructor
Object-oriented and destructor, Example classes

programming Static members, Function overloading and


relatedconcepts,Abstraction, Encapsulation,
Advance concepts OOP Inheritance, Polymorphism, Virtual functions,
Abstract classes, Exceptionhandling

Introduction to linked list, Inserting node


in linkedlist, Deletingnode from linked list,
Linked lists Midpoint of linked list, Merge two sorted
linked lists, merge sort of a linked list,
Linear DataStructuresv Reversing a linkedlist
Introduction to stacks, Stack using arrays,
Dynamic Stackclass,Stackusing linked list,
Stacks and Queues Inbuilt stack, Queue using arrays, Dynamic
queueclass, Queue using linked
list, Inbuilt queue

Introduction to Trees, Making a tree


node class, Taking a tree as input and
Generic Trees printing, Tree traversals, Destruct
or for tree node class

Introduction to BinaryTrees,Taking a
Trees Binary Trees binary tree as input andprinting, Binary
Tree traversals, Diameter of binary tree

Introduction to Binary Search Trees,


Searching a node in BST,BST class,
Binary Search Trees Inserting and Deleting nodes in BST,
Types of balanced BSTs

Introduction to Priority Queues, Ways to


implement priority queues, Introduction to
heaps, Introduction to Complete Binary
Priority Queues Trees and its implementation, Insert and
Delete operations in heaps, Implementing
priority queues, Heap sort, Inbuilt
Priority Queue
Advanced Introduction to Hashmaps, Inbuilt Hashmap,
Data Structures Hashmaps Hashfunctions,Collision handling, Insert
and Delete operation implementation in
hashmap, Load factor, Rehashing

Introduction to Tries, Making a Trie Node


class, Insert, Search and Remove
Tries operation implementation inTries,
Types of Tries, HuGman Coding
Topics Sub-topics Details

Introduction to Graphs, Graph Terminology,

Advanced Graphs
Graph implementation,Graph Traversals
(DFS and BFS),Weighted and Directed

Data Structures Graphs, Minimum Spanning Trees, Cycle


Detection in Graphs, Kruskal's algorithm,
Prim'sAlgorithm, Dijkstra's algorithm

Introduction to Graphs, Graph Terminology,


Graph implementation,Graph Traversals
Introduction to (DFS and BFS),Weighted and Directed
Dynamic Programming Graphs, Minimum Spanning Trees, Cycle
Detection in Graphs, Kruskal's algorithm,
Dynamic Prim'sAlgorithm, Dijkstra's algorithm

Programming Longest Common Subsequence (LCS)


using recursion, memoizationand dynamic
Applications of programming, Edit distance using recursion,
Dynamic memoization and dynamic programming,
Knapsack problemusingrecursion,
memoization and dynamic programming
Topics Sub-topics Details

History of Web Understanding how and


who built the web

Getting started Client server architecture General architecture used

with Basics by websites

What happens when Learning what happens behind


you visit a the scenes while openingawebsite

How to create the structure


HTML structure of a web page
Introduction to
HTML Learning about various tags
Tags in HTML in HTML like <a>, <ul> etc

More tags Practice creating HTML with more tags

More on HTML Block v/s Inline elements Understand the diGerence between
inline and block HTML elements

Table Learn to create tables in HTML

How to create the structure


Form of a web page

Forms
Form fields What is an HTML form

CSS Introduction What is CSS and how to use it in HTML

Intro to CSS
Blog page Building and styling the blog project

Starting with Starting the project Start building the Resume project
Resume project by creating the HTMLstructure
Topics Sub-topics Details

Introducing SASS, setting up


Intro to Flex SASS for our project

Flex Flex properties Explaining 1:1,1:M and M:M DB relations

Using flex in Resume Utilising flex to style the Resume project

Responsive designs Media queries Learning storage in SQL databases

What are pseudo elements and


Pseudo elements where to use them
Completing Resume
Finishing up Finish building the Resume project

Animations and Animation properties


Basics of CSS animation and how
to animate HTML elements
3D space using animate.css

What are frontend frameworks


Frontend frameworks and how to use one

Bootstrap Grid system Learning about grid system of bootstrap

Using various other bootstrap elements


Bootstrap components like Navbar, Jumbotron etc

Major Project Assignment Build a music player project with your


newly gained skill set

Intro to JS What is JS and history of JS


Starting with
Javascript Variables, Learning the basics of the language
operators, loops
Topics Sub-topics Details

Scope Understanding scope in JS

JavaScript: Hoisting What is hoisting and its application

Functions and
Functions expressions
Arrays v/s Function declaration
DiGerence between function
expression and declaration

What are arrays and using array


Arrays and its usage functions like splice, slice etc.

What are objects, how to create them


Intro to Objects and using diGerent notations to
Objects and access object’s data

Timing Events Learn to iterate over objects, delete


Object functions object properties, creating nested objects

Understanding DOM, what it is, how


DOM to access elements from the DOM

Understanding DOM
Events How to manipulate DOM events in JS

Calculator Project Assignment Creating a mini calculator with


basic functionality

Learning diGerent ways to


let v/s var create variable
Mini Projects
Using Javascript
Catch me if you can Build a game using vanilla Javascript

Revising some old concepts like Scope,


Revision window object etc

Closures
What are immediately invoked
IIFE function expressions

Closures What are closures and its application


Topics Sub-topics Details

Closures Arrow functions How does the “this” keyword works in JS

How does the “this” keyword


“this” keyword works in JS

Constructors and Prototypes Discussing what are prototypes in JS,


Prototypes
why do we use them and its application

Learning about using classes in JS


Class and how to deal withclass
inheritance in JS

Project: Ping Building the famous ping pong


Assignment
Pong Game game with Javascript

What are promises and callbacks in


Promises, Callback Javascript, Whytouse

Ashyncronous What is setTimeout, Event loops


Timed Events
JavaScript in javascript

What are Async Await in Javascript,


Async Await Why that is important

Single page appplication and multiple


SPA, MPA page application

TODO list API How to use API in Javascript

IIFE module design


pattern

What is jQuery and what is the


Intro to jQuery need for it
jQuery
Handling various JS events with
Event handling in jQuery jQuery and exploring the library
Topics Sub-topics Details

What are async requests,


Intro to AJAX what is API and JSON
Ajax
Making ajax requests with jQuery
Ajax requests with jQuery and handlingerrors

Promises Intro to promises What is a promise, how do we use


promises and chaining promises

Intro to Git What is git and why it's helpful

Git Branches Exploring branches in Git.


How to create branches.

Understanding push, commits, pull


Git workflow requests and using git for teams
and individual
Topics Sub-topics Details

Intro to Node Introduction to the course,


Node.js : Setting up Intro hello world with nodejs

The Beginning
to servers Setting up tools and the project

Setting up node What are servers and how one


server nodemon can use them

Node.js : Writing Beginning the project by setting up


Our First Server the very first nodeserver

Introducing nodemon to monitor


changes made totheserver

MVC MVC architecture for our server

My First Express App : Express


What are frameworks, using

A List of contacts express with node

What are template engines, setting


Ejs up and working with Ejs

Building the contact list, sending data


Creating the contact list to server, parsing the data

My First Express Using query parameters in our app


Middleware
App : Continued for deletingcontact

What is a middle ware and


Query parameters how to use one

What are databases, SQL and No


Intro to Databases SQL databases

My First Express App : MongoDB


What is MongoDB, how to use it and
Intro To Databases setting up MongoDBfortheproject

DB operations CRUD operations for MongoDB


Topics Sub-topics Details

Directory structure Setting up the MVC directory


Beginning The Major and setup structure, router and ejs setup

Project 1 Creating controllers and router for


Controllers handling incoming requests to the server

Build a Todo list app using


Major Project - 1 Assignment Nodejs and MongoDB

Understanding and creating


Partials, Layouts Partials and layouts in views

Beginning the Major Static files Setting up static file access

Project - 2
Mongoose Linking MongoDB using Mongoose

What is passportjs, setting up


Intro to passportjs
Authentication Using passportjs for the project

Passport js Setting up MongoStore for


MongoStore setup session cookies

User schema Setting up user schema for out app

Manual Cookies
What are cookies and how

Authentication
to use themin theapp

Build user sign in and sign up flow and


User sign up and sign in learn howtoauthenticateusers manually

SASS
Introducing SASS, setting up SASS
Intro to SASS for our project

DB relations Explaining 1:1,1:M and M:M DB relations


Database Relations
(Posts, Comments) Relationship for Understanding the relationship
between Post and Comments,
Post and Comments creating schemas for both
Topics Sub-topics Details

Database Relations
SQL storage Learning storage in SQL databases
(Posts, Comments)
Deleting Posts/ Understanding how deletion works
Deleting and Updating Comments/Users with Posts and Comments
Objects in Database
+ Distributing Views User profile Working on user profile and updating
SCSS for other pages

What is async await and converting


Async await our code to async await
Async Await + Error
Handling How to create flash messages, using
Flash messages Noty to show flash messages

Converting to AJAX Using AJAX Learn how to use AJAX for


post creation, deleting post etc

Intro to file upload Learning how to handle file uploads

File upload
Using multer to handle profile
Multer picture upload in the project

What is social authentication and how


Social auth with Google does it actually works
Social Authentication
(Mini Lecture) Using passport for Setting up passport for google
Google auth social auth

What are APIs and why do we


Intro to APIs
APIs (making APIs and use them

JWT authentication) Understand what is JWT, how does


JWT authentication and authorization
works, build some APIs for the same
Topics Sub-topics Details

Intro to mailers, setting up


Nodemailer Nodemailer for sending emails

Parallel Jobs + Mailer Sending mails Learn how to setup and send
emails for your project

Understand what are delayed jobs


Delayed jobs and how they can be helpful using
the Kue library

Intro to a new DB relationship


Polymorphic relation i.e. Polymorphic relations

Friends + Likes
Using Polymorphic relationship to
Making friends create add a friend functionality

Sockets What are sockets and how to use them

Chatting Entgine
Setting up Socket.io and using it to
Socket.io send messages

Introduction to production Learn how to create a production


environment for the project using
environments
Gulp ::Getting environment variables

deployment ready What is gulp, using gulp to


Gulp automate certaintasks

Learning how to deploy apps on AWS,


Deployment AWS SSH to set uptheserver, understand
and setup Nginx

Major Project Assignment Build the major project

Intro to React and building


React All about React basic components
Topics Sub-topics Details

DiGerence between Single page


SPAs v/ s MPAs apps and Multi page apps

React philosophy What is React’s philosophy?

Intro to React
Why React stands out from
React v/s others other JS libraries and frameworks.

Intro to React and Building


All About React basic components

Vue All about Vue


Intro to React and building
basic components

Ways to start using React


Using React Babel in a project

Using babel and understanding


Hello World Conditional rendering how it works withReac

Introduction to the Rendering diGerent components


project Adding based on diGerent conditions

CSS Introduction to Cart and its working

Mini Project: Starting


Using state Styling the cart using CSS
the project

More on React state Adding state to Cart

Mini Project:
Rendering lists React state in depth
Managing state
Topics Sub-topics Details

Props How to render list of items

Mini Project: Delete, adding Navbar, What are props and how do
Finishing up total products count we work with them

Introduction to Firebase Building more functionalities of cart

Understanding what is firebase


Component lifecycle and how it actually works

Firebase: Mini project Firebase setup CRUD with Learning about lifecycle of a
extended I React component

Setting up firebase and adding


Firebase it to the project

Learning how to create, read, update


Querying data and delete datafrom firebase
Firebase: Mini project
extended II
Querying data from firebase

Mini project Assignment project, building a


vintage iPod

Major Project: Settings page, editing a Building various functionalities


User profile user, add user as a friend of the social media app

What is redux, why and when


All about Redux do we use it

Intro to Redux Setting up the project Setting up the Movie search project

Adding U Start adding components to the project


Topics Sub-topics Details

What are reducers and creating


Reducers reducers for the app

Redux: Actions, What are actions, dispatching actions,


Actions
Reducers, Store creating actions for the app

What is store, subscribing to the store


Store and adding store to the project

Currying Understanding the currying

How to combine reducers to


Combining Reducers make the app more eGicient

Redux continued
Learning about middlewares and
Middleware using some with Redux

Using thunk to make async calls


Thunk to an API

Searching users Adding functionality to search users

Major Project:
Search and Chat Building the chat box Creating the chat using sockets

Use EGect, use State


React Hooks and other
What are hooks, why do we use them
and various React hooks out there

Context API What is the context API and how to use it

React and Redux HOC


Learning about Higher order
components inReact

Diving deep into how connect() works in


connect() with Redux Redux and using react and redux together
Topics Sub-topics Details

Project setup Setting up the social media project


Major Project:
Setup and Intro
PropTypes Using PropTypes for props validation

Adding react router to the project


React router to handle diGerent routes

Auth in SPA Understanding how auth works for SPAs


Major Project:
Routing and Auth
Form handling Ways to handle form in React

User login Building the user login functionality


Lecture Topic Name Description

Introduction to Number Number System, Remainder


System theorem, Unit Digit

NUMBERS Progressions Arithmetic progression,


Geometric progression

Finding factors of a number, Shortcuts


for finding primenumber,Concept of HCF,
HCF and LCM Problem Solving on HCF,Concept of LCM,
ProblemSolving on LCM

Introduction to Averages, Assumed average


approach, StandardSituation in Averages,
Averages Concept of Weighted Averages, Standard
AVERAGES Situations involving weighted average

AND MIXTURES
Introduction to alligations, Standard
Alligations problems involvingusing

Concept of percentages, Concept of


percentage change, Percentage Change
Graphic, PCGappliedtoProductchange,
Percentages PCG Applied to Product Constancy, Product
Constancy Table, The fractional view to the
product constancy table, PCG applied to
successive percentagechange

Ratio, Proportion Concept of Ratios, Multiplierlogic, Concept


ARITHMETIC AND and Variation of proportionVariation and its types

WORD PROBLEMS
Basic concept of Profit and loss,
Profit and loss Concept of Simple Interest, Concept
of Compound Interest

Introduction to Time and Work, Time and


Time and Work work (Man Days), Men, Women and Children

Basicsof Probability, Problemson Coins,


Problems Based on Dice, Problems Based
Probability on Cards, Problems Basedon Balls from the
Box,Word Based problems on Probability
COUNTING
Introduction to Permutation and
Permutation and Combination, The selection Formula,
Combination Distribution of Identical Objects, Formula
for Arrangements, Circular arrangement
Lecture Topic Name Description

Introduction to Time, Introduction to Time, Speed, Distance


The proportionalities in equations.
Speed and Distance Solving problems on TSD

TIME, SPEED Relative Speed The concept of Relative Speed.


Questions based on Relative Speed
AND DISTANCE
Concept of Circular Motion, Train
Application of TSD problems Boats and Stream problems,
Races and Games

Recognising alphabetical patterns,


Recognising Patterns Recognising numerical patterns,
Coding Decoding Question Patterns

Introduction to Syllogisms,
REASONING Syllogisms Problems on Syllogisms

Blood relation and Solving problems on Blood Relations,


Concept of Calendar, Problems
calendars on Calendar

Reading eGectively reading compre-


Reading Comprehension hension, How to find mainidea,
Solving reading comprehension

Sentence completion/
ENGLISH Fill ups
Theory of Fill Ups/ sentence completion,
Questions on sentence completion

Vocab, Antonym Introduction to English, Vocab,


and Synonyms Antonym and Synonyms

Basic Concepts of Data Introduction to Data interpretation,


interpretation Problems on Data interpretation
DATA
INTERPRETATION Reading Pie charts, Reading Bar Charts,
Charts Reading tables and X-Y Charts,
Problems on Charts
Detailed Definition of OS

Components of OS: User Space and Kernel Space

Demonstration on functionalities of Kernel

Introduction to
OS Types of Kernel

Introduction to terminal in Linux OS

System Calls

Process and Process Control block

Architecture of Process with Basics of Storage Devices

Process States

Process Management Operations on Processes

Special types of Process: Orphan and Zombie Process

Process Scheduling

Process Scheduling Algorithms: FCFS, Shortest Job First,


Priority Scheduling, Round Robin, Multilevel Queue
and Multilevel Feedback Queue Scheduling
Memory Management in Early Systems

Improvement and Challenge of Isolation and Protection

Understanding Stack and Heap Memory

Initial attempts on Virtualisation of


Memory and Address Translation

Free Space Management

Memory Management Memory Allocation Techniques: Fixed Partitioning

Dynamic Partitioning, Segmentation, Paging,


Paging with Translation Lookaside BuGer

Virtual Memory and Page Faults

Page Replacement Algorithms

Thread Scheduling Issues

Solution to Synchronisations Issues: Locks,


Conditional Variables and Semaphores

Processes, Threads and Multithreading

Concurrency
Thread Scheduling Issues
Solution to Synchronisations Issues: Locks,
Conditional Variables and Semaphores

Concurrency Bug: Deadlock

Concurrency
Deadlock Avoidance and Prevention Banker’s Algorithm

Need for Secondary Memory

HDD and SSD

File System, Files and Directories

Storage Management
Disk Space Allocation Methods:
Contiguous, Linked and Indexed

Disk Scheduling Algorithms: FCFS, SSTF,


SCAN, C-SCAN, LOOK, C-LOOK

Introduction to Linux OS

Process Management, Memory


Management and File System in Linux

Case Study: LinuxOS Linux Cgroups and Namespaces

Linux Boot Process

User Management
Package and Repository Management

Jobs and Crontab

Case Study: LinuxOS


Troubleshooting in Linux

Debuggability using Logs


Lecture Name Description

What is Data, What is information, What is database,


Introduction to DBMS Before the arrival of databases , What is database
management systems

Introduction to Data Models, Types of Data Models,


Data Modeling Database Architecture, Three- Schema Architecture,
Data Independence and its types

Introduction to ER Models, Components of ER Diagrams,


Entity-Relationship Entity, Attributes , Relationship and their types,
Model Creating an ERDiagram

Relational Model Concepts, Properties of a table, Database


Relational Model keys, Integrity rules and constraints, Relational Algebra

Introduction to SQL, SQL commands such as Data


Definition Language (DDL), Data Query Language (DQL),
Data Manipulation Language (DML), Data control
SQL language (DCL), Transaction Control Language (TCL),
Creating Database and Tables, Fundamental Queries,
Aggregate functions, Joins, Subqueries, Set Operations,
Stored Procedures, Triggers

Functional dependencies, Anomalies : insert, update, delete,


Normalization Normalisation,Types of normal forms- INF, 2NF, 3NF, BCNF.

What are Transactions?, ACID properties: Atomicity,


Transactions Consistency, Isolation, Durability, State of transactions

Indexing in DBMS, Indexing Methods, Primary index,


Indexing Ordered index: Dense and Sparse index,
Clustering index, Secondary index
Lecture Name Description

What is Data, What is information, What is database,


Introduction to DBMS Before the arrival of databases , What is database
management systems

Introduction to Data Models, Types of Data Models,


Data Modeling Database Architecture, Three- Schema Architecture,
Data Independence and its types

Introduction to ER Models, Components of ER Diagrams,


Entity-Relationship Entity, Attributes , Relationship and their types,
Model Creating an ERDiagram

Relational Model Concepts, Properties of a table, Database


Relational Model keys, Integrity rules and constraints, Relational Algebra

Introduction to SQL, SQL commands such as Data


Definition Language (DDL), Data Query Language (DQL),
Data Manipulation Language (DML), Data control
SQL language (DCL), Transaction Control Language (TCL),
Creating Database and Tables, Fundamental Queries,
Aggregate functions, Joins, Subqueries, Set Operations,
Stored Procedures, Triggers

Functional dependencies, Anomalies : insert, update, delete,


Normalization Normalisation,Types of normal forms- INF, 2NF, 3NF, BCNF.

What are Transactions?, ACID properties: Atomicity,


Transactions Consistency, Isolation, Durability, State of transactions

Indexing in DBMS, Indexing Methods, Primary index,


Indexing Ordered index: Dense and Sparse index,
Clustering index, Secondary index
Lecture Name Description

Introduction to diGerent types of databases, Relational


Classification database, Object-oriented database, Network
of Databases database, Hierarchical database

Introduction to NoSQL databases, Why are NoSQL


Databases needed, Features of NoSQL databases,
NoSQL Databases Types of NoSQL databases; Key-value Pair Based,
Column-oriented Graph, Graphs based, Document-oriented

Database optimization Concurrency Control, Partitioning, Clustering, Sharding


Lecture Name Description

Covers the introduction of System design, low level


Introduction and high level designs, product cycle, and why
system design is important.

Covers diGerent architectural patterns such as centralized


and distributed, when to choose which pattern, their
Architectural patterns advantages and disadvantages, how to scale an
application ,types of scaling.

Covers concepts such as latency, throughput,


Application redundancy, replication, availability and fault
characteristics I tolerance with industry relevant examples.

Covers concepts such as consistency, types of consistency,


Application CAP theorem, logical time in distributed systems and
characteristics II Lamport algorithm with industry relevant examples.

Covers concepts such as load balancers, load balancing


Application algorithms, caching, types of caching solution, cache
characteristics III eviction strategies with industry relevant examples.

Covers databases, types of databases, polyglot,


Database indexing, denormalization,

Covers database optimization concepts like partitioning,


Database
types of partitioning, sharding, diGerent partitioning
Optimization criteria with industry relevant examples.
Lecture Name Description

Covers topics such as synchronous and asynchronous


Communication communication, message based communication

Covers web applications, client server model, RESTAPI,


Web Applications service oriented architecture (SOA), microservices,
tier architecture

Covers web servers, communication protocols, push and


Servers and security pull model, long polling, web sockets, server sent events,
proxies, authentication, authorization protocols

Covers step-by-step approach to design popular


Real Life Use Cases applications.

Distributed web Detailed step by step process and explanation on how


crawler to design Distributed web crawler

Global chat service : Detailed step by step process and explanation on


Messenger how to design a global chat service.

Video streaming Detailed step by step process and explanation on how


service (Youtube) to design a video streaming service.

File storage and sharing Detailed step by step process and explanation on how
system(Dropbox) to design a file storage and sharing system
Lecture Name Description

Global ride sharing Detailed step by step process and explanation on


system(Uber) how to design a global ride sharing system

Covers practice projects for the learners


Practice projects with their solutions.

Covers what to expect in a System design interview,


important interview questions, how to ace them,
Mock interview questions to ask before you start working on a
sessions given system,pointers to remember while
designing a system.

You might also like