Tuesday, 19 January 2016

HS468 - Philosophy of Religion


Course Description - Philosophy of Religion. The course starts with giving a sense of religion. God, Self. Later discussion on proofs of existence of God. Then discusses existence of evil despite existence of God and using this to prove non-existence of God.

Course Pattern and Logistics - Midsem. Endsem. reading , written assignment/presentation

Comments on the Instructor - The instructor tries to keep the course as logically sound as he can. But the entities involved makes it tough for everyone.

Who will find it interesting - Someone interested in Philosophy, want to reconsider belief in God, religion or supernatural entities. The project/writing assignment can be fun if you choose an aspect that interests you Eg. Parody Religions

MA 419 (Basic Algebra)


Instructor : Sudhir R. Ghorpade, J K Verma
Course Description : The course is an introductory course to abstract algebra. It covers basics in group and ring theory, each covered by one professor. A variety of topics are covered:
Equivalence relations and partitions, Division algorithm for integers, primes, unique factorization, congruences, Chinese Remainder Theorem,
Euler j-function.

Permutations, sign of a permutation, inversions, cycles and transpositions.
Rudiments of rings and fields, elementary properties, polynomials in one and several variables, divisibility, irreducible polynomials, Division algorithm, Remainder Theorem, Factor Theorem, Rational Zeros Theorem, Relation between the roots and coefficients, Newton's Theorem on symmetric functions, Algebraic Numbers, etc

Groups, subgroups and factor groups, Lagrange's Theorem, homomorphisms, normal subgroups. Quotients of groups, Basic examples of groups (including symmetric groups, matrix groups, group of rigid motions of the plane and finite groups of motions).
Cyclic groups, generators and relations, Cayley's Theorem, group actions, Sylow Theorems.

The content can vary slightly with the instructor.
Logistics :
  • Three hours of lecture and one tutorial per week
  • Grading - 4-5 quizzes (best 3), midsem, endsem
Comments on Instructor : The two instructors teach well. Initial sections may appear easy but the later sections show a rapid increase in difficulty. It is a good idea not to miss any classes. Most questions are similar to or use the same ideas as the tutorial.
Who will find it interesting : Group and Ring theory is commonly used in a variety of areas like cryptography, symbolic computations, etc.

CS 406 (Network Security and Cryptography - 1)

Instructor : Bernard Menezes
Course Description : The course involves an overview of various topics in computer security. The first half dealt with cryptography and the math needed to understand it (elementary number theory). Some of the protocols covered: RSA, AES, DES, SHA series and diffie hellman. The later half deals with other topics in security: DDos attacks, prevention and detection techniques, worms, viruses, buffer overflow attacks, SQL injection, etc.
Logistics :
  • Three hours of lectures
  • Grading - 3 quizzes and one endsem 4-5 assignments (in groups of 3-5)
Comments on Instructor : There is course textbook authored by the professor which is very useful. The initial lectures are math heavy as compared to the later half. The course is well taught.

Who will find it interesting : It serves as an excellent introductory course in the area of Security. It covers a broad range of topics which gives you a good sense of the area.

MA 403 (Real Analysis)


Instructor : Swapneel Mahajan
Course Description : The course content can vary slightly depending on the instructor.
As the name suggests the course deals with the study of Real Numbers. Primarily we try to answer the questions, “What are Real Numbers?”. We try to define them rigorously while assuming as little as possible (mainly the existence and some properties of Natural Numbers). Topics include limits, definition of real numbers as limits of sequences of rational numbers, metric spaces, topological properties of the real number set, etc. In this rendition of the course we used Category Theory to describe the many results that were discussed in the course.
Logistics :
  • 3 hours of lectures + 1 hour tutorial
  • Varies with prof: small objective surprise quizzes, midsem and endsem
  • Standard institute attendance requirement (80%) can vary with prof.
Comments on Instructor : The prof is quite enthusiastic and teaches the material in his own unique way. Notes are provided which are quite comprehensive.

