CSP701: Design Practices in Computer
Science
Objective(s) and plan
To get familiar with methods for doing (large?) projects in
collaborative mode with special emphasis on software development.
We plan to
cover: design, analysis and modeling; software requirement analysis and
detailed specifications; design documentation; standard software development
tools; testing; report.
The tools
that we plan to cover include:
1.
Standard Unix utilities.
2.
Latex
3.
gcc/g++ - the
C pre-processor, header files, #defines; object files, linking, static and
run-time libraries; Makefile.
4.
Using and creating libraries, ar
and ranlib.
5.
Object oriented style, classes, namespaces etc.
6.
CVS and version control.
7.
debugging and
profiling tools
8.
macros and
in-line code, loop transformations and un-rolling, speed-up issues.
9.
Documentation tools like Doxygen.
10.
auto-configuration,
Makefile generation and porting issues.
We will do 4 common assignments and one project.
All reports will be created using latex and submitted as pdf.
Grading Policy
Assignments: 65%
Project: 35%
Graceful
degradation as announced in class.
Any departure from the signed Honor Code
will result in either an automatic D/F in the course.
Class timings for Lectures
Wednesday
and Friday: 11-12
Teaching Assistants:
Your first point of contact are the TAs. Please send them an email regarding any doubts.
á Rajeswari : drajeswari@cse.ac.in
á Anand : anand@cse.iitd.ac.in
á Deepak Ravi : csz118087@cse.iitd.ac.in
á Anuj Gupta: csz118089@cse.iitd.ac.in
á Peeyush : mcs103469@cse.iitd.ac.in
á Chandrakishore: mcs102096@cse.iitd.ac.in
á Naveen: mcs103485@cse.iitd.ac.in
Assignments
|
Sl # |
Title |
Weight |
Date Posted |
Due Date |
Remarks |
|
1 |
15 |
1/08/2011 |
20/08/2011 |
|
|
|
2 |
15 |
24/08/2011 |
12/09/2011 |
|
|
|
3 |
|
15 |
|
|
|
|
4 |
|
20 |
|
|
|