Course Highlights
- Build a Strong Foundation in Front-end Web Development: Establish expertise in fundamental web technologies like HTML (including elements, headings, paragraphs, buttons, attributes, images, hyperlinks, containers, and lists), CSS (including rulesets, properties, colors, units, box model, margins, paddings, borders, selectors, specificity, inheritance, cascading, Flexbox, Sizing Elements, Overflow, Box Sizing, Content Box, Border Box, Media Queries, and Grid), and Bootstrap (including Grid System, Utilities, and Components like Carousel and Navbar) to design and publish static and responsive websites that run smoothly across various devices.
- Gain Expertise in Programming Fundamentals with Python: Learn the fundamental concepts of programming, including operators, data types, variables, strings, numbers, conditional statements, loops, functions, recursion, lists, tuples, sets, and dictionaries. Understand Object-Oriented Programming (OOP) principles such as classes and objects, attributes and methods, encapsulation, inheritance, abstraction, and polymorphism. Explore working with Python Standard Library modules like `collections`, `random`, `datetime`, and `math`.
- Master JavaScript for Dynamic Web Applications: Understand core JavaScript concepts including data types, variables, basic operators, conditionals, loops, functions, arrays, objects, control flow, comments, and Math functions. Learn DOM manipulation (selecting, manipulating style, text, content, attributes, local storage) and Forms (elements, validations). Gain proficiency in Array methods (push, unshift, splice, pop, shift, find, indexOf, concat, map, filter, reduce), Events, Fetch and Callbacks, and Asynchronous JavaScript (Async/Await, Promises).
- Specialise in Modern Front-end Frameworks: Learn to build stateful web applications with ReactJS, covering JSX, components, props, useState(), useEffect() hooks, conditional rendering, lists and keys, forms, routing (useParams(), useNavigate(), Navigate Component), authentication using JWT Token, protected routes, and React Context. Explore Next.js for server-side rendering, static site generation, routing (App Router vs Pages Router, dynamic routes, `<Link>`, `useRouter()`), Client and Server Components, `use client` Directive, rendering strategies, data fetching, and API routes. Also, learn Tailwind CSS for efficient utility-first styling.
- Build Robust Back-end Applications with Node.js and Express.js: Develop skills in building server-side applications using Node.js (Node REPL, Modules, NPM CLI) and the Express.js framework, focusing on HTTP Server, Routes, handling HTTP Request and Response, integration with Database, CRUD operations, error handling, and middlewares. Learn to secure APIs with JSON Web Tokens (JWT) for authentication and authorization.
- Acquire Database Proficiency (SQL and NoSQL): Learn about Relational Databases (SQL, MySQL), including database design, ACID Properties, SQL operations (CREATE, INSERT, SELECT, UPDATE, DELETE), advanced SQL modelling (ER Model, Joins, Subqueries, Indexes, Views), and MySQL administration (User and Privilege Management, Core Database Administration Tasks). Dive into MongoDB (NoSQL) for managing complex data structures, performing CRUD operations, querying documents, aggregations, nested documents, and integrating with Node.js applications using Mongoose.
- Leverage Generative AI for Accelerated Learning and Development: Integrate Generative AI tools throughout the curriculum to enhance learning, understand errors, fix code, explain concepts, generate code, generate SQL queries, optimise queries, translate business requirements to SQL, facilitate building and debugging web applications.
- Gain Practical Industry Readiness: Utilise essential developer tools like VS Code, Chrome Dev Tools, Framer, Figma, and Command-Line interfaces (Files and File System, Managing System Packages, Environment Variables). Understand operating systems, networks (Network Layer, Application Layer), and web servers. Develop skills in web scraping using Python and project deployment (e.g., on Vercel, external Platforms). Engage with online coding platforms and gain industry insights.
- Engage in Comprehensive Course Projects: Apply learned concepts by building a diverse portfolio of projects, including:
- Tourism Website (HTML5, CSS3, Bootstrap)
- Food Munch Website (HTML5, CSS3, Bootstrap Grid System)
- Ecommerce Website (HTML5, CSS3, Bootstrap Grid System)
- Wikipedia Search Application (HTML5, CSS3, JS)
- Ecommerce Application (React JS)
- Twitter Web Application (ExpressJS)
- Capstone Project - Movies App (Netflix Clone) (HTML, CSS, JS, React JS)
- Capstone Project - Tasty Kitchens (Swiggy Clone) (HTML, CSS, JS, React JS)
- Master Foundational Computer Science Concepts: Gain a deep understanding of core data structures, including
- linear arrays
- linked lists
- stacks
- queues
- binary trees
- binary search trees
- heaps (Min-Heap, Max-Heap)
- graphs
- Develop Proficiency in Recursive Algorithms: Acquire expertise in recursive algorithms and their applications, such as the Towers of Hanoi, and understand their implementation by stacks.
- Implement Sorting and Searching Techniques: Learn both basic sorting methods like Selection Sort, Bubble Sort, and Insertion Sort, and advanced techniques such as Merge Sort and Quick Sort. Master Binary Search and other searching strategies, including hashing, hash tables, and hash functions.
Learn about their representations, operations, and applications.
Develop a strong grasp of algorithms, asymptotic notations, and time and space complexity analysis to ensure efficient problem-solving.
-
Skill Type
-
Course Duration
-
Domain
-
GOI Incentive applicable
-
Course Category
-
Nasscom Assessment
-
Placement Assistance
-
Certificate Earned
-
Badge Earned
-
Content Alignment Type
-
NOS Details
-
Mode of Delivery
Course Details
What will you learn in Academy?
- Students will be able to comprehend the foundational concepts of data structures and algorithms, including asymptotic notations and time-space complexity analysis, to effectively evaluate algorithm efficiency. They will also learn about basic terminology, linear arrays, their memory representation, and advanced array applications like prefix sum, sliding window, and two-pointer techniques.
- Students will be able to proficiently develop and apply recursive algorithms, such as the Towers of Hanoi, to solve various mathematical and computational problems, understanding recursion fundamentals. They will also gain knowledge of multidimensional arrays and pointers.
- Students will be able to gain expertise in linear data structures, specifically linked lists, understanding their memory representation, and performing operations like traversing, searching, insertion, and deletion. This includes mastering advanced operations such as reversals, merging, and flattening, and working with header linked lists and two-way lists.
- Students will be able to implement and utilise stack and queue data structures, understanding their array and linked representations, and apply them to solve problems such as arithmetic expression evaluation (Infix, Prefix, Postfix), implementing recursive procedures, and understanding concepts like Monotonic Stack and Next Greater Element. They will also learn about dequeues and priority queues.
- Students will be able to master non-linear data structures, specifically binary trees, heaps (Min-Heap, Max-Heap), and graphs. This includes understanding binary tree traversals, applications like path sum calculations and lowest common ancestor, and implementing binary search trees, priority queues, and Heap Sort. For graphs, they will learn terminology, representation, traversal techniques (BFS, DFS), cycle detection, topological sorting, and bipartite graphs.
- Students will be able to implement both basic sorting techniques like Selection Sort, Bubble Sort, and Insertion Sort, as well as advanced methods such as Merge Sort and Quick Sort. They will also be able to apply binary search and other searching and data modification techniques to optimise problem-solving.
- Students will be able to utilise advanced data structures, specifically hashing and hash tables, along with hash functions, for efficient data organisation and retrieval. Practically, students will be able to design and implement concepts like Linked Lists, Stack ADT, Queue ADt, Priority Queues, Sorting and Searching, Tree Traversal, Binary Tree Structure, Graph Traversals (BFS, DFS), and Hash Tables.
- For front-end development, students will be able to build and publish simple static websites from scratch using HTML and CSS, understand their syntax and structure, and integrate Bootstrap components like carousels and embedded videos. They will learn to leverage Generative AI for accelerated learning, understanding and fixing errors, explaining, and generating code.
- Students will be able to create responsive web applications using HTML, CSS, and the Bootstrap Grid System, ensuring smooth functionality across all devices (desktop, tablet, mobile). They will also apply Generative AI for building and debugging responsive websites and learn about intermediate CSS concepts like selectors, specificity, inheritance, and cascading.
- Students will be able to master advanced CSS layout techniques like Flexbox and CSS Grid, implementing properties such as `display`, `flex-direction`, `justify-content`, `align-items`, `grid-template-columns`, and `grid-template-areas`. They will also learn to implement media queries (including `width`, `height`, `orientation`) and combine multiple media queries using logical operators to create complex, modern, and highly responsive web designs.
- Students will be able to set up and effectively use Tailwind CSS, leveraging its utility-first classes for efficient styling and responsive design implementation, including display, flex, grid, and responsive utilities.
- In programming foundations, students will be able to write programmes in Python, understanding fundamental concepts including operators, data types, variables, strings, numbers, conditional statements, loops, and functions, and apply Object-Oriented Principles (OOP) such as classes, objects, encapsulation, inheritance, abstraction, and polymorphism to build modular software. They will also utilise Python's standard library and leverage Generative AI for learning, code explanation, generation, and quiz/coding problem generation.
- Regarding databases, students will be able to develop strong fundamentals in database concepts and Database Management Systems (DBMS), design relational databases using the ER Model, and understand ACID properties. They will also be able to perform powerful queries using SQL, including CREATE, INSERT, SELECT, UPDATE, DELETE, Joins, Subqueries, Indexes, and Views. Generative AI will be used for query explanation, generation, and optimisation, as well as translating business requirements to SQL.
- For MySQL, students will be able to perform SQL operations and utilise advanced features like functions, stored procedures, triggers, and views. They will also gain an understanding of core database administration tasks, including user and privilege management. Additionally, students will learn the essentials of Operating Systems (OS) and Networks, and effectively use command-line tools for file management, system packages, and environment variables.
- Moving to dynamic web applications, students will be able to understand fundamental JavaScript concepts (data types, variables, operators, conditionals, loops, functions, arrays, objects) and apply them to build dynamic and interactive web applications using DOM manipulation. This includes handling forms, events, making HTTP requests with Fetch, working with JSON data, and leveraging Generative AI for building and debugging applications.
- Students will be able to apply advanced JavaScript concepts such as Rest parameters, Spread syntax, `this` context, ES6 Classes, error handling, and asynchronous programming using Async/Await and Promises. They will also be proficient in performing complex array and string manipulations using methods like `map`, `filter`, `reduce`, `trim`, `split`, `toUpperCase()`, `toLowerCase()`, and `includes`.
- For React JS, students will be able to build stateful web applications, understand JSX, Components and Props, manage state with `useState()` and `useEffect()`, implement conditional rendering, lists, forms, routing (`useParams()`, `useNavigate()`, `Navigate`), and authentication using JWT Tokens and protected routes. They will also utilise React Context and leverage Generative AI for building and debugging React applications.
- Students will be able to build back-end web applications using Node.js and the Express framework, handling HTTP requests and responses, integrating with databases, performing CRUD operations, securing APIs with JSON Web Tokens (JWT), and understanding authentication vs. authorisation. They will also learn about Node.js modules, NPM CLI, and leverage Generative AI for back-end development, testing, and debugging.
- Students will be able to develop strong proficiency in MongoDB, performing CRUD operations, querying documents, using aggregations and nested documents, and integrating MongoDB with Node.js applications using Mongoose. They will also learn to test MongoDB-backed APIs using Postman.
- Finally, students will be able to architect and build full-stack web applications by integrating HTML, CSS, JavaScript, and React JS to create complex projects such as a Movies App (Netflix Clone) and a Restaurant App (Swiggy Clone). They will also be able to develop server-side rendered (SSR) and statically generated (SSG) React applications using Next.js, mastering features like routing, client and server components, various rendering strategies, data fetching, and implementing authentication (e.g., using Auth.js with Google OAuth) and API routes.
Why should you take Academy?
- Master foundational concepts in Data Structures and Algorithms, including asymptotic analysis and time-space complexity, crucial for efficient problem-solving.
- Develop proficiency in recursive algorithms and their applications in solving mathematical and computational problems.
- Gain expertise in a wide range of data structures - both linear (arrays, strings, linked lists, stacks, and queues) and non-linear (trees, heaps, and graphs) - and apply them to solve real-world challenges.
- Implement and optimise problem-solving using both basic and advanced sorting and searching techniques, including hashing, for efficient data organisation and retrieval.
- Build a strong foundation in front-end web development and design with essential web technologies like HTML, CSS, and Bootstrap, enabling you to create professional static and responsive websites.
- Learn modern responsive web design techniques using advanced CSS Layouting (Flexbox, Grid) and utility-first frameworks like Tailwind CSS for adaptable and efficient UI development.
- Become proficient in Python programming fundamentals, including syntax, problem-solving skills, and Object-Oriented Principles, to build modular software.
- Develop strong fundamentals in Databases and DBMS, allowing you to perform powerful SQL queries and manage relational (MySQL) and non-relational (MongoDB) databases effectively.
- Master JavaScript for building dynamic and interactive web applications, covering DOM manipulation, asynchronous operations with `fetch` and `async/await`, and modern ES6 features.
- Become a full-stack developer with comprehensive expertise in the MERN stack (MongoDB, Express.js, React.js, Node.js), enabling you to architect and build end-to-end web applications.
- Build stateful and dynamic web applications with ReactJS, covering key concepts such as components, state management (`useState`, `useEffect`), routing, authentication, authorisation, and React Context.
- Learn to create secure RESTful APIs using Node.js and Express.js, handling HTTP requests, integrating with databases, performing CRUD operations, and implementing authentication with JWT.
- Gain the ability to develop performant and SEO-friendly web applications using Next.js, leveraging its features for routing, client-side rendering, server-side rendering, static site generation, and data fetching.
- Leverage Generative AI throughout your learning and development process for accelerated learning, debugging (understanding and fixing errors, code explanation), generating code, optimising queries, and building/testing applications more efficiently.
- Get extensive hands-on experience by designing and implementing numerous practical projects, including a Tourism Website, Food Munch responsive site, E-commerce websites, Wikipedia Search Application, Twitter-like social networking platform, and capstone projects like a Netflix clone and Swiggy clone.
- Acquire industry-relevant skills and readiness, including setting up and using professional developer tools like VS Code and Chrome Dev Tools, understanding Operating System and Network essentials, and learning project deployment practices.
Who should take Academy?
- Individuals looking to build a strong foundation in web development: The curriculum starts with fundamental front-end technologies like HTML, CSS, and Bootstrap, enabling participants to create and publish simple, beautiful, and responsive static websites from scratch.
- Aspiring programmers new to the field: The 'Programming Foundations With Python' module teaches fundamental concepts, including Operators, Data Types, Variables, Conditional Statements, Loops, Functions, and Object-Oriented Principles, Building Confidence in Coding.
- Those aiming to become full-stack developers: The 'MERN Full-Stack' section specifically targets individuals seeking to master the MERN Stack (MongoDB, Express.js, React.js, Node.js) to architect end-to-end web applications and build a project portfolio.
- Software engineers and developers seeking to strengthen their core computer science skills: The 'Data Structures and Algorithms' modules cover foundational concepts like asymptotic analysis, linear and non-linear data structures (arrays, linked lists, stacks, queues, trees, heaps, graphs), sorting, searching, and hashing, which are crucial for optimising problem-solving.
- Individuals interested in database management and SQL: The course provides strong fundamentals in Databases and DBMS, allowing users to perform powerful queries on relational databases using SQL (CREATE, INSERT, SELECT, UPDATE, DELETE) and advanced concepts like Joins, Subqueries, Indexes, and Views.
- Developers wanting to work with NoSQL databases: It includes a deep dive into MongoDB, covering CRUD operations, querying documents, aggregations, and integration with Node.js using Mongoose.
- Web developers looking to build dynamic and interactive web applications: The JavaScript modules cover fundamental concepts, DOM manipulation, forms, array methods, events, Fetch API for HTTP requests, and advanced asynchronous JavaScript (Async/Await, Promises).
- Those interested in modern JavaScript frameworks for front-end development: The React JS section teaches how to build stateful web applications, covering JSX, components, props, state management with `useState()`, `useEffect()`, routing, authentication using JWT tokens, and global state management with React Context.
- Back-end developers and those wanting to build robust APIs: The Node.js and Express.js modules teach how to build Back-end web applications, handle HTTP requests, perform CRUD operations, manage errors, and secure RESTful APIs using JSON Web Tokens (JWT).
- Developers aiming for performant and SEO-friendly web applications: The Next.js module focuses on server-side rendering, static site generation, routing, Client and Server Components, data fetching, and authentication using Auth.js.
- Anyone who wants to leverage Artificial Intelligence for learning and development: Generative AI is integrated throughout the curriculum for accelerated learning, debugging (understanding and fixing errors, code explanation), generating code, and concept-wise interview preparation.
- Jobseekers and career changers looking for practical experience: The course emphasises extensive hands-on experience through practical projects like a Tourism Website, Food Munch responsive site, E-commerce website, Wikipedia Search Application, and Capstone Projects such as a Movies App (Netflix Clone) and a Tasty Kitchens Restaurant App (Swiggy Clone).
Curriculum
Level 1: Fundamentals of Web Development and Programming
- HTML, CSS and Bootstrap for Web Design:
- Build Your Own Static Website: Learn to build a strong foundation in web technologies like HTML and CSS to create and publish simple, beautiful websites from scratch.
- HTML Basics: Getting Started, Elements, Headings, Paragraphs, Buttons, Attributes, Images, Hyperlinks, Containers, Lists.
- CSS Basics: Ruleset, Properties, Colors, Units, Box Model, Margin, Padding, Borders.
- Generative AI Integration: Leveraging Gen AI for accelerated learning, debugging (understanding/fixing errors, code explanation), and generating code.
- Course Project: Build a Tourism Website using HTML5, CSS3, and Bootstrap.
- Your Own Responsive Website: Develop skills in HTML, CSS, and Bootstrap to create web applications that run smoothly across desktop, tablet, and mobile devices.
- Intermediate CSS: Block vs. Inline Elements, CSS Selectors (Class, ID, Type, Specificity, Inheritance, Cascading).
- Bootstrap Components: Grid System (Container, Row, Column), Utilities (Display, Flex, Sizing, Spacing, Colors), Components (Navbar, Buttons).
- Generative AI Integration: Leveraging Gen AI for accelerated learning, debugging, and building responsive websites.
- Course Project: Build a responsive Food Munch website using HTML5, CSS3, and Bootstrap Grid System.
- Course Project: Build a responsive E-commerce website using HTML5, CSS3, and Bootstrap Grid System.
- Modern Responsive Web Design:
- CSS Layouting: Flexbox (Display, Flex-direction, Justify-content, Align-items, Flex-wrap, Flex-row, Align-content, Align-self, Flex-grow, Flex-shrink, Order), Sizing Elements, Overflow, Box Sizing, Content Box, Border Box.
- CSS Media Queries: Media Query, Media Types, Media Features (Width, Height, Orientation), Combining Multiple Media Queries with Logical Operators (and, not, , (comma)).
- CSS Grid: Grid Layout (Container, Items, fr Unit, repeat(), grid-template-columns, grid-template-rows, grid-template-areas, grid-area, justify-content, align-content, place-content, Media Queries, autofit and minmax).
- Generative AI Integration: Leveraging Gen AI for accelerated learning, debugging, and building responsive websites.
- Tailwind CSS: Introduction to Tailwind CSS, Advantages, Setting up, Common Utility Classes, Display and Responsive Utilities (flex-row, flex-col, justify-center, Grid Utilities, Responsive Utilities).
- Programming Foundations with Python: Learn fundamental concepts of programming and gain confidence in Python, including writing programmes, using data structures, and building modular software with Object-Oriented Principles.
- Fundamentals of Programming: Operators, Datatypes and Variables, Strings and Numbers, Conditional Statements.
- Loops and Functions: Loops, String Methods, Functions, Recursion.
- Data Structures: Lists, Tuples, Sets, Dictionaries.
- Object-Oriented Programming: Classes and Objects, Attributes and Methods, Encapsulation, Inheritance, Abstraction, Polymorphism.
- Working with Python Standard Library: collections, random, datetime, math.
- Generative AI Integration: Maximise learning with AI, code explanation, code generation, quiz generation, coding problem generation, concept-wise interview preparation.
- Introduction to Databases: Develop strong fundamentals in Databases and DBMS, and perform powerful queries on relational databases using SQL.
- Relational Databases: Introduction to SQL, Database Design, ACID Properties.
- SQL Operations: CREATE, INSERT, SELECT, UPDATE, DELETE.
- Advanced SQL Modeling: ER Model, Creating a Relational Database.
- Advanced SQL: Joins, Subqueries, Indexes, Views.
- Gen AI for SQL Development: Translating business requirements to SQL with AI, Debugging with AI Assistance, Query optimisation with AI assistance.
- MySQL: Develop strong fundamentals in MySQL and perform powerful queries on databases using SQL.
- Introduction to MySQL: Introduction to MySQL, Learning Databases, Introduction to MySQL Workbench.
- SQL Operations: CREATE, INSERT, SELECT, UPDATE, DELETE.
- Advanced MySQL features: Functions, Stored Procedures, Triggers, Views.
- Introduction to MySQL Administration: User and Privilege Management, Core Database Administration Tasks.
- Developer Foundations: Learn essentials of Operating Systems, Networks, and essential developer tools like Command-Line.
- Introduction to OS and Networks: Overview of OS Concepts, Networks and Internet, Network Layer, Application Layer, Web Servers.
- Working with Command Line: Files and File System, Managing System Packages, Environment Variables, Network
Level 2: Core Computer Science - Data Structures and Algorithms
- MODULE I: Basic Data Structures and Complexity Analysis:
- Introduction, Basic Terminology, Data Structures, Algorithms, Asymptotic Notations
- Time and Space Complexity Analysis
- Linear Arrays: Representation, Traversing, Searching, Advanced Array Applications (Prefix Sum, Sliding Window, Two-Pointer Techniques), Multidimensional Arrays
- Pointers, Recursion Fundamentals, Recursive Algorithms and Applications, Towers of Hanoi
- MODULE II: Sorting and Searching Techniques:
- Basic Sorting: Selection Sort, Bubble Sort, Insertion Sort
- Advanced Sorting: Merge Sort, Quick Sort
- Binary Search and Applications, Searching and Data Modification
- Hashing, Hash Tables and Hash Functions
- MODULE III: Linear Data Structures:
- Linked List: Representation, Traversing, Searching, Memory Allocation, Insertion, Deletion, Header Linked Lists, Two-way Lists
- Advanced Operations: Reversals, Merging, Flattening
- Strings, String Manipulation Techniques
- MODULE IV: Stacks, Queues:
- Stacks: Array Representation of Stacks, Arithmetic Expressions (Infix, Prefix, Postfix), Applications of Stacks
- Monotonic Stack and Next Greater Element, Implementation of Recursive Procedures by Stacks
- Queues: Implementing Stack using Queue, Implementing Queue using Stack, Linked Representation of Queues, Dequeues, Priority Queues
- MODULE V: Non-Linear Data Structures:
- Binary Trees: Binary Tree Traversals, Applications (Path Sum Calculations, Lowest Common Ancestor)
- Binary Search Trees
- Heaps: Min-Heap, Max-Heap, Priority Queue Implementation, Heap Sort, Huffman's Algorithm
- Graph Theory Terminology, Graph Representation, Graph Traversals techniques (BFS, DFS)
- Cycle Detection, Topological Sorting, Bipartite Graph
- Practicals: Design and Implement the following concepts: Linked List, Stack ADT, Queue ADT, Priority Queue, Sorting and Searching, Tree Traversal, Tree Structure - Binary Tree, Binary Tree Structure, Graph Traversals (BFS, DFS), Hash Table
Level 3: Dynamic Web Applications - Front-end Development
- Build Your Own Dynamic Web Application (JavaScript Fundamentals): Understand fundamental concepts in JavaScript and apply them to build dynamic and interactive web applications.
- Introduction to JavaScript: Data Types, Variables, Basic Operators, Conditionals, Loops, Functions, Arrays, Objects, Control Flow, Comments, Math Function.
- DOM Manipulation: The JavaScript Console, Introduction to the DOM, Select and Manipulate, Important Selector Methods, Manipulating Style/Text/Content/Attributes, Local Storage.
- Forms: The form element, label, input, option, button, select, textarea elements, Form validation and Input.
- Array Methods: push, unshift, splice, pop, shift, find, indexOf, concat.
- Events, Fetch and Callbacks: How to add Event Listeners, Callback, Scheduler (setTimeout, clearTimeout, setInterval, clearInterval), HTTP, HTTP Request using Fetch, HTTP Responses, Working with JSON data.
- Generative AI Integration: Leveraging Gen AI for accelerated learning, debugging (understanding/fixing errors, code explanation, generating code), building dynamic web applications, and testing.
- Course Project: Build a Wikipedia Search Application using HTML5, CSS3, JS.
- JavaScript Essentials (Advanced JS): Learn concepts like Events, Scope, Hoisting, `this`, ES6 Classes, Error handling, Objects, and Asynchronous JavaScript.
- Rest parameters and spread syntax, Destructuring Arrays and Objects.
- `this` keyword: in methods, window scope, function declarations, events.
- JS Classes: Built-in Constructor Functions, Constructor Property, Inheritance, `this` in classes.
- Asynchronous JS: Async/Await, Promises.
- Array Methods: map, filter, reduce.
- String Manipulations: trim and split, toUpperCase and toLowerCase, includes Methods.
- Generative AI Integration: Role of Gen AI in learning, enhanced learning (prompts), understanding/fixing errors, code explanation, generating code.
- React JS: Learn to build stateful web applications with the ReactJS library from scratch.
- Introduction to React JS: Why React?, JSX, Rendering Elements, Components and Props, Function Components
- Conditional Rendering and Lists, Forms
- State Hook (`useState()`), Handling Events
- Effect Hook (`useEffect()`), Component LifeCycle
- Routing: `useParams()`, `useNavigate()`, Navigate Component
- Authentication and Authorisation: Client and Server Communication, Authentication using JWT Token, Protected Route
- React Context: `use()`, Provider Component
- Generative AI Integration: Building React Applications, Testing and Debugging the Application
- Course Project: Build an E-commerce application using React JS
Level 4: Back-end Development and NoSQL Databases
- Node JS: Learn to build a Back-end web application using Express, covering database integration, routing, and APIs.
- Introduction to NodeJS: Node REPL, Modules, NPM CLI, Usage of NPM Packages
- Introduction to Express Web Application Framework: HTTP Server, Routes, Handling HTTP Request, Preparing HTTP Response
- Fundamentals of Application Building in Express: Integration with Database, CRUD Operations, Error Handling, Middlewares
- Securing APIs: JSON Web Token (JWT), Authentication vs. Authorisation, Building a Secure Web API with Express
- Generative AI Integration: Leveraging Gen AI for Building Back-end Application, Testing and Debugging
- Course Project: Build a REST web application, a Social Networking platform similar to Twitter using Express.js
- MongoDB: Dive into MongoDB, a leading NoSQL database, building strong foundation and proficiency in concepts related to MongoDB.
- Non-Relational Databases (MongoDB): Introduction to MongoDB, CRUD Operations, Querying Documents, Aggregations, Nested Documents.
- MongoDB integration with NodeJS: MongoDB Atlas, Mongoose, CRUD APIs with MongoDB, Testing MongoDB-Backed APIs using Postman.
Level 5: Advanced Frameworks and Capstone Projects
- Next.js: Learn Next.js for server-side rendering, static site generation, and easy API routing, mastering features like routing, data fetching, and authentication.
- Introduction to Next.js: Why Next.js, Advantages, Setting up a Next.js Project, Folder Structure
- Routing and Components: App Router vs.Pages Router, Creating dynamic routes, ` `, `useRouter()`, Client and Server Components, `use client` Directive
- Rendering Strategies and Data Fetching: Client-Side Rendering, Server-Side Rendering, Data Fetching, loading.tsx, error.tsx
- Authentication and API Routes: Authentication using Auth.js, Setting up Google OAuth, Creating API Routes
- Capstone Projects:
- Movies App (Netflix Clone): Build a Movies App where users can log in, view account details, browse movies (including trending), and view movie details. Tools used: HTML, CSS, JS, React JS.
- Tasty Kitchens (Swiggy Clone): Build a Tasty Kitchens Restaurant App where users can log in, select recipes, add them to their cart, and place orders. Tools used: HTML, CSS, JS, React JS.
Tools you will learn in Academy:
- Foundational Programming and Software Development
- Understand basic terminology, asymptotic notations, and time and space complexity analysis
- Develop proficiency in software development fundamentals, including syntax, debugging, tweaking code, and understanding and fixing errors
- Learn to explain and generate code, and explain and generate queries
- Gain problem-solving skills
- Operating Systems, Networks and Command Line
- Get an overview of OS Concepts
- Understand Networks and Internet, including the Network Layer, Application Layer, and Web Servers
- Work with Command Line for files, file systems, managing system packages, environment variables, and network operations
- Data Structures and Algorithms
- Master fundamental concepts of asymptotic analysis and time-space complexity
- Develop proficiency in recursive algorithms and their applications, including the Towers of Hanoi
- Gain expertise in linear data structures like:
- Linear Arrays: Representation in Memory, Traversing, Searching
- Advanced Array Applications: Prefix Sum, Sliding Window, Two-Pointer Techniques
- Multidimensional Arrays
- Pointers
- Linked Lists: Representation, Traversing, Searching, Memory Allocation, Insertion, Deletion, Header Linked Lists, Two-way Lists
- Advanced Linked List Operations: Reversals, Merging, Flattening
- Strings: String Manipulation Techniques
- Stacks: Array Representation, Applications, Monotonic Stack, Next Greater Element, Implementation of Recursive Procedures
- Queues: Linked Representation, Implementing Stack using Queue, Implementing Queue using Stack, Dequeues, Priority Queues
- Master non-linear data structures, including:
- Binary Trees: Traversals, Applications like Path Sum Calculations, Lowest Common Ancestor
- Binary Search Trees
- Heaps: Min-Heap, Max-Heap, Priority Queue Implementation
- Graph Theory: Terminology, Representation, Traversals (BFS, DFS, Cycle Detection, Topological Sorting, Bipartite Graph)
- Implement and optimise with sorting and searching techniques:
- Basic Sorting: Selection Sort, Bubble Sort, Insertion Sort
- Advanced Sorting: Merge Sort, Quick Sort, Heap Sort
- Searching: Binary Search and Applications, Searching and Data Modification
- Utilise advanced data structures for efficient data organisation and retrieval:
- Hashing: Hash Tables, Hash Functions
- Tries
- Disjoint Sets
- Python Programming
- Learn fundamentals of programming with Python, including Operators, Datatypes and Variables, Strings and Numbers, Conditional Statements, Loops, String Methods, and Functions
- Master Recursion in Python
- Utilise Python's built-in data structures: Lists, Tuples, Sets, Dictionaries
- Apply Object-Oriented Programming (OOP) principles: Classes and Objects, Attributes and Methods, Encapsulation, Inheritance, Abstraction, Polymorphism
- Work with the Python Standard Library (collections, random, datetime, math)
- Engage in Web Scraping using Python
- HTML (HyperText Markup Language)
- Understand HTML Basics: Getting Started, Elements, Headings, Paragraphs, Buttons, Attributes, Images, Hyperlinks, Containers, and Lists
- Build static websites
- CSS (Cascading Style Sheets)
- Master CSS Basics: Rulesets, Properties, Colors, Units, Box Model, Margins, Paddings, and Borders
- Understand Intermediate CSS: Block vs Inline Elements, CSS Selectors (Class, ID, Type), Specificity, Inheritance, and Cascading
- Learn CSS Layouting:
- Flexbox: Display, Flex-direction, Justify-content, Align-items, Flex-wrap, Flex-row, Align-content, Align-self, Flex-grow, Flex-shrink, order
- Sizing Elements, Overflow, Box Sizing (Content Box, Border Box)
- Implement CSS Media Queries for responsive design: Media Query, Media Types, Media Features (Width, min-width, max-width, Height, min-height, max-height, Orientation), and combining multiple media queries with Logical Operators (and, not, ,)
- Utilise CSS Grid for complex layouts: Grid Container, Grid Items, fr Unit, repeat(), grid-template-columns/rows/areas, grid-area, justify-content, align-content, place-content, Media Queries, auto-fit and minmax
- Build responsive web applications that run smoothly across all devices
- Bootstrap and Tailwind CSS
- Implement Bootstrap Components: Carousel, Embedding Videos, Navbar, Buttons
- Utilise the Bootstrap Grid System: Container, Row, Column
- Apply Bootstrap Utilities: Display, Flex, Sizing, Spacing, Colors
- Set up and use Tailwind CSS, understanding its advantages, common utility classes, and responsive utilities (flex-row, flex-col, justify-center, Grid Utilities, sm, md, lg, xl,and more)
- JavaScript
- Learn Introduction to JavaScript: Data Types, Variables, Basic Operators, Conditionals, Loops, Functions, Arrays, Objects, Control Flow, Comments, and Math Functions
- Perform DOM Manipulation: Using the JavaScript Console, selecting and manipulating elements, changing styles, text, content, and attributes, and utilising Local Storage
- Handle Forms: elements like form, label, input, option, button, select, textarea, and form validations
- Master Array Methods: push, unshift, splice, pop, shift, find, indexOf, concat, map, filter, and reduce
- Work with Events: Adding Event Listeners, Callbacks, and Schedulers (setTimeout, clearTimeout, setInterval, clearInterval)
- Understand HTTP: Hypertext Transfer Protocol, HTTP Requests using Fetch, HTTP Responses, and working with JSON data
- Utilise ES6+ features: Rest parameters and spread syntax, Destructuring Arrays and Objects
- Grasp the concept of `this` in various contexts: methods, window scope, function declarations, events, and classes
- Implement JS Classes: Built-in Constructor Functions, Constructor Property, and Inheritance
- Handle Asynchronous JS: Async/Await and Promises
- Perform String Manipulations: trim and split, toUpperCase and toLowerCase, and includes methods
- ReactJS
- Build stateful web applications with ReactJS
- Understand Introduction to ReactJS: Why React?, JSX, Rendering Elements, Components and Props, Function Components
- Implement Conditional Rendering and Lists: Conditional Rendering, Lists and Keys
- Work with Forms in React
- Utilise State Hook (useState()) and Effect Hook (useEffect())
- Manage Component Lifecycle
- Handle Events in React
- Implement Routing: useParams(), useNavigate(), and Navigate Component
- Manage Authentication and Authorisation: Client and Server Communication, Authentication using JWT Token, and Protected Routes
- Use React Context: use(), Provider Component
- Node.js and Express.js
- Build back-end web applications using Node.js and Express.js
- Understand Introduction to Node.js: Node REPL, Modules, NPM CLI, and usage of NPM Packages
- Work with HTTP Server and define Routes
- Handle HTTP Requests and prepare HTTP Responses
- Integrate with Databases
- Perform CRUD Operations
- Implement Error Handling and Middlewares
- Secure APIs using JSON Web Token (JWT), understanding Authentication vs Authorisation
- Work with File Systems and Streams
- Deploy applications on external Platforms
- Databases (SQL and NoSQL)
- Understand Fundamentals of Databases and DBMS
- Master Relational Databases concepts: Introduction to SQL, Database Design, ACID Properties, ER Model, and Creating a Relational Database
- Perform powerful queries on databases using SQL Operations: CREATE, INSERT, SELECT, UPDATE, DELETE
- Apply Advanced SQL: Joins, Subqueries, Indexes, Views
- Learn MySQL: Introduction to MySQL, MySQL Workbench, Advanced MySQL features (Functions, Stored Procedures, Triggers, Views), and MySQL Administration (User and Privilege Management, Core Database Administration Tasks)
- Dive into MongoDB (NoSQL): Introduction to MongoDB, CRUD operations, Querying Documents, Aggregations, Nested Documents
- Integrate MongoDB with Node.js using Mongoose
- Test MongoDB-Backed APIs using Postman
- Next.js
- Learn why Next.js is used and its advantages
- Set up a Next.js Project and understand its Folder Structure
- Master Routing and Components: App Router vs Pages Router, creating dynamic routes, ` `, `useRouter()`, Client and Server Components, and `use client` Directive
- Understand Rendering Strategies and Data Fetching: Client-Side Rendering, Server-Side Rendering, Data Fetching, `loading.tsx`, `error.tsx`
- Implement Authentication and API Routes: Authentication using Auth.js, setting up Google OAuth, and creating API Routes
- Generative AI for Web Development
- Get an Introduction to Gen AI in Web Development
- Leverage Gen AI for accelerated learning and enhanced learning through prompts
- Utilise Gen AI for debugging: Understanding Errors, Fixing Code with Errors, Code Explanation, and Generating Code
- Maximise your learning with AI
- Prepare for interviews and generate quizzes and coding problems with AI
- Leverage Gen AI for SQL development: translating business requirements to SQL, Debugging with AI Assistance, and query optimisation
- Build dynamic web applications, responsive websites, react applications, and back-end applications using Gen AI
- Test and debug applications with Gen AI assistance
- Industry Readiness and Tools
- Set up VS Code
- Utilise Chrome DevTools for debugging and inspection
- Work with Online Code Editors and Online Coding Platforms
- Use design tools like Framer and Figma
- Set up a local database server
- Query databases in VS Code
- Use Postman for testing MongoDB-Backed APIs
- Deploy projects on platforms like Vercel and other external platforms
- Learn about JavaScript Frameworks like Three.js
- Understand MySQL Workbench for database management
- Utilise MongoDB Atlas
- Work with Auth.js for authentication