Who will find it interesting : If you liked MA 105 then you would love this. The course doesn’t have a lot of direct applicability in CS. Though you would learn a lot of important mathematical concepts and many answers to many fascinating questions.  

CS 226 - Digital Logic Design

Instructor: Ashutosh Trivedi

Course Description:
The course deals with various topics including
  • Boolean Algebra and logic gates
  • Gate level minimization of boolean circuits - K maps
  • Combinational Logic
  • Sequential Logic - latches, flip-flops
  • Counters and registers
  • Memory and programmable logic - RAMs etc
  • Finite State machines
  • Design at RTL level

Course pattern and logistics:
2 quizzes, midsem, endsem, 2-3 surprise quizzes

Comments on instructor:
The instructor was enthusiastic and tried to make the classes interesting and interactive.
The slides were pretty self sufficient. Additional reference - Digital design by M. Morris Mano and Michael Ciletti.
However, the teaching pace was very slow for the initial topics and picked up after the midsems.

Who will like the course:
Students that find find boolean logic/ digital electronics interesting
Those interested in computer hardware design

CS 224 - Computer Networks

Instructor: Kameswari Chebrolu
Course Description:
This course is about the various layers of the internet architecture and the protocols that deal with them. It covers the following
Physical layer - physical transmission of data, encoding, various modulation techniques
Data link layer - deals with delivery of frames between 2 local devices. Includes media access control protocols (MAC), switching, error checking
Network layer - addressing, routing from one device to another via intermediate routers, IP etc

Transport layer - TCP, UDP protocols - reliability, flow control etc
Application layer - Applications built over the transport layer, socket programming

Course Pattern and Logistics:
It followed a flipped classroom model, i.e there were video lectures and a weekly tutorial session. There is also a complementary 3 credit lab which leads to better understanding of course contents.
We had 6 quizzes, midsem, endsem apart from weekly short quiz in the tutorial session.
We were allowed to carry handwritten notes to the exams

Comments on Instructor:
The video lectures are excellent and include periodic questions that make them interactive and ensure you understand the contents well. During the tutorial sessions all the doubts that students face are discussed. The instructor is interested in student’s learning and will make it a point to clear every doubt.

Who will like this course:
Anyone who is curious about the how exactly the internet works will find it interesting







CS475: Computer Graphics

Credits: 6
Instructor: Parag Chaudhuri

This is the first course in computer graphics. The course helps the student learn how to draw images and make animations on the computer. The course is pretty straight forward with a lot of coding assignments and a project. The assignments are expected to be coded up in C++ using the OpenGL library.

Recommended book: Fundamentals of Computer Graphics (Third Edition), Peter Shirley, Steve Marschner and others, A K Peters/CRC Press (2009)

Some level of comfort in C++ and basic linear algebra is recommended.
Assignments to be done in teams of at most 2.

Topics covered:
  • How are images rendered on the screen, rasterization, clipping
  • OpenGL and its versions: different stages in rendering an image
  • 2D transformations, 3D transformations, viewing transformations
  • Modelling-viewing pipeline
  • Visibility of objects
  • Hierarchical modelling
  • Shading and texture mapping
  • Cubic splines, bezier splines, B-splines
  • Animation and interpolating for animation
  • Ray tracing

Grading policy:
  • 2 Quizzes (5% x 2)
  • Midsem (10%)
  • Endsem (20%)
  • Coding assignments + Project, 4 in total (55%)
  • Class participation (5%)

The theoretical part of the course introduces the students to various algorithms and mathematical background needed for drawing images on the computer. The theoretical part of the course does not need much effort understanding and ample presence in class should suffice. Most of the time is taken up the programming assignments, but the instructor gives sufficient amount of time for finishing them. The assignments are not difficult but require a good understanding of the course contents. The exams are easy and form a subset of the concepts covered in class and the programming assignments.

The instructor is interactive and presents the subject in an understandable manner. The lectures are supplemented by videos and demonstrations. Tutorials for the coding assignments are also provided. Attendance was not strictly compulsory, but some minimum presence was required (~50%). Being present in the class helps boost the class participation points.

Anyone with any interest in graphics would appreciate this course.