CS 251 : Software Systems Lab
Course Code CS 251
Course Name Software Systems Lab
Offered to UG
Pre-requisites NIL
Lecture 1
Tutorial 3
Practical 0
Credit 8
Description 1. Vim/emacs HTML, CSS
2. Report and presentation software: latex, beamer, drawing software (e.g. inkscape, xfig, open-office)
3. IDE (e.g. eclipse, netbeans), code reading, debugging Basic Java Java collections, interfaces
4. Java threads Java GUI Introduction to documentation: e.g. doxygen/javadocs
5. Version management: SVN/Git
6. Unix basics: shell, file system, permissions, process hierarchy, process monitoring, ssh, rsync
7. Unix tools: e.g. awk, sed, grep, find, head, tail, tar, cut, sort
8. Bash scripting: I/O redirection, pipes
9. Python programming
10. Makefile, libraries and linking
11. Graph plotting software (e.g., gnuplot)
12. Profiling tools (e.g., gprof, prof)
13. Optional topics (may be specific to individual students302222 projects): intro to sockets, basic SQL for data storage, JDBC/pygresql A project would be included which touches upon many of the above topics, helping students see the connect across seemingly disparate topics. The project is also expected to be a significant load: 20-30 hours of work.