0% found this document useful (0 votes)
268 views

Coding Mafia

The document outlines the modules and topics covered in coding courses aimed at learning to solve problems on coding platforms like Hackerrank, Codechef, Leetcode, and InterviewBit. The C++ Basics module focuses on learning C++ fundamentals and practicing on Hackerrank. The Coding Mafia module aims to solve 150-300 problems in 7 weeks covering topics like arrays, sorting, recursion, linked lists, stacks and queues. Later modules focus on hard problems involving trees, graphs, dynamic programming, backtracking and system design interviews. The Advanced Coding Mafia module aims to solve 300-500 hard problems. The AI Mafia module teaches Python and machine learning by building projects in areas like computer vision, N
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
268 views

Coding Mafia

The document outlines the modules and topics covered in coding courses aimed at learning to solve problems on coding platforms like Hackerrank, Codechef, Leetcode, and InterviewBit. The C++ Basics module focuses on learning C++ fundamentals and practicing on Hackerrank. The Coding Mafia module aims to solve 150-300 problems in 7 weeks covering topics like arrays, sorting, recursion, linked lists, stacks and queues. Later modules focus on hard problems involving trees, graphs, dynamic programming, backtracking and system design interviews. The Advanced Coding Mafia module aims to solve 300-500 hard problems. The AI Mafia module teaches Python and machine learning by building projects in areas like computer vision, N
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Module: C++

Aim : To learn solve 10-20 problems on


Hackerrank.

C++ Basics With Practice on Hackerrank

● C++ Helloworld
● C++ Data Types
● Practice on Hackerrank
● C++ Variable
● C++ Variable Scope
● C++ Operators
● C++ Loop Types
● C++ Functions
● C++ Arrays
● C++ Strings
● Searching and Sorting
● C++ Recursion

Module : Coding Mafia


Aim : To learn solve first 150-300+ problems on
Codechef, Leetcode, InterviewBit and Spoj in 7

1
weeks.

Basics, Input, Output, Loops, Addition, Subtraction

● Introduction to Coding Platform Codechef


● Hello world program in C/C++
● While loop & For loop
● Operators like addition/substraction
● Solving reversing a number
● Getting started with Codechef
● How to solve more and increase speed
● Resolving wrong answers
● Solving problems on Codechef
● How to speed up problem solving ?
● Daily practice exercise

Time Complexity, Array, Binary Search, Kadane's Algorithm.

● Using for loop to input array


● Sum of all elements in array
● What is Time Complexity
● Best, worst and Avg Complexity
● Binary Search
● Kadane's Algorithm
● Count Sorting
● Solving problems on Codechef
● Daily practice exercise

Linear Search, Binary Search & Adhoc problems

● What is brute force ?


● How to optimise ?

2
● Linear Search & Binary Search
● Solving for loop based problems
● Submissions on Codechef
● Solving binary search based problems
● Solving problems on Codechef
● Daily practice exercise

Prime Numbers, Vector and STL algorithms:

● What is Vector ?
● Vector operations and Sort
● Starting number theory
● Finding Prime Numbers
● How to find prime faster ?
● Sieve of Ethranos
● Solving problems on Codechef
● Daily practice exercise

Recursion & Memoization

● Factiorial using for loop


● Factiorial using Recursion
● What is Memoziation ?
● What is Hashmap ?
● Solving problems on Codechef
● Daily practice exercise

Game Theory, Companion Matrix & solving problems asked in interviews

● Solving more 2D matrix problems


● Intro to Game Theory
● Power function in logn
● Faster way to compute large factorial
● Companion Matrix
● Tips : for solving problems
● Daily practice exercise

3
Working on LinkedList, Queue & Stack

● Introduction to Leetcode
● What is segmentation fault and pointers ?
● Into to Linked List
● Intro to Queue
● Intro to Stack
● Push, Pop and Size operations
● Strategy : How to solve think and solve faster ?
● Daily practice exercise
● More Problems Practicing on LinkedList Stack & Queue
● Daily practice exercise

Working on LinkedList, Queue & Stack

● Introduction to Leetcode
● What is segmentation fault and pointers ?
● Into to Linked List
● Intro to Queue
● Intro to Stack
● Push, Pop and Size operations
● Strategy : How to solve think and solve faster ?
● Daily practice exercise

More Problems Practicing on LinkedList Stack & Queue


