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 |