computer science department - salem state...

27
Advising and Pre-Registration Notes and Information Computer Science Major October 5, 2015 Table of Contents: Capstone Project: CSC 520 And CSC 521 Computer Science Major Listserv Computer Science Major Courses & Prerequisites Course Dependency Diagram General Advising Notes Languages Used in Specific Courses Math Requirements And Math Minor Matriculation Requirements And Options Option Sequences Planned Offerings Fall 2015 through Spring 2019 Planned Schedule of when Specific Courses Will Be Offered Recent Curriculum Changes 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 . 1Computer Science Department Planned Major-Level (CSC 200A and above) Course Offerings Spring 2016 through Fall 2019 Required Courses Option Courses Elective Courses Fall 2015 (current semester) CSC 200A(2), CSC 201J(2), CSC 202J, CSC 215, CSC 260, CSC 280, CSC 300 , CSC 520, CSC 301, CSC 325, CSC 425, CSC 475, CSC 485 CSC 273 , CSC 278 Spring 2016 CSC 200A(2), CSC 201J(2), CSC 202J(2), CSC 215, CSC 260, CSC 295, CSC 300, CSC 520, CSC 246, CSC 263, CSC 311, CSC 315A, CSC 445 CSC 235, CSC 312A Summer 2016 CSC 200A, CSC 201J, CSC 260 Fall 2016 CSC 200A(2), CSC 201J(2), CSC 202J, CSC 215, CSC 260, CSC 280, CSC 300, CSC 520, CSC 230, CSC 340, CSC 435 CSC 273, CSC 278 Spring 2017 CSC 200A(2), CSC 201J(2), CSC 202J(2), CSC 215, CSC 260, CSC 295, CSC 300, CSC 520, CSC 246, CSC 263, CSC 311, CSC 315A, CSC 330A CSC 235, CSC 312A Page 1 of 27

Upload: trantruc

Post on 31-Jan-2018

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

Advising and Pre-Registration Notes and InformationComputer Science Major

October 5, 2015

Table of Contents: Capstone Project: CSC 520 And CSC 521 Computer Science Major Listserv Computer Science Major Courses & Prerequisites Course Dependency Diagram General Advising Notes Languages Used in Specific Courses Math Requirements And Math Minor Matriculation Requirements And Options Option Sequences Planned Offerings Fall 2015 through Spring 2019 Planned Schedule of when Specific Courses Will Be Offered Recent Curriculum Changes 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.

1Computer Science DepartmentPlanned Major-Level (CSC 200A and above) Course Offerings

Spring 2016 through Fall 2019

Required Courses Option Courses Elective Courses

Fall 2015(current

semester)

CSC 200A(2), CSC 201J(2), CSC 202J, CSC 215,CSC 260, CSC 280, CSC 300, CSC 520, CSC 521, PHS 205

CSC 301,CSC 325, CSC 425,CSC 475, CSC 485

CSC 273,CSC 278

Spring 2016 CSC 200A(2), CSC 201J(2), CSC 202J(2), CSC 215, CSC 260, CSC 295, CSC 300, CSC 520, CSC 521

CSC 246, CSC 263,CSC 311,

CSC 315A, CSC 445

CSC 235,CSC 312A

Summer 2016 CSC 200A, CSC 201J, CSC 260

Fall 2016CSC 200A(2), CSC 201J(2), CSC 202J, CSC 215, CSC 260, CSC 280, CSC 300, CSC 520, CSC 521, PHS 205

CSC 230, CSC 340,CSC 435

CSC 273,CSC 278

Spring 2017 CSC 200A(2), CSC 201J(2), CSC 202J(2), CSC 215, CSC 260, CSC 295, CSC 300, CSC 520, CSC 521

CSC 246, CSC 263,CSC 311,

CSC 315A, CSC 330A

CSC 235,CSC 312A

Summer 2017 CSC 200A, CSC 201J, CSC 260

Fall 2017CSC 200A(2), CSC 201J(2), CSC 202J, CSC 215,CSC 260, CSC 280, CSC 300, CSC 520, CSC 521, PHS 205

