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.
Instructor :
Sutanu Chakraborti
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.
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.
Instructors :
Madhu Mutyam
,
Sukhendu Das
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.
Instructor :
Kamala Krithivasan
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.
Instructor :
C. Siva Ram Murthy
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.
Instructors :
Ashish Tendulkar
,
Sutanu Chakraborti