Intro to CS

The University of Texas at Austin insignia.

The Center for Integrated Design is a forward-looking program that immerses students in Design Thinking concepts. Courses span a variety of topics including artificial intelligence, prototyping, and research. A couple of years ago I was asked to give a talk on sketching that grew into an adjunct professor role teaching an Introduction to Computer Science course.

Teach students at UT.

The CID is open to students from all backgrounds and fields of study, and this course is specifically designed for non-CS majors. Traditional Intro CS courses tend to be quite technical so my goal for this class is to provide a gentle introduction to selected topics and programming concepts.

When people hear the term “Computer Science” they usually think “writing code”, but it encompasses much more than that. In addition to programming topics, I want students to leave this class with exposure to the evolution of computing hardware, a basic understanding of how hardware and software interact, and an appreciation for the ethical issues and societal impact this field of study has created.

Course material: The concept of abstraction Course material: Will artificial intelligence have rights?

📚 Course Material

Class 1
A Brief History of Computing The Basics of What Makes Computers "Go" First Steps in Programming and p5 Basics
Class 2
The PB&J Algorithm Going from Decimal to Binary Control Flow and Representing Information
Class 3
Bits and Bytes and Circuits Going from Binary to Hexadecimal Interactivity and More p5
Class 4
Big Data, Machine Learning, and Us Animation and Experimentation
Class 5
Artificial Intelligence and Ethics Programming Assignments

By far, the most difficult aspect of teaching this class is the short time frame of five weeks. Most of my students have no prior programming knowledge so I need to make the most of every second I have with them. p5.js is my framework of choice because JavaScript is a forgiving language to learn and it supports important beginning concepts I need to cover in class. p5 is based on Processing, a sketchbook-based framework that focuses on visuals and animation.

Learning the fundamentals of programming is an abstract endeavor. Examples are often canned in order to demonstrate a single concept, and it’s difficult to see how the idea is applied in a real-world situation. My hope is that by pairing ideas such as logical operators, control flow, and data types to visual elements like colors, shapes, and animation the lessons are more engaging and understandable.

Course material: numbers are just symbols. Course material: colors are just numbers.

Choosing what to focus on, what to gloss over, and what to ignore is quite difficult and I rely on class feedback to refine my content every semester.