This course aims to cover some "must know" topics in theory of computing. There are also must-know's in practical computing as well. These practical must-know's are also useful when you try to implement the theoretical must-know's. I tried to list below some of the practical and theoretical must-know's which we may not have time to cover in this course. Therefore, you may need to get acquainted with them on your own. - Recursion - Linked lists - Basic UNIX/Linux knowledge - Emacs editor knowledge - "Make" files - Knowledge of Memory allocation, Stack, etc. - O() notation (big Oh notation) - Sorting algorithms - Depth-first/Breadth-first search - Regular expressions & grep command - Revision control (cvs, rcs, sccs) - Experience with Debugger softwares