Thomas Horton headshot
TH

Thomas B. Horton

Associate Professor
Associate Department Chair
Unit: School of Engineering and Applied Science
Department: Department of Computer Science
Office location and address
85 Engineers Way
Charlottesville, Virginia 22903
Education
B.S. University of Tennessee, 1982​
Ph.D. University of Edinburgh, 1987​
Biography

After growing up in Tennessee and completing my PhD in Scotland, I taught for 13 years at Florida Atlantic University. I joined UVa in January 2001, where I have taught courses in programming, algorithms, software engineering, HCI, and other topics. I have a strong interest in computer science education, as well as an interest in digital humanities, particularly the study of language patterns in literary texts. I have a strong commitment to leadership and service in our department, school and university.

Partnering to Develop Better Internship Experiences
Source: State Council Of Higher Education(Schev)
September 01, 2019 – August 31, 2021
CS 1501: Special Topics in Computer Science
Credits: 1
Student led special topic courses which vary by semester.
CS 2190: Computer Science Seminar
Credits: 1
Provides cultural capstone to the undergraduate experience. Students make presentations based on topics not covered in the traditional curriculum. Emphasizes learning the mechanisms by which researchers and practicing computer scientists can access information relevant to their discipline, and on the professional computer scientist's responsibility in society. The course requires second-year standing in the CS BS major for enrollment. Prerequisite: CS 2102 and 2110, both with a grade of C- or higher.
CS 2501: Special Topics in Computer Science
Credits: 1–3
Content varies, depending on instructor interests and the needs of the Department. Taught strictly at the undergraduate level. Prerequisite: Instructor permission; additional specific requirements vary with topics.
CS 3240: Advanced Software Development Techniques
Credits: 3
Analyzes modern software engineering practice for multi-person projects; methods for requirements specification, design, implementation, verification, and maintenance of large software systems; advanced software development techniques and large project management approaches; project planning, scheduling, resource management, accounting, configuration control, and documentation. Prerequisite: CS 2150 with a grade of C- or higher.
CS 4102: Algorithms
Credits: 3
Introduces the analysis of algorithms and the effects of data structures on them. Algorithms selected from areas such as sorting, searching, shortest paths, greedy algorithms, backtracking, divide-and-conquer, and dynamic programming. Data structures include heaps and search, splay, and spanning trees. Analysis techniques include asymtotic worst case, expected time, amortized analysis, and reductions between problems. Prerequisite: CS 2102 and 2150 with grades of C- or higher, and APMA 1090 or MATH 1210 or MATH 1310.
CS 4980: Capstone Research
Credits: 1–3
This course is one option in the CS fourth-year thesis track. Students will seek out a faculty member as an advisor, and do an independent project with said advisor. Instructors can give the 3 credits across multiple semesters, if desired. This course is designed for students who are doing research, and want to use that research for their senior thesis. Note that this track could also be an implementation project, including a group-based project. Prerequisite: CS 2150 or CS 2501 topic DSA2 with a grade of C- or higher, and BSCS major
CS 4993: Independent Study
Credits: 1–3
In-depth study of a computer science or computer engineering problem by an individual student in close consultation with departmental faculty. The study is often either a thorough analysis of an abstract computer science problem or the design, implementation, and analysis of a computer system (software or hardware). Prerequisite: Instructor permission.
CS 4998: Distinguished BA Majors Research
Credits: 3
Required for Distinguished Majors completing the Bachelor of Arts degree in the College of Arts and Sciences. An introduction to computer science research and the writing of a Distinguished Majors thesis. Prerequisites: CS 2150 with a grade of C- or higher and CS BA major status.
CS 5012: Foundations of Computer Science
Credits: 3
Provide a foundation in discrete mathematics, data structures, algorithmic design and implementation, computational complexity, parallel computing, and data integrity and consistency for non-CS, non-CpE students. Case studies and exercises will be drawn from real-world examples (e.g., bioinformatics, public health, marketing, and security). Prerequisite: CS 5010, CS 1110 or equivalent, Math 1210 or equiv, Math 3351 or equiv, Math 3100 or equiv.
CS 6890: Industrial Applications
Credits: 1
A graduate student returning from Curricular Practical Training can use this course to claim one credit hour of academic credit after successfully reporting, orally and in writing, a summary of the CPT experience to his/her academic advisor.
CS 7993: Independent Study
Credits: 1–12
Detailed study of graduate course material on an independent basis under the guidance of a faculty member.
CS 7995: Supervised Project Research
Credits: 3
Formal record of student commitment to project research for the Master of Computer Science degree under the guidance of a faculty advisor.
CS 8897: Graduate Teaching Instruction
Credits: 1–12
For master's students who are teaching assistants.
CS 8999: Thesis
Credits: 1–12
Formal record of student commitment to thesis research for the Master of Science degree under the guidance of a faculty advisor. May be repeated as necessary.
CS 9897: Graduate Teaching Instruction
Credits: 1–12
For doctoral students who are teaching assistants.
CS 9999: Dissertation
Credits: 1–12
Formal record of student commitment to doctoral research under the guidance of a faculty advisor. May be repeated as necessary.

Department Service Award, Dept. of Computer Science, University of Virginia. 2004-2005

Award for Excellence and Innovation in Undergraduate Teaching, Engineering College, Florida Atlantic University 1998

Award for Excellence in Undergraduate Teaching, Engineering College, Florida Atlantic University 1991

Marshall Scholarship, Full scholarship for two years' graduate study in Britain 1982

Torchbearer Award, University of Tennessee. For outstanding academic achievement and university service. The highest honor awarded to UT students. 1982