● Linked list based problem solving
● Stack based problem solving
● Queue based problem solving
● Solving problems on Leetcode
● Daily practice exercise

4
String, Maps & Heap
● Intro to strings library
● Solving problems on strings
● Solving problems on map
● Min heap and Max heap
● Using Priority Queue STL
● Solving problems on Leetcode
● Daily practice exercise

Bitwise operators
● And operator
● OR operator
● XOR operator
● More Hashmap
● Solving problems on Leetcode
● Solving problems asked in interviews
● Daily practice exercise

Set and Tree


● Using set library
● Operations like insert,size, begin, end, iterators
● Learning two pointer technique
● Intro to Binary Tree and Complete Tree
● Solving problems on Leetcode
● Solving problems asked in interviews
● Daily practice exercise

5
More Practice
● Revisiting pointer, linkedlist and Adhoc problems
● Solving more problems asked in interviews
● Solving problems on Leetcode
● Daily practice exercise

Tree and Tree Traversal


● Important tips to solve hard problems
● Introduction to Interview bit
● Intro to Tree
● Pre order traversal
● In order traversal
● Post order traversal
● Implementation using recursion
● Solving problem based on Tree
● Strategy to solve on Interviewbit
● Daily practice exercise

Hard Level : Tips and practice


● How to solve approach hard level problems
● Solving problems based on strings and arrays
● Soling problems asked in Google, Facebook, Directi
● Daily practice exercise

Hard Level : Number Theory, Strings & Interview problems


● Solving hard Number Theory based problems
● Solving hard string based problems
● Solving more problems asked in product based companies
● Daily practice exercise

6
Hard Level : Arrays, Strings & Maths
● Solving more problems asked in product based companies based on arrays,
strings and maths
● Daily practice exercise

Hard Level : TRIE and Extras


● Intro to TRIE
● Implementation of trie.
● Solving problems asked in Amazon
● Solving problems based on TREE
● Daily practice exercise

Audio Podcast : Strategies and Time management


● Strategy to solve problems in Online Coding Contest
● Which projects benefits in resume ?
● How to resolve Time Management issues ?
● Daily practice exercise

Memoization
● Recursion Detailed
● What is Memoization
● Solving problem using memoization
● Daily practice exercise

Backtracking Algorithm
● What is BackTracking ?
● Solving NQueen Problem

7
● Daily practice exercise

Hard Problems: Tree and Arrays


● Level Order Traversal of Tree
● Zig Zag Order Traversal of Tree
● Tri Sum Zero Problem
● Daily practice exercise

Dynamic Programming
● What is Dynamic Programming ?
● Top Down & Bottom Up approach
● Fibbonacci Series
● 1D Prefix Sum Array
● 2D Prefix Sum Array
● Daily practice exercise

Hard Problems on DP
● Solving hard problems on DP
● Rod cutting pronblem
● Longest Increasing SubSequence
● Best notes for Dynamic Programming
● Daily practice exercise

Graph, BFS & DFS


● What is Graph ?
● Directed, Undirected ?
● What are the use cases ?
● Depth First Search
● Breadth First Search
● Implementation of code for DFS & BFS

8
● Daily practice exercise

Greedy Algorithm
● Huffman Coding Algorithm
● Daily practice exercise

Career Guidance
● Resume Tips
● GSOC
● Applying Off Campus
● Closure of Coding Mafia

Module : Advanced Coding


Mafia
Aim : To learn solve 300-500+ problems on
Codechef, Leetcode, InterviewBit and Spoj in 3-4
months.
● Targetting 300+ hard problems

● Hard problems from SPOJ platform

● Hard variations of Recursion

● Hard variations of Trees

● Hard variations of Dynamic Programming

9
● Hard variations of Backtracking

● Hard variations of Graphs

● Hard problems asked in interviews

Module : AI Mafia: Python


+ Machine Learning A to Z
Aim: Learn Python from basics and develop
projects like Face Recognition System, Handwritten
Digit Recognition, Air Quality Prediction, Amazon
Recommendation System, Diabetes Classification,
Word Analogies and Dominant Color Extraction.

Building Foundation : Python Core


● Introduction to Python
● Variables
● Data Types
● Python Objects, Numbers & Booleans, Containers
● Operators - Arithmetic,Bitwise,Comparison,Assignment
● Conditions - if-else, if-elif-else
● Loops - for, while

10
● Break and Continue Statements
● Functions
● Practicing problems on Hackerrank
● Daily practice exercise