CSC 301,CSC 325, CSC 425,CSC 475, CSC 485

CSC 273,CSC 278

Spring 2018 CSC 200A(2), CSC 201J(2), CSC 202J(2), CSC 215, CSC 260, CSC 295, CSC 300, CSC 520, CSC 521

CSC 246, CSC 263,CSC 311,

CSC 315A, CSC 445

CSC 235,CSC 312A

Page 1 of 19

Page 2: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

Summer 2018 CSC 200A, CSC 201J, CSC 260

Fall 2018CSC 200A(2), CSC 201J(2), CSC 202J, CSC 215, CSC 260, CSC 280, CSC 300, CSC 520, CSC 521, PHS 205

CSC 230, CSC 340,CSC 435

CSC 273,CSC 278

Spring 2019 CSC 200A(2), CSC 201J(2), CSC 202J(2), CSC 215, CSC 260, CSC 295, CSC 300, CSC 520, CSC 521

CSC 246, CSC 263,CSC 311,

CSC 315A, CSC 330A

CSC 235,CSC 312A

Summer 2019 CSC 200A, CSC 201J, CSC 260

Fall 2019CSC 200A(2), CSC 201J(2), CSC 202J, CSC 215,CSC 260, CSC 280, CSC 300, CSC 520, CSC 521, PHS 205

CSC 301,CSC 325, CSC 425,CSC 475, CSC 485

CSC 273,CSC 278

Keys: Boldface indicates courses required in the major. CSC nnn course was scheduled but cancelledCOLORS indicate option sequences. Two courses of the same color form an option sequence.

Option Sequences:Computation Theory: CSC 290 & CSC 415 Computer Graphics and Visualization: CSC 246 & CSC 425Computer Networking & Security: CSC 315A & CSC 435 Distributed and Cloud Computing: CSC 315A & CSC 475Parallel Computing: CSC 445 & CSC 475 Object Oriented Programming: CSC 311 & CSC 325Software Engineering: CSC 263 & CSC 301 Embedded Systems: CSC 230 & CSC 330AAI & Robotics: CSC 340 & CSC 485

Page 2 of 19

Page 3: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

List of courses and significant attributes (please see the Computer Science Department website (cs.salemstate.edu) for complete course description, topic list, bibliography, etc.)

Note: courses required within the Computer Science major are indicated in bold typeface

Course Credits RequiredLab

ProgrammingLoad

TypicallyOffered

Language(s) / O.S. / Hardware

CSC 200A Survey of Computer Science I 3 minimal Spring & FallCSC 201J Software Design and Implementation I 4 heavy Spring & Fall JavaCSC 202J Software Design and Implementation II 4 heavy Spring & Fall Java

CSC 215 Survey of Computer Science II 4 minimal Spring & FallCSC 230 Real-Time Computer Interfaces 3 moderate Fall, even yearsCSC 235 Computer Security Basics 3 moderate Spring,CSC 246 Information Visualization 4 moderate Spring TBDCSC 260 Data Structures & Algorithms 4 heavy Spring & Fall Java

CSC 263 Database Systems 4 moderate Spring Java, SQL (Oracle and/or MySQL)

CSC 267 Internship in Computer Science 1-6 variable Spring & FallCSC 273 Advanced Applications of C 4 heavy Fall C

CSC 278 Scripting Techniques 4 heavy Fall JavaScript, Python

CSC 280 Operating Systems 3 minimal FallCSC 290 Theory of Computation 3 minimal sporadic

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

CSC 300 Software Engineering I 4 moderate Spring & Fall UML, Java, Modeling tools

CSC 301 Software Engineering II 4 moderate to heavy Fall, odd years UML, Java,

Modeling toolsCSC 311 Object Orientation & Problem Solving Strategies 4 heavy Spring C++

CSC 312A Human-Computer Interfaces 4 moderate Spring C#, ASP.NETCSC 315A Computer Networks and Data Communications 4 minimal Spring C, Java, Linux,

WindowsCSC 325 Advanced Programming Techniques 4 heavy Fall, odd years C#

