
Computer Science
The goal of the Computer Science Department is to prepare students to adapt and excel in an ever-changing field by combining a strong foundation in mathematics, logic, and language with exposure to the latest innovations in technology.
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 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:
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
formal ontologies, knowledge representation and reasoning, programming language design
the boundary between hardware and software, including program optimization, embedded systems, computer architecture and computer security
genetic programming; evolutionary computation; program synthesis from examples; artificial intelligence; functional programming
algorithms and data structures, computational geometry, graph theory, and discrete mathematics
served as mathematics-statistics assistant at the U.S. Army Aberdeen Proving Grounds, and co-authored several widely used computer science textbooks
human-computer interfaces;brain-computer interfaces; adaptive systems; computer science pedagogy
Explore Hamilton Stories

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.

Strash Presents Research at ALENEX22
Assistant Professor of Computer Science Darren Strash recently presented a paper at the virtual SIAM Symposium on Algorithm Engineering and Experiments (ALENEX22).

Rewriting the Algorithm Industry Standard
“I kid you not — we are doing something that’s never been done before,” said Yassine Dhouib ’24 about the research that he, Dara Levy ’23, and Visiting Assistant Professor of Computer Science Dave Perkins are conducting this summer.
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
Clinton, NY 13323