work | artarticles

pixels + code + art

Teaching at the University of Texas

2017 - Present
Teaching is one of the best ways to learn. I’ve always struggled with math - which is ironic considering I have a degree in Computer Science. I found that tutoring others during my college years helped me conceptualize and practice difficult topics.

I also discovered a genuine sense of joy working with others to pick apart ideas and increase understanding. There’s nothing like the feeling of arriving at an “Eureka!” moment after spending hours, days, or months struggling with a seemingly impenetrable topic.

I’ve maintained that interest in my career by training others while at frog, speaking at conferences while at thirteen23, and mentoring others at Duo.

A couple of years ago I was asked to give a talk on sketching for the Center for Integrated Design at the University of Texas, which has now grown into an adjunct professor role. The CID is a forward-looking program open to all students that gives exposure to Design Thinking concepts. Courses span a variety of topics including artificial intelligence, prototyping, and research.

Part 1: Introduction to Computer Science

Adjunct Professor
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.

I think my experience as a product designer and developer have helped in tailoring content that is engaging and challenging without being overwhelming.

Learning the Concepts

When people hear “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.

There are two deliverables in this class. For the first deliverable, I ask students to write an essay discussing how Computer Science has impacted humanity. Alternatively, I also allow an essay discussing how Computer Science hasn’t affected humanity, if it can be found!

Learning to Code

I have to assume students have no prior programming knowledge; therefore, it’s critical to use a language and a framework with low barriers-to-entry, and that easily produce interesting results. 

I chose p5.js because JavaScript is a forgiving language to learn from, and it supports important beginning concepts I wanted to cover in class. p5.js is based on Processing, a sketchbook-based framework that focuses on visuals and animation. 

Learning the fundamentals of programming can to be an abstract endeavor. Examples are often canned in order to demonstrate a single concept, and it’s difficult to see how it gets 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 will be more engaging and understandable.

For the second deliverable, I assign students to come up with a novel program to demonstrate concepts we cover in class. I ask them to first translate their idea into an algorithm using pseudo-code, and then implement it.


It’s a challenge! But I’m actually ok if they can’t get their idea working, as long as they are able to talk through their problem-solving process. It’s not about perfection, it’s about learning.  

Part 2: Prototyping & Storytelling

Guest Lecturer

From time-to-time I also get the opportunity to discuss prototyping for other CID classes. I really enjoy this because prototyping is at the heart of everything I do.

I mean that. I approach my life as a series of prototypes. I developed content for a book on the subject. Prototyping resides at the intersection of design, development, and user research. It’s the übertool for solving problems because it’s the embodiment of the scientific method.


Steve Jobs was correct when he said people don’t care about your product, they care about themselves. Your product only matters when people can see how it enhances their lives, or helps them achieve their dreams.

What makes prototyping so special is its natural storytelling component. When it comes to product design, the goal is to make something that people want to use and pay money for.


A prototype infused with a story has the power to make an emotional connection, and that emotional connection is the conduit for uncovering how your idea matters to a person.

Iterative Betterment

Another nice thing about prototyping is that it is driven by the unknown. Good prototyping holds a perspective of humbleness and curiosity. It embraces failure as an addition, an increase in understanding, rather than a subtraction, a mark of loss.

I believe that operating from this perspective makes us better people, and that’s what I hope to communicate to my students. When we accept that we don’t know something, but seek to find an answer, we allow ourselves to be vulnerable and open to what is possible. 

© lee brenner 2019