Computer Science...

20
Page 1 of 20 Advising and Pre-Registration Notes and Information Computer Science Major October 8, 2018 Table of Contents: Capstone Project: CSC 520 And CSC 521 Computer Science Major Listserv Computer Science Major Courses & Prerequisites Course Dependency Diagram Degree Map General Advising Notes Languages Used in Specific Courses Math Requirements And Math Minor Matriculation Requirements And Options Option Sequences Planned Offerings Spring 2019 through Fall 2022 Second Programming Language Requirement Support Courses Year-by-Year Schedule: Computer Science Degree Map Note: detailed course descriptions for all CSC courses can be found in the Computer Science Department website at http://cs.salemstate.edu/dept/index.php?page=184.

Transcript of Computer Science...

Page 1: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 1 of 20

Advising and Pre-Registration Notes and Information

Computer Science Major

October 8, 2018

Table of Contents:

Capstone Project: CSC 520 And CSC 521

Computer Science Major Listserv

Computer Science Major Courses & Prerequisites

Course Dependency Diagram

Degree Map

General Advising Notes

Languages Used in Specific Courses

Math Requirements And Math Minor

Matriculation Requirements And Options

Option Sequences

Planned Offerings Spring 2019 through Fall 2022

Second Programming Language Requirement

Support Courses

Year-by-Year Schedule: Computer Science Degree Map

Note: detailed course descriptions for all CSC courses can be found in the Computer Science Department

website at http://cs.salemstate.edu/dept/index.php?page=184.

Page 2: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 2 of 20

Computer Science Department

Planned Computer Science major (CSC-prefixed) regularly-scheduled course offerings

Spring 2019 through Fall 2022

Table Legend

bold black == CS major required course; bold colored == component of option sequence (two courses of same

color == an option sequence); italics == course offered every other year); struck through == cancelled offering

Required Courses Option Courses Elective Courses

Fall 2018 CSC 105(2), CSC 110(2), CSC 115, CSC 260, CSC 381,

CSC 520, CSC 521, PHS 205

CSC 345, CSC 246,

CSC 351, CSC 435 CSC 278

Spring 2019 CSC 105, CSC 110, CSC 115(2),

CSC 260, CSC 295, CSC 300, CSC 520, CSC 521

CSC 263, CSC315A,

CSC 340 CSC 235,

CSC 376

Summer 2019 CSC 105, CSC 110, occasionally CSC 260

Fall 2019 CSC 105(2), CSC 110(2), CSC 115, CSC 260, CSC 381,

CSC 520, CSC 521, PHS 205

CSC 351, CSC 425,

CSC 475, CSC 485 CSC 279

Spring 2020 CSC 105, CSC 110, CSC 115(2),

CSC 260, CSC 295, CSC 300, CSC 520, CSC 521

CSC 263, CSC 315A,

CSC 325, CSC 340 CSC 212

Summer 2020 CSC 105, CSC 110, occasionally CSC 260

Fall 2020 CSC 105(2), CSC 110(2), CSC 115, CSC 260, CSC 381,

CSC 520, CSC 521, PHS 205

CSC 345, CSC 246,

CSC 351, CSC 435 CSC 278

Spring 2021 CSC 105, CSC 110, CSC 115(2),

CSC 260, CSC 295, CSC 300, CSC 520, CSC 521

CSC 263, CSC315A,

CSC 340 CSC 235,

CSC 376

Summer 2021 CSC 105, CSC 110, occasionally CSC 260

Fall 2021 CSC 105(2), CSC 110(2), CSC 115, CSC 260, CSC 381,

CSC 520, CSC 521, PHS 205

CSC 351, CSC 425,

CSC 475, CSC 485 CSC 279

Spring 2022 CSC 105, CSC 110, CSC 115(2),

CSC 260, CSC 295, CSC 300, CSC 520, CSC 521

CSC 263, CSC 315A,

CSC 325, CSC 340 CSC 212

Fall 2022 CSC 105(2), CSC 110(2), CSC 115, CSC 260, CSC 381,

CSC 520, CSC 521, PHS 205

CSC 345, CSC 246,

CSC 351, CSC 435 CSC 278

Option Sequences (see Option Sequence Changes Fall 2017)

Computation Theory: CSC 400 & CSC 415 (note – this sequence is not scheduled on a regular basis – see

the department chairperson for details and availability)

Computer Graphics and Visualization: choose two from CSC 246, CSC 340, CSC 425

Cyber Physical Systems: CSC 340 plus one from CSC 345, CSC 485

Networking and Cloud Computing: CSC 315A plus one from CSC 435, CSC 445, CSC 475 (note – CSC 445

is not scheduled on a regular basis – see the department chairperson for details and availability)

Software Engineering: CSC 351 plus one from among CSC 263, CSC 325

Page 3: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 3 of 20

List of Computer Science major (CSC-prefixed) courses and significant attributes (Courses required within the Computer Science major are indicated in bold typeface. Please see the Computer Science

Department website (cs.salemstate.edu) for complete course description, topic list, bibliography, etc.)

Course Credits Required

Lab Programming

Load Typically

Offered Typical Language(s) /

O.S. / Hardware

CSC 105 Survey of Computer Science 4 minimal Spring & Fall

CSC 110 Software Design and Implementation I 4 heavy Spring & Fall Java

CSC 115 Software Design and Implementation II 4 heavy Spring & Fall Java

CSC 212 Human-Computer Interfaces 4 moderate Spring, even years C#, ASP.NET

CSC 235 Computer Security Basics 3 moderate Spring, odd years

Java, plus some PHP,

MySQL, Linux

scripting

CSC 246 Information Visualization 4 moderate Fall, even years Processing

CSC 260 Data Structures & Algorithms 4 heavy Spring & Fall Java

CSC 263 Database Systems 4 moderate Spring Java, SQL (Oracle

and/or MySQL)

CSC 278 Scripting Techniques 4 heavy Fall, even years

multiple, varies by

semester: e.g.

JavaScript, Python,

PHP, …

CSC 279 C + C++ 4 heavy Fall, odd years C and C++

