Graduate Software Lab Planning Notes
CSE 1999-03-03-1700
We will keep adding links to relevant sites for downloads and documentation.
Please send comments to soumen[AT]cse.iit.ernet.in, where [AT]=@.
Roughly in order of generic to specific skills.
System maintenance
-
Basic Linux and NT knowledge, disk volumes, NFS, backups
-
Installing services: NNTP, SMTP, NIS/YP, HTTPD, DNS
-
Email clients and servers: mutt, pine, POP, IMAP.
-
Security and authentication basics: Kerberos, Yellow Pages
Scripting
-
Perl fluency: data structures, file and directory operations, strings,
network operations
-
UNIX tools: shells, awk, sed, find, patch, diff
-
Tcl/TK
-
Javascript and Visual Basic?
Project development
-
Version control: CVS (common in academia and research), RCS, SCCS, MS Source
Safe?
-
Advanced C++ familiarization, use of templates, ANSI STL class library,
pointer-free programming
-
Lex/flex/flex++, yacc/bison, JFlex for Java scanners
-
Editors: VIM and Emacs. Emacs macros and modes. Writing simple Emacs-lisp
scripts.
-
Java skills, AWT and Swing UI design
-
UI experience on X and Windows (do we need this given Java and Tcl/TK?)
-
Client-server programming in C++, Perl, Java
-
Multi-threaded programming in C++ and Java
Document processing
-
LaTeX, Word?
-
Spreadsheet and gnuplot
-
Xfig/PowerPoint for slides
-
Web publishing from LaTeX using LaTeX2HTML and PdfLaTeX
Web related
-
Protocols and languages: HTTP, CGI, HTML, forms, cookies, XML, ISAPI?
-
Making basic homepages
-
Applets, servlets, security issues, applet signing (too specific?)
Database related
-
Storage managers: Berkeley DB and its access methods, GNU DBM
-
ODBC/JDBC, embedded SQL (too specific?)