Sujeet Gholap's humble abode


Click on semester names to see the corresponding courses.
First Year
Introduction to Computer Science and Engineering
First department course. Came to know what an algorithm is. Learnt how to write pseudocode.
Instructor : B. Ravindran
Computational Engineering
A course which is required for all students of IIT Madras. I was introduced to C in this course.
Instructor : Anurag Mittal
Third semester
Discrete Mathematics for Computer Science
Boolean algebra, predicate logic was introduced. Prolog was touched upon. Various small small C programming assignments were done as part of the associated lab. (Implementing a linked list in C, for example)
Instructor : Ashish Tendulkar
Switching Theory and Digital Design
Basics of logic gates and transistors. Various encoding schemes like SEC-DED. Simple boolean functions were implemented on breadboard as part of the associated lab. Verilog was introduced.
Instructor : Madhu Mutyam
Basic graph theory
Trees and their properties. Eulerian and Hamiltonian graphs. Planarity of graphs.
Instructor : S A Choudum
Fourth Semester
Principles of Communication
Various transforms were discussed. Also discussed were various encoding schemes. Concept of entropy and information theory was introduced.
Data Structures and Algorithms
As the name suggests, various data structures and algorithms introduced. That includes dynamic programming, greedy approaches. The data structures included various trees, heaps and other structures. The course closely followed the CLRS book. As a part of associated lab a big integer library for C++ was developed, using which a basic form of RSA system was implemented. Also, various data-structures were implemented in C++ as part of the lab.
Instructor : Shankar Balachandran
Lab Instructor : C. Pandu Rangan
Computer Organization
Various architectures were introduced. In this course, many things as to how computers actually work became clear. Memory and storage systems were explained. In the associated lab, we wrote code in assembly language. The assignments included implementding recursive functions in assembly language, stack manipulation and input output management to name a few. NASM was used for the assignments.
Language, Machines and Computation
Various grammars were introduced. From finite state automata to multitape turing machines, various models of computations were covered. Undecidibility and intractibility were discussed.
Fifth Semester
Language Translators
Basics of language translators like scanning, parsing, 3 address code generation and machine code generation was covered. Also some basic optimizations were touched upon. As part of associated lab assignments, we implemented a program to convert programs written in a subset of pascal into 3 address code. YACC and Lex were used for the same. Also, we wrote program to traslate the 3 address code thus generated into a C code, in which activation records are explicitly taken care of.
Paradigms of Programming
For each of the paradign among imperative, object oriented, functional and logic one language each (C, C++, Common Lisp and Prolog) was used to demostrate the programming style, programming philosophy, strengths and weaknesses of that particular paradigm.
Instructor : Anurag Mittal
Introduction to Operating Systems
Modelling a process, threads and synchronization problems, memory management, device management, input output management and system security were among the topic covered in the course. The lab assignments involved working on the linux kernel. Two of the notable assignments involved writing a basic shell program and writing a new scheduling policy based on user-group weights for the linux kernel.
Instructor : B. Ravindran
Introduction to Machine Learning
Various techinques for classfication and clustering were discussed. The problem of "Whether it is possible to write a classifier which classifies the problems into classes depending on which classifier solves it the best." was dicsussed. Assignments included writing a basic bayesian spam filter and analysing performance of various classfiers on some given datasets using weka.