Mathematics and Computer Science

The Hendrix Computer Science Program


The Hendrix computer science curriculum balances theory and practice to help students achieve a well-rounded understanding of computing. Upon graduating, our students:

  • Are well-equipped to write software that meets the goals of clients;
  • Know how to manage the interaction between hardware and software;
  • Have created software that models complex phenomena;
  • Know how to apply mathematical ideas to solve computing problems;
  • Have applied computing to solve problems in the natural and social sciences, as well as the humanities.

After completing a two-course sequence (CSCI 150 and 151) in which they achieve proficiency with programming, as well as two mathematics courses (Calculus and Discrete Mathematics), our students are well-prepared to study advanced computing concepts in the following courses:

  • Database and Web Systems
  • Mobile App Development
  • Game Development
  • Operating Systems
  • Computing Systems Organization
  • Programming Languages
  • Artificial Intelligence
  • Intelligent Robotics
  • Computational Humanities
  • Algorithms
  • Scientific Computing
  • Functional Programming
  • Theory of Computation

Computer science classes at Hendrix tend to be fairly small (ten to twenty students is typical). Most classes include a large project spanning several weeks or even the entire semester; this project allows students to gain a deeper understanding of concepts related to class topics, as well as gaining a deeper appreciation for industrial-scale software design.

The major culminates in the senior capstone experience, in which over the course of a semester each student creates an individual free-form project that showcases their achievements in computing.


The Hendrix computer science program is supported by three full-time faculty - Dr. Gabriel Ferrer, Dr. Mark Goadrich, and Dr. Brent Yorgey. 

All computer science classes are taught in classrooms equipped with computers and projectors that can be used as a visual aid for demonstrations.

In our introductory courses, students learn the Python and Java programming languages. Upper-level courses employ the Python, Java, Haskell, C#, and Rust programming languages. 


While at Hendrix, many students opt to participate in some activities relating to computer science: Department-sponsored activities include intercollegiate programming contests, travel to conferences to present undergraduate research projects, and a series of speakers drawn from outside campus.

After graduation, some of our graduates pursue post-baccalaureate degrees in computer science or related disciplines, and most others enter industry directly after graduation. Employers in the region value Hendrix graduates because they are consistently well-prepared by their computer science background, and because Hendrix's liberal arts education provides graduates with the communication skills needed for success in the computing workplace.