You are on page 1of 2

Algorithms and Data Structures for

Industry - 2
ABOUT THIS COURSE

This course has been designed to holistically impart a deep understanding of Programming, Data
Structures, Algorithms and relevant Computer Science concepts to students who have good knowledge of
all basic concepts & can convert their logic into a working program. We aim to strengthen students’
logical-thinking & analytical skills through Problem-Solving to prepare them for high-pressure Coding
Interviews of Tier-1 IT companies, like Amazon, Microsoft, etc. We will also help build a self-sufficient
programming community in college.

INSTRUCTOR

Shariq Khan is a CSE graduate from IIIT-H, with work-experience in Amazon, Questbook & Qualcomm.
With extensive experience in Teaching, Interviewing and building products in EdTech domain, Shariq aims
to radically change STEM education in India by inculcating the aptitude for questioning & self-learning in
students.

SYLLABUS

This is an overview of the topics we are going to cover in class, the estimated amount of time each topic
would take and the schedule for the tests in the process. The classes for each topic consist of almost 33%
theoretical concepts and rest would be hands-on problem-solving. The students are proficient in converting
their logic to corresponding code, so we can right away delve into medium difficulty problems and start
dealing with advanced topics/problems as we progress through the course. The regular assignments will help
students practise programming in an organised manner so that they can learn how to analyse the given data
and apply the concepts on problems.

For evaluating students, we will have Lab Tests and Pop Quizzes where students will have to write
production-ready code for given programming problems and will be judged on the optimality of their
solutions. All the assignments and tests will be hosted on Online Judge, so that we can track every student’s
progress efficiently on a granular level.

While programming and problem-solving aptitudes are prerequisites to acing a programming interview,
interviewers also judge a candidate over the thought-process they go through to approach a problem, how
well they communicate & explain their approaches with the right amount of detail and abstraction. These
and other underlying aspects of technical interviews will also be touched upon throughout the course.

Classes will be conducted for 4 hours per week. The complete course will run for 3 months, which sums
up to 48 hours .
Please find the tentative schedule of course below :

TOPIC NUMBER OF HOURS(Estimated)

Complexity Analysis of algorithms 1

Arrays 3

Multidimensional Arrays and Pointers 2

Strings 2

Bit Manipulation 2

Maths - Concepts and problems related to Permutation & 3


Combination, Probability, etc

Recursion - Recurrence relations, Backtracking 3

Sorting - Two Pointers 2

Searching 3

Game Theory and Selection Algorithms 2

Linked Lists 2

Stacks and Queues 3

Hashing 2

Tree Data Structures - Binary Trees, Binary Search Trees, Trie 4

Heaps and Maps 2

Greedy Algorithm 2

Divide and Conquer Algorithm 2

Graph 3

Dynamic Programming 3

Honors Class (Here we will solve more difficult problems from 2


all different topics. This will be like a final training for a race,
but with ankle weights.)

You might also like