In my teaching, I focus on programming skills and learning about how to build and understand large computer systems, software and hardware. Below are the courses I have taught so far, and a tentative schedule for future semesters.

Official Teaching Evaluations

Below, overall evaluation scores (course / instructor, out of 5) are listed, as is the number of students turning in evaluation forms. Click on the links to see the scanned evaluation sheets, summarizing the results of the official evaluation forms handed out toward the end of the semester.

CS361 Computer Systems
Fall 2013 4.75 / 4.5 12
CS385 Operating System Concepts and Design
Spring 2015 3.68 / 3.68 28
Fall 2014 4.37 / 4.42 28
Spring 2012 4.47 / 4.7 20
Spring 2011 4.38 / 4.65 27
CS450 Introduction to Computer Networks
Fall 2012 4.77 / 4.88 26
Fall 2011 4.82 / 4.92 39
Fall 2010 4.38 / 4.48 26
Fall 2009 5.0 / 5.0 17
Spring 2009 4.44 / 4.69 17
CS594 Wireless Networks
Spring 2010 4.57 / 4.71 7

Worth noting is that my courses are consistently rated around 1.5 on a scale of 1 (very hard) to 5 (very easy). Thus, please take care not to oversubscribe yourself on semesters when you are taking a class with me.

Unofficial Evaluations

Students that come well prepared to my classes tend to enjoy themselves. On the other hand, students that come without the prerequisites, or without an interest in programming and networks, tend to suffer. You can read some of my teaching reviews at RateMyProfessor. Just remember that these represent neither a full, nor an unbiased sample.

CS385 Operating System Concepts and Design

This is a required course for Computer Science majors, covering both how programs interact with the operating system, and how the operating system itself is designed. The course has a heavy focus on C programming experience, with many demanding, but also fascinating, programming assignments. We also spend several lectures studying the Linux source code to see how some of the things we talk about in theory are implemented in practice. For more information about this course, and to watch recorded lectures from prior years, refer to the CS385spring12 course wiki.

CS450 Computer Networks

This course covers most of what you need to know about the Internet and its inner workings. I taught it for the first time in Spring '09, and will probably continue to offer it annually for the next few years. For more information about this course, and to watch recorded lectures from prior years, refer to the CS450 course wiki.

CS594 Wireless Networks

This is a graduate seminar course in wireless networks, where we read and present a number of interesting and/or influential papers from past years of wireless networks research. For more information about this course, refere to the CS594 course wiki.

Topic attachments
I Attachment Action Size Date Who Comment
PDFpdf CS361F13_teaching_evaluations.pdf manage 102.6 K 2014-06-14 - 03:31 UnknownUser  
PDFpdf CS385S11_teaching_evaluations.pdf manage 489.0 K 2011-07-01 - 20:43 UnknownUser  
PDFpdf CS385S12_teaching_evaluations.pdf manage 86.3 K 2012-09-28 - 22:47 UnknownUser  
PDFpdf CS450F09_teaching_evaluations.pdf manage 528.8 K 2010-03-01 - 23:24 UnknownUser  
PDFpdf CS450F10_teaching_evaluations.pdf manage 549.9 K 2011-03-08 - 19:34 UnknownUser  
PDFpdf CS450F11_teaching_evaluations.pdf manage 479.9 K 2012-04-19 - 18:06 UnknownUser  
PDFpdf CS450S09_teaching_evaluations.pdf manage 512.2 K 2009-07-09 - 18:47 UnknownUser  
PDFpdf CS594S10_teaching_evaluations.pdf manage 521.0 K 2010-08-23 - 23:48 UnknownUser  
Copyright 2016 The Board of Trustees
of the University of Illinois.webmaster@cs.uic.edu
Helping Women Faculty Advance
Funded by NSF