Below is information related to registration including enrollment appointments, advising, permission numbers and waitlists. Please read this thoroughly, before contacting your advisor.

Enrollment appointments

The Spring 2021 registration by appointment is from Nov 15 to Nov 18, 2021. It continues through Jan 12, 2021. The dates when registration begins and ends can be found on the Registration Calendar of the Registrar's site. If you log into MySSU and click on "Student Center", you will see your registration appointment time listed on the right. Many CS and GE classes will get filled fast, so you should plan to register at the beginning of your appointment in order to have the best chance of getting the courses you need. For more information, see the How to Register page at the Registrar's site.


Your CS advisor’s name (Drs. Gill, Gondree, Kooshesh, Marhamati, Ravikumar, Rahman or Rivoire) will be visible in your MySSU page. Please contact him/her if you have questions regarding registration and for general advice on how to plan the remainder of your curricular plan.

Other advising resources include Jami Grosser for lower-division CS and other science courses, and the Advising Center for anything that's not CS-specific. For additional information regarding advising, you can look at the S&T advising web page. You can get a drop-in zoom appointment with the Advising Center.

General Education (GE)

The details regarding your GE requirements can be found at the SSU GE Resources page.

Prerequisites and Grades

A grade of C- or better (CR is fine) is required for any course that is a prerequisite to a CS course. MySSU enforces prerequisite courses, but it doesn’t enforce this C- minimum grade. As a result, MySSU may allow you to enroll in a course even when you haven’t fulfilled the C- grade prerequisite, but you will not be allowed to remain in that course. We identify these cases before the semester begins, and administratively drop students who have not made the minimum grade in a prerequisite.

After grades are posted, we will check to make sure that all students have passed the prerequisites for next semester's courses. If your Academic Requirements Report in MySSU does not show a green check mark for each of your relevant prerequisite courses at that time, we will contact you before registration reopens. You should be prepared to prove that you have met all prerequisites (for example, taken at another school) by the beginning of next semester. Otherwise, you will be administratively dropped from the course during the add/drop period.

Courses that are Full and Waiting Lists

Although the Computer Science courses fill quickly, our waitlists also move quickly. Especially for courses that have MATH 161, CS 115, CS 215, or CS 315 as a prerequisite, spots are likely to open up after the current semester's grades are posted and students who didn't pass the prerequisites drop the course.

If you are waitlisted, however, you need to be sure that you will actually be able to move into a spot that opens up. Even if there is an open spot, you won’t get it if it would leave you with too many units or with a time conflict. We have seen students advance from #6 on the waitlist into an open spot because students #1-#5 had one of these issues that prevented them from claiming it. Use the waitlist SWAP feature - for details see How to Waitlist a Class.

In any event, if you want to take a course and can't get it, you need to be on the waitlist. This is our only mechanism for keeping track of who needs a given course.

Who Needs Permission Numbers?

As mentioned above, MySSU enforces prerequisites for CS classes. This is a potential problem for you if:

  1. You took the prerequisite at another university, and we had to fill out paperwork to make it count toward your SSU CS major.
  2. You passed the prerequisite on the third or later attempt.
  3. You took the prerequisite at both SSU and another institution.
  4. You got a D or F in CS 115, 215, or 315 in a prior semester, and you want to retake that course. (See the "Repeat Policy" section below for more, though.)

If you're in categories 1, 2, 3, or 4, we should have auto-generated permission numbers for all the classes you're eligible to take. Please use the link below to confirm that you have permission numbers for these classes, and let me know as soon as possible if you think any are missing. If you're in category 5, please contact your advisor and have them request permission numbers from me. Those should be available using the same link within 1 business day of your advisor's request.

Instructions for obtaining permission numbers are at How do I get and use permission numbers?

You should obtain these permission numbers BEFORE you register and use them when you add the course to your shopping cart. Otherwise, you may "burn" your permission number and need to contact us for a new one.

Repeat Policy for CS 115-215-315

Seats in CS 115, 215, and 315 can be scarce, and we want to prioritize first-time students, followed by former students who have had at least a semester to consider their options and reflect on their study strategies, followed by currently enrolled students who think they won't pass and will need to re-enroll next semester.

  • If you got a grade below C- in 115, 215, or 315 in a past semester and need to repeat it, see the section about permission numbers. You will need one.
  • If you are currently enrolled in CS 115, 215, or 315, you will not be allowed to re-enroll in the same course until the end of the semester.
  • Regardless of the above, if you are trying to take one of these courses for the fourth or greater time, make an appointment with me. Depending on the circumstances, you may not be able to do this at SSU.

Because of a recent reduction in the tenure-track faculty/instructors, we are limited to one section of the courses CS355, CS370, CS415, CS450, CS454 and CS460 so it is likely that these courses will become full very quickly. If you are graduating in Spring 2022, we will try our best to accommodate in the core courses you need to graduate. 

We are also offering an experimental section of CS115 (Lec - Sec 05 and Lab - 06) that is based on mobile robots, using C programming language. It is being taught by Dr. Henry Walker. You can find details about a previous edition of the course at his website.

Elective Courses

Our 3-unit elective offerings don't follow any consistent pattern. They're driven by faculty and student interest; faculty availability, which varies with changes in enrollment and personnel. The rule is: if you're interested in, and eligible to take, one of next semester's electives, sign up right away. There is no guarantee it will be offered again in the near future. See Courses for catalog descriptions. (For CS 385, the descriptions are given below.)

We are offering three 3-unit CS electives next semester:

  • CS 340 Computer Security
    Instructor: Dr. Gondree
    Prerequisites: C- or better in CS 215 and CS 252
  • CS 385-1 Machine Learning
    Instructor: Dr. Marhamati
    Prerequisites: CS315 (This course builds on mathematical principles often taught in MATH 211, MATH 222, MATH 241, MATH 261, and MATH 316. Previous enrollment in one of these courses is highly recommended.)
    Course Description:

    This course is a hands-on approach to explore machine learning methods. Topics include models for regression, uncertainty and probability theory, KNN, decision trees and random forest, models for classification, SVM, model evaluation, model bias & variance, regularization, dimension reduction, supervised and unsupervised learning, k-means, introduction to neural networks and gradient decent. Course components include assignments, quizzes, class discussions, and course project. The programming language used is Python.

  • CS 385-2 Topics in Computer Graphics
    Instructor: Dave Shreiner
    Prerequisites: CS 315 (Data Structures)
    Recommended: CS 375 (Computer Graphics), Math 222 (Elementary Applied Linear Algebra)
    ​Course Description:

    This course focuses on generating images using 3D interactive rendering techniques. Topics include representing and rendering 3D objects; use of geometric transformations, illumination, and texture mapping in programmable shaders; culling and hidden-surface removal; 3D object management using scene graphs; user input processing; and a survey of alternative rendering techniques including ray tracing.

We are also offering two 1-unit electives:

  • Computer Science Colloquium (CS 390) 
  • Programming in a Team Environment (CS 349), taught by Dr. Rahman

You can repeat CS 390 up to 2 times for the minor and 3 times for the major.

Note that we are also offering a 3-unit elective CS 385 Ethics in an Age Of Technology and AI by Dr. Sabidur Rahman during the winter break intersession. This will not count as an upper-division elective.


Finally, CS 495/496/497 are independent study, individual senior research projects, and internships, all by arrangement with a faculty member. If interested, talk to the faculty member with whom you want to work.

If you have any questions, please contact your advisor or the department chair.