Data Structures and Algorithms Courses

Data Structures and Algorithms

A standard Data Structures and Algorithms course taken during the 2nd Semester. Covering Data Structures such as arrays, heaps, stack, trees, graphs etc. We also covered sorting algorithms, searching algorithms, graph algorithms (such as Dijkstra's Algorithm) etc.

Design and Analysis of Algorithms

A much more advanced course taken during the 4th Semester where we focused on Algorithmic Techniques which covered Dynamic Programming and proofs for them. We also covered many other graph algorithms such as network flows etc.

Software Engineering Courses

Software Engineering

A standard Software Engineering course taken during the 5th Semester where we covered many Software Engineering principles such as Requirements Analysis, UML Concepts Project Management, Risk Management, Cost Estimation, Coding Standards and Software Testing concepts.

Database Systems

A standard Database course taken during the 5th Semester where we covered the core principles behind a database (along with implementation) and also covered SQL and JDBC Programming and libraries relating to it.

Coding Courses

Computer Graphics

A standard Computer Graphics course taken during the 6th Semester where we covered the basic concepts of rendering, vertex processing, etc. as well as more advanced concepts such as Animation, Shaders, Virtual Reality etc. We also implemented an OpenGL project from scratch in C++.

Programming I

The first programming course taken during the 1st Semester where we covered C as well as Python programming languages.

Programming II

The second programming course taken during the 2nd Semester where we covered C++ as well as Java programming languages.

Core CS Courses

Introduction to Automata Theory

A core Theoretical CS course taken during the 5th Semester where we covered concepts in computation (such as Turing Machines) and concepts in Automata Theory.

Operating Systems

A core CS course taken during the 5th Semester where we covered the basic concepts behind Operating Systems, such as Process Management, Memory Management, IO Management etc.

Programming Languages

A core CS course taken during the 6th Semester where we covered core concepts in Programming Language Design and studied various programming styles (iterative, functional and logic programming) and also studied (and built) interpreters and their inner workings.

Computer Architecture

A standard Computer Architecture course taken during the 3rd Semester where we covered covered concepts in Processor Design and even built our own small scale MIPS processor in Verilog Hardware Description Language.

Machine Learning Courses

ML and Math for ML

A set of 2 courses taken during the 5th Semester where we covered all the basic cocepts in Machine Learning with deep mathematical rigour. It many different tasks, models, training algorithms, loss functions and evaluation methods ranging from simple linear regression to complex neural networks.

Visual Recognition

An advanced course taken during the 6th Semester where we covered key concepts behind Visual Recognition, including both traditional Image Processing methods as well as modern Neural Network methods and how to built Neural Network Architectures to solve the specific tasks in Visual Recognition.

Natural Language Processing

An advanced course taken during the 6th Semester where we covered key concepts behind Linguistics and the various tasks that need to be solved. Then we explored how we could build neural network architecture components to solve tasks such as textual entailment, constituency parsing etc.

Electronics/Network Courses

Computer Networks

A standard course in Computer Networks taken during the 2nd Semester where we studied the basic concepts in Networks such as the 7 layers, TCP/IP protocol etc.

Digital Design

A standard course in Digital Design where we understood and designed logic circuits and their ability to simulate logic and memory.

Signals and Systems

A standard course in Signals and Systems where we learnt about signals and related concepts such as continuous and discrete convolution.

HSS Courses

Digital Platforms: Technology and Business Components

A non-technical course where we explore and understand the inner working of Digital Platforms that exist and how one could go about building and managing such a platform from scratch.

History of Ideas

A non-technical course where we explored various revolutionary ideas all throughout history in various domains such as Economics, Politics, Psychology etc.

Economics

A non-technical course where we explored basic concepts in Economics, in both Microeconomics and Macroeconomics.

Science Courses

Physics I and II

A complete set of 2 Physics courses taken during the 3rd and 4th Semester where we did complete sweep across all the major domains in Physics

Chemistry

A course taken during the 1st Semester where we covered some concepts in Quantum Mechanics and it's effect in Chemistry.

Computational Chemistry

A 1 credit practical course where we modelled individual molecules in a simulation software and studied it's effects and properties.

Math Courses

Math I & II

A standard set of 2 Math courses taken during the 1st and 2nd Semester where we covered concepts in Real Analysis and Linear Algebra.

Math III & IV

A standard set of 2 Math courses taken during the 3rd and 4th Semester where we covered concepts in Multi-Variable and Vector Calculus as well as Probability.

English and Communication Courses

English

A standard course in English taken during the 1st Semester where we honed our English by studying various literary works.

Technical Communication

A course taken during the 2nd Semester where we practised the methods of formal writing, vocational arts and other methods of Technical Communication.