Module 0 -
Programming
Constructs
For
Beginners,
it is
first important to build command over programming constructs.
Within
this
module,
our goal is to help you be confident with coding fundamentals.
Topics that will
be
covered
-
-
Introduction to Programming
-
Input Output and Data Types
-
Operators
-
Conditional Statements
-
Loops
-
Pattern Problems
-
Functions
-
1D Array
-
Number System & Maths
-
String Implementation
-
Introduction to Data Structures
-
Time & Space Complexity
After this module,
you will
be
confident in:
-
Coding in 1
programming language.
-
Fundamental
understanding of Data Structure & Time Complexity.
-
All topics
taught in live classes with instant doubt support to
accelerate
learning.
-
Assignment
(post lecture) & their evaluation
-
Hyper-Personalized: Special focus on individuals with a
constant
touch
from Student Success Manager & Mentor.
Module 1 - Master
Problem
Solving in DS & Algo
Problem-solving
in
DS & Algo is one of the most important topics to master for
a
software
engineer. That is why, we spend the first 15 weeks of our
program
ensuring
you build a solid command over problem solving skills.
Topics that will
be
covered
-
-
Linear DSA
-
1D & 2D Array
-
Strings
-
Number System & Maths
-
Bit Manipulation
-
Binary Search
-
2 pointers
-
Recursion
-
Hashing
-
Sorting
-
Linked List
-
Stacks & Queues
-
Non-linear DSA
-
Trees
-
Binary Trees & Binary Search Trees
-
Heaps
-
Greedy Algorithms
-
Dynamic Programming
-
Graphs
-
Advanced DSA
-
Tries
-
Segment Tree
-
String Pattern Matching
-
Advanced DP & Graph Problems
After these 15
weeks, you
will
:
-
Feel
confident
in your problem solving skills.
-
Develop
pattern
recognition skills required to crack hard level DSA
problems.
- Be
interview
ready with DSA to crack top tech companies.
-
Hyper-personalization: Depending on student specific
learning pace.
multiple revision classes are organized.
-
Assignment
(post lecture) & their immediate evaluation help to
compare your
performance against peers.
-
Focus is
not
just on solving & remembering questions but to help
students
build
intuition behind concepts, enabling them to identify
patterns
-
Special
focus
on difficult topics like Dynamic programming and Graphs.
-
Weekly
contest
& regular Mock interviews to understand your conceptual
understanding and give feedback.
Module 2 -
Computer
Science
Fundamentals
Our code
runs on
hardware devices. So, in order to design & implement our
high level
solutions on machines that understand low level in an optimal
&
reliable
way, we should have understanding around core CS topics.
Topics that will
be
covered
-
-
Operating Systems
-
Computer Networks
-
Database Management systems
After this module,
you will
be
confident in:
-
Fundamental
understanding of crucial CS topics like Concurrency,
threading, SQL
vs
No SQL, Normalization, and Networks.
-
Live
lectures
from industry experts sharing the practical application of
CS
fundamental topic in software development lifecycle.
-
Assignment
(post lectures) & their evaluation
Module 3 - System
Design - LLD + HLD
As a
software developer, we are responsible for:
Writing
a clean, maintainable, modular code that is easy to understand
& extend.
Designing services capable of scaling to millions of active
customers with high reliability & fast access.
Within
this module, we learn these 2 skillset with hands-on experience
& multiple case studies.
Topics that will
be covered -
-
Low-Level Design (LLD)
-
Object Oriented Programming
-
Solid Principles
-
Design Patterns
-
UML Diagram
-
Schema Design
-
API Design
-
Case Studies- Machine Coding Interviews
-
High-Level Design (HLD)
-
Architecture Design
-
Distributed Systems
-
Domain Name System (DNS)
-
Load Balancing
-
Consistent Hashing
-
CAP Theorem
-
Caching
-
Content Delivery Network (CDNs)
-
Transactions
-
SQL vs NoSQL
-
Scalability
-
ZooKeeper + Kafka (Distributed Messaging Queue)
-
Microservices
-
Security
-
Case Studies
After this module,
you will be confident in:
-
After these 9 weeks, you will be able to design a system
capable of scaling to billions of users and participate in
design discussion confidently.
-
Multiple discussion with expert (e.g. senior engineers at
top tech companies)
-
Hands on learning experience
-
Multiple real life studies in live understand the tradeoffs
of designing a system.
-
Understand the internals of complex systems like distributed
Queues, Distributed file system, Microservices, etc.
Module 4 - Full
Stack Specialization with Project
As a
software engineer, we build products which can scale. In this
module, you will gain hands-on experience of building a project
from scratch & implement the LLD + HLD perspective in real
projects.
Topics that will
be covered -
-
HTML, CSS, JavaScript
-
JS for Web Development (DOM Manipulation, Events)
-
React
-
Redux
-
Git
-
Node.js
-
Backend Architecture
-
MVC Framework
-
API Design
-
Creating modules, data access layers, controller, views
-
Creating microservices
-
Spring Boot
-
Deployment on AWS, Security
After this module,
you will be confident in:
-
After these 8 weeks, you will have hands-on experience of
designing and coding scalable products.
-
Real-world applications provide learners with hands-on real
world experience.
-
Gain hands-on experience on LLD & HLD
- 1:1
discussion with your mentor regarding project improvements.
Module 5 - Get
Placed at Top Tech Companies
Duration: Until you get placed
Once you
have upskilled yourself to become a great software engineer, it
is important that we now focus on getting you interview
opportunities from diverse companies.
This
process is usually of 3 phases:
1.
Building a strong profile
2. Get
Interviewed at Top Product Compaines
3. Ace
the interview
We focus
on all the above 3 aspects in this next phase.
Placement
Support Includes -