3 |
Course content |
- Vim/emacs HTML, CSS
- Report and presentation software: latex, beamer, drawingsoftware(e.g. inkscape, xfig, open-office)
- IDE (e.g. eclipse, netbeans), code reading, debugging Basic Java Java collections, interfaces
- Java threads Java GUI Introduction to documentation: e.g. doxygen/javadocs
- Version management: SVN/Git
- Unix basics: shell, file system, permissions, process hierarchy, process monitoring, ssh, rsync
- Unix tools: e.g. awk, sed, grep, find, head, tail, tar, cut, sort
- Bash scripting: I/O redirection, pipes
- Python programming
- Makefile, libraries and linking
- Graph plotting software (e.g., gnuplot)
- Profiling tools (e.g., gprof, prof)
- 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.
|