- I will have office hours on Monday Dec 12 from 11-1.
- Final Exam Review Session: Sunday Dec. 11, 2-4pm, CS lab.
- A Study Guide for the Final Exam has been posted to the class
MWF 9:30–10:20, Sci Cntr 240
Professor: Tia Newhall
1-2pm Mondays, and by appointment
Welcome to CS21. This course will introduce fundamental ideas in computer
science while also teaching you how to write computer programs. We will
study algorithms for solving problems and implement solutions in the
Python programming language. Python is an
interpreted language that is known for its ease of use. We also introduce
object-oriented programming and data structures. A deeper coverage of these
topics will be presented in CS 35.
This course is appropriate for all students who want to learn how to write
computer programs and think like computer scientists. It is the usual first
course for computer science majors and minors. Students with advanced placement
credit or extensive programming experience should place out of this course and
instead begin with CS 33 or CS 35.
Goals for the course:
By the end of the course, we hope that you will have developed the
- Given a program, be able to simulate on paper how a computer would
execute the program, and show the results that would be produced.
- Given a problem, be able to design a clear, concise, and
correct pseudocode algorithm to solve it.
- Given a pseudocode algorithm, be able to successfully implement it in
- Be able to use top-down design to sub-divide a large problem into
reasonably-sized modular sub-problems.
- Given several algorithms for solving the same problem, be able
to analyze which algorithm would be more efficient in terms of running
- Develop debugging and unit testing skills. Consistently use
these skills while implementing programs.
- Learn to work as part of a team to solve problems starting from
design and continuing through to implementation.