Awards
- Received the Moses E. and
Mayme Brooks Distinguished Professor Award, 2021.
This is an award from the College of Engineering that recognizes distinction
in engineering practice along with effective teaching.
- Received the College of Engineering Teaching Fellow award in 2017 and 2010.
The field for this award was composed of all faculty in the college.
- Received the ACM / IEEE / Systers departmental teaching award for
Computer Science in 2014.
- Received "props" from the UTK Living and Learning Communities Facebook
page: (https://www.facebook.com/UTKLLC), April, 2014.
- Received the Gonzalez Family Teaching Excellence Award in 2012.
The field for this award was composed of all faculty in the EECS department.
- Received the
Chancellor's Award for Excellence in Teaching in 2008.
The field for this award was composed of all faculty in the University.
- Received
Senior Faculty Teaching Award for the College of Arts
and Sciences for 2003-2004. The field for this award was composed
of all faculty in Arts and Sciences with 10 or more years of experience.
- Received ``ACM Faculty Member of the Year'' departmental award in
1995, 1997, 1999, 2001, 2003, 2005, and 2006.
Topcoder Practice Problems
I often tell students to use Topcoder for practice. If
you follow this link,
it will take you to a listing of topcoder problems where I have written up hints
and solutions to help you practice.
Classes
Fall, 2023 |
CS302 |
Data Structures & Algorithms II |
Spring, 2023 |
CS202 |
Data Structures & Algorithms I |
Spring, 2023 |
CS360 / 367 |
Systems Programming |
Fall, 2022 |
CS494/CS594 |
Advanced Programming and Algorithms |
Spring, 2022 |
CS302 / 307 |
Data Structures & Algorithms II |
Spring, 2022 |
CS360 / 367 |
Systems Programming |
Fall, 2021 |
CS202 |
Data Structures & Algorithms I |
Fall, 2021 |
CS494/CS594 |
Advanced Programming and Algorithms |
Spring, 2021 |
CS360 / 367 |
Systems Programming |
Fall, 2020 |
CS302 / 307 |
Data Structures & Algorithms II |
Fall, 2020 |
CS494/CS594 |
Advanced Programming and Algorithms |
Spring, 2020 |
|
Did not teach. |
Fall, 2019 |
CS140 |
Data Structures & Algorithms I |
Fall, 2019 |
CS494/CS594 |
Advanced Programming and Algorithms |
Spring, 2019 |
CS360 |
Systems Programming |
Fall, 2018 |
CS302 |
Data Structures and Algorithms II |
Fall, 2018 |
CS494/CS594 |
Advanced Programming and Algorithms |
Spring, 2018 |
CS360 |
Systems Programming |
Fall, 2017 |
CS494/CS594 |
Advanced Programming and Algorithms |
Spring, 2017 |
CS360 |
Systems Programming |
Spring, 2017 |
CS302 |
Data Structures and Algorithms II |
Fall, 2016 |
CS302 |
Data Structures and Algorithms II |
Spring, 2016 |
CS360 |
Systems Programming |
Spring, 2016 |
CS494 |
Advanced Programming and Algorithms |
Fall, 2015 |
CS302 |
Data Structures and Algorithms II |
Spring, 2015 |
CS360 |
Systems Programming |
Spring, 2015 |
CS494 |
Advanced Programming and Algorithms |
Fall, 2014 |
CS302 |
Data Structures and Algorithms II |
Spring, 2014 |
CS360 |
Systems Programming |
Spring, 2014 |
CS140 |
Data Structures & Algorithms I |
Fall, 2013 |
CS302 |
Data Structures and Algorithms II |
Spring, 2013 |
CS360 |
Systems Programming |
Spring, 2013 |
CS140 |
Data Structures & Algorithms I |
Fall, 2012 |
CS302 |
Data Structures and Algorithms II |
Spring, 2012 |
CS360 |
Systems Programming |
Spring, 2012 |
CS140 |
Data Structures & Algorithms I |
Fall, 2011 |
CS302 |
Data Structures and Algorithms II |
Spring, 2011 |
CS360 |
Systems Programming |
Spring, 2011 |
CS140 |
Data Structures |
Fall, 2010 |
CS302 |
Fundamental Algorithms |
Spring, 2010 |
CS560 |
Operating Systems |
Spring, 2010 |
CS360 |
Systems
Programming |
Fall, 2009 |
CS302 |
Fundamental Algorithms |
Spring, 2009 |
CS560 |
Operating Systems |
Fall, 2008 |
CS302 |
Fundamental Algorithms |
Spring, 2008 |
CS302 |
Fundamental Algorithms |
Spring, 2008 |
FYS129 |
FYS 129: Poker is for chumps - Learn the game of Bridge |
Fall, 2007 |
CS140 |
Data Structures |
Spring, 2007 |
CS102 |
Introduction to Programming |
Fall, 2006 |
CS140 |
Data Structures |
Spring, 2006 |
CS560 |
Operating Systems |
Fall, 2005 |
CS140 |
Data Structures |
Spring, 2005 |
CS560 |
Operating Systems |
Fall, 2004 |
CS140 |
Data Structures |
Spring, 2004 |
CS360 |
Systems
Programming |
Fall, 2003 |
CS360 |
Systems
Programming |
Spring, 2003 |
CS560 |
Operating
Systems |
Fall, 2002 |
CS360 |
Systems
Programming |
Spring, 2002 |
CS360 |
Systems
Programming |
Fall, 2001 |
CS302 |
Fundamental Algorithms |
Spring, 2001 |
CS560 |
Operating
Systems |
Fall, 2000 |
CS360 |
Systems Programming |
Spring, 2000 |
CS302 |
Fundamental Algorithms |
Fall, 1999 |
CS360 |
Systems Programming |
Spring, 1999 |
CS140 |
Data Structures |
Spring, 1999 |
CS660 |
Distributed Computing Seminar |
Fall, 1998 |
CS140 |
Data Structures |
Fall, 1998 |
CS660 |
Distributed Computing Seminar |
Summer, 1998 |
CS594 |
Advanced Operating Systems (+fault tolerance, distributed systems) |
Spring, 1998 |
CS460 |
Operating Systems |
Fall, 1997 |
CS360 |
Systems Programming, |
Fall, 1997 |
CS660 |
Advanced Operating Systems and Fault Tolerance |
Summer, 1997 |
CS494 |
Scripts and Utilities |
Spring, 1997 |
CS460 |
Operating Systems |
Fall, 1996 |
CS360 |
Systems Programming |
Spring, 1996 |
CS594 |
Fault Tolerance and Other Concepts |
Fall, 1995 |
CS460 |
Operating Systems |
Spring, 1995 |
CS360 |
Systems Programming |
Fall, 1994 |
CS360 |
Systems Programming |
Spring, 1994 |
CS360 |
Systems Programming |
Fall, 1993 |
CS594 |
Operating Systems |
Spring, 1993 |
CS102 |
Introduction to Programming |