Tuesday, 19 January 2016

CS 251 (Software Systems Lab)


Instructor : Prof. Sharat Chandran ( https://www.cse.iitb.ac.in/~sharat/)
Previous year course website : https://www.cse.iitb.ac.in/~sharat/current/cs251/ - Course logistics, course content, references can be found  in detail on this page.
Course Description :
  • Every lab typically has two components : inlab and outlab. Inlab’s are easy and carry less weightage and are to be submitted by the end of the lab(unless deadline is extended in which case by the end of the day). Viva’s for previous week labs are conducted during the lab session itself. Outlabs are take-home labs and need to be submitted before the next lab session.
  • 1st week - basic html, css
  • 2nd week - javascript, inkscape
  • 3rd week - Reading of codebase of a standard box2d application ( useful for project work )
  • 4th week - makefiles (in depth)
  • 5th week - shell scripting, submission of design of box2d rube goldberg machine, initial report on the same.
  • 6th week - sed, awk
  • 7th week - gnuplot + shell scripting
  • 8th week - latex, bibtex
  • 9th week - git, doxyfile, progress in box2d project.
  • lab 10 - Java programming ( Implement merit order admission algorithm for seat allotment in IITs)
  • lab 11 - Python programming, using tkinter module to build a simple GUI ( The goal is to create a python GUI interface that allows a high school senior graduate engineering college aspirant to fill his/her college preferences)
  • project submission - box2d rube goldberg machine or lab10,11 pro part.

Reference -
  • Useful links to online tutorials are given on the course web page.( Can also be found easily by searching online)

Logistics :
  • Three hours of labs + 1.5 hr tutorial every week.
  • Grading - 1 quiz, midsem, inlabs, outlabs, project, viva(for each lab (conducted by TA’s ) and also for the project which is taken by Professor himself)
  • Labs - 40 % ( best 6 out of 7 ), inlab viva - 15%, project -30%, midsem + quiz - 15%
  • Closed notes/book examinations. Multiple choice with multiple correct answers and brief description type questions.
  • Difficulty - 3 out of 5
  • Submission to be done in teams of 3 students for all the assignments, project. Every group is required to submit a readme.txt for every lab(& project) which contains the honor code and the individual contributions of team members towards that lab.
  • 3 late days available for each team which can be used for any lab/project.

Plagiarism:
  • Very strict on cases of plagiarism. Copy check run on all the submissions(labs+project) of all the students and also on standard codes easily available on the internet at the end of the course. Heavy penalty awarded (proportional to the amount of code match) if the source is not explicitly and clearly mentioned in the readme.txt in submission folder. 0 marks awarded for the plagiarised assignments and in addition marks deducted from the net course total from each of the team member as a penalty.

Comments on Instructor :
  • Instructor is very concerned on students doing things the correct/proper way and not just any way that gives the desired result.
  • Highly enthusiastic towards students participating in the class discussions ( “class points“ are awarded to students who actively ask and answer questions on piazza. These points help if one is on a borderline grade).
  • Low tolerance towards late comers to tutorial session.

Course load :
  • Since the course is an 8 credit lab course, the course load outside class room is quite heavy.
  • Typically significant amount of free time in the weekends goes in learning the software system from online tutorials and in doing the assignment.

Pros of doing this course :

  • This course gives a brief fastrack introduction to the software systems that every one of us would find useful at some point in our future ( example : bash scripting, git, python/java, latex, html/css, makefile …)
  • Learning the syntax and usage of various software systems and then immediately implementing them to solve an assignment problem will make it much less boring and much more interesting.
  • Overall even though the course load is a bit heavy, it remains one of the most liked course by students.

No comments:

Post a Comment