CS1 Introduction to Computation

TA, Caltech, 2010

CS 1 is an introduction to the automated processing of information, including computer programming. This course gives students the conceptual background necessary to understand and construct programs (i.e., specify computations, understand evaluation models, use and understand major constructs, including functions and procedures, scoping and environments, data storage, side-effects, conditionals, recursion and looping, and higher-order functions). CS 1 introduces key issues that arise in computation (e.g., universality, computability, complexity, representation, abstraction management). This course puts the components of computer science in context, serving as an overview for students specializing in computational disciplines and alerting all students to important subtleties that may arise when applying computation in their studies, research, and work. At the end of this course, students should be able to read and write (synthesize, analyze, understand) small programs (100 lines) and have the intellectual framework necessary to rapidly assimilate new computer languages as the need arises. (Instructors: Michael Vanier, Donnie Pinkston)