CSC 295 Computer Architecture & Organization 3 moderate Spring Altera’s Quartus II

and DE2 board

CSC 300 Software Engineering I 4 moderate Spring UML, Java,

Modeling tools CSC 315A Computer Networks and

Data Communications 4 moderate Spring

Python, PHP, HTML,

Linux, Windows

CSC 325 Advanced Programming Techniques 4 heavy Spring, even years C#

CSC 340 Artificial Intelligence 3 moderate Spring variable

CSC 345 Embedded Systems 4 moderate Fall, even years

Hardware Description

Language and Altera’s

Quartus II and DE2

board.

CSC 351 Software Engineering II 4 moderate to

heavy Fall

UML, Java,

Modeling tools

CSC 367 Internship in Computer Science 1-6 variable as needed highly variable

CSC 376 Topics in Computer Science 3 variable sporadic variable

CSC 381 Operating Systems 3 minimal Fall

CSC 400 Compiler Construction 4 heavy sporadic variable

CSC 415 Analysis of Algorithms 3 minimal sporadic

CSC 425 Computer Graphics and Games 4 heavy Fall, odd years Java

CSC 435 Computer and Network Security

Engineering 3 moderate Fall, even years

C / C++, plus some

PHP, MySQL, Linux

scripting

CSC 445 Parallel Processing 4 moderate Sporadic Fortran or C++

CSC 475 Distributed and Cloud Computing 4 moderate Fall, odd years C, Java, Linux,

Windows

CSC 485 Robotics and Computer Vision 4 moderate Fall, odd years MATLAB, C / C++

CSC 490 Theory of Computation 3 minimal sporadic

CSC 520 Computer Science Capstone Project Spec 1 minimal Spring & Fall variable CSC 521 Computer Science Capstone Project 3 heavy Spring & Fall variable (Note: Staffing and enrollment issues may necessitate exceptions to the "typically offered" schedule presented above. The

Computer Science Department makes every effort to keep to the schedule as presented.)

Page 4: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 4 of 20

Computer Science Major Courses & Prerequisites

COURSE TITLE PREREQUISITE

CSC 105 Survey Of Computer Science High school algebra I, II; knowledge of Windows, email, and word processing

CSC 110 Software Design/Programming I High school algebra I, II; knowledge of Windows, email, and word processing

CSC 115 Software Design/Programming II CSC 110

CSC 212 Human-Computer Interfaces CSC 115

CSC 235 Computer Security Basics CSC 105 and CSC 110

CSC 246 Information Visualization

One Mathematics course chosen from MAT 108, MAT 110, MAT 120, and MAT

208 and above; plus CSC 150, or equivalent programming experience and permission of Department Chairperson.

CSC 260 Data Structures And Algorithms CSC 105 and CSC 115

CSC 263 Database Systems CSC 115

CSC 278 Scripting Techniques CSC 115

CSC 279 C + C++ CSC 105 and CSC 115

CSC 295 Computer Architecture And Organization CSC 105 and CSC 115 and PHS 205

CSC 300 Software Engineering I CSC 260

CSC 315A Computer Networks And Data Communications CSC 260

CSC 325 Advanced Programming Techniques CSC 260

CSC 340 Artificial Intelligence CSC 105 and CSC 260

CSC 345 Embedded Systems (Fall 2018 initial offering) CSC 295

CSC 351 Software Engineering II CSC 300; CSC 263 recommended

CSC 367 Internship in Computer Science CSC 260 and permission of Department Chairperson; other prerequisites vary with

the project

CSC 376 Topics In Computer Science Topics and therefore Prerequisites vary

CSC 381 Operating System Principles CSC 260

CSC 400 Theory of Computation CSC 260 and MAT 214A

CSC 415 Analysis Of Algorithms CSC 260 and MAT 214A

CSC 425 Computer Graphics and Games MAT 108, or MAT 150, or any MAT course numbered 208 or above, plus CSC 260

CSC 435 Computer And Network Security CSC 315A; CSC 279 strongly recommended

CSC 445 Parallel Processing CSC 115 and CSC 295

CSC 475 Distributed and Cloud Computing Pre- or Co-requisite: CSC 381

CSC 485 Robotics And Computer Vision CSC 260; Pre- or Co-requisite: MAT 221; CSC 279 strongly recommended

CSC 490 Compiler Construction CSC 260

CSC 498 Project Specification & Design Practicum CSC 300 and permission of Department Chairperson

CSC 500 Directed Study In Computer Science I CSC 498 and permission of Department Chairperson; other prerequisites vary with

the project

CSC 501 Directed Study In Computer Science II CSC 498 and permission of Department Chairperson; other prerequisites vary with

the project

CSC 520 Computer Science Capstone Project

Specification CSC 300 and permission of Department Chairperson

CSC 521 Computer Science Capstone Project CSC 520 and permission of Department Chairperson; other prerequisites vary

with the project

PHS 205 Digital Circuit Design MAT 110 or equivalent

Note: detailed course information documents for all CSC courses can be found on the department website

at http://cs.salemstate.edu/dept/index.php?page=184.

Page 5: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 5 of 20

Anticipated and Recent Computer Science major Curriculum Changes and Notes

Computer Science major curriculum changes that took effect September 2018

Deletion of CSC 223 and CSC 230

New course CSC 345 Embedded Systems

o Prerequisite: CSC 295

o Three lecture hours plus a scheduled three hour lab

o CSC 345 is an optional course in the Cyber Physical Systems option sequence

o Details can be found at http://cs.salemstate.edu/dept/index.php?page=184.

Prerequisites for CSC 485 will change:

o Former prerequisite statement: Prerequisite: CSC 260; CSC 279 strongly recommended.

o New prerequisite statement: Pre- or Co-requisite: MAT 221; Prerequisite: CSC 260; Strongly

recommended: CSC 279.

Computer Science major curriculum changes that took effect September 2017

Deletion of CSC 101 and revision of CSC 105

o Careful review and assessment of the material covered in CSC 101, CSC 105, and PHS 205

determined that there was too much overlap among these three courses. Elimination of

