Teaching

On this page, you’ll find descriptions of and links to the syllabi and materials for the five classes that I presently teach: CS1301: Introduction to Computing; CS6460: Educational Technology; CS6750: Human-Computer Interaction; CS7637: Knowledge-Based AI; and CS7646: Machine Learning for Trading.

CS1301

Introduction to Computing

Class Number: CS1301
Class Name: Introduction to Computing
Semesters Offered: Fall, Spring, Summer
Average Enrollment: 300 students/semester
About the Course: Launched in Spring 2017, CS1301: Introduction to Computing is an experiment in seeing how similar a MOOC and a for-credit class can be. Hundreds of Georgia Tech students enroll in CS1301 each semester, largely to complete their CS requirement for their degree; at the same time, the MOOC version—using the same video content and assessments—has been completed by 5x as many students as those taking the class at Georgia Tech for credit. For more on CS1301: Introduction to Computing, click on the button to the left to see the open MOOC version of the course.

CS6460

Educational Technology

Class Number: CS6460
Class Name: Educational Technology
Semesters Offered: Fall, Spring, Summer
Average Enrollment: 185 students/semester
About the Course: Launched in Spring 2016, CS6460: Educational Technology is an experiment in attempting to bring a more open-ended, project-based, discussion-centric class to a large online graduate program. The course’s static video content is very small, less than an hour in total; instead, students spend most of their time pursuing their own research ideas, investigating the relevant literature, and pitching a new project to their dedicated mentor. Several publications have come from projects in the class. For more information, check out the syllabus using the button to the left.

CS6750

Human-Computer Interaction

Class Number: CS6750
Class Name: Human-Computer Interaction
Semesters Offered: Fall, Spring, Summer
Average Enrollment: 520 students/semester
About the Course: Launched in Fall 2016, CS6750: Human-Computer Interaction is a foundational course in understanding both the principles and the methods that underlie the general field of human-computer interaction. The course is divided into three primary units: a unit on the foundational principles of HCI; a unit on the methods employed by HCI to investigate how users view interfaces; and a unit on the myriad of modern applications of HCI, from virtual reality to healthcare. For more information, check out the syllabus using the button to the left. The course is also available as a MOOC series available to anyone in the world.

CS7637

Knowledge-Based AI

Class Number: CS7637
Class Name: Knowledge-Based AI
Semesters Offered: Fall, Spring, Summer
Average Enrollment: 515 students/semester
About the Course: Originally developed by Prof. Ashok Goel, I began teaching CS7637: Knowledge-Based AI in Fall 2018. The course is a foundational class on the cognitive systems view of artificial intelligence. As part of that, students complete several programming projects, as well as a number of written essays reflecting on the relationship between AI and human cognition. For more information, check out the syllabus using the button to the left.

CS7646

Machine Learning for Trading

Class Number: CS7646
Class Name: Machine Learning for Trading
Semesters Offered: Fall, Spring, Summer
Average Enrollment: 880 students/semester
About the Course: Originally developed by Prof. Tucker Balch, I began teaching CS7646: Machine Learning for Trading in Spring 2019. The course provides a solid foundation in machine learning on its own, and also provides knowledge, on how to apply those foundational principles to trading. For more information, check out the syllabus using the button to the left.