Home

Courses, syllabi, and course materials

CS 1210 Introduction to Programming

CS 2210 Computer Organization

CS 2240 Data Structures and Algorithms

CS 2250 Computability and Complexity

CS 2510 Introduction to Artificial Intelligence

Note: For 2024 fall and 2025 spring, this ran as CS 2990 (topics).

CS 3993 Evolutionary Algorithms for Music Composition

  • Independent study
  • Prerequisites: CS 2240 Data Structures and Algorithms with grade of A- or better; at least one course in MUS with grade of B+ or better; instructor permission
  • Recommended: CS 3240 Algorithm Design and Analysis
  • Syllabus available upon request

CS 3993 Digital Signal Processing and VST Plugins

  • Independent study
  • Prerequisites: CS 2300 Advanced Programming with grade of A- or better; MU 1770 Introduction to Music Technology with grade of A- or better; instructor permission
  • Recommended: CS 3240 Algorithm Design and Analysis, and at least one course in studio music production, e.g., MU 2771
  • Syllabus available upon request

CS 3993 React Components

  • Independent study
  • Prerequisites: CS 1080 Introduction to Website Development with grade of A- or better; CS 2100 Intermediate Programming with grade of A- or better; instructor permission
  • Recommended: Basic proficiency with JavaScript
  • Syllabus available upon request

CS 5004 Computer Organization for Educators

  • Syllabus available upon request

CS Fundamentals

Brightspace

If you are enrolled in a course I am teaching, please use Brightspace as a primary source for course materials.

Office hours: 2025 summer

By appointment

PyPI

I am developer and maintainer of the following packages on PyPI:

UVM GitLab

The following UVM GitLab repositories are accessible with a UVM NetID login. These are not intended for consumption by students enrolled in courses I teach (though you’re welcome to look). For course materials, please see Brightspace.