Project 1 : Send Email using Python


● Mini project Using SMTP library, send emails using python to anyone
● Daily practice exercise

Python Data Structures


● Lists - Object, Methods, List Comprehension
● Tuples - Object, Methods, Immutability
● Strings - Object, Methods, Splitting, Joining, Format Function
● Sets, Dictionary, View Objects
● OOPS Concepts and Working with Files
● Practicing problems, Become 4 Star Coder on Hackerrank
● Daily practice exercise

Project 2 : Automate Tinder using Python


● Mini project Using PyAutoGUI, automating tinder requests
● Daily practice exercise

Version Control System : Git


● What is Git?
● Git vs Github
● Git Bash vs GUI
● Setting up Git on machine
● Hands on Git Commands
● Setting up account and repository
● Pushing codes over Github

11
● Practicing - Getting comfortable with Git
● Daily practice exercise

Python Libraries in Depth : 1


● Numpy - Ndarray Object
● Numpy - Data Types
● Numpy - Indexing and Slicing
● Numpy - Broadcasting
● Numpy - Stacking and Splitting
● Numpy - Operators
● Numpy - Linear Algebra Methods
● Numpy - Statistics
● Daily practice exercise

Python Libraries in Depth : 2


● Pandas - Series
● Pandas - Dataframes
● Pandas - Indexing and Selection
● Pandas - Reading CSV, Excel and JSON
● Matplotlib - Visualization Scatter Plot
● Matplotlib - Visualization Bar Graph, Histogram and Curves
● Solving Assignment - Numpy and Pandas
● Daily practice exercise

Project 3 : Web Crawler using BeautifulSoup


● Learning and build cool stuff using web scraping in python
● Daily practice exercise

Getting Started with Machine learning

12
● What is Machine Learning
● Why Machine Learning
● Different ML Algo Classifications
● Challanges in Machine Learning
● Math Intelligence
● Applications in Various Verticals
● Set up and Installation - Anaconda and Libraries
● Daily practice exercise

Regression Techniques
● Linear Regression - Mathematical Intuition
● Gradient Descent in Depth
● UnderFitting and Overfitting
● Performance Evaluation
● Implementation of LR from Scratch without using Scikit Learn
● Implementation of LR from using Scikit Learn
● Multivariate Regression
● Solving Assignment - Linear Regression
● Daily practice exercise

Project 4 : Air Quality Prediction


● Predicting Air Quality using Multivariate Linear Regression
● Daily practice exercise

Logistic Regression
● Classification Problems vs Regression Problems
● Likelihood Estimation and Loss
● Gradient Ascent in Depth
● Independent Events
● Log Estimation
● Implementation of LR from Scratch without using Scikit Learn

13
● Solving Assignment - Logistic Regression
● Daily practice exercise

Project 5 : Diabetes Classification


● Use Logistic Regression to classify diabetic patients
● Daily practice exercise

K-Nearest Neighbors
● Lazy Learners
● KNN Issues
● Curse Of Dimensionality
● Non Paremetricity
● Implementing Nearest Neighbours Algorithm
● Learning OpenCV
● Solving Assignment - K-Nearest Neighbors
● Daily practice exercise

Project 6 : HandWritten Digit Recognition


● Using MNIST Dataset to perform Digit Recognition using KNN
● Daily practice exercise

Project 7 : Face Recognition


● Working with Images and Live Video Streaming
● Detect faces using OpenCV and Machine Learning.
● Daily practice exercise

Project 8 : Build Snapchat Filter using OpenCV


● Learn to process Live Webcam stream
● Apply Moustach and goggles to faces using OpenCV

14
● Daily practice exercise

KMeans Clustering
● Getting Started with Unsupervised Learning
● Pizza Parlour Case Study
● Implementing Clustering Algorithm from Scratch
● Implementing Clustering Algorithm using Scikit-Learn
● Problems with K-Means
● Solving issues using DBSCAN
● Daily practice exercise

Project 9: Dominant Color Extraction


● Repaint an image using K-Means Clustering.
● Daily practice exercise

Natural Language Processing (NLP)


● Natural Language Feature Engineering - converting text to features
● Text Analytics, Tokenization, Chunking
● Document Term Matrix
● Stop word removal
● Stemming
● Lemmatization
● Regular Expression
● Bag of Words, CountVectorizer
● TF-IDF
● Daily practice exercise

