I have taught computer science courses in UCLA and The University of Texas at Austin. During my stay in Austin from 2001 to 2003, I developed and taught three new Computer Science courses for the Department of Computer Sciences. These courses have been very popular with Computer Science and Electrical & Computer Engineering students, also with many requests for lecture notes from professors and students in other schools (some from other countries).
Here is a sample of courses I have taught.
Linux Kernel Programming
This is an upper-undergrad/grad course for CS majors, designed for students who have taken introductory Operating Systems but want real system experiences in working an Operating Systems kernel. (Detail course description)
Why do I want to teach Linux Kernel Programming?
-
My research involves lots of system programming in the kernel level
(by and large true for systems work in networking).
Kernel programming usually requires a slightly different "mind set"
and not every one can do it well.
I have observed that many "research prototypes"
made questionable programming choices when it comes to kernel-level code,
and I have also observed that many avoid experimental/implementation approaches
because of the kernel programming learning curve.
This motivates me to offer a course to change that.
With a series of well-planned lessons,
one can master it as a great research tool.
Home pages for previous offerings:
Mobile Computing and Wireless Networks
This is an advanced graduate seminar course for CS.
Home pages for previous offerings: