Current teaching and getting in touch

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

ICS H32: Python Programming with Libraries (Accelerated)
ICS 33: Intermediate Programming with Python

The best way to get in touch with me about UCI-related matters is to email me at thornton@ics.uci.edu.


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 2025 ICS 33: Intermediate Programming with Python
Spring 2025 ICS 33: Intermediate Programming with Python


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 Winter 2022, Winter 2021, Winter 2020, Winter 2019, Fall 2018, Spring 2018, Winter 2018, Fall 2017, 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 H32
(was ICS 32A)
Python Programming with Libraries (Accelerated) Fall 2024, Fall 2023, Fall 2022, Fall 2021, Fall 2020, Fall 2019, Fall 2017
ICS 33
CSE 43
Intermediate Programming with Python Fall 2024, Spring 2024, Winter 2024, Fall 2023, Spring 2023, Winter 2023, Fall 2022, Summer 2013
ICS 45C
CSE 45C
Programming in C++ as a Second Language Spring 2022, Fall 2021, Spring 2021, Fall 2020, Spring 2020, Fall 2019, Spring 2019, Winter 2019, Fall 2018, Fall 2016, Fall 2015, Fall 2014, Winter 2014, Fall 2013
ICS 46
CSE 46
Data Structure Implementation and Analysis Spring 2022, Winter 2022, Spring 2021, Winter 2021, Spring 2020, Winter 2020, Spring 2018, Winter 2018, 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