Project 10: Recommendation System


● Fetching women apprael's data from Amazon Product Advertising API
● Text Based Recommendation System on Amazon Real Data

15
● Exploratory Data Analysis
● Building Vocabulary
● Pickling
● Euclidean Distance, Cosing Similarity
● Daily practice exercise

Word Embeddings & Neural Networks


● Word2Vec Model
● Word Analogies
● Learn to implement Word2Vec and learn interesting analogies in an unsupervised
manner.
● Neural Nets & Multi Layer Perceptron Classifier Introduction
● Daily practice exercise

Project 11: Odd One Out


● Selecting Odd one out from multiple words using word vector representation.
● Daily practice exercise

Career Guidance
● Resume Building
● Discussion on Project Explanation in Interviews
● How to prepare anbd apply for off-campus Interviews?
● Further Steps and Resources
● Closure of AI Mafia
● Daily practice exercise

16
Module : Course : Java A to
Z + Full Stack Development
Aim: This course will help you to learn Core Java,
Advanced Java, Database, Spring MVC Frambwork,
RESTful APIs, Micro-services & related technologies
to build Java-based web applications. Creating
awesome projects like Twitter Clone.

Core Java : Installations


● Installing the JDK
● Running a Java Program
● Downloading IntelIJ
● Daily practice exercise

Core Java : Introduction to Java - Variable & Arrays


● Data Types
● Variables
● Arrays
● Multidimensional Arrays
● Getting User Input
● Daily practice exercise

Core Java : Practicing on Hackerrank

17
● Java 1D Array
● Java 2D Array
● Java Subarray
● Daily practice exercise

Core Java : Operators, Control Statements, Loops


● Math Operators
● Increment Operators
● Logical Operators
● Conditional Operators
● If Statement
● Switch Statement
● For Loops
● While Loop
● Do while Loops
● Daily practice exercise

Core Java : Practicing on Hackerrank


● Java Stdin and Stdout I
● Java If-Else
● Java Stdin and Stdout II
● Java Loops I
● Java Loops II
● Java End-of-file
● Daily practice exercise
Core Java : Maths, Strings & Date
● Random Number Generator
● String
● String methods
● toString, length, substring, indexOf, charAt, toUpperCase, toLowerCase,
compareTo

18
● Date and Epoch Time
● Daily practice exercise

Core Java : Practicing on Hackerrank


● Java Int to String
● Java Strings Introduction
● Java Substring
● Java Substring Comparisons
● Java String Reverse
● Java Anagrams
● Daily practice exercise

Advanced Java : Data Structures


● Arraylist
● List
● Map
● Daily practice exercise

Advanced Java : Practicing on Hackerrank


● Java Arraylist
● Java 1D Array (Part 2)
● Java List
● Java Map
● Daily practice exercise

Advanced Java : Data Structures


● Stack
● Set
● Priority Queue
● Sort

19
● Daily practice exercise

Advanced Java : Practicing on Hackerrank


● Java Stack
● Java Sort
● Java Priority Queue
● Daily practice exercise

Advanced Java : OOPs and Exception Handling


● Class and Objects
● Public, Private and this
● Inheritance
● Daily practice exercise

Advanced Java : OOPs and Exception Handling


● Abstract Class
● Interface
● Method Overriding
● Exception Handling (Try-catch)
● Exception Handling
● Singleton Pattern
● Daily practice exercise

Advanced Java : Practicing on Hackerrank


● Java Inheritance I
● Java Inheritance II
● Java Abstract Class
● Java Interface
● Java Method Overriding

20
● Java Method Overriding 2 (Super Keyword)
● Java Exception Handling (Try-catch)
● Java Exception Handling
● Java Singleton Pattern
● Daily practice exercise

Advanced Java : Creating Project - Knowing about IDE


● How to debug
● How to setup environment
● Creating Project
● Daily practice exercise

Advanced Java : File, Thread & Networking


● File Handling
● Threads
● Multithreading
● Get, Post request
● Daily practice exercise

Advanced Java : Mini Project- Word Top Frequency Analyser


● Reading files
● Using data structures
● Finding top keywords
● Daily practice exercise

Advanced Java : Dependencies using Gson & Json


● How to add dependencies
● What is Json and Gson ?
● Converting objects to Gson
● Converting Gson to objects

21
● Daily practice exercise

Advanced Java : Parsing Html