redundant or excessive coverage of certain topics allow the major to delete CSC 101 from the

list of required CS major courses, and to redesign CSC 105 to address essential materials from

CSC 101 and 105.

For all CS majors operating under the Fall 2016 flowsheet or earlier, CSC 101 will no

longer be offered. You can take any CSC-prefixed course above CSC 115 as a substitution

for a CSC 101 or CSC 200A requirement: you will need to request that the department

chair issue a substitution memo to the Registrar’s Office, and will need to provide your

SSU ID and flowsheet year when doing so.

For CS majors operating under the Fall 2017 flowsheet, CSC 101 does not appear on your

CS major flowsheet; the three credits previously required by CSC 101 are replaced by a

third CS major elective.

Deletion of CSC 273 and CSC 311, creation of CSC 279 as a combination of 273 and 311.

o Review of the course content of CSC 273 and CSC 311, coupled with analysis of industry

trends, led to the decision to eliminate separate courses for C (CSC 273) and C++ (CSC 311)

and to instead offer a single course (CSC 279) that covers both languages in a single semester

neither CSC 311 or CSC 273 will be offered.

The initial offering of CSC 279 was Fall 2017; the course will be offered bi-annually

thereafter

o Note that the list of 2nd language courses therefore changed to CSC 278, CSC 279, and CSC

325

Students who have previously taken CSC 273 or CSC 311 will be allowed to use them to

satisfy this requirement

o Details regarding CSC 279 (course description, course goals and objectives, etc.) can be found

at http://cs.salemstate.edu/dept/index.php?page=184.

Changes in course offering pattern

o Among the CSC required courses, CSC 300 will be offered only during the Spring semester

(previously offered Fall and Spring semesters). All other CSC required courses will continue

to be offered based on their recent scheduling pattern.

o Significant changes have been made to anticipated scheduling patterns for most option

sequence courses and most CS major elective courses. Please refer to the Planned Offerings

Page 6: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 6 of 20

table for details.

Revisions to option sequences:

o Analysis of industry trends and enrollment patterns led to the decision to reorganize the

current set of Option Sequence choices, with the changes taking effect Fall 2017 – the revised

set of choices should allow students more flexibility in completing a sequence, and should also

allow the CS major to run more of its electives on a more stable and predictable basis.

o Note that declaring an option sequence does not guarantee that you will be able to complete

the sequence “in a timely manner” – option-sequence course availability is based on when the

courses come up in the projected offerings schedule coupled with course demand. It is very

important that you work with your advisor in selecting an option sequence and in developing a

backup plan.

Option Sequences

Computation Theory: CSC 400 & CSC 415 (note – this sequence is not scheduled on a regular

basis – see the department chairperson for details and availability)

Computer Graphics and Visualization: choose two from CSC 246, CSC 340, CSC 425

Cyber Physical Systems: CSC 340 plus one from CSC 345, CSC 485

Networking and Cloud Computing: CSC 315A plus one from CSC 435, CSC 445, CSC 475 (note –

CSC 445 is not scheduled on a regular basis – see the department chairperson for details and

availability)

Software Engineering: CSC 351 plus one from among CSC 263, CSC 325

o CS majors who have declared an Option Sequence prior to Fall 2017 may need to work with

their advisor and the department chairperson to work out any substitutions that may be

necessary. Students operating under the old (pre-2017) Option Sequence requirements will

require a substitution memo from the department chair to the Registrar’s Office if they need a

substitution for a specific course (see the Paths Forward table for details).

o CS majors who failed to declare an Option Sequence by May 10, 2017 will select from the list

of options above, and will require a substitution memo from the chair of the department.

Paths Forward for Pre-2017 Option Sequences

AI & Robotics: CSC 340 & CSC 485 Should be able to complete sequence

Computer Graphics and Visualization: CSC 246 &

CSC 425 Should be able to complete sequence

Computation Theory: CSC 400 & CSC 415 May be able to complete sequence

Computer Networking & Security: CSC 315A &

CSC 435 Should be able to complete sequence

Embedded Systems: CSC 223 & CSC 230 CSC 485 and CSC 345 – will require

substitution memo from chair

Distributed and Cloud Computing: CSC 315A &

CSC 475 Should be able to complete sequence

Parallel Computing: CSC 445 & CSC 475 May be able to complete sequence

Object Oriented Programming: CSC 311 & CSC

325

CSC 279 and CSC 325 – will require

substitution memo from chair

Software Engineering: CSC 263 & CSC 351 Should be able to complete sequence

The deletion of CSC 101, CSC 273, and CSC 311 led to prerequisite changes for several courses.

Page 7: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 7 of 20

These changes are summarized here:

Course Current Prerequisite(s) Revised Prerequisite(s) CSC 235 CSC 101 and CSC 110 CSC 105 and CSC 110

CSC 260 CSC 101 and CSC 115 CSC 105 and CSC 115

CSC 435 CSC 315A; CSC 273 or CSC 311

strongly recommended CSC 315A; CSC 279 strongly recommended

CSC 485 CSC 260; CSC 273 or CSC 311

strongly recommended CSC 260; CSC 279 strongly recommended

Computer Science major curriculum changes that took effect September 2016

A significant number of computer science (CSC-prefixed) courses were renumbered effective Fall

2016. The renumbering was implemented so that CSC course numbers would more accurately

reflect approximately when they might be taken in the context of a four-year curriculum plan.

The course renumberings were implemented in such a way that SSU's Degree Tracker system can

automatically recognize equivalencies. As an example, Operating Systems was numbered CSC

280 through Spring 2016, but is now numbered CSC 381. Students whose flowsheets require CSC

280 can register for CSC 381 and Degree Tracker will automatically recognize CSC 381 as

satisfying their CSC 280 requirement.

It bears explicitly mentioning that functionally no flowsheet requirements changed as a result of

these course renumberings. Some courses have different numbers, but they have the same title and

cover the same material.

Because renumbered courses have been intentionally implemented to be academically equivalent

to their originally-numbered courses, it is important to note that:

o To retake an "old number" course, simple register for the equivalent "new number" course –

Degree Tracker will handle the equivalency details.

