Current teaching and getting in touch

This quarter (Fall 2017), I am teaching the following courses.

ICS 32 / CSE 42: Programming with Software Libraries
ICS 32A: Python Programming with Libraries (Accelerated)

The best ways to get in touch with me about UCI-related matters are to email me at thornton@ics.uci.edu or to visit me during my regularly-scheduled office hours, which this quarter (Fall 2017) will be Tuesdays and Thursdays from 4:30-5:45pm in DBH 4013, beginning on Tuesday, October 3.


Upcoming teaching

Currently, I am scheduled to teach the following courses in upcoming quarters. (Note that future-quarter scheduling is always subject to change.)

Quarter Course(s)
Winter 2018 ICS 32 / CSE 42: Programming with Software Libraries
ICS 46 / CSE 46: Data Structure Implementation and Analysis
Spring 2018 ICS 32 / CSE 42: Programming with Software Libraries
ICS 46 / CSE 46: Data Structure Implementation and Analysis


Teaching history

In past quarters, I have taught a variety of courses, listed in detail below.

Course Number(s) Course Title Previous Quarters Taught
ICS 21
CSE 21
Introduction to Computer Science I Summer 2012, Summer 2010, Summer 2009, Summer 2002, Fall 2001, Fall 2000
ICS H21 Introduction to Computer Science I (Honors) Fall 2006 (with David G. Kay)
ICS 22
CSE 22
Introduction to Computer Science II Fall 2012, Spring 2012, Winter 2012, Fall 2010, Spring 2010, Winter 2010, Fall 2009, Winter 2009, Fall 2008, Spring 2008, Winter 2008, Spring 2007, Winter 2007, Fall 2006, Spring 2006, Winter 2006, Fall 2005, Spring 2005, Winter 2005, Fall 2004, Summer 2004, Spring 2004, Winter 2004, Fall 2003, Summer 2003, Spring 2003, Winter 2003, Fall 2002, Summer 2002, Spring 2002, Winter 2002, Fall 2001, Summer 2001, Winter 2001
ICS 23
CSE 23
Fundamental Data Structures Summer 2012, Fall 2007, Summer 2006, Summer 2005, Summer 2004, Summer 2003, Spring 2003, Fall 2002, Spring 2001, Fall 2000, Summer II 2000
ICS 32
CSE 42
Programming with Software Libraries Spring 2017, Winter 2017, Fall 2016, Spring 2016, Winter 2016, Fall 2015, Spring 2015, Winter 2015, Fall 2014, Spring 2014, Winter 2014, Fall 2013, Spring 2013, Winter 2013
ICS 33
CSE 43
Intermediate Programming Summer 2013
ICS 45C
CSE 45C
Programming in C++ as a Second Language Fall 2016, Fall 2015, Fall 2014, Winter 2014, Fall 2013
ICS 46
CSE 46
Data Structure Implementation and Analysis Spring 2017, Spring 2016, Spring 2015, Spring 2014
ICS 65
(was ICS 80)
Advanced Programming in C++ Fall 2012, Fall 2010, Summer 2010, Fall 2008, Winter 2008, Spring 2007, Summer 2006, Summer 2005, Winter 2004, Winter 2003
ICS 139W Technical Writing and Communication Skills Spring 2005
CompSci 122A
(was ICS 184)
EECS 116
Introduction to Data Management Summer 2006, Spring 2006, Winter 2006
CompSci 141
(was ICS 141)
CSE 141
Informatics 101
Concepts of Programming Languages I Spring 2013, Fall 2009, Summer 2009, Fall 2007, Fall 2005, Winter 2005, Fall 2004, Fall 2003, Summer I 2000
CompSci 142A
(was ICS 142)
CSE 142
Compilers and Interpreters Winter 2004
COSMOS Bioinformatics Programming in Python Summer 2006
Informatics 41 Informatics Core Course I Fall 2006 (with David G. Kay)
Informatics 42 Informatics Core Course II Winter 2007 (with David G. Kay)
Informatics 43 Informatics Core Course III
(Introduction to Software Engineering)
Spring 2009
Informatics 45 Patterns of Software Construction Spring 2010, Spring 2009, Spring 2008
Informatics 102 Concepts of Programming Languages II Spring 2012, Winter 2010, Winter 2009
Informatics 122 Software Design II Winter 2013, Winter 2012