CSC 330A Microcomputing Systems 4 moderate Spring, odd years

CSC 340 Artificial Intelligence 3 moderate Fall, even yearsCSC 390 Compiler Construction 4 heavy sporadicCSC 415 Analysis of Algorithms 3 minimal sporadicCSC 425 Computer Graphics and Games 4 heavy Fall, odd years JavaCSC 430 Topics in Computer Science 3 variable sporadic variableCSC 435 Computer and Network Security Engineering 3 moderate Fall, even years

CSC 445 Parallel Processing 4 moderate Spring, even years Fortran or C++

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

CSC 485 Robotics and Computer Vision 4 moderate Fall, odd years C / C++CSC 498 Project Design/Specification Practicum 1 minimal Spring & Fall variableCSC 500 Directed Study in Computer Science I 3 heavy as needed variableCSC 501 Directed Study in Computer Science II 3 heavy as needed variableCSC 520 Computer Science Capstone Project Spec 1 minimal Spring & Fall variableCSC 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 3 of 19

Page 4: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

Computer Science Major Courses & PrerequisitesEffective Fall 2015

COURSE TITLE PREREQUISITE

CSC 200A Survey Of Computer Science IBasic Math competency requirement; knowledge of Windows, email, and word processing

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

CSC 202J Software Design/Programming II CSC 201J

CSC 215 Survey Of Computer Science II CSC 200A and CSC 201J

CSC 230 Real-Time Computer Interfaces CSC 202J and PHS 205

CSC 235 Computer Security Basics CSC 200A and CSC 201J

CSC 246 Information VisualizationOne Mathematics course chosen from MAT 108, MAT 110, MAT 120, and MAT 208 and above; plus CSC 201J, or equivalent programming experience and permission of Department Chairperson.

CSC 260 Data Structures And Algorithms CSC 200A and CSC 202J

CSC 263 Database Systems CSC 202J

CSC 267 Internship In Computer Science CSC 260 and permission of Department Chairperson

CSC 273 Advanced Applications Of C CSC 202J

CSC 278 Scripting Techniques CSC 202J

CSC 280 Operating System Principles CSC 260

CSC 290 Theory Of Computation CSC 260 and MAT 214A

CSC 295 Computer Architecture And Organization CSC 202J and CSC 215 and PHS 205

CSC 300 Software Engineering I CSC 260

CSC 301 Software Engineering II CSC 300; CSC 263 recommended

CSC 311 Object Orientation/Problem Solving CSC 260

CSC 312A Human-Computer Interfaces CSC 202J

CSC 315A Computer Networks And Data Communications CSC 260

CSC 325 Advanced Programming Techniques CSC 260

CSC 330A Microcomputing Systems CSC 200A and CSC 201J and PHS 205

CSC 340 Artificial Intelligence CSC 215 and CSC 260

CSC 390 Compiler Construction CSC 260

CSC 415 Analysis Of Algorithms CSC 260 and MAT 214A

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

CSC 430 Topics In Computer Science Topics and therefore Prerequisites vary

CSC 435 Computer And Network Security CSC 315A; CSC 273 or CSC 311 strongly recommended

CSC 445 Parallel Processing CSC 202J and CSC 295

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

CSC 485 Robotics And Computer Vision CSC 260; CSC 273 or CSC 311 strongly recommended

CSC 498 Project Specification & Design Practicum CSC 260 and 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 520Computer Science Capstone Project Specification CSC 260 and 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

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 4 of 19

Page 5: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

Recent Computer Science major Curriculum Changes and Notes

Changes to take effect January 2016None

Changes that took effect September 2015

Changes to Computer Science Major courses (required, option sequence, support courses)

Changes in prerequisites: CSC 300: effective Fall 2015, the prerequisite for CSC 300 is CSC 260. CSC 311: effective Fall 2015, the prerequisite for CSC 311 is CSC 260. CSC 245A and CSC 271 were deleted from the Computer Science Department's course

offerings effective Fall 2015. Both courses had not be offered for many years.Changes in course offering pattern:

CSC 300 will be offered Fall and Spring semesters (previously offered Spring semester only).