o Taking a "new number" course when you have already taken the equivalent "old number"

version of the course does not earn you additional credits!

Taking any course automatically causes Degree Tracker to check if registration would be

classified as a retake and if so Degree Tracker should warn you that you are retaking the

course. If you attempt to register for a CSC course and are informed that it would be a

retake, and you do not understand why you are seeing this information, please:

(a) take a screenshot of the information, then

(b) email your academic advisor, explain what you are attempting to do and why you are

attempting to do it, and include the screenshot.

If you are not sure if a CSC course you are thinking about registering for is equivalent to

another CSC course, check with your academic advisor in Computer Science before you

register!

General advising notes to CSC majors:

☼ Master Schedule of Spring 2019 courses

Once the Spring 2019 Day Master Schedule is published, a PDF will be available at

http://cs.salemstate.edu/dept/index.php?page=6. Note that this document is "fixed in time" – it

does not and will not reflect schedule adjustments made after publication, e.g. adjustments due to

cancellations, new sections being created, and/or changes to room, professor, and meeting time.

As a document to use now (during the formal academic advising period) for planning your Spring

Page 8: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 8 of 20

2019 schedule, it's an excellent tool. When it comes to actually registering for classes or if you're

looking to change your schedule after you register for classes, be sure to use Navigator to check

for the latest information on courses.

☼ Advising and Registration dates for Spring 2019 Day courses

Advising Dates for DAY students: October 15 – November 1

Sign up for an appointment with your Computer Science Department faculty advisor –

appointments are available on a "first come, first served" basis. Detailed instructions for signing

up are posted on the bulletin board to the left of MH 209. Simple instructions: go to

http://cs.salemstate.edu/advising/, click Advisee, use your SSU ID and SSU email address to log

in, and then click on Available Appointments to view available appointments and select one.

NOTE: Students who do not initiate registration until after November 26, 2018 will be charged a

late registration fee of $25.

Registration Dates: DAY student pre-registration begins at 7:00 am each day:

Senior Registration: November 1, Priority seniors 7:00 a.m., all seniors 4:30 p.m.

Junior Registration: November 2, Priority juniors 7:00 a.m., all juniors 4:30 p.m.

Sophomore Registration: November 5, Priority sophomores 7:00 a.m., all sophomores 4:30 p.m.

Freshman Registration: November 6, Priority freshmen 7:00 a.m., all freshmen 4:30 p.m.

From the Registrar’s Office: Be advised that priority registration appointments for the Spring 2019

registration process have been assigned within the student’s class year assignment. All priority

appointments will begin at 7:00 am on the day each class will register. This policy has been

enacted for several important reasons, including the facilitation of academic progress and equity

for all of our students according to their academic plans of study and to more effectively manage

and distribute the load of students registering each of the first four days of registration. Students

without priority appointments will register at 4:30 p.m. on their assigned class registration day.

Note: Open Enrollment for matriculated SCPS students (School of Continuing and Professional

Studies, i.e. evening) students in day division classes begins on November 26.

☼ Advising and Registration dates for SCPS Spring and Wintersession 2018 evening courses

Registration for Spring and Wintersession 2019 SCPS classes begins October 31 for currently-

matriculated students and for all others on November 5.

Note that in order to register for Spring 2019 courses you need a registration

PIN, and the only way to get that PIN is to meet with your academic advisor – it

is a violation of SSU and CS major advising policy to give a student their PIN if

advising hasn't taken place.

Page 9: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 9 of 20

☼ Faculty advisor contact information

Bo Hatfield (chair) [email protected] MH 207B 978.542.6979

Joe Kasprzyk [email protected] MH 208B 978.542.6978

Komalpreet Kaur [email protected] MH 208C 978.542.2833

Sotirios Kentros [email protected] MH 207A 978.542.2832

Beifang Yi [email protected] MH 211A 978.542.7246

Lakshmidevi Sreeramareddy [email protected] MH 207D 978.542.2379

Manish Wadhwa [email protected] MH 211B 978.542.2627

☼ Account “Holds” and “Limits” and their effect on registering for courses:

SSU will place registration holds on students for a variety of reasons, some of which are:

more than 30 credits have been completed but one or more Level I Competency-based skills

requirements (Mathematics or Reading) have not been satisfied

a bill has not been paid

proof of health insurance and/or vaccinations has not been provided to SSU

being on probation and failing to have met with Academic Advising well prior to registering

for courses

SSU will limit the number of credits for which a student can register for a number of reasons, some of

which are:

academic probation

participation in certain support programs

Students with a registration hold will not be able to register for any courses until they have satisfied

the conditions necessary to remove all holds; students with limits are able to register, but only under

the constraints of the limits. It is therefore critical that students use Navigator ASAP to see if any

holds or limits have been put in place: if any holds exist, it is the student’s responsibility to rectify

the situation, and if at all possible to rectify it before registration begins. Note that a faculty advisor

can determine if a hold exists, but not its cause – the student must log into Navigator to determine the

specifics. If you have a hold and are not sure how to proceed, consult with your academic advisor.

IMPORTANT: if you are a DAY student, note that SPCS (evening,

DCE, Continuing Education, Summer) courses require the payment of

separate (additional) tuition and fees, the only exception being

evening course sections that are co-listed with Day course sections

Page 10: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 10 of 20

Note that the existence of a hold does not AND SHOULD NOT prevent you from meeting

with your academic advisor! The existence of a hold prevents registration – advising

can and should take place during the scheduled period, otherwise once the hold is

resolved, you will still be unable to register because you will not have been advised

and therefore not have received your registration access PIN.

☼ Restriction on the number of retakes for a course: Matriculated undergraduate students are

allowed to attempt a specific course a total of three times, including all attempts and all grades,

including attempts in which the student has a grade of “W,” “I,” or “F.” Students may repeat a

specific course one time without any approval required, but a second repeat (the third attempt) will

require the approval of the Academic Advising Office or the Registrar’s Office prior to registering for

the course. Navigator stops students from being able to register for the course when they try to

register for the third or greater time. Repeats beyond the third attempt are permitted only for

