Bringing Introductory Computer Science Concepts to Life Using Graphics
Emilia Gan, Ravi Gandham
- Audience level:
- Novice
- Category:
- Education
Description
Students in introductory computer science classes are often too focused on doing things “right” to have fun with programming. Assignments involving graphics add an element of playfulness and foster a more relaxed environment for learning. Students typically produce work that exceeds assignment specifications, while concurrently internalizing programming concepts and developing debugging skills.
Abstract
Beginning students often have difficulty organizing their programs and following the logical flow of their code. At the same time, computer science students are typically adept users of technology and are often underwhelmed by the “console” output of the programs they are struggling to create. A program involving graphics can be satisfying, even if simple, as it allows students a chance for personal expression. The “ownership” students feel towards their graphical creations enhances their learning. Instead of trying to get some “trivial” piece of code to produce some pre-determined “correct” output, they are focused on translating their creative vision to the computer screen. Graphical outputs also provide students with useful visual feedback – they can instantly see whether or not their code is successfully reproducing their vision. This reinforces the concepts being taught and allows students to understand how their programs are working on a much more personal level. Students often spend hours tweaking their code to get their graphics to turn out just as they had envisioned. This repeated pattern of coding and evaluation leads to a solid understanding of how the program is working.