Other Less-Recent Computer Science major Curriculum Changes of Note:

Changes to Computer Science Major courses (required, option sequence, support courses) PHS 205 changes from a four hour lecture course to three lecture hours plus three lab

hours; the course was and is worth 4.0 credits.

Changes to Computer Science Major required coursesCSC 520 and CSC 521 replace CSC 498 and CSC 500 as the required senior project sequence. This change is a change in course number and title only - CSC 520 is in all ways equivalent to CSC 498, and CSC 521 is in all ways equivalent to CSC 500. The sequence will henceforth be referred to as the Computer Science Capstone Project sequence or simply “capstone sequence”.

Students whose effective date of matriculation into the Computer Science major was Fall 2012 or earlier may use either CSC 498 or CSC 520 as the “specification” course of the capstone project sequence and may use either CSC 500 or CSC 521 as the “implementation” course of the capstone project sequence. Note that effective September 1 2013, students registering for capstone project sequence courses will automatically be registered into CSC 520 or CSC 521 as appropriate.

Changes to Option Sequences - Effective Fall 2013 the following Option Sequences are available:

Artificial Intelligence & Robotics Option: CSC 340, CSC 485Computation Theory Option: CSC 290, CSC 415Computer Graphics and Visualization Option: CSC 246, CSC 425Computer Networking and Security Option: CSC 315A, CSC 435Distributed and Cloud Computing Option: CSC 315A, CSC 475Embedded Systems Option: CSC 230, CSC 330AObject Oriented Programming Option: CSC 311, CSC 325Parallel Computing Option: CSC 445, CSC 475Software Engineering Option: CSC 263, CSC 301

Page 5 of 19

Page 6: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

Students who declared an Option sequence prior to Fall 2012 will be allowed to complete previously-defined Option Sequences if the courses comprising the sequence are or will be available. If a component of a previously-declared Option Sequence is not available, see the Computer Science Department Chairperson to determine possible substitutions.

Mathematics Support Course renumberingEffective Spring 2014, MAT 247 Statistics I has been renumbered and renamed to MAT 147 Statistics. Aside from the new number and title, the course does not change - same content, still a required support course for Computer Science majors. Students whose flowsheet specifies MAT 247 should take MAT 147.

Mathematics Support Course requirement has been rephrased, effective Fall 2013.The change corrected the wording of the previous requirement in order to close an inadvertent loophole.

Mathematics Support Course requirements - 5 courses / 18 credits total:o MAT 214A, MAT 220, MAT 221, and MAT 147o Choose one MAT course of at least three credits that has MAT 220 or MAT 221

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

Page 6 of 19

Page 7: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

General advising notes to CSC majors:

Master Schedule of Spring 2016 coursesOnce the Spring 2016 Day Master Schedule is published, a PDF will be available at http://cs.salemstate.edu/dept/index.php?page=6; the same document will also be available at http://www.salemstate.edu/students/27576.php. Note that this document is "fixed in time" – it does not and will not reflect changes due to cancellations, new sections being created, and/or changes to room, professor, and meeting time. As a document to use now for planning your Spring 2016 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 datesAdvising Days: October 19 through November 4, 2015.

Sign up for an appointment with your Computer Science Department faculty advisor – appointments are available on a "first come, first served" basis. Signup sheets and/or instructions are posted on the bulletin board to the left of MH 209. Note that in order to register for Spring 2016 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.

Registration Dates: DAY student pre-registration begins at 7:00 am each day:Seniors: November 3, 2015Juniors: November 4, 2015Sophomores: November 5, 2015Freshmen: November 6, 2015

NOTE: Registration for Spring 2016 evening (Continuing Education) classes begins on November 2, 2015 for currently-enrolled students. IMPORTANT: if you are a DAY student, note that evening courses require the payment of separate tuition and fees, the only exception being evening course sections that are co-listed with Day course sections.

NOTE: Students who do not initiate registration until after November 25, 2015 will be charged a late registration fee of $25.

Faculty contact information