extenuating circumstances and will require an appeal to the Office of Enrollment Management. As

always, once a course is repeated, only the higher grade earned is used to calculate the GPA, and all

attempts will remain on the official transcript.

☼ SSU general education (“gen ed”) requirements: Effective for students admitted to SSU as of Fall

2014, the gen ed requirements (the "left side of the flowsheet") changed very significantly. Details

regarding the changes were publicized in a number of ways via a number of different SSU offices.

The following notes are aimed at students who are currently at SSU and have already declared the

Computer Science major, and are intended as general guidelines:

Students who had already declared a major effective before Fall 2014 can choose to continue

under the requirements of their current flowsheet – that is, you are NOT required to switch to the

new gen ed requirements that went into effect Fall 2014.

Students who had already declared a major effective prior to Fall 2014 can choose to switch to the

requirements of the flowsheet that took effect Fall 2014, or any later flowsheet.

Students who declared a major effective September 2014 through January 2016 operate under the

General Education Transition Model. This model allows students to satisfy gen ed requirements

by taking courses that are designated as being certified a current gen ed category and/or by taking

courses that were certified in certain categories under the old gen ed rules. Details of the General

Education Transition Model are far beyond the scope of this document – see your academic

advisor for details!

Students who declare a major effective Fall 2016 or later will operate under the General Education

Rules that took effect in September 2014 and are not eligible to operate under the Transitional

Model. This means that gen ed requirements can only be satisfied by taking courses that are

certified in a current gen ed category.

Students who declare a major effective Fall 2018 will operate under the General Education Rules

that took effect in September 2014, and in addition must take a course that satisfies the Diversity,

Power Dynamics, and Social Justice (DPDS) general education category.

The details of the changes to the gen ed requirements that took effect on all flowsheets effective

Fall 2014 and later are beyond the scope of this document, but as Computer Science majors there

is something specific to keep in mind:

o Support courses CAN be used to satisfy gen ed requirements in both current and future

flowsheets (so-called “double dipping” – the course receives credit once, but satisfies multiple

Page 11: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 11 of 20

flowsheet requirements).

Summary

o If you decided to stay with a pre-2014 flowsheet and you declared the Computer Science

major prior to Fall 2014, the new gen ed requirements do not affect you.

o If you declared the Computer Science major effective September 2014 or later, or switched to

a Fall 2014 or later CS flowsheet, the changes do affect you:

If you are operating under the Fall 2014 or Fall 2015 CS flowsheet, you can make use of

Transitional Model gen ed equivalencies

o If you are operating under the Fall 2016 or later CS flowsheet, you cannot make use of

Transitional Model gen ed equivalencies

☼ Registering for Science courses: Note that many of the science courses that fulfill the Science course

requirements of the Computer Science major are open to only majors in their disciplines for the first

four days of registration. Attempting to register for one of these courses (e.g. GLS 100, BIO 131)

during the first four days of registration is usually problematic because Navigator displays all sections

of these courses as “closed”, which many interpret as “already filled to capacity”. Waiting until the

fifth day of registration usually results in some of the course sections reclassified as “open”. If your

scheduling situation requires an earlier resolution or your targeted course section does not reclassify,

you can contact the chairperson of the host department (Biology (MH 404), Chemistry & Physics

(MH 404), Geology (MH 331)). You must explain that you are a Computer Science major, wish to

enroll in a specific course, and that you have a limited set of courses that satisfy the Science

requirements of the Computer Science major. You may receive an electronic permission to register,

otherwise they will indicate that you should wait until the day after Freshmen registration (the fifth

day of registration) and try then.

☼ General Education (“gen ed”) requirements in the specific context of the Computer Science

major: As indicated above, courses taken outside the major discipline are candidates to "double dip"

and be used to satisfy multiple flowsheet requirements depending on the certifications for a specific

course; in certain very specific circumstances, courses within the major discipline can also "double

dip". "Major discipline" in the context of the Computer Science major includes only CSC-prefixed

courses.

While you can use any courses with the appropriate certifications to satisfy the preceding

requirements, note that using the courses specified above will result in you having additional free

elective credits, thus broadening your selection of potential courses.

ITC 183 Cybersecurity: A Personal and Professional Responsibility is a course offered by the

W-II requirement: automatically satisfied by the required major discipline

course CSC 300

W-III requirement: automatically satisfied by the required major discipline

course CSC 521

QR requirement: automatically satisfied by the required major support course

MAT 147 or MAT 220

SR requirement (two courses): automatically satisfied by the required major

support course "sequence" of two science courses (see your flowsheet for

eligible courses).

Page 12: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 12 of 20

Computer Science Department but is not CSC prefixed and thus is not within the "major discipline".

ITC 183 has PGR (Personal Growth and Responsibility) general education certification. Quoting from

the course description, "This course presents a user-level view of computer and network security and

includes discussion of topics you must know to be responsible (personally and professionally)

members of our social environment as individuals and work force participants." (italics added).

Computer Science majors will find that ITC 183 offers a complementary perspective on cyber security

(user-centric vs. the technology-centric perspective of CSC-prefixed security courses) and

simultaneously satisfies a gen ed requirement.

☼ A typical Computer Science course load for students in their first semester as a major will consist of

CSC 105, CSC 110, a Mathematics support course, and two additional courses that address SSU

General Education requirements (the left side of the flow sheet). A detailed semester-by-semester

schedule of suggested courses can be found here.

☼ A typical Computer Science Department course load for students in their second semester as a major

will consist of CSC 115, a Mathematics support course, two additional courses that address SSU

General Education requirements and either CSC 105 (if not taken during the first semester) or an

elective (chosen in consultation with your academic advisor). A detailed semester-by-semester

schedule of suggested courses can be found here.

☼ Transfer students who are newly admitted to the major and bring more than twenty transfer

credits and/or more than twelve Computer Science major (CSC-prefixed) credits with them

should consult with the department chairperson during orientation and/or with their Computer

Science faculty advisor in order to minimize scheduling bottlenecks and to insure appropriate

progress through the major. You can determine who your advisor is via your Navigator

