Tuesday, 19 January 2016

HS 207 Social Psychology


Course Description

An introductory course on social psychology. Since it is an introductory course, no prior background of Psychology is expected.

The course begins by describing what social psychology is and how its knowledge helps individual and society in general. It talks about basic human emotions, various theories in social psychology like Fundamental Attribution theory, social comparison theory, Framing effect, balance theory etc. Heuristics , Schemas, Attitudes, Dissonance, Prejudice, Persuasion are some of the concepts introduced in the course. Work of a lot of social psychologists is covered in class. The course is pretty much application oriented and concepts introduced in the class are supplemented by papers put up on moodle which introduces to various case studies done in the field

Course pattern & logistics

A presentation by a group of 2 is to be presented for one of the weekly papers put on moodle.
Exams- 30% -  Internal Assessment (1 Presentation + Class Participation + 1 HW)
70% - Midsem + Endsem. 35% each.

Comments on Instructor
(Mrinmoyi Kulkarni)

Prof is very good and makes classes interesting. She likes the class to be interactive and hence gives importance to attendance. She ensures that people who attend the classes are in advantage as the lecture notes are merely enumeration of topics covered in class with no explanations.

Who will find it interesting
Students who have slightest of interest in Psychology can explore this course. The course becomes pretty intriguing as one begins to see things from lens of the concepts taught in the course.









HS 307 Sociology


Course description

This is an introductory course on sociology. The course content varies slightly from instructor to instructor.

It begins with describing what sociology is, followed by philosophy of society by Karl Marx. It talks of communism, capitalism, philosophies of sociologists like Marx Webber, Emile Durkhaim.
Post midsem content includes nationalism, phases of Indian nationalist movement and politics of secularism. The lecture notes, which are often parts of some sociology book, are too lengthy (owing to content and english) to cover in one-two day's time, hence listening to classes attentively and making notes can save a lot of preparation time.

Course pattern & logistics

Pre mid sem stuff is pretty chill. Post midsem content is not so intuitive and hence attending classes becomes important.
Exams- 3 quizzes (2mcq & 1 subjective), 1 midsem (mcq) and 1 endsem(mcq). Endsem portion includes only post mid-sem content.

Comments on Instructor
(Kushal Deb)


The prof is very much approachable and open to discussions. He basically summarizes large portions of the book and makes boring content appealing by arousing curiosity in the subject.

Who will find it interesting

Students who have a slightest of liking for history and politics will like the course as it takes you back to the time when capitalism was taking over feudalism, national freedom  movement was happening, discusses politics of secularism.

CS 344 Artificial Intelligence

Prof. G Sivakumar

Course Description :
The course was a basic introduction to AI techniques and algorithms. The topics included Search :
  • Minimax
  • Alpha Beta pruning
  • A* Search

Logic :
  • First Order Logic
  • Propositional Logic
  • Resolution
  • Prolog

Probabilistic models :
  • Bayesian networks
  • HMM
  • Neural Networks

The course had an associated lab with it, which had assignments to be coded in Prolog.
This also had 2 projects - one to write an AI for Planet Wars (Galcon) and another open project

Course Pattern and Logistics :
Course :
3 Quizzes (12% each)+ Midsem(24%) + Endsem(40%)

Lab :
Project1(30%) + Project2(20%) + 2 Quiz (10% each) + Labs (30%)

Comments on the Course and Instructor :
The instructor gave more stress on the logic part. The entire labs were in Prolog only. The theory course also covered Prolog. The exams were very numerical. Almost all the questions included heavy calculations. Most of the questions tested our ability to simulate the models / formulae discussed in the class. There were no lecture slides, though relevant wikipedia links were given.

Who will find it interested ?
All those who are interested in logic and learning how to model interesting real life systems.

CS 207 Discrete Structures

Prof. S Akshay

Course Description :

The course content includes Proofs and structures, Counting and combinatorics, Elements of graph theory and Introduction to abstract algebra and number theory. The course had an associated tutorial with it.

Being a core CSE department course, CS207 was not open for non-CSE students under Prof. Akshay.

Course Pattern and Logistics :

4 Quizzes + Midsem + Endsem
Pop up Quizzes in class and assignments (5%)

Comments on the Course and Instructor :

Prof. Akshay was very enthusiastic and interested in student’s learning and answered questions in detail. The professor kept the class interactive as well. He was present in the tutorials and  supervised the TAs as well as helped students. This made it one of the best tutorial sessions. Attending the tutorial and lectures regularly was very useful.  Also there were multiple optional help sessions arranged.

Attendance was not mandatory. Even then turn up was very high. But very low attendance was taken seriously.

The course as well as instructor was very good.

Who will find it interested ?

Anyone who is interested in Mathematics will find it interesting. This gives you an introduction to various mathematics tools required in Computer Science.





CS305 : Computer Architecture

Course Description -
A core course. Fundamentals of computer architecture using MIPS. The course and the lab go hand-in-hand. A relatively easy course.

Course Pattern and Logistics -
Flipped classroom model. Have to attend tutorials once a week. 6-7 quizzes + Midsem + Endsem. The exams are open-book.

Comments on the instructor -
The teaching is mainly through videos, covering theory as well as nice examples for each concept. Only videos and slides are enough for the preparation, no other reading is required.


Who will find it interesting - Well, it’s a core course. A strong pre-requisite for understanding the course on Compilers.

CS631 : Implementation of DBMS

Course Description -

The next course after the basic database UG course. It covers implementation related topics in DBMS, to be specific chapters 10-20 from “Database System Concepts” by Silberschatz, Korth and Sudarshan. The course mainly covers  Data Storage and Querying, Transaction Management and Distributed Databases.

Course Pattern and Logistics -

Surprise quizzes => best n out of (n+2), generally 4<=n<=6
Midsem
Endsem
3-4 assignments
A course project

Comments on the Instructor -
Prof. Sudarshan is a renowned person in the field of DBMS, and also a great instructor. If one pays enough attention in the class, very less self study is required to get a good grade.

Who will find it interesting - Those who are interested in taking CS632 (Advanced Database Systems) should definitely register. Even if not, this course gives a good idea about recent advancements in DBMS, from the implementation perspective.

ID405 - Human Computer Interaction Design

Course Description -  Human Computer Interaction Design. The course will provide an introduction to the HCI design process, including how to understand users through contextual interviews, how to analyse interviews to identify problems and opportunities, how to define usability goals and user experience goals, how to model users with techniques such as stages of use model and personas, how to explore solutions through scenarios, how to prototype explorations and how to evaluate prototypes for usability.
Course Pattern and Logistics - Short Quizzes, Assignments, Project, Endsem
Comments on the Instructor - The instructor is very passionate about his teaching and has excellent slides throughout the course. His additions to the project were valuable. And exams were fun.

Who will find it interesting - If someone is planning to start up his own app, website, anything digital(There is significant discussion on non-digital object designs as well) this course helps in designing not just the look as one might think but also the feature set. This is for anyone who wants to build something on their own.

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.