COP 290 : Design Practices


Instructor : Huzur Saran, Kolin Paul

TA's  : 

  1. Prathmesh Kallurkar : prathmesh.kallurkar@cse.iitd.ernet.in
  2. Siddharth Batra : cs5100297@cse.iitd.ac.in
  3. Nidhi Sharma : cs5080219@cse.iitd.ac.in


Programming Asignments : 

1. Screen saver of n balls


Grading Policy : 

Will be updated soon.


Getting Started : 

  1. Linux Environment :  Students are supposed to perfom all the assingments on a Linux OS. If you do not have a linux operating system installed, do not panic. Students in computer science are expected to use the Linux environment quite often. I would suggest such students to install Ubuntu side-by-side your original OS. For people who want an easy way, follow this simple steps to create a guest machine :
    1. Install a latest version of a virtual machine monitor on your Windows : VMWare or VirtualBox
    2. Goto the iit delhi mirror and download the ISO image of latest ubuntu. Site : mirror.cse.iitd.ac.in
    3. Use this ISO to create a guest machine on your VMM
    4. Your linux OS is up and running. Use the iit delhi mirror to install the packages on your guest machine.
  2. Makefile : Makefile is a tool which is used to compile large source code. It integrates well with popular editors like vim and emacs. Follow this simple makefile tutorial to get started : http://mrbook.org/tutorials/make/
  3. gdb : printfs can help you to decode a small code. However, testing complex code requires a lot more information that what a simple printf can provide. gdb (GNU Debugger) is a god sent tool for debugging applications. With gdb, you can pause the execution of a program at a determined point, inspect variables, inspect the call stack, change variables, anda lot more things. Use this tutorial to get started on gdb :  http://beej.us/guide/bggdb/
  4. pthreads :
    1. http://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html
    2. This tutorial teaches you threading and synchronization : http://www.bogotobogo.com/cplusplus/multithreading_pthread.php
  5. Open GL :  http://www.cse.iitd.ac.in/~sbansal/csp301/tut/OpenGL.html
  6. Synchronization
    1. Mutex : https://computing.llnl.gov/tutorials/pthreads/#Mutexes
    2. Semaphores : http://www.bogotobogo.com/cplusplus/multithreading_pthread.php
  7. Latex : All the documentation for this course has to be prepared using latex. Latex is the de facto standard for the communication and publication of scientific documents. So, learning latex will pay off in future.


Academic Misconduct : 

If any student is found to have copied/shared the code, he/she will receive a F grade straighaway. 



© 204 Dept of CSE, IIT Delhi      Design by styleshout