Introductory Courses in Computer Science
- None of these three courses has any prerequisites, but all assume a basic familiarity with using computers as tools.
- All fulfill the Mathematical Modeling (MM) requirement.
- None fulfills the Laboratory Credit requirement.
- All include a mandatory weekly discussion or lab meeting in addition to the two weekly class meetings.
Read the descriptions below or speak with a member of the CS faculty to decide which course is best for you. Students with significant prior programming experience equivalent to CS 111 should also discuss potential placement in CS 230 with a CS faculty member.
CS 111 Computer Programming and Problem Solving
CS 111 is for students who want an in-depth introduction to programming and problem solving and might want to take more advanced computer science courses. It is particularly for students who plan to major or minor in computer science, but also for students that are majoring elsewhere but want to learn general programming and problem solving techniques. CS 111 covers fundamental ideas in programming, including abstraction, modularity, recursion, control structures, and data structures. You will get hands-on experience with these ideas by reading, modifying, debugging, designing, writing, and testing programs written in the highly versatile Python programming language. Example applications involve graphics, text-based games, and simple data analysis and visualization.
CS 112 Computation for the Sciences
CS 112 is for students who want an introduction to computer programming that provides the tools necessary to use computers effectively in scientific work, including in the natural and physical sciences, biological sciences, medicine, mathematics, psychology and economics. Students learn to write software to solve problems, visualize and analyze data, perform computer simulations, and implement and test computational models that arise in a wide range of scientific disciplines. The course introduces MATLAB, an extensive and widely used technical computing environment with advanced graphics, visualization and analysis tools, and a rich high-level programming language.
CS/MAS 115 Computing for the Socio-Techno Web
CS 230 Data Structures
CS 230 is the second course in the CS Major or CS Minor sequence, after CS 111. Students with significant prior programming experience (e.g. the AP Computer Science course in Java or another full-year high school programming course) may be eligible for placement directly into CS 230. To help you decide if this is a good idea for you, speak with one of the instructors of CS 230, listed on the CS 230 course website.