Townsquare/Dstillery pixel
DCF94280-E8F7-F166-A62F886D097067AC
DD020F53-C98F-50DB-CEDFC9E5288EEEAA

About the Major

The question at the root of computer science is: What can be automated? Hamilton students explore that question through hands-on courses and research. Focusing on both the experimental and theoretical sides of computer science, they also consider the growing place computing has in the modern world. What are the ethical and social risks and benefits of such technology, and how do we manage them?

Students Will Learn To:

  • Apply core principles of program execution by developing an assembler
  • Demonstrate knowledge of programming language environments by implementing an interpreter
  • Solve a given problem by writing an efficient algorithm that uses an appropriate data structure, analyzing its running time, and demonstrating that their algorithm works
  • Demonstrate their mastery of appropriate programming constructs in written code

A Sampling of Courses

computer science lab

Computer Architecture

Study of how computers are built. Starting with fundamental logic gates, students will learn how to construct fundamental computational, memory and control components using digital logic. Students study the implementation of arithmetic logic units, processor control and datapath design. Topics will include performance analysis, pipelining, cache design, virtual memory, disk storage, and multicore design. Theory intensive.

Explore these select courses:

The course demonstrates how modern, familiar instances of computing technology–Siri, jpeg files, streaming data, the cloud, hacking, social media, drones, self-driving cars and Watson–all derive from the "big ideas" that make up the field of Computer Science. Topics include what it means to "compute," building machines to compute, how humans communicate with computers, computer networks, computer security, current and future computer applications. Students will use a variety of programs to experiment with all ideas presented. No knowledge of computer programming required.

An accelerated first course in programming. Students demonstrate skill in writing programs to solve problems using Python in a variety of application areas. Concentrates on the implementation of dynamic structures for data representation. Students will write programs in the C++ programming language to implement classic data structures. Course discussion will emphasize recursion, efficient implementations in terms of memory space and running time, computational complexity of algorithms, and introduction to two important fields of study: searching and sorting.

Study of mathematical models and techniques commonly used in computer science. Emphasis on analytical and logical skills, including an introduction to proof techniques and formal symbolic manipulation. Topics include set theory, number theory, permutations and combinations, mathematical induction and graph theory. Topics will be reinforced with hands-on experiences using the ML programming language. Appropriate for students with strong pre-calculus backgrounds. No previous programming experience necessary.

A study of the connection between high-level programs and the machines on which they run by means of extensive programming experience using assembly language. Topics will include translation of high-level language idioms into assembly language, number systems and representation schemes, exceptions, interrupts, polling, and an introduction to the structure of the underlying hardware. In the final project, students develop an assembler.

Exploration of AI theory and philosophy, as well as a variety of algorithms and data structures, such as heuristic strategies, logic unification, probabilistic reasoning, semantic networks and knowledge representation. Topics include application areas such as natural language understanding, computer vision, game playing, theorem proving and autonomous agents. Programming intensive.

Meet Our Faculty

Mark Bailey

Chair and Professor of Computer Science

mbailey@hamilton.edu

the boundary between hardware and software, including program optimization, embedded systems, computer architecture and computer security

Alistair Campbell

Associate Professor of Computer Science

acampbel@hamilton.edu

formal ontologies, knowledge representation and reasoning, programming language design

Thomas Helmuth ’09

Assistant Professor of Computer Science

thelmuth@hamilton.edu

genetic programming; evolutionary computation; program synthesis from examples; artificial intelligence; functional programming

Sarah Morrison-Smith

Assistant Professor of Computer Science

smorriso@hamilton.edu

computer science; human-computer interaction; accessibility; computer-supported cooperative work; gestural interactions; human subjects research

David Perkins

Visiting Assistant Professor of Computer Science

dperkins@hamilton.edu

Darren Strash

Assistant Professor of Computer Science

dstrash@hamilton.edu

algorithms and data structures, computational geometry, graph theory, and discrete mathematics

Explore Hamilton Stories

Coding Club

Coding Club Students Seek Program for Success

It’s go time for Hamilton students who will be tackling real-world computing problems at the International Collegiate Programming Contest.

2022 Endowed Chairs

Seven Faculty Members Appointed to Endowed Chairs

President David Wippman recently announced the appointment of seven Hamilton faculty members to endowed chairs. Mark Bailey was named the Robert and Pamela (Craig) Delaney Professor in Computer Science.

AI theatre

AI as Storyteller

The existential themes of love, death, and time were explored in the AI-scripted and human-performed musical production Channelers, an interdisciplinary art project funded by the Dietrich Inchworm Grant and headed by Assistant Professor of Digital Arts Anna Huff.

Careers After Hamilton

Hamilton graduates who concentrated in computer science are pursuing careers in a variety of fields, including:

  • Emergency Preparedness Officer, International Atomic Energy Agency
  • Senior Technical Program Manager, amazon.com
  • Vice President, Goldman Sachs
  • Engineering Project Manager, Apple Computer
  • Director of Global Relationship Management, International Lawyers Network
  • Aviator, U.S. Marine Corps
  • Product Manager, YouTube, Google
  • Elearning & Multimedia Developer, Coca-Cola
  • Software Engineer, Monster.com

Contact

Department Name

Computer Science Department

Office Location
198 College Hill Road
Clinton, NY 13323

The $400 million campaign to provide students with a life-altering education.

Learn More About the Campaign

Site Search