Virginia Tech®home

CS 1014: Intro to Computational Thinking

Introduction to Computational Thinking offers an exploration of the basic ideas of computational thinking, including the perspectives, thought processes, and skills that underlie computational approaches to problem formulation and problem solving. Students will apply computational tools to investigate complex, large-scale problems in a variety of knowledge domains, and will explore the societal and ethical implications of computational systems.

Why take it?

This course enables students to develop a new way of looking at the world - how the world can be represented by information and how this information can be manipulated for learning, exploration, and problem-solving. Students will develop knowledge and skills that can be applied throughout their future academic, professional, and civic lives.


There are no prerequisites for this course.

This course fulfills Pathways requirements in Foundational Quantitative and Computational Thinking and Ethical Reasoning.

Interview with Dr. Dennis Kafura

by Caleigh Shaffer

What is the idea behind your class?
The Introduction to Computational Thinking class (CS 1014) uses real-world data (big data) resources from a variety of fields to motivate student engagement. The class is organized into 4-person peer learning “cohorts” that work together in each class. This class is largely taken by students in non-engineering and on-science majors. We want to convey a quantitative, information-based view of the world.

What are your goals for your students in this class?
Beyond the define Learning Outcomes, our students should:

  1. see the relevance of computing to their career interests
  2. see that programming/coding/computing is a learnable skill rather than a mysterious and arcane endeavor.
  3. see that computing has social impacts in the world
  4. to develop cognitive abilities in “process oriented/algorithmic” thinking
  5. to develop cognitive abilities to master complexity using a hierarchy to organize relationships

What are the “cool” or “fun” things you are doing this semester in your class that you would want showcased?
Some aspects of the class to showcase are:

  1. students working in 4-person cohorts doing active learning in class
  2. students having access during class to an undergraduate teaching assistant to help guide them and answer questions
  3. projects that are student-defined using real world “big data” resources

What is your opinion of general education classes, specifically your class being one?
It probably matters less what I think of gen ed than what the students think. I hope that they will find in this class a way to acquire a useful skill, some news ways of thinking and looking at the world, and do so in an engaged (dare I say enjoyable) way.