|CS29003 Algorithms Laboratory||Autumn Semester, L-T-P: 0-0-3|
Points to Consider
All submissions must be made in the submission server. Any e-mail submission to the teachers and/or the TAs will be ignored. If submission fails because of a server problem, please let me know immediately. However, failure because of expiry of deadline cannot be entertained. It is your duty to submit before the deadline. Note that you may submit as many times as you want. Only the last submission is retained. You should take into account the fact that the clock in the submission server may be slightly erroneous, and act accordingly. If the error is more than ten minutes, let me know. If submission fails because of network problems in your hostel, I am not responsible for that.
Do not forget to give attendance in the submission server. Attendance can be given only during the lab time.
The submission server does not accept submission or attendance via a proxy server. You should edit your browser preferences to bypass proxy connections to cse.iitkgp.ac.in.
These assignments may involve designing the algorithms yourself. This lab is not only about coding well-specified algorithms. Efficient codes would deserve more credit than inefficient codes. Please handle your C/C++ syntax or runtime errors (including segmentation faults) yourself. This lab is not meant for teaching C (or any other programming language). If you are not fully comfortable with C syntax, look at this site, or bring with you any textbook on C/C++. Note that we accept only C and C++ programs.
Your programs must compile without any version-specific flag (like -std=c99 or -std=c++11). You are needed to submit human-readable codes without any specialized or obfuscating coding practices.
C and C++ provide some utility programs (like quick sort, list and stack functions) in their standard libraries. Use these library calls only if you are permitted to do so. Permissions will be granted or denied by us on a case-by-case basis. For example, if your assignment has a major part dealing with the implementation of the stack ADT, do not call the built-in stack functions. Conversely, if the use of a stack is an inconsequential part in the algorithm design and implementation, you can use the built-in stack functions. Ask the teachers in case of any doubts. In an algorithm lab, it is always advisable that you yourself are responsible for creating and maintaining any data structure you use. Moreover, you are strongly discouraged to use built-in functions without knowing their implementation and complexity.
We want each line of your code be written by you only. Any case of copying among students will call for no credit. We will not make any distinction between who copied a program and from whom it is copied. Partial copying is also treated the same as copying entire programs. We will not entertain claims like stealing of codes. It is entirely your responsibility to protect your codes from others.
If you copy parts of your code from the Internet, you must mention that clearly in your code. Failure to do that will lead to your entire submission being invalid. Of course, you will not get any credit for the parts you copied, but you get due credits for the parts you coded yourself.
Repeated instances of copying attached to the same name(s) would call for severe punishments including deregistration.
Comments and Indentation
We want your programs to follow a proper indentation style. Also, we encourage you to add comments to your code. In order to know our rcommended indentation and commenting styles, please visit this site.