Mikhail Brikman [email protected] MH 207C 978.542.7095Bo Hatfield (chair) [email protected] MH 207B 978.542.6979Joe Kasprzyk [email protected] MH 208B 978.542.6978Komalpreet Kaur [email protected] MH 208C 978.542.2833Sotirios Kentros [email protected] MH 207A 978.542.2832Beifang Yi [email protected] MH 211A 978.542.7246

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:

Page 7 of 19

Page 8: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

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 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.

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 prevent 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 that point are for extenuating circumstances only 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, and changed quite 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 were NOT required to switch to the new gen ed requirements that went into effect Fall 2014.

Page 8 of 19

Page 9: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

Students who have already declared a major can choose to switch to the requirements of the flowsheet that took effect Fall 2014.

The details of the changes to the gen ed requirements that took effect on all flowsheets effective Fall 2014 are beyond the scope of this document, but as Computer Science majors there are a few things to keep in mind:o Computer Science major flowsheet requirements fall into three broad categories. Of these

categories: No changes in Major courses (CSC prefix) No changes in Support course requirements (five Math, three Science, PHS 205) Gen ed requirements CHANGED

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 flowsheet requirements).

As above, if you decided to stay with your current flowsheet and you declared the Computer Science major prior to Fall 2014, the new gen ed requirements do not affect you.

General Education (“gen ed”) requirements in the context of the Computer Science major: As indicated above, courses taken outside the major discipline can always "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 all CSC-prefixed courses.

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 SR requirement (two courses): automatically satisfied by the required major support course

"sequence" of two science courses (see your flowsheet for eligible courses).While you can use any courses with the appropriate certifications to satisfy the preceding requirements, note that using the specified courses will result in you have 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 Computer Science Department but is not CSC prefixed and thus not within the "major discipline". ITC 183 has PGR 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 200A, CSC 201J, a Mathematics support course, and two additional courses that address University 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 202J, CSC 215, a Mathematics support course, and two additional courses that address University General Education requirements. A detailed semester-by-semester schedule of suggested courses can be found here.

Page 9 of 19

Page 10: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

Transfer students who are admitted to the major and bring more than twenty transfer credits with them should consult with the department chairperson during orientation and/or with their Computer Science faculty advisor (typically assigned early in the first semester in the major) 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. FAILURE TO PROPERLY PLAN FUTURE 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 LARGE NUMBER OF TRANSFER CREDITS WITH THEM.

Sophomores should take CSC 260 and PHS 205 in the Fall. CSC 260 is a prerequisite for many CSC courses numbered above it, so it is important that this course 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 the first semester of a lab sequence - see your Computer Science major flowsheet for a detailed list of options).

Note that CSC 260 is sometimes offered during the summer - students, particularly transfer students, often 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. In addition, at least one Math support course should be taken, along with two additional University General Education courses (one of which should be the second semester of a lab sequence). Note that CSC 295 is currently offered on a "spring only" basis, while CSC 300 is scheduled to be offered both fall and spring.

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 being unable to incorporate the topic area into the required capstone project.

The following Option Sequences are generally available (the faculty member with the greatest involvement is listed in parentheses – contact this individual if you have detailed questions about topics, course format, etc.):

Artificial Intelligence and Robotics (Kaur, Yi): CSC 340 Artificial Intelligence and CSC 485 Robotics and Computer Vision

Computation Theory (Yi): CSC 290 Theory of Computation and CSC 415 Analysis of Algorithms

Computer Graphics and Visualization (Yi): CSC 246 Information Visualization and CSC

Page 10 of 19

Page 11: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

425 Computer Graphics and Games Computer Networking and Security (Kentros): CSC 315A Principles of Data

Communications and CSC 435 Computer and Network Security Distributed and Cloud Computing (Hatfield, Kentros): CSC 315A Principles of Data

Communications and CSC 475 Distributed and Cloud Computing Embedded Systems (Kaur): CSC 230 Real-Time Computer Interfaces and CSC 330A

Microcomputing Systems Object-Oriented Programming (Brikman): CSC 311 Object-Orientation and Problem

