CPSC 1210 – Computational Thinking
We use computers in all aspects of our lives – to connect with friends and family, play video games, watch movies, order food, create documents and presentations, and express ourselves. However, most of us are only consumers of modern technology, using programs and software that others have developed. What if you could create and make your own programs and translate your own ideas into code?
CPSC 1210 is precisely about that. It is a creative and engaging way to learning the principles of computer science. Students learn to create and analyze programs using Snap!, a beginner-friendly, graphical programming language that is built around blocks that can be combined into complex programs.
The course is organized around some of the big ideas of computing, such as abstraction, design, recursion, concurrency, simulations, and the limits of computation – all of which are fundamental principles essential to thrive in future courses offered in the School of Computing and a variety of computing and STEM careers. Students will learn how to apply these ideas to solve problems and critically reflect on how existing solutions impact people and society.
Inspiration for this course comes from the “Beauty and Joy of Computing” (BJC) introductory computer science curriculum developed at the University of California, Berkeley, and taught as CS10 at Berkeley by Dr. Dan Garcia. Many of the material used in CPSC 1210 are adapted from CS10 and the BJC course repository on GitHub (shared under the CC BY-NC-SA4.0 license, https://creativecommons.org/licenses/by-nc-sa/4.0/).
Please see my teaching portfolio to view my teaching statement, diversity statement, and other course materials I’ve developed.