top of page

Courses Taught

Fundamentals of Electrical and Computer Engineering.

Students learn core ECE concepts, providing a foundation on which subsequent courses build. These concepts include techniques for analyzing linear circuits, semiconductor and photonic devices, frequency representation, filtering, and combinational and sequential logic. Central to the course is an extensive design challenge that requires students to integrate knowledge across topics while honing practical design and project management skills. The course culminates in an exciting competition in which teams of robots race to overcome challenging obstacles using sensor data acquisition and processing.

​

Computational Methods in Engineering

Introduction to computer methods and algorithms for analysis and solution of engineering problems using numerical methods in a workstation environment. Topics include: numerical integration, roots of equations, simultaneous equation solving, finite difference methods, matrix analysis, linear programming, dynamic programming, and heuristic solutions used in engineering practice. This course does not require any prior knowledge of computer programming.​

​

The Arts & Science of What "Works" In Life

There are potential sources of wisdom everywhere to help us navigate how to figure out what “works” in our personal, social, and professional lives. In this course, we’ll critically evaluate works of art (e.g., music, film, literature) and perspectives from artists as well as evidence from the social sciences on how to navigate life. The course has two 75-minute active class meetings and a 50-minute discussion section per week. No exams. Grades are based on in-class activities, weekly reflections based on trying new things in our lives, a small group project (with lots of supportive deadlines and guidance), and a short video you’ll make at the end of the semester. The course is organized into three sections: figuring yourself out, social relationships, and impact in the world. For each class meeting we’ll focus on a topic, like “When to quit and when to grit?” or “How to love,” and evaluate a work of art (maybe a short film or a song) that offers a perspective on that topic as well as evaluating what social science research has to say about the topic. Each week, we’ll try to apply something we learned in class in our own lives. We’ll collect data on how each new thing we try for ourselves worked or didn’t, and collectively evaluate whether the things we are learning are working for our whole class.

 

Software Engineering

This course focuses on the software skills required for moving to larger-scale projects, including design, testing, and teamwork. The class is built around learning fundamental design principles and then seeing how they appear at different scales. The class begins with the small scale, i.e., a few classes, and we explore design patterns and revisit testing. We move to larger and larger scales, until we are considering system architecture, and revisit similar principles throughout.

​

Human-Computer Interaction

This course addresses the importance of the human-computer interface in the design and development of things that people use. Many of the perceptual, cognitive, and social characteristics of people, as well as methods for learning more about the people, are covered. The capabilities and limits of computers and other related systems are discussed as they relate to the impact on design and implementation decisions. The course consists of a semester-long group project that steps through the various stages of design.

​

Affective Computing
This class explores computing that relates to, arises from, or deliberately influences emotion. Topics include the interaction of emotion with cognition and perception; the role of emotion in human-computer interaction; the communication of human emotion via face, voice, physiology, and behavior; construction of computers that have skills of emotional intelligence; the development of computers that “have” emotion; affective technologies for autism; and other areas of current research interest. Weekly reading, discussion, a term project, and a final are required.

 

Educational Technologies 

The goal of the course is to build both technical expertise and theoretical knowledge to be able to create appropriate technologies, integrate them into the learning environment, and communicate their ideas. To this end, we will study the use of new technologies for learning including online systems, robotic construction kits (e.g., LEGO WeDO), educational software, and programming environments for youth (e.g., Scratch, ALICE) as well as assess the thinking and learning fostered by these tools. Finally, we will design and implement our own creative learning technology based on the lessons learned.

 

HCC Fundamentals

This course covers the fundamental concepts in human-centered computing including; human subjects, interface design, usability evaluation methods, software programming, information technology tools, ethics, policy, and current problems of interest to human-centered computing. The primary objective of this course is to facilitate the acquisition of essential skills for studying Human-Centered Computing. The graduates will be trained in human subjects, interface design, usability evaluation methods, software programming, information technology tools, ethics, policy, and current problems of interest to human-centered computing.

 

Introduction to Information Technology

This course provides an investigation of ethical and societal issues based on the expanding integration of computers into our everyday lives. We will consider historical background, terminology, new technologies, and the projected future of computers. You will be able to demonstrate your comprehension, views and opinions through in-class discussions, online discussions, short written assignments, and tests. The lab portion of the course includes practical experience with common computer software technologies. The course will not satisfy Computer Science Requirements in any Computer Science major.

bottom of page