Coding with creativity: How ATLAS students think beyond algorithms
With his computer plugged into a projector at the front of the room, Hudson Blankner, a freshman in Gabe Johnson鈥檚 Computational Foundations 1 class, displayed his final project: a trio of classic games鈥攔ock, paper, scissors; tic tac toe; and table tennis.聽
The assignment required students to build an interactive game using the programming skills they鈥檇 learned over the semester, and to experiment with different problem-solving strategies鈥攊ncluding, if they wanted, 鈥渧ibe鈥 coding, the practice of prompting artificial intelligence models to generate code.
Blankner did try using AI, and he wasn鈥檛 subtle about his feelings.
鈥淚 coded this all in one prompt, but I really hate vibe coding,鈥 Blankner told the class. 鈥淎I is like a Division I gaslighter. It took 15 prompts to make the game look like this.鈥澛犅
Johnson expects students to explore AI tools, as he sees more and more companies requiring software engineers to use AI to some extent to program more, and faster. But Johnson also expects students鈥攍ike professional software engineers鈥攖o understand the logic behind their programs and learn to write their own code, that way they know what AI gets right, wrong, good, bad or mediocre.聽
鈥淭hese students, for the most part, have not programmed before鈥攖hey鈥檙e coming into this class fresh,鈥 said Johnson, who teaches introductory computer programming courses for the Creative Technology and Design (CTD) curriculum at the ATLAS Institute. 鈥淢aybe some of them had taken 鈥榗omputer science classes鈥 in high school, but that鈥檚 often just building a web page.鈥
Engineering meets design
CTD degrees are granted through the College of Engineering, where coding and computational thinking are essential skills across disciplines. At ATLAS, CTD majors build that engineering foundation alongside deep design practice, giving them a holistic and strategic approach to problem solving. Rather than following trends or treating design as aesthetics alone, CTD students learn to analyze human needs and create solutions that are usable, meaningful and durable. That means students not only learn to code, they also build skills in web development, interaction design, physical prototyping, audio and video production, digital media, theory and project management.
鈥淚 think CTD students can better explain their programming work,鈥 Johnson said. 鈥淵es, they have the technical knowledge, but they fit that knowledge into the broader context of society, of designing for humans. Communicating what you are doing is almost more important than the thing you are doing. CTD students are able to explain not just what they did, but why and how and what else they considered. Telling a story is much richer鈥攎uch more human.鈥
Creative logic in action
When presenting midterm projects, Johnson found first-time programmers in his Computational Foundations I class thinking outside the engineering box to solve problems. Laura Baker, a sophomore, wrestled with how to determine when a player-controlled bee had reached a flower at the center of a maze.
鈥淭his was an annoyingly difficult problem that seemed so simple,鈥 Baker said. 鈥淚 took an artist's approach using a simple Boolean statement and an array of RGB color codes: If the bee was touching the appropriate color, then it stopped moving. I was very proud because I didn鈥檛 use AI to help me. I tend to lean toward artsy solutions in all of my projects. The only setback with the solution I used for the bee in the maze is that you cannot change the color of the walls of the maze because then the RGB code will not link back up to the if statement correctly. It worked for my presentation, though.鈥
While Baker could have created a traditional hitbox math test to determine where rectangles intersect, Johnson was impressed with her solution: 鈥淪he needed to figure it out, and she had a creative solution rather than the 鈥榬ight鈥 solution.鈥
Of course, Johnson teaches Computational Foundations students the 鈥渞ight鈥 solutions as well, but he fosters unconventional thinking because it can lead to innovation鈥攎ore necessary than ever in a world driven by generative artificial intelligence.
鈥淧rogramming is in upheaval right now because of AI,鈥 Johnson said. 鈥淔uture programmers are going into a world where large language models and AI chatbots can do all sorts of creative-approximate stuff. Programmers need skills that AI can鈥檛 approximate. One of the main functions of a university is to teach people to think critically, because now we have machines that can do thinking-like things. So future programmers can either evaluate the machines and push back against them, or just roll over and let the machines win.鈥澛
A 鈥榡oyful experience鈥
Johnson, who also teaches introductory programming classes for computer science majors, believes creativity is necessary for coding. Far too many people, he said, see programming as 鈥渁n arcane mathematical thing.鈥
including undergraduate major, minor and certificate; professional master鈥檚; and PhD.
- Online info sessions about all CTD programs are held regularly throughout the year.
Prospective students can email聽atlascommunications@colorado.edu to schedule a student-led tour.
That creative mindset shows up in his students鈥 work. Computational Foundations I students blended math and design in midterm projects, with one student creating billowing clouds moving across the sky, and another coding a Price Is Right-style Plinko game simulator鈥攂oth of which present a visualization of a Gaussian distribution.聽
鈥淚 teach Computational Foundations I basically in the same way I teach Computer Science 1300, except in Computational Foundations I, I have much more leeway in making it fun and design-oriented,鈥 Johnson said. 鈥淚 provide the most creative and joyful experience that you can have when learning to code, and let students figure out for themselves whether they want to learn more. And because it's so fun, many of them are enthusiastic about doing it.鈥
Baker鈥攚ho had 鈥渧ery minimal coding experience before starting Computational Foundations鈥濃攕aid her view of coding has changed dramatically since taking the class.聽
鈥淭his class has shown me how creative coding is, that you can design with code and get an awesome, artistic output,鈥 Baker said. 鈥淐oding has given me a new medium to make art with, and I鈥檓 very excited about that.鈥