account.

☼ Sophomores should take CSC 260 and PHS 205 in the Fall. CSC 260 is a prerequisite for many CSC

courses numbered above it (and specifically for CSC 300, which is ideally taken in the Spring

semester of the Sophomore year), so it is important that CSC 260 be completed as quickly as is

practical. Note that CSC 260 involves a large amount of programming. PHS 205 is a prerequisite for

CSC 295, which is a required course and which should be taken in the Spring semester of the

Sophomore year. In addition, at least one Math support course should be taken, along with two

additional University General Education courses (one of which should be a lab science course - see

FAILURE TO PLAN FUTURE SEMESTER SCHEDULES BASED ON PROJECTED COURSE

AVAILABILITY IS LIKELY TO RESULT IN SIGNIFICANT DELAYS IN GRADUATION. WHILE THIS

OBSERVATION IS RELEVANT FOR ANY COMPUTER SCIENCE MAJOR, IT IS PARTICULARLY

IMPORTANT FOR TRANSFER STUDENTS WHO BRING A SIGNIFICANT NUMBER OF TRANSFER

CREDITS WITH THEM. THEREFORE, IF YOU RECENTLY TRANSFERRED INTO SSU WITH A

SIGNIFICANT NUMBER OF TRANSFER CREDITS, IT IS VERY IMPORTANT THAT YOU MEET WITH

YOUR ACADEMIC ADVISOR ASAP (DON’T WAIT FOR THE FORMAL ACADEMIC ADVISING

PERIOD!) IN ORDER TO DEVELOP A CUSTOMIZED PLAN FOR WHEN YOU WILL BE

REGISTERING FOR MAJOR COURSES. FAILURE TO DEVELOP SUCH A PLAN MAY RESULT IN

TAKING AN EXTRA SEMESTER OR MORE TO COMPLETE YOUR DEGREE REQUIREMENTS.

Page 13: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 13 of 20

your Computer Science major flowsheet for a detailed list of options).

Note that CSC 260 sometimes runs during the summer – if available, students, particularly

transfer students, can take CSC 260 during the summer in order to accelerate their graduation

date and/or to permit upper-level courses to be spread across another semester. Students who

pursue this path should consult with their advisor as to the appropriate replacement for CSC

260 in their Fall Sophomore schedule.

☼ Sophomores should take both CSC 300 and CSC 295 in the Spring; if you can take only one, consult

with your advisor as to which should take precedence. Note that CSC 300 involves significant lab

time and some programming, while CSC 295 does not include a formal lab: the workload of taking

both courses in the same semester should be manageable and provides for the greatest scheduling

flexibility in future semesters. In addition, at least one Math support course should be taken, along

with two University General Education courses (one of which should be a lab science course unless all

three have already been taken). Note that CSC 295 and CSC 300 are both currently offered on a

"spring only" basis.

☼ Students should begin to talk to their advisor about selecting an Option sequence in the semester in

which they take CSC 260, and should have determined their selection no later than the end of the

following semester. Note that most Option sequences involve at least one course that runs only in

alternating years. Early planning and selection of the Option sequence can help to avoid being unable

to complete a preferred Option selection or being forced to complete the preferred choice during the

senior year and therefore making it difficult to incorporate the topic area into the required capstone

project.

☼ The following Option Sequences are generally available (the faculty member(s) with the greatest

involvement is/are listed in parentheses – contact them if you have detailed questions about topics,

course format, etc.).

Note that some of these sequences involve courses that are not scheduled on a regular basis due to

low overall demand – making your interest in a specific Option Sequence known to your academic

advisor early is very important in allowing the department to schedule courses appropriately.

These Option Sequences are available to students regardless of date of matriculation. For

information regarding the content and applicability of a specific Option Sequence, please see your

advisor and/or the faculty member listed next to the Option.

Page 14: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 14 of 20

Option Sequence Faculty with greatest

involvement

Computation Theory: CSC 400 & CSC 415 (note – this sequence is not

scheduled on a regular basis – see the department chairperson for details

and availability)

Kentros, Yi

Computer Graphics and Visualization: choose two from CSC 246, CSC

340, CSC 425 Yi

Cyber Physical Systems: CSC 340 plus one from CSC 345, CSC 485 Kaur

Networking and Cloud Computing: CSC 315A plus one from CSC 435,

CSC 445, CSC 475 (note – CSC 445 is not scheduled on a regular basis –

see the department chairperson for details and availability)

Hatfield, Kentros

Software Engineering: CSC 351 plus one from among CSC 263, CSC 325 Kasprzyk

☼ Any course listed as part of an Option Sequence can be used as a major elective, but only if the

course is not from your declared Option Sequence. For example, if you choose the Computer

Networking and Security Option and take CSC 315A and CSC 435, you cannot list either a second

time on your flow sheet as a major elective - you could take CSC 263, CSC 311, CSC 325, CSC 445,

CSC 475, etc. as major elective(s), since they are not part of this specific example choice of option

courses.

☼ All students must take a “second programming language” course (the language introduced in CSC

110, currently Java, is considered the first) - the current choices are CSC 278 (scripting languages),