Solving Strategies and CSC 325 Advanced Programming Techniques Parallel Computing (Hatfield, Kentros): CSC 445 Parallel Processing and CSC 475

Distributed Systems Software Engineering (Kasprzyk): CSC 263 Database Systems and CSC 301 Software

Engineering II

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.

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 thus 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 245A, etc. as major elective(s), since they are not part of this specific example option.

All students must take a “second programming language” course (the language introduced in CSC 201J, currently Java, is considered the first) - the current choices are CSC 273 (C), CSC 278 (scripting languages), CSC 311 (C++), 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.

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 201J/202J/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, the 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 201J, CSC 202J, CSC 260, CSC 273, CSC 278, CSC 311, CSC 325, CSC 390, CSC 425, CSC 521, PHS 205.

Page 11 of 19

Page 12: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

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

CSC 230, CSC 235, CSC 246, CSC 263, CSC 295, CSC 300, CSC 301,CSC 312A, CSC 330A, CSC 340, 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 200A, CSC 215, CSC 280, CSC 290, CSC 315A, 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 221o 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 205o a two-semester lab sequence, chosen from: BIO 131&132, CHE 130&131, CHE

130&212, PHS 211A&212A, PHS 221&222, GLS 100&102o one additional Science course, chosen from: BIO 131, CHE 130, CHE 212,

GPH101P, GLS 100, GLS 102, PHS 211A, PHS 221 (note - the course cannot be part of the elected two-semester lab science sequence). Alternatives to the courses in this list must be discussed with the department chairperson well before registering!

The Salem State University Curriculum Committee limits the maximum number of credits within a department that can be taken for graduation credit to 55 - this limit applies to all departments and all majors. All recent Computer Science major flowsheets require a minimum of 45 CSC credits, but most students end up taking closer to 49 credits, given that many option courses and most popular major electives are 4 credits per course. This means that some majors are eligible to take only one (1) CSC course beyond those required to fulfill major requirements and have those credits count towards the total of 120 credits required for graduation - how many "extra" CSC

Page 12 of 19

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 214A, MAT 234, MAT 147, 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.

Page 13: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

courses you can take depends on the number of three vs. four credit CSC courses you elect to take. If additional credits beyond 55 are enrolled in, the extra credits and courses will appear on the student transcript, but any CSC credits above 55 will not count towards the number of credits required for graduation.

Students who are matriculated in the Computer Science major may, at their discretion, request to switch their graduation requirements to those on 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 2012 may request to graduate under the flowsheet in effect in September 2013, or September 2014, but not September 2011 or earlier. Students who wish to switch to a flowsheet with a more recent effective date should:

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. 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, 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).

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 involved - if you are interested in either CSC 520 or CSC 521 during the summer, you must complete the process of identifying a faculty

Page 13 of 19

Page 14: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

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: 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 (for the Spring 2016 semester, the tentative date is February 1). 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 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.

A cs-majors listserv for Computer Science majors and minors has been set up and may be subscribed to by going to the following address:

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 delayed or rejected) and 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.

In addition to the cs-majors listserv, evening-division students are encouraged to subscribe to cs-eveningmajors, the address for which is:

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

This list is used to post information specific to evening division issues; note that evening division students should also subscribe to cs-majors.

Page 14 of 19

Page 15: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

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 a weekly meeting – 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). 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.

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 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.

Page 15 of 19

Page 16: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

Page 16 of 19

Page 17: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

Undergraduate Academic Program Degree Map

First Year

Semestercredits: 17

Semestercredits: 16

Total First Year: 33Cumulative Credits: 33

Second Year

Semestercredits: 15

Semestercredits: 16

Total Second Year: 31Cumulative Credits: 64

Page 17 of 19

Degree Program: Bachelor of Science, Computer Science - AY 2015-2016 Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Semester I - Fall Course Number Course category CreditsCSC 200A Survey of Computer Science I major 3CSC 201J Software Design & Programming I major 4MAT 110 Precalculus § free elective 3Writing I (W-I) gen ed Ω gen ed 3gen ed (preferably SR) Ω gen ed 4

