Information about academics
Teaching
I've been the primary instructor for multiple offerings of ICS 52. Following this link to the website of a past offering of this course will give you all the information you ever wanted to know about the structure of the course and give you a good idea of what to expect for this class as offered by yours truly.
In my time at UCI, I've also had the pleasure of being a teaching assistant for a variety of classes; mostly, I've assisted with ICS 21 and ICS 52 (you can find more information on these classes in the UCI Catalogue).
Classes I've taken
If you'd like to know a student's point of view on some of the graduate classes at ICS, feel free to ask. I'll give you my take on which classes were the most valuable and fun. Or, I can tell you which classes to stay away from. The opinions which would be expressed would be strictly my own; take them for what they're worth. Some of the classes that I've taken while at UCI include the following:
ICS 200 - Seminar in ICS Research
ICS 211 - Advanced Compiler Construction
ICS 221 - Software Engineering
ICS 225 - Software Processes
ICS 227 - User Interfaces and Software Engineering
ICS 228 - Software Environments
ICS 229 - Seminar in Software (a few times...)
ICS 230 - Social Analysis of Computing
ICS 243A - Computer Networks
ICS 243D - Internet Technology
ICS 244 - Parallel Computing
ICS 260 - Fundamentals of the Design and Analysis of Algorithms
ICS 261 - Data Structures
ICS 268 - Cryptography and Computer Security
ICS 280 - Special Topics in ICS (a few times...)
ICS 290 - Research Seminar
ICS 398A - Teaching Assistant Training Seminar
ICS 398B - Advanced Teaching Assistant Seminar