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 dates when registration begins and ends can be found on the Registration Calendar of the Registrar's site. When 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 (Dr. Gill, Gondree, Kooshesh, Leal, Ravikumar, Taneja) will be visible in your Student Center. You can contact your CS advisor using the information the Advising page if you have questions regrading registration and for general advice on how to design the remainder of your curricular plan. Other advising resources include Dr. Megan D'Errico (MESA) for lower-division CS and other science students, and the Advising Center for anything that's not CS-specific. Both MESA and the Advising Center offer Zoom appointments.

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 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 the FAQ entry How do I get and use permissions 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 one week after the final registration appointment, during open registration.
  • If you got a C- or better in CS 115, 215, or 315 and just want to repeat for some reason, see a CS faculty advisor. To allow students who really need the course to enroll, we will not give you this permission until at least one week after the final registration appointment, during open registration.
  • Regardless of the above, if you are trying to take one of these courses for the fourth or greater time, make an appointment with the department chair. Depending on the circumstances, you may not be able to do this at SSU.

Electives for Spring 2021

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 and CS 386, the descriptions are given below.

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

  • CS 340 Computer Security
    Instructor: Dr. Mark Gondree
    Prequisite: C- or better in CS 215 and CS 252
  • CS 365 Computer Networking and the Internet
    Instructor: Dr. Sabidur Rahman
    Prerequisite: C- or better in CS 215 and CS 252
  • CS 385 Natural Language Processing
    Instructor: Dr. Nina Marhamati
    Prerequisites: CS 315

Course Description: This course explores fundamentals of natural language processing and understanding. Topics include essentials for processing unstructured text and corpus based work (stop words, tokenization, etc.), probability theory and Bayese rule, statistical language models such as bag of words, naive Bayes, term frequency-inverse document frequency (tf-idf), n-grams, basics sequence labeling, part of speech tagging, and sentiment analysis. Based on the class interest and potential, advanced language models such as word to vector and deep learning approaches (LSTM, bidirectional RNN, transformers) will be discussed as well. Open source Python libraries are used for implementation purposes.

  • CS 386 iOS Application Development 
    Instructor: Dr. Ali Kooshesh
    Prerequisites: CS 315

Course Description: In this course, we will use the Swift Programming Language and the Xcode IDE to develop iOS applications for Apple’s mobile devices such as iPhone and iPad. In addition, we will study a number of user-interface-based application development paradigms such as Model-View-Controller and write applications to emphasize their benefits. During the first half of the semester, students will individually write iOS applications to learn Swift and iOS building blocks. During the last 6-7 weeks of the semesters, in groups of three, students will propose and develop a project for the remaining of the semester. The development of iOS applications requires a MacOS platform. Since not all students have access to such a platform, we are investigating ways to make it possible for those students to use the iMacs in our labs remotely. This is work in progress.

We are also offering a 1-unit elective:

  • Computer Science Colloquium (CS 390), organized by Dr. Lynn Stauffer
    Prerequisite: None, although the more CS background you have, the better you can follow the talks.

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

Note that there is also a 1-unit elective CS 385 Ethics in an Age Of Technology and AI, by Dr. Sabidur Rahman, being offered during the winter break session. This can also be taken as a 1-unit 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.