There are two majors in the Department of Mathematics and Computer Science, a major in mathematics and a major in computer science. The information in this section refers only to the computer science major and minor.
Students interested in computing —whether or not they plan to major/minor in computer science—are invited to take either of two introductory courses.
 CSCI 135 Robotics Explorations
Studio (NSL)
 CSCI 150 Foundations of
Computer Science I (QS, NS)
Neither of these courses has prerequisites. CSCI 135 will not count toward computer science major or minor requirements.
Students interested in majoring in computer science should complete CSCI 150 Foundations of
Computer Science and MATH 130 Calculus I in their first year. Completing CSCI 151 Data
Structures in the first year is strongly encouraged. Completing MATH 240 Discrete Mathematics in the Spring semester of the first year is helpful, but not absolutely necessary.
A student who scores a 3 or higher on the Computer Science A exam will receive course credit for CSCI 150 Foundations of Computer Science.
Major
The major in computer science consists of 12 courses distributed as follows:
 CSCI 150 Foundations of
Computer Science
 CSCI 151 Data Structures
 MATH 130 Calculus I
 MATH 240 Discrete Mathematics
 CSCI 230 Computing Systems
Organization
 CSCI 250 Scalable Software
 CSCI 280 Algorithms and
ProblemSolving Paradigms
 CSCI 340 Database and Web
Systems
OR
CSCI 420 Operating Systems & Concurrency  One course chosen from the following:
 CSCI 380 Theory of Computation
 CSCI 385 Scientific Computing
 MATH 340 Combinatorics
 Two additional CSCI courses numbered 300 or above
 CSCI Senior Seminar
Minor
The minor in computer science consists of 6 courses
 MATH 130 Calculus
I
 CSCI 150 Foundations
of Computer Science
 CSCI 151 Data
Structures
 any CSCI course numbered 200 or above
OR
MATH 240 Discrete Mathematics  any additional CSCI course numbered 200 or above
 any additional CSCI course numbered 300 or above
Course Planning
Students not planning to major or minor in computer science are welcome and encouraged to take CSCI 150 to learn about computer programming. A solid foundation in high school mathematics is advisable.
Students planning to minor in computer science should complete CSCI 150 no later than the fall semester of their third year, with CSCI 151 and MATH 130 completed by the spring semester of that same year. This combination enables a reasonable selection of upperlevel electives in the following year.
A student who studied programming
before enrolling at Hendrix College may take CSCI 151 Data Structures with
consent of the instructor. If the student passes the course with a C or
better, the CSCI 150 Foundations of Computer Science requirement
for the computer science major and minor will be waived for that student. The
student will also be eligible to take any other CSCI course that
has CSCI 150 Foundations of Computer Science as a
prerequisite.
Students considering a major in computer science should complete CSCI 150 and MATH 130 by the end of their first year; completing CSCI 151 also in the first year is strongly recommended. Completing MATH 240 in the Spring semester of the first year is helpful, but not absolutely necessary. Though starting with CSCI 150 in
the second year is possible, it can make completing the major within four years more challenging.
In the second year, students planning to major in computer science
should complete CSCI 230 in the fall semester. If MATH 240 has not already been
completed, it should be taken in the Spring semester; if it has been completed
(along with CSCI 151), students should take CSCI 280. Those who have not yet
taken CSCI 151 may take that course in either semester; those who
have completed it before the Spring semester should take CSCI 250
that semester. Students may also consider enrolling in a 300level elective for
which they have completed the prerequisites.
Fouryear
course schedule for the Computer Science major:
A typical sequence of courses for a fouryear computer science major appears below. Many variations are possible. What is outlined below maximizes selection of electives in the last two years. Note that most courses at or above the 300level are offered in alternate years.

Fall 
Spring 
First Year 
CSCI 150 Foundations of Computer Science 
CSCI 151 Data Structures 

MATH 130 Calculus I 
MATH 240 Discrete Mathematics 
Second Year 
CSCI 230 Computing Systems Organization 
CSCI 250 Scalable Software 

CSCI 280 Algo & Prob Solving Paradigms 
CSCI 330
or
CSCI 420 Operating Systems & Concurrency 
Third Year 
CSCI Elective 
CSCI Elective 
Fourth Year 
CSCI 497 Senior Seminar 
CSCI 410 Technical Communication & Analysis 

CSCI Elective 

Modified fouryear course schedule for the Computer
Science major
For students who are considering a computer science major as one option among several, the following schedule represents a typical option. It allows more flexibility in the first year at the price of a potential reduction in elective choices later on. Several intermediate variations between these two are also
possible.

Fall 
Spring 
First Year 
CSCI 150 Foundations of Computer Science 


MATH 130 Calculus I 

Second Year 
CSCI 230 Computing Systems Organization 
CSCI 151 Data Structures 


MATH 240 Discrete Mathematics 
Third Year 
CSCI 280 Algo & Prob Solving Paradigms 
CSCI 250 Scalable Software Design and Development 

CSCI Elective 
MATH 330
or
CSCI 420 Operating Systens and Concurrent Computing 
Fourth Year 
CSCI 497 Senior Seminar 
CSCI 410 Technical Communication & Analysis 

CSCI Elective 
CSCI Elective 
Threeyear Course Schedule for the Computer Science Major
 Fall  Spring 
First Year 
CSCI 150 Foundations of Computer Science 
CSCI 151 Data Structures 

MATH 130 Calculus I 
MATH 240 Discrete Mathematics 
Second Year 
CSCI 230 Computing Systems Organization 
CSCI 250 Scalable Software Design and Development 

CSCI 280 Algo & Problem Solving Paradigms 
CSCI 330 or CSCI 420 Operating Systems and Concurrent Computing 
Third Year 
CSCI Elective 
CSCI Elective 

CSCI Elective 
CSCI 410 Technical Communication & Analysis 
 CSCI 497 Senior Seminar  
Senior Capstone Experience
The Senior Capstone Experience for majors in computer science consists of a yearlong undergraduate research project and active participation in CSCI 497 Senior Seminar.