CSC 279 (C + C++), and CSC 325 (C#). Note that if CSC 311 or CSC 325 is taken as part of an

Option sequence, it can be used to satisfy the "second programming language" requirement, but

do note that credit for the course is received only once.

Note – CSC 273 and CSC 311 were deleted from the list of CS major courses effective Fall

2017, and replaced with CSC 279. Students operating under a CS major flowsheet dated Fall

2016 or earlier and who wish to use CSC 279 to satisfy their “second programming

language” requirement will be required to have the department chair issue a substitution

memo to the Registrar’s Office – the substitution request is automatically granted, but must

be explicitly requested by the student via the Department Chairperson.

☼ Certain courses within the curriculum have a very heavy programming component - scheduling two or

more of these courses in a single semester has a high potential for causing significant problems with

time management. Spreading these courses out to distribute the time load is preferable: if time

constraints or course availability dictates otherwise, students should consult with their advisor about

the most appropriate combinations. Note that, aside from the required CSC 110/115/260 sequence,

most students take no more than two or three out of the remaining heavy programming courses: if you

take CSC 260 during the first semester of your sophomore year, any remaining heavy programming

courses can be spread across the remaining five semesters so that no two need be taken in the same

semester.

Courses with very heavy programming components (required courses are presented in bold

typeface):

CSC 110, CSC 115, CSC 260, CSC 278, CSC 279, CSC 325, CSC 425,

CSC 521, PHS 205.

Page 15: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 15 of 20

Courses with moderate programming components (required courses are presented in bold typeface):

CSC 212, CSC 223, CSC 230, CSC 235, CSC 246, CSC 263, CSC 295, CSC 300,

CSC 315A, CSC 340, CSC 345, CSC 351, CSC 435, CSC 445, CSC 475, CSC 485.

Courses that are predominantly theoretical (minimal programming or the programming is logically

simple) (required courses are presented in bold typeface):

CSC 105, CSC 381, CSC 400, CSC 415, CSC 520.

Note - while the amount of programming involved in CSC 521 varies depending on the selected

project, it is usually significant enough to fall into the “very heavy” category.

☼ A number of non-CSC courses are required in the Computer Science major - these are formally

called "Support" courses.

Mathematics (5 courses total):

o MAT 147, MAT 214A, MAT 220, and MAT 221

o one (1) additional MAT course of three or more credits with MAT 220 or MAT 221

as a prerequisite, or another MAT course with permission of the Computer Science

Chairperson

Note that while MAT 218 Introduction to Mathematical Computing has a prerequisite

of MAT 220, MAT 218 is a one-credit course, and therefore may not be used as the

"additional" Mathematics support course.

Science (4 courses total)

o PHS 205

o a two-semester lab sequence, chosen from: BIO 131&132, CHE 130&131, CHE

130&212, PHS 211A&212A, PHS 221&222, GLS 100&102

If you choose either PHS sequence, a Physics minor can be completed by declaring a

Physics minor and taking PHS 311. Note that this minor is declared by filling out a

form available from the Registrar's Office or online and having the form signed by

the Chemistry and Physics Department chairperson.

o one additional Science course, chosen from: BIO 131, CHE 130, CHE 212, GLS 100,

GLS 102, PHS 211A, PHS 221 (note - the “additional” course cannot be part of the

elected two-semester lab science sequence).

Alternatives to the courses in this list must be discussed with your academic advisor

before registering, and a substitution memo must be issued by the department chair to

the Registrar before you register - it is most unwise to assume that an alternative

science course will be automatically approved!

☼ Prior to Fall 2017, Salem State University limited the maximum number of credits within a discipline

The required Mathematics support courses satisfy most of the requirements of a

Mathematics minor (MAT 220, MAT 221, and three additional MAT courses from a list

of MAT 147, MAT 214A, MAT 234, and all MAT courses numbered 300 or higher, with

only one of MAT 214A and MAT 147 being eligible). Taking one additional MAT

course beyond the required support courses will complete a Mathematic minor. Note that

a minor is declared by filling out a form available from the Registrar's Office or online

and having the form signed by the Mathematics Department chairperson.

Page 16: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 16 of 20

(in the case of the Computer Science major, CSC-prefixed courses) that can be taken for graduation

credit to 55. Effective Fall 2017, this cap has been eliminated – students are free to take as many

credits “in the discipline” as they wish.

☼ Students who are matriculated in (have formally declared) the Computer Science major may, at their

discretion, request to switch their graduation requirements to those of a flowsheet with a more recent

effective date than the one in effect when they were accepted into the major. For example, a student

who matriculated in September 2015 may request to graduate under the flowsheet in effect in

September 2016, or September 2017, but not September 2014 or earlier. Any student who wishes to

switch to a flowsheet with a more recent effective date should:

Note that you will be required to satisfy all of the requirements of the new flowsheet, not just

those pertaining directly to the Computer Science major

Discuss the advisability of such a change with his or her academic advisor, and only then

fill out a form to change their flowsheet, stating the effective date of the desired flowsheet.

The form is available in the Registrar’s Office and in the Computer Science Department

office (MH 207)

Note that once a switch is made, it cannot be reversed. This means that it is very important to

understand all of the ramifications of changing your flowsheet before a switch is made.

Current and recent flowsheets can be found at

http://cs.salemstate.edu/dept/index.php?page=174.

Computer Science major Capstone Project information

☼ CSC 520 Computer Science Capstone Project Specification and CSC 521 Computer Science Capstone

Project should be thought of as a particularly strongly-integrated course sequence.

CSC 300 is the pre-requisite (not co-requisite) for CSC 520. Additional pre- or co-requisites

may be recommended based on the topic area proposed by the student.

In CSC 520 the student describes, in detail, what he/she will implement in CSC 521. CSC 520 is a

one-credit course during which the student selects a topic area for her/his required CSC 521

project and develops a formal proposal: the proposal describes in detail the objectives of the

project, the tools to be used, any benchmarks that must be achieved during the implementation of

the project, project deliverables, grading scheme, etc. CSC 520 does not involve implementing the

capstone project - it involves selecting and formalizing what the student's capstone project will be.

Once CSC 520 has been completed (that is, a passing grade has been received), the student enrolls

in CSC 521 and implements the proposal that was created in CSC 520. Any faculty member

supporting the Computer Science major may be approached to serve as the supervisor for the CSC

520 / CSC 521 sequence. Students should talk to potential supervisors early in the semester prior

to the semester in which they plan to actually register for CSC 520; ideally, students will begin

seriously considering potential projects no later than their junior year and talk to faculty during

the junior year. CSC 520 must be completed (that is, the project proposal must be complete and

approved) with a passing grade before CSC 521 can be registered for, therefore, CSC 520 and

CSC 521 may not be taken in the same semester.

Details regarding the objectives, goals, procedures, and requirements for the CSC 520 / CSC 521

sequence can be found at http://cs.salemstate.edu/dept/index.php?page=184 (use either the CSC

520 or CSC 521 link in the Attachments pane – both links reference the same content).

Page 17: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 17 of 20

