Course Planning

Computer Science Major - Planning

The course planning advice here is limited to completing this major which is just one piece of the overall Hendrix College degree requirements.  For a full description of degree requirements see the Catalog.

Possible Degree Path – starting in the first year. The following is a typical major plan for this 11-course major. There are five specific required courses, four courses - one course in each area of hardware, end-user software, complex algorithms, computation math, and finally two electives. This is not the only way forward.  Please consult with your advisor to create your unique path.

  Fall Semester Spring Semester
First Year Foundations in Comp. Sci (CSCI 150)

Data Structures (CSCI 151)


Sophomore

Discrete Math (MATH 240, spring)

2-3 courses from at least two of the four different areas:

  • Hardware: Oper. Sys. & Concurrency (CSCI 320) or Comp. System. Org. (CSCI 322)
  • End-user software: Database & Web Sys. (CSCI 340) or Mobile Soft. Devel. (CSCI 352) or Inter. Game Devel (CSCI 370)
  • Complex Algorithms: Artificial Int. (CSCI 335) or Prog. Lang. (CSCI 360)

Also consider: a 200-level CSCI based on interests.

Junior

Algorithms (CSCI 382, fall)

2-3 courses from two different areas not already completed (one from each area is required for the major):

  • Hardware: Oper. Sys. & Concurrency (CSCI 320) / Comp. Sys. Org. (CSCI 322)
  • End-user software: Database & Web Sys. (CSCI 340) / Mobile Soft. Devel. (CSCI 352) / Inter. Game Devel (CSCI 370)
  • Complex algorithms: Artificial Int. (CSCI 335) / Prog. Lang. (CSCI 360)
  • Computational Math: Sci. Comp. (CSCI 285) / Funct. Programming (CSCI 365) / Theory of Comp. (CSCI 380) / Combinatorics (MATH 340)
  • Miscellaneous: Any CSCI course numbered 200 or higher.

Also consider:  a 200-level CSCI based on interests.

Senior

Senior Seminar (CSCI 410, fall)

2-4 courses to complete the computer science major.

*Many upper-level Computer Science courses are offered every other year.  Please plan accordingly.

Possible Degree Path – starting in the second year. The following is a typical major plan for this 11-course major. There are five specific required courses, four courses - one course in each area of hardware, end-user software, complex algorithms, computation math, and finally two electives. This is not the only way forward. Please consult with your advisor or a member of the Department to create your unique path.

  Fall Semester Spring Semester
First Year

-

Sophomore
  • Foundations in Comp. Sci (CSCI 150)
  • Calculus I (MATH 130)
  • Data Structures (CSCI 151)
  • Discrete Math (MATH 240)
Junior

Algorithms (CSCI 382, fall)

2-4 courses from at least three different areas (one from each area is required for the major):

  • Hardware: Oper. Sys. & Concurrency (CSCI 320) / Comp. Sys. Org. (CSCI 322)
  • End-user software: Database & Web Sys. (CSCI 340) / Mobile Soft. Devel. (CSCI 352) / Inter. Game Devel. (CSCI 370)
  • Complex algorithms: Artificial Int. (CSCI 335) / Prog. Lang. (CSCI 360)
  • Computational Math: Sci. Comp. (CSCI 285) / Funct. Programming (CSCI 365) / Theory of Comp. (CSCI 380) / Combinatorics (MATH 340)

Also consider:  a 200-level CSCI based on interests.

Senior

Senior Seminar (CSCI 410, fall)

2-4 courses to complete the computer science major

*Many upper-level Computer Science courses are offered every other year.  Please plan accordingly.

Planning Recommendations:

  •  Data Structures (CSCI 151) is a prerequisite for all 300+ CSCI courses. Please take this as soon as possible following Foundations of Computer Science (CSCI 150).
  • Students with a strong math background may wish to take Discrete Math (MATH 240) during the spring of their first year, making it possible to take Algorithms (CSCI 382) during the sophomore year. Otherwise, Discrete Math (MATH 240) should be completed during the sophomore year, so as to enable taking Algorithms (CSCI 382) at the start of the junior year.

    Capstone Comments: The Senior Capstone Experience for the computer science major is a substantial computing project which is normally completed as part of the  Senior Seminar course (CSCI 410).