Semester II - Spring Course Number Course category CreditsCSC 202J Software Design & Programming II major 4CSC 215 Survey of Computer Science II major 4gen ed (preferably SR) Ω gen ed 4MAT 220 Calculus I support 4

Semester III - Fall Course Number Course category CreditsCSC 260 Data Structures & Algorithms major 4MAT 221 Calculus II support 4PHS 205 Digital Circuit Design support 4gen ed (SR if not taken freshman year) Ω gen ed 3

Semester IV - Spring Course Number Course category Credits

CSC 295 Computer Organization & Architecture major 3

CSC 300 Software Engineering I major 4gen ed (SR if not taken freshman year) Ω gen ed 3MAT elective (three-credit MAT course with MAT 220 or MAT 221 as a prerequisite)

support 3

gen ed (SR if not taken freshman year) Ω gen ed 3

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Note:- Course categories:

Major required Major elective General Education Support (math&sci) Free Elective

Page 18: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

Third Year

Semestercredits: 15

Semestercredits: 17

Total Third Year: 32Cumulative Credits: 96

Fourth Year

Semestercredits: 14

Semestercredits: 10

Total Fourth Year: 24

Cumulative Credits: 120

Page 18 of 19

Semester V - Fall Course Number Course category CreditsCSC 280 Operating System Principles major 3CSC elective / option major 4MAT 214A Discrete Structures support 4Science elective (chosen from list specified on flowsheet) support 4

Semester VI - Spring Course Number Course category CreditsCSC elective / option major 4free elective free elective 4gen ed Ω gen ed 3MAT 147 Statistics support 3gen ed Ω gen ed 3

Semester VII- Fall Course Number Course category CreditsCSC 520 Computer Science Capstone Project Specification (specification for the capstone project implemented in CSC 521)

major 1

CSC elective / option major 4gen ed Ω gen ed 3gen ed Ω gen ed 3free elective or gen ed Ω free elective 3

Semester VIII - Spring Course Number Course category CreditsCSC 521 Computer Science Capstone Project major 3free elective or gen ed Ω free elective 3CSC elective / option major 4free elective (if necesssary) free electivefree elective (if necesssary) free elective

Page 19: Computer Science Department - Salem State Universitycs.salemstate.edu/.../2_CSAdvisingDocument2015Fallfor…  · Web viewComputer Science majors will find that ITC 183 offers a complementary

Page 19 of 19

Additional Notes and Comments:§ MAT 110 Precalculus is the appropriate entry-level Mathematics course for many Computer Science majors, but is not a required course. If your background permits, MAT 110 can be skipped, with MAT 220 Calculus I being taken in its place and future semester's MAT courses adjusted accordingly. If you are unsure as to whether to take MAT 110, please consult with the Chairperson of the Mathematics Department and/or with your advisor in the Computer Science Department. Taking MAT 110 will reduce the number of free elective credits by 3.

Ω All SSU students must satisfy general education ("gen ed") and writing requirements in the following areas: CEA, CS, FYS, HP, OC, PGR, QR, SR(2), WC, W-I, W-II, W-III (visit General Education Curriculum Overview for details). Note that W-II can be satisfied by using the CS major required course CSC 300, W-III can be satisfied by using the CS major required course CSC 521, QR can be satisfied by using the CS major required course MAT 147, and the two required SR courses may be satisfied by using two of the CS major required Science support courses

Ψ Students may take Summer semester courses as a means of either accelerating the date of graduation or of lightening the credit load during Fall/Spring semesters. Note that most General Education requirements and some Mathematics Support courses are available during the Summer semester. The availability of Computer Science courses during the Summer semester is generally limited to CSC 200A and CSC 201J, with CSC 202J, CSC 215 and CSC 260 offered occasionally.

Science courses used to satisfy Computer Science major support course requirements must be chosen from a specific list - please see the flowsheet in effect the year you declared the Computer Science major for details. Choosing a science course that is not on the approved list will not satisfy a CS major science support course requirement and will result in a decrease in the number of free elective credits available and may result in your needing to take more than 120 credits in order to graduate.