CSC 520 and CSC 521 are available on a Directed Study basis every Fall and Spring semester.

Arrangements can sometimes be made to take these courses during the Summer, but only with

careful planning and the consent of the faculty member who is supervising the project - if you are

interested in either CSC 520 or CSC 521 during the summer, you must complete the process of

identifying a faculty supervisor and getting them to agree to work during the summer early in the

preceding Spring semester. CSC 520 and CSC 521 do not meet at formally scheduled times:

arrangements are made between the student and a faculty supervisor on a case-by-case basis.

Note the following:

A cs-majors listserv for Computer Science majors and minors may be subscribed to by going to

the following address while logged into the SSU network:

http://elists.salemstate.edu/mailman/listinfo/cs-majors

In the “Subscribing to cs-majors” pane fill in your full name (failure to fill in your full name

WILL result in your application being rejected) and email address (please use your SSU email

address), then select a password, and then click subscribe - that’s all there is to it. Listserv members

will receive notice of items of relevance to students in the Computer Science program: upcoming

advising / registration dates, notice of added and cancelled courses and changes in scheduled

courses, advising notes (including this notice, delivered to your computer’s front door at least twice

a year!), and notice of potential internships and employment opportunities.

It is the student’s responsibility to initiate contact with potential project supervisors, and

it is the student’s responsibility to complete the paperwork necessary to register for

CSC 520 and CSC 521.

A CSC 520 information session that will discuss capstone project requirements,

potential project topics, the relationship between CSC 520 and CSC 521, etc. will be

held on the second Monday of the semester, usually at 11:00 in MH 210. Attending

this meeting is required of all students who intend to register for CSC 520 during the

semester.

Registration for CSC 520 (and CSC 521) cannot be completed via Navigator –

registration requires a paper form (SSU's Directed Study form, available in the

Computer Science offer), to be completed early in the semester in which the course is

to be taken.

The Directed Study form must be completed and all signatures (student, project

supervisor, department chairperson) collected within two weeks of the CSC 520

information session (about four weeks into the semester).

o Failure to complete the registration process in a timely fashion will result in

registration not being authorized – given that the great majority of CS majors

take this two course sequence during their last two semesters at SSU, this

means that you'll postpose your graduation by at least one semester if you

miss the registration deadline.

Reminder: as indicated above, CSC 520 is a pre-requisite for CSC 521, therefore CSC

520 and CSC 521 cannot be taken in the same semester.

Page 18: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 18 of 20

Programming Club

The Programming Club welcomes everyone who has an interest in programming and/or programming

languages. Club members can benefit from club activities in two ways:

improve their programming skills by targeting challenging programming projects or topics in

preparation for participation in regional or national Programming Contests

deepen their understanding by providing assistance to others who are interested in programming

languages and/or problem solving but experience difficulty in applying concepts when it’s time to

solve problems and write code (as the old saying goes, “teaching others is the best way to learn”).

The Programming Club conducts bi-weekly meetings – a schedule of meetings is posted outside MH

209, and announcements of meeting time, location, and planned activities are posted to the cs-progclub

listserv (to subscribe to the club mailing list, visit and register at

http://elists.salemstate.edu/mailman/listinfo/cs-progclub while on campus). The date, time, and location of

the initial meeting is usually posted in the first two weeks of the semester. Please contact Prof. Beifang Yi

([email protected]) for additional information.

The Programming Club conducts a weekly meeting (usually the club meetings are on Thursdays

beginning at 5:00 pm in MH 209; notice of upcoming meetings will be announced through email to the

cs-majors list). For further information, please contact Prof. Beifang Yi at [email protected]

or http://cs.salemstate.edu/~byi/ or Prof. Sotirios Kentros at [email protected]

or http://cs.salemstate.edu/dept/index.php?page=296.

Robotics Club

The Robotics club welcomes all students with an interest in robotics, computer vision, or embedded

systems. Students in the club will work with ActivityBot, Raspberry Pi, and Finch robots. Students can

design, build, and translate their own ideas into robotic activities.

Robotics Club provides a fun learning environment for students to come together and study the field

of robotics. It helps them foster their critical thinking, team building, social, and leadership skills.

Club activities provide students with the opportunity to pursue their interest in robotics outside of the

classroom, to work on their capstone projects, to learn from other students, and to complete projects that

can be used to demonstrate their abilities when they are looking for a permanent job.

The Robotics Club conducts weekly meeting, usually on Tuesdays at 5:00 pm in MH 202. Please

contact Prof. Komalpreet Kaur ([email protected]) for additional information.

Page 19: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 19 of 20

Page 20: Computer Science Departmentcs.salemstate.edu/dept/uploads/2_CSAdvisingDocument2018Fallfor2019Springcourse...Page 3 of 20 List of Computer Science major (CSC-prefixed) courses and significant

Page 20 of 20

Undergraduate Academic Program Degree Map

A degree map (a semester-by-semester outline of the courses to be taken to complete the Computer Science

major can be found at

http://cs.salemstate.edu/dept/uploads/2_BSinComputerScienceDegreeMap2018Fall.pdf. Note that you are

not required to follow the sequencing exactly – this is an “idealized” path to completing degree

requirements – individual students will almost always deviate from it to some degree, and transfer students

who bring a significant number of credits with them will often need to make significant adjustments.

The main advantage of examining and understanding a degree map is to understand course sequencing

requirements. Each course in the degree map notes the course’s prerequisites (other courses that must be

taken in order to register for a course) – while many courses in a degree map can be moved around from

one semester to another with no impact, moving courses that are themselves prerequisites for future courses

can cause problems. For example, CSC 260 is usually taken fall semester of sophomore year. CSC 260 is a

prerequisite for CSC 300, which is usually taken spring semester of sophomore year and is only offered

during the spring semester. Therefore, if CSC 260 is delayed by a semester to spring sophomore year, CSC

300 cannot be taken until spring junior year, and that may in turn affect when you begin your required

Computer Science Capstone course sequence.

In general, try to follow the degree map; if you must or just wish to deviate from it, check with your

academic advisor to determine what, if any, consequences will occur.