Loving to learn theory: active learning modules for the theory of computing

  • Authors:
  • Michael T. Grinder;Seong B. Kim;Teresa L. Lutey;Rockford J. Ross;Kathleen F. Walsh

  • Affiliations:
  • Montana State University, Bozeman, MT;Montana State University, Bozeman, MT;Montana State University, Bozeman, MT;Montana State University, Bozeman, MT;Montana State University, Bozeman, MT

  • Venue:
  • SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Can students love to learn the theory of computing? This topic is, after all, probably the most challenging in the computer science curriculum. The academic structure in the United States from grade school on is not particularly good at preparing students to deal with mathematical abstractions in any case, and the kinds of abstractions that permeate the theory of computing are unlike any encountered in other math courses: strings, formal languages, and models of computation. Furthermore, there is often little correlation provided in a standard theory textbook between the theory and the real world of software development; students wonder just what the point of the course is. It is no surprise, then, that most students struggle with learning the theory of computing.It is tempting to forego teaching the theory of computing, since students not only struggle with it, but they often retain so little of it. This would be a mistake. Done properly, the theory course puts the "science" into computer science, giving aspiring practitioners a basis for understanding the fundamental laws that govern their discipline: there are problems that cannot be solved, there are intractable problems, there are limitations on the efficiency of the solutions to problems, and so on. Students not only need to know these fundamental truths about their field, but they also need to be able to apply this knowledge to their everyday work of programming.In this paper we describe recent advances in our long-term efforts in the Webworks Laboratory at Montana State University to make the theory of computing accessible to students through active learning modules designed for use on the web. While we won't be so bold as to say that students will actually love to learn the theory of computing as a result of having access to these modules, we can confidently say from our own experience that they will find learning the theory to be more fun. And that, we would all agree, is a big step towards helping students learn.