CS699 : Software Laboratory 2001-2002


Welcome to the course homepage. Your course instructor is Uday Khedker and TA's are Manish Bhide and Tanmay Pradhan.

A weighted summary of marks obtained is available.

The grades for this course are out.

Announcements

Suggested reading material

There are several documents and tutorials available on the internet. You could begin with the ones available locally. There are some books that I have found very useful. I will keep adding names to the following list from time to time.
  1. The Unix Programming Environment. Brian W. Kernighan and Rob Pike.
    Prentice Hall of India Pvt. Ltd. (1984)

    Even though this is a very old book, it remains probably the best tutorial introduction to harness the power of unix. It describes the preliminary unix commands; the file system; shell programming; the filters like sed, grep, awk; program development tools like lex, yacc, make; as also some system calls. However, this book is not a substitute for the manuals.

  2. SAMS Teach Yourself Perl in 21 Days. Laura Lemay.
    Indian edition by Techmedia (1999)

    The market is replete with books on Perl. The O'Reily books are considered good introductory books but I found this book to be better than the O'Reilly book ("Programming Perl"). I have used both the books but I feel I learnt more and faster from this book.

    There is a lot of online documentation on perl. You can try www.perl.org for authentic documentation. Some documentation is available locally too.

  3. Little Quilt Definition :
    Programming Languages: Concepts and Constructs. Ravi Sethi. Addison-Wesley, 1996. For those within IITB, a (reasonably legible make do) version of the relevant pages is available here.

  4. Lex and Yacc
  5. General programming principles (Systematic program development, interfaces, debugging, testing, portability etc.)

Lecture Schedule

  1. Introductory lecture at 3:00 on Friday, 27 July 2001.
    Venue : Seminar Hall (If it is not free, we'll find some other place.)
    This is what we covered in the lecture.

  2. Lecture on shell programming at 3:00 on Friday, 3 August 2001.
    Here are the programs used in the lecture.

  3. Lecture on Make, RCS, and LaTeX on Monday (20 August) at 2:00.
    This was followed by another lecture on Tuesday (21 August) at 5:30.
    The sample files created during the lecture are available.

  4. Lecture on Perl on Friday 24 August at 3:00. If required, a followup lecture will be held on Saturday.
    Perl program and the data files used in the lecture are available.

  5. Lecture on Lex & Yacc was held on Friday (12 October, 2001) at 5:30. The programs used in the lecture can be downloaded.

  6. A lecture on systematic program developement will be held on Saturday (13 October, 2001) at 4:30. The example programs that will be used for the lecture are available.

Measuring the workload

It has been been brought to our notice that many of you are spending too much time on the assignment. We are trying the correct the process that you follow by holding separate lecture and laying out the desirable process. However, this will not solve the problem completely. The complete solution lies in identifying very objectively, the amount of time that you actually spend. Once you have that hard data in front of you, it will be much easier for you to find out the time-hogging activities and plan your work appropriately. If you can cultivate this habit (particularly in the context of proramming, where it is very easy to spend a lot of time without realising it) it will be extremely useful for you in future.

Back to top of the page

Back to main page

Last updated on 12 October 2001.