CS 251: Software Systems Lab

Course Code CS 251
Course Name Software Systems Lab
Lecture 1
Tutorial 3
Practical 0
Credit 8
Reference Online tutorials for HTML/CSS, Inkscape, OODrawUnix Man Pages for all unix tools, Advanced Bash Scripting Guide from the Linux Documentation Project (www.tldp.org)The Python Tutorial Online Book (http://docs.python.org/3/tutorial/index.html)The Java Tutorials (http://docs.oracle.com/javase/tutorial/)Latex - A document preparation system, Leslie Lamport, 2/e, Addison-Wesley, 1994
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.
Instructor

BACK