Hendrix College's computer science program functions within Hendrix's mission and its motto of
Unto the Whole Person while providing an outstanding computing education, which can serve as good preparation for careers in software development, information technology, and computing research. Starting from these programmatic goals, we strive to ensure that students graduating with a major or minor in computer science are able to:
- Develop software at a high proficiency level. All students should be able to compose and implement a good design for software of medium complexity (at least 3,000 lines), drawing on the appropriate software development tools for the problem, using documentation to learn about new tools, and displaying the aesthetics common to good programs.
- Analyze modern computing systems. This requires a deep understanding of how all levels of a computing system work, what criteria are used to evaluate solutions for computing problems, and how experiments can be completed to measure such solutions.
- Argue for the correctness and efficiency of algorithms using mathematical proof techniques.
- Communicate technical ideas in written papers, oral presentations, and team discussions.
- Solve technical problems through researching known results and discovering new solutions.
Several emphasized components in our program help work toward these learning goals:
- a faculty which prioritizes good teaching and keeps aware of the current state of the field,
- a program of support for student research and internships,
- student laboratories outfitted with modern computing equipment, and
- an active program of student activities beyond the classroom.
We will use the following techniques to assess how well we have achieved our learning goals.
- The major requires that students complete CSCI 250, a sophomore-level course. In this course, students complete a team software development project, which we archive as evidence of students' programming mastery.
- The major requires each student to complete a senior thesis in CSCI 497. Our faculty evaluates each according to a rubric, and we archive both the senior thesis paper and this rubric.
- We track research and internship participation by students enrolled in the computer science major or minor.
- We track faculty development activities, including papers published, conferences attended, textbooks published, and software released.
- We conduct an exit interview with each graduating student.
- We track the post-graduation destination of each student.
- We periodically survey recent graduates who have completed at least one full year of post-graduation work.
- The faculty regularly meets to discuss the data collected and the evidence of success or shortcomings in meeting the learning goals.