Want to make creations as awesome as this one?

More creations to inspire you

Transcript

Last updated 10/31/2022

CS 149 is open to all majors; no prior programming experience expected. Prerequisites: You need a 66 or higher on your ALEKS placement exam or MATH 155. CS Progression: CS 149 can only be attempted twice. Need to earn a B- to progress to CS 159.

Prerequisites: a B- or better in CS 149. CS Progression: Need a 3.0 GPA between CS 149 and CS 159 and only attempted CS 159 once to be guaranteed admission into the CS Major or Minor. Apply for full admission before the last day of class the semester you are taking CS 159. See admission details.

CS 227 Co-requisite: CS 159. Alternatively, you can take MATH 245 to fulfill this requirement.

All courses below this line require Full Admission into the CS Major or Minor. See Admission Details.

CS 240 requires a C- or better in MATH 235 or MATH 231. If you take MATH 231, you need to also take MATH 232 to complete the Calculus Requirement for the CS Major.

CS 240 and CS 261 are both very time-intensive courses. We strongly recommend that you take these courses in separate semesters so that you have a more manageable workload. You can enroll in these courses no more than twice. (Withdrawing from a course still counts as an attempt.)

CS 452 is cross-listed with MATH 452 (so can "double count" toward the CS Major and a Math Minor). Ideal for students considering graduate school since this course covers more theoretical concepts. Prerequisites: C- or better in CS 327 and Stats (MATH 220, 229, or 318). Students may not receive credit for both CS 412 and CS 452.

Prerequisites: full admission into the major/minor and a C - or better in CS 227. CS 261 may only be attempted twice. CS Progression: the first course in our Systems Sequence (261, 361, Systems Elective), which means - at the minimum - you need to plan for two more semesters after taking CS 261 to complete the CS major requirements.

Prerequisite: a C- or better in CS 240 or CS 343.

CS 343 is a CS Elective and the prerequisite for the Full Stack Development electives. Prerequisite: must be fully admitted into the CS major/minor.

CS 430 teaches you the foundational principles of programming languages. Prerequisite: a C- or better in CS 240 and CS 261.

CS 361 is the second in our Systems Sequence. While still challenging, many students don't find this course to be as time-intensive as CS 261. Prerequisite: a C- or better in CS 240 and CS 261.

CS 327 is the second in our Discrete Structures Sequence. Prerequisite: a C- or better in CS 227 and CS 240.

Students report CS 412 is extremely helpful preparation for technical interviews when applying for jobs. We recommend you take this course the semester before you start your job search in earnest. Prerequisites: C- or better in CS 327 and Stats (MATH 220, 229, or 318). Students may not receive credit for both CS 412 and CS 452.

Students who are pursuing a Math Minor should consider taking MATH 318 since it both satisfies the CS Requirement and will count toward your Math Minor.

CS 345 is a semester-long, team-based software development project using the Agile Methodology. Alumni consistently report that this was one of the most helpful courses they took in the major. Prerequisite: must be fully admitted into the CS major/minor.

For CS 457, we strongly encourage you to have taken CS 361 before you take CS 457. If not, you must take as a co-requisite. This course satisfies requirements for the "Information Systems Security Professionals Certification" Prerequisites: a C- or better in CS 361

CS 482 satisfies one of the requirements for the "Information Systems Security Professionals Certification" Prerequisites: a C- or better CS 240 and CS 261. Topics selected may dictate further prerequisites; students should consult the instructor prior to enrolling for the course.

CS 458 satisfies requirements for the "Information Systems Security Professionals Certification" Prerequisites: a C- or better in CS 457 and CS 361.

CS 450: Typically offered in the fall. Prerequisite: a C- or better in CS 361.

CS 42: Typically offered in the fall and will fill up quickly. Prerequisite: a C- or better in CS 327 and CS 361.

CS 456: Typically offered in the spring. Prerequisite: a C- or better in CS 361.

CS 470: Typically offered in the spring. Prerequisite: a C- or better in CS 361.

CS 354: Typically offered in the fall. Prerequisites: a C- or better in CS 240 and Stats (MATH 220, 229, or 318).

CS 444: Typically offered in the spring. Prerequisites: a C- or better in CS 240 and Stats (MATH 220, 229, or 318).

CS 445: Typically offered in the Fall. Prerequisites: a C- or better in CS 327 and Stats (MATH 220, 229, or 318).

Prerequisite: a C- or better in CS 343.

Prerequisite: a C- or better in CS 343.

CS 455: Typically offered in the fall. Prerequisite: a C- or better in CS 361.

We have two Required Electives: Algorithms Elective (choose only one): CS 412 or CS 452. Advanced Systems Elective (choose at least one): CS 432, CS 450, CS 455, CS 456, CS 470. If you take more, they count as "CS Electives"

There are 9 core courses in the CS Major:

  • Aside from CS 149 and CS 159, all core classes require a C- or better to progress in the CS major.
  • CS 149, CS 159, CS 240, and CS 261 you can take at most twice.

You're required to take at least 3 upper level CS electives. The specifics here depend on your Catalog Year:

  • Catalog Year prior to 22-23: you need three CS electives above 300 and at least two must be above 345
  • Catalog Year 22-23 and later: you need three CS electives above 300 and at least two must be above 332

The CS major has two Math Requirements:

  • Calculus, this can be fulfilled with one of the following options:
    • MATH 235
    • MATH 231 and MATH 232
  • Statistics, this can be fulfilled with one of the following options:
    • MATH 220
    • MATH 229
    • MATH 318

CS 240 requires a C- or better in MATH 235 or MATH 231. If you take MATH 231, you need to also take MATH 232 to complete the Calculus Requirement for the CS Major.

CS 149 requires MATH 155 or a 66 or higher on the ALEKS Math Placement Exam. .

CS 330: Societal and Ethical Issues in Computing. Topics include: professional \& computing ethics, intellectual property, security, privacy, freedom of expression, AI ethics, and the future of work. Prerequisite: fully admitted to the Major/Minor. This is one of the few CS Electives that a student can take as soon as they enter the major/minor. It tends to fill up fast and no student will get an override for the course.

CS 446: Software Analysis and Design - you'll participate in a semester-long, team-based, software design (both product design and engineering design) and construction project. Prerequisite: a C- or better in CS 240 and CS 345

CS 349: Developing Interactive Multimedia considers: object-oriented programming techniques used in multimedia applications, event-based programming, a variety of different individual media (both auditory and visual), the issues that arise when combining multiple media, and dynamic media. Prerequisite: a C- or better in CS 240

Prerequisites: fully admitted into major/minor and junior or senior standing.

CS 488: Computer Graphics - you will learn the foundational concepts of interactive 3D computer graphics: model representation, transformations, lighting, and texturing.Prerequisites: a C- or better in CS 240 and CS 261.

I created this to be a helpful tool. Ultimately, all definitive information about the CS Major and Minor Requirements are found in the JMU Course Catalog, so if you have questions or want clarification, look there.