● Learning about Jsoup
● Running selecting queries
● Daily practice exercise

Mini Project - Wikipedia Fetcher using Advanced Java


● Search Word
● Get information from wikipedia
● Display to user
● Daily practice exercise

Database : Setting up database


● Setting up Postgres
● Setting up Pg Admin
● Daily practice exercise

Database : Using JOOQ - Connecting Database


● Why JOOQ ?
● How to setup ?
● Connect with database
● Create, Update, Delete
● Running queries
● Daily practice exercise

Mini Project - Multithreaded Crawling using Advanced Java


● Picking links from file
● Making multi-threaded network requests

22
● Dumping data
● Daily practice exercise

REST APIS
● What is REST APIS ?
● HTTP Methods- GET, POST
● HTTP Headers##
● Daily practice exercise

Backend using Spring MVC - Getting Started


● The DispatcherServlet
● POM.XML
● Web.xml
● What is Model
● What is View
● What is Controller
● Daily practice exercise

Backend : Explaining Configurations


● Application Properties
● Profiles in IDE
● Knowing about static resources
● Daily practice exercise
Backend : Building first REST API
● Creating Controller
● Creating Entity/Model classes
● Creating Views using jsp
● Daily practice exercise

Backend : Running first REST API

23
● Setting up Jetty server
● Making GET/POST request to server
● Requesting for HTML
● Requesting for JSON
● Daily practice exercise

Backend : Building Twitter - Sign Up Page


● Creating sign up page
● Learning javascript concepts
● Adding Member details to Database
● Learning about interceptors
● Learning about cookies
● Daily practice exercise

Backend : Building Twitter - Login Page


● Learning javascript concepts
● Authenticating user
● Handling login failure
● Redirecting to welcome page
● Daily practice exercise

Backend : Building Twitter - Profile Page


● Update details
● Uploading photo
● Daily practice exercise

Backend : Building Twitter - Create First Tweet


● Setting up UI interaction
● Using more javascript
● Updating user profile

24
● Daily practice exercise

Backend : Building Twitter - Home Feed


● Fetching users feed from database
● Adding LOAD MORE option
● Adding like option to tweet
● Handling unlike
● Daily practice exercise

Backend : Building Twitter - Adding Follower


● Adding follow option on other's profile
● Adding follow option on HOME FEED
● Daily practice exercise

Backend : Building Twitter - Using CDN & Redis


● Making APIs faster ? How ?
● What is CDN ?
● What is Redis ?
● Daily practice exercise

Interview Tips & Closure of Course


● How to explore more
● More tips on projects
● Final words from team
● Daily practice exercise

25
Module : Core Concepts
Fundamentals
Aim: Learning theory concepts because some
companies do ask these topics in interviews.

Object Oriented Programming


● Classes and Objects
● Polymorphism, Overriding, Overloading
● Encapsulation
● Abstraction
● Access Modifiers
● Inheritance
● Friend and Virtual functions in C++
● STL (Standard Template Library) in Depth
● Practicing problems on Hackerrank

Operating System

26
● Operating System and its Types
● Multiprogramming, Multiprocessing and Multithreading
● Process Management and Scheduling
● Process Synchronization
● Deadlock
● Memory Management and Virtual Memory
● File systems
● I/O systems
● Protection and Security

Database Management System


● Introduction to DBMS
● Architectures
● ER Model
● Relational Model
● Keys in Relational Model
● Database Normalization and Normal Forms
● Concurrency Control
● Indexing in Database
● B and B+ Trees
● ACID and BASE Properties
● SQL Queries in Depth : Hands On

Computer Networks
● Introduction to Computer Networks
● TCP/IP vs OSI Model
● Circuit Switching vs Packet Switching
● Flow Control Protocols
● IP and Classful Addressing
● Classless Addressing
● Routing Protocols
● ARP & DHCP

27
● Transport Layer
● TCP & UDP
● Application Layer
● HTTP & GRPC Protocol

Module : Aptitude
Aim: To increase your aptitude score so that you
don’t face issues while online APTI rounds.

🔥
Preparation for companies which takes Aptitude round as first round

● Quantitative Aptitude

● Logical and Verbal Aptitude

● Analytical Reasoning

● Practicing Interview Puzzles

28
Mock Interview Practice
Aim: To increase your confidence and to uplift your
communications skills. Regular 1-1 Mock
Interviews.

Visit Website Now. Click here

29

You might also like