Page 100 - Catalogue 2015-2016

P. 100

```
Computer Science (CSC)
Tony deLaubenfels, Ross Sowell (chair), Leon Tabak
The technology of computing has developed with unprecedented speed and offers the prospect
of continued rapid advance. Few technologies have so quickly become so pervasive. Few have so
profoundly changed science, business and industry, and government. Some understanding of
the potential and limitations of computing is essential to anyone who wishes to understand
modern society.
Design, experiment, and analysis: these skills make the computer scientist part engineer, part
scientist, and part mathematician. The student of computer science learns how to effectively
communicate with teammates and clients to define problems and their solutions. Students learn
how to divide a complex problem into pieces of manageable size, to organize and relate the
pieces of information that describe the problem, and to order the steps of the solution. The study
of computer science serves to increase a student's awareness of the necessity of constructing a
hierarchy of abstractions as a means of building and understanding complex machines, the
designer's need to give balanced consideration to competing goals, e.g., minimizing cost while
maximizing computational speed, and the relationship between software and hardware.
Major: A minimum of 10.25 course credits, including 9.25 in Computer Science; also MAT 120
or 121 (Calculus of a Single Variable). The courses in Computer Science must include CSC 140,
144, 151, 218, 301, 512 (capstone), and at least four other 300-level courses. One of the four
required 300-level courses may be an Internship, Individual Project, or Group Project. The
faculty strongly recommends additional study of mathematics and statistics, to include STA 201
(Statistical Methods I) and MAT 221 (Linear Algebra), for those students who intend to pursue
software engineering careers or continue their study of computer science at the graduate level.
Minor: MAT 120 or 121 (Calculus of a Single Variable) and a minimum of six course credits in
Computer Science which include CSC 140, 144, 151, 218, 301 and at least one other 300-level
course, excluding Internships, Individual Projects, and Group Projects.
131. The Beauty and Joy of Computing
Computing has changed the world in profound ways. It has opened up wonderful new ways for
people to connect, design, research, play, create, and express themselves. This course will focus
on some of the "Big Ideas" of computing that have changed the world and consider where it will
go in the future. We will discuss the challenges and implications of computer technology,
including the responsibilities of those who design and use computer systems. Students will learn
a bit about computer programming and a lot about writing at the college level. The lab portion of
the course will introduce students to computer programming using languages and development
tools designed for students with no programming experience.
140. Foundations of Computer Science
This course introduces students to problems that engage the interests of computer scientists and
define the field. The course introduces students to object-oriented design, a principal discipline
that computer scientists use to solve problems. Students learn to divide large problems into
small problems, bundle related data with methods that operate on that data, and incorporate
into new designs elements of previously completed designs. The course emphasizes creative
expression using an abstract notation. Students practice designing, writing, testing, and
presenting programs. Success in the course does not require previous programming experience.
Cornell College 2016-17 Academic Catalogue 100
```