John Heidemann / Teaching

As a research full professor at the University of Southern California’s Computer Science Department. I work with graduate students and teach classes. My research is described on its own page.

For students interested in working with me or entering USC or with questions about classes I teach please see my advice page. (Or, in semesters when I’m teaching and on campus, feel free to drop by my regular office hours, or see my graduate networking class FAQ.)

Student Advising

The best thing about working at ISI is the opportunity to collaborate with some really great students. Current PhD students:

And undergrads:

(Our blog has some group photos: March 2016, August 2015, and December 2013.)

Graduated Students

And, better still, several doctoral students worked with me and graduated (see also genealogy):

And graduated masters students who worked with me for an extended time:

Graduated undergraduates who worked with me for an extended time:

(Although I’m always glad to know where my former students are, the list of positions above is obviously not complete.)

Teaching Classes

In Spring 2020 I expect to teach a section of CSci551, Advanced Computer Communications, probably Fridays 9am to 12:20pm.
The CSci551 section is for MS students only. (I last taught this class in Spring 2019. Ramesh Govindan will be teaching a joint CSci551/651 section in FA2019.

Starting in Fall 2015 USC has split the beginning graduate-level networking course, CSci551, Computer Communications, into two course numbers: CSci551 and CSci651. CSci651 is targeted at PhD students, but MS students are allowed to attend with instructor permission and the expectation that class will move very quickly. MS students with speciaization in networking will be accepted, provided they are interested in a PhD-level class. The project in CSci651 will be individualized and research-focused. CSci551 is targeted at MS students and will feature a common, class-wide project that is more practical. Both courses have a similar syllabus, although CSci651 is 4 units and CSci551 is 3 units. In general, we expect CSci651 to be offered once a year and CSci551 once a semester, although not always (in FA2015 only CSci651 is offered, for example). Prior syllibi for CS551 and CS651 are (or will be) available. When we have joint CSci551/CSci651 sessions, there will be a common lecture but separate project requirements.

From Spring 2002 to Spring 2010, and Fall 2011 to Fall 2014, and in Spring 2018, I tought teaching CSci551, Computer Communications. From 1997 to 2001 I taught CSci555, Advanced Operating Systems in the Spring semester.

Prior Undergraduate Directed Research

Several undergraduates have done prior directed research with me, usually over summers:

Directed Graduate-level Research

I occasionally do directed research (short-term research projects, usually for course credit or as part of a summer internship) with promising students, usually USC masters students, but sometimes PhD students. (Undergraduates are listed above.)

Some of these student’s work has resulted in published papers, and a few of these students have gone on to do PhDs with me. See my list of papers for details.

Copyright © 2003-2016 by John Heidemann