Mathematics and Computer Science

The Hendrix Computer Science Program

For detailed information about the Hendrix Computer Science program, please visit our program and course pages.


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.