Computer Science Advising

Every declared CS major and minor is assigned a CS faculty member as an academic advisor. (Undeclared students are assigned an advisor in their indicated area of interest.) Prior to class registration each semester, students meet with their advisor to discuss which courses the student should take.

SPRING 2027 CS Advising Notes

  • We will continue to accept MATH 280 as a substitute for MATH 251 for the CS major (both concentrations). Note: Math is offering a cross-listed MATH 251/280 in Spring 2027; it is preferable to sign up for MATH 251.
  • We are offering the following special topics courses:
    • CSCI 272: Object-oriented Java Programming Review. This is a “Term 2” (2nd half of the semester course), which is designed to provide additional preparation for CSCI 202.
    • CSCI 273: Python Programming. This is an advanced introduction to Python designed as an faster-paced alternative to CSCI 183 or for students with some programming experience who want to learn Python. This course will satisfy the introductory programming (CSCI 18X) requirement for the CS major, minor, and the Data Science minor and it is an approved Engineering elective.
    • CSCI 372.001 Cybersecurity and Programming Competitions. This is a “Term 1” (first half of the semester course) that will focus on cybersecurity competitions (such as capture the flag) and programming competitions. It is great preparation technical job interviews.
    • CSCI 373.001 Industry Team Project:  students will build an app for a real client  in a collaborative environment.
  • CSCI 499 (Undergraduate Research and Independent Studies): As of 10/15/26 only CSCI 499.001 with Prof. Whitley is listed. However, Profs. F. Rashid, Van Wart, Sanft, and Bogert are seeking students for research projects and can create a section of CSCI 499 for interested students. Contact these faculty to learn more about their projects.

General SPRING CS Advising Notes

  • Planning to graduate this Spring?
    • Register early! Ensure you get in to the courses you need to graduate.
    • Verify that your plan checks all the boxes in GradPlan and verify  that your plan does not contain schedule conflicts (two courses at the same time).
  • Planning to graduate next Fall?
    • Register early to ensure you get into the courses you need.
    • Remember that some required courses are only offered in the Spring–see the course description in the catalog. (CSCI 313, 329 (even years), 338, 347, 364, 431, and MATH 251 and 295)
      • Note: 338 is typically offered every semester, despite the catalog stating “spring”. Ask the department chair or your advisor about expected deviations from the catalog schedule.
  • Computer Systems concentrators:
    • There is a prerequisite chain of MATH 167 -> MATH 191 -> MATH 251 -> CSCI 302 -> CSCI 431, and since CSCI 302 is offered only in the fall and 431 only in the spring:
      • You must complete MATH 167 by Spring  (or summer) in order to graduate two years later
      • You must complete MATH 251 by Spring to graduate the following year


General CS Advising Notes and FAQs

  • Data Structures (CSCI 202) (with a grade of C or better) is a prerequisite for most upper level (300+) CS courses. Most CS majors should prioritize completing and doing well in that course.
  • It is usually desirable to complete the MATH/STAT and PHYS (Computer Systems concentration) requirements as early as possible (to avoid conflicts with upper level CS courses that you want to take later). But it can be nice to save some Core Curriculum (general education) requirements for later semesters to avoid a heavy schedule with too many upper level CS courses
    • Computer Systems concentrators should take CSCI 302 as soon as possible (and, therefore, its prerequisites MATH 167, MATH 191, and MATH 251/280, as soon as possible, because CSCI 302 is a prerequisite for CSCI 431)
  • You should sketch out a rough schedule plan for each semester from now until graduation and discuss it with your advisor. Remember that some courses are offered only in the fall or only in the spring, so plan accordingly.
  • If a class you want to take is full, you should add yourself to the waitlist. Seats often open up and the department uses the sizes of waitlists to determine demand for courses.
  • For financial aid purposes, you must be enrolled in at least 12 credits for full time status. Also, federal financial aid (“CPOS”) requires you to take 12 credits of required courses (courses required for your major(s) (not minors!) or toward the 120 hour graduation requirement). Therefore, students receiving federal financial aid should plan their program of study carefully to avoid losing available aid.
  • Verify that you have the prerequisites for the courses you intend to take. Keep in mind any substitutions (such as MATH 280 instead of MATH 251) that might not have been applied–you won’t be able to register until a prerequisite override is given or the substitution appears in GradPlan.
  • Q: How many credits should I take?
    • A: This depends on the student. Most students take at least 12 credits to maintain full-time status (which is required for things such as certain financial aid and on-campus housing agreements). Most full-time students take about 15 credits (some financial aid programs, such as Access Asheville, require students to pursue 15 credit hours per semester). Taking much more than 15 credits is usually not recommended, especially if your schedule includes multiple upper-level CS courses.
  • Q: Should I take CSCI 18X and CSCI 201 simultaneously?
    • A: This depends on the student. Many students take both and do well in both. However, some students struggle in both (and sometimes decide they don’t want to study CS!), which means they don’t learn the material as well, it hurts their GPA, and it can slow their progress toward graduation if they end up withdrawing from (or failing) a course. Students who are uncertain should consider taking CSCI 18X first, before enrolling in CSCI 201.
  • Q: I have previous programming experience but I don’t have official transfer credit for intro programming–do I have to take CSCI 18X?
    • A: Not necessarily. Talk to the department chair, Prof. Kevin Sanft. Depending on your experience, we may be able to substitute an upper-level elective that is more relevant for you.
    •