(This page may be out of date. The latest pages are here.)
Algorithms
Network
Programming
Advanced
Java Programming
Massive
Multi-player Online Game Programming
Internet/Intranet
Technologies
Data
Structures
System
Programming
Parallel
Processing
Parallel/Distributed
Processing
Programming
Languages
Note that: URLs of slides are available in the corresponding bboard (not here).
Copies of all slides are available in the fourth floor copy room.
Algorithms
Goal: Learn all kinds of algorithms which is basic for practical uses or further research.
Textbooks:
List of outlines:
Syllabus:
Foundations:
Sorting (4hrs)
- Simple sorting algorithms
- Fast sorting Algorithms
- Lower bound
- Medians
Search (5hrs)
- Linear Search
- Search Tress and Balanced search trees [A]
- Radix Searching
- Hashing
Advanced Design and Analysis Techniques
Graph Algorithms [M] (8hrs)
- Elementary graph algorithms
- Minimum spanning trees
- Shortest path problems
- Network flow
Selected Topics
Network Programming
Goal: Learn all kinds of network programming technologies on different platforms for practical uses or further research.
Textbooks:
- ¡@
Outline
of the Course:
Advanced Java Programming
All on-line slides and more information are available in
http://java.csie.nctu.edu.tw/~icwu/classes/java/.
- Syllabus
List of outlines:
- Introduction
- Advanced Language Features
- Exception handling
- Threads
- Input/Output
- Networking
- Graphic user interface
- Applets
- Swing
- Model-View-Control
- Low Level and Reflection
- J2EE
(Slides are not ready yet)
- XML (including XML-RPC)
- Servlets
- JSP
- Web Services
- Enterprise Beans
- Advanced Topics (Slides are not ready yet, and not all will be taught)
Textbooks:
References:
- "Apache Tomcat", by Jakarta Project of Apache.
- "Patterns in Java", by Mark Grand, Vol. 1, John Wiley and Sons, 1998.
- More in http://java.sun.com/docs/,
such as:
- The Java Language Specification, by Gosling, Joy, and Steele.
- More will be posted later.
Massive Multi-player Online Game (MMOG) Programming
The latest information about this course is in
http://java.csie.nctu.edu.tw/~mmog/2005/. ¡@
Internet Technology
bboard: news://netnews2.csie.nctu.edu.tw/csie.course.internet-technology
- ¡@
Textbooks:
Outline
of the Course: See http://java.csie.nctu.edu.tw/~icwu/IT/overview2001.htm
- ¡@
Data Structures
bboard:
csie.course.data-structure.b
Textbooks:
-
Outline
of the Course:
-
Parallel Processing
bboard:
csie.course.parallel-processing
Textbooks:
-
Outline
of the Course
-
Parallel/Distributed Programming
bboard:
csie.course.pdp
Textbooks: (handouts)
Outline:
(not available)
System Programming
bboard: csie.course.system-programming
Textbooks:
-
- System Software by Beck.
Outline:
-
- Introduction
- Assembler
- Linker and Loader
- Macro Processor
- Compiler
- Java
Programming Language
bboard: csie.course.u.pl.b
Textbooks:
-
- Concepts
of Programming Languages by R. W. Sebesta.
Extra content:
-
- Java Programming Language.
Outline:
- ¡@
- 1. English Version
-
- 2.
Chinese Version (Done by students)
Selective topics: (only select one or two common languages to discuss)
-
- Functional Programming Languages (LISP)
- Logic Programming Languages (Prolog)
- Object-Oriented Programming Languages (C++ and Java)