American University

CSC 208: Introduction to Computer Science II

Students develop programming skills that serve as a foundation for further study in computer science. They learn object-oriented programming and design software that models real-world systems from our networked world and gain an appreciation for the role of algorithms and data structures in problem-solving and software design (e.g., objected-oriented design, lists, files, searching, and sorting). Elementary numerical methods and the construction of a simple graphical user interface (GUI) are also discussed.

Instructor: Fall 2021, Fall 2020, Fall 2019, Spring 2019, Fall 2018

CSC 450/650: Software Engineering

This course presents techniques and tools in software design and development and applies them to the design and implementation of a large software system. The discussion includes the software life cycle; analysis, design, implementation, testing and debugging; maintenance and documentation; software reliability, portability, and expandability; and user interface.

Instructor: Fall 2021, Fall 2020, Fall 2019

Students discuss the models and systems that provide access to information, control our cars, create policy, and wage war. Students analyze arguments for and against systems with remarkable consequences in freedom of expression, privacy, intellectual property, contracts, and cybercrime. Through reading, in-class discussion, debate, and research, students learn to develop arguments in support or against the legal and ethical aspects of consequential data science systems. AU Core Integrative Requirement: Written Communication and Information Literacy II. Crosslist: CSC-684. Prerequisite: junior standing; and completion of Written Communication and Information Literacy I requirement. Note: No prior technical experience with data science or computing required.

Instructor: Spring 2021

CSC 485/685: Introduction to Information Visualization

Information visualization helps people explore or explain data through interactive software that exploits the capabilities of the human perceptual system. A key challenge in information visualization is designing a useful spatial mapping of a dataset that is not inherently spatial and coupling that mapping to interaction techniques that allow people to intuitively explore the dataset. Information visualization draws on the intellectual history of several traditions, including computer graphics, human-computer interaction, cognitive psychology, semiotics, graphic design, statistical graphics, cartography, and art. The synthesis of relevant ideas from these fields with new methodologies and techniques made possible by interactive computation are critical for helping people keep pace with the torrents of data confronting them.

Instructor: Spring 2021, Spring 2020, Spring 2019

Georgia Institute of Technology

CS 4001: Computing, Society, and Professionalism

Examines the role and impact of information and communication technology in society, with emphasis on ethical, professional, and public policy issues.

Instructor: Fall 2017

CS 4460: Introduction to Information Visualization

Introduction to principles and techniques of information visualization, the presentation of primarily abstract data to help people understand, analyze and make sense of data.

Instructor: Summer 2015, 2017

CS 7450: Information Visualization

Study of computer visualization principles, techniques, and tools used for explaining and understanding symbolic, structured, and/or hierarchical information. Includes data and software visualization.

TA: Fall 2014

Central Piedmont Community College

SGD 113: Simulation and Game Programming

Introduction to programming concepts through topics in game design. A first-year introductory computer science course at the undergraduate level.

Instructor: Spring 2007

SGD 213: Simulation and Game Programming II

Introduction to programming concepts through topics in game design. A first-year advanced introductory computer science course at the undergraduate level.

Instructor: Spring 2007

SGD 125: Artificial Intelligence for Simulation and Games

Introduction to artificial intelligence concepts through topics in game design. A second-year elective undergraduate course.

Instructor: Spring 2007

SGD 126: Engine Design for Simulation and Games

Introduction to linear algebra and graphics concepts necessary for 3D rendering. A second-year elective undergraduate course.

Instructor: Spring 2007