Undergraduate
Advising center
Undergraduate
Computer Science Department directory
Undergraduate Study Plans
Study Plan Forms and Suggested Course Schedules
Study plan forms by major and year of entry | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Major | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 |
CS | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 | 2009 | 2008 |
CS honors thesis | Honors 2015 | Honors 2014 | Honors 2013 | Honors 2012 | ||||||||
Cybersecurity | CyS 2019 | CyS 2018 | CyS 2017 | CyS 2016 | CyS 2015 | CyS 2014 | CyS 2013 | CyS 2012 | CyS 2011 | CyS 2010 | CyS 2009 | CyS 2008 |
Suggested 4-year (no co-op) and 5-year (co-op) course schedules for the most recent year:
FIRST COMPUTER SCIENCE COURSE
Major | CS 110 | CS 118 | CS 181 |
CS | No co-op | No co-op | No co-op |
Co-op | Co-op | Co-op | |
Cybersecurity | No co-op | No co-op | No co-op |
Co-op | Co-op | Co-op | |
CS honors thesis | No co-op | No co-op | No co-op |
Co-op | Co-op | Co-op | |
Undecided Engineer | No co-op | No co-op | |
Co-op | Co-op |
Back to Top
Undergraduate Forms
Office of the Registrar - forms
Course Exceptions and Substitutions Form
AP Credit
Advanced Placement
Change of Major
Information on change of major
Minors
Minor study plan/AC form
The courses for the Computer Science minor are:
CS 115 Introduction to Computer Science CS 135 Discrete Structures or MA 134 Discrete Mathematics CS 284 Data Structures CS 385 Algorithms
plus any two three-credit courses numbered 300 or higher, except any course that duplicates another; specifically, students may not count towards the minor CS 501, CS 570, or CS 590; also, students may not count toward the minor both courses in each of the following pairs: CS 383 and CS 550, CS 492 and CS 520, CS 496 and CS 510, CS 442 and CS 561.
The courses for the Cybersecurity minor are:
CS 115 Introduction to Computer Science CS 135 Discrete Structures CS 284 Data Structures CS 385 Algorithms
Plus one of the following tracks:
CS 503 Discrete Mathematics for Cryptography MA 232 Linear Algebra or MA 236 Mathematical Reasoning CS 579 Foundations of Cryptography
Or:
CS 306 Introduction to IT Security CS 392 Systems Programming CS 576 Systems Security
The Cybersecurity minor is available to Computer Science majors who can only take the CS 503, CS 579 and MA 232/236 option. Computer Science students wishing to earn a Cybersecurity minor must take at least two additional courses, not counted anywhere else on the Computer Science study plan.
For more information about minors visit Stevens Academic Catalog.
Back to Top
Undergraduate Courses
For Graduate Courses, click here Graduate Courses.
Course Number | Course Name | Prereqs | Coreqs | Course Coordinator | Typically Offered: Classroom | Typically Offered: Webcampus |
---|---|---|---|---|---|---|
CS 105 | Introduction to Scientific Computing Outcomes Outcomes Syllabus |
Fall, Spring | Summer (as part of Euclid online program for high school students) | |||
CS 110 | Creative Problem Solving with Computing Outcomes Syllabus |
Fall | ||||
CS 115 | Introduction to Computer Science Outcomes Syllabus |
Brian Borowski | Fall, Spring | |||
CS 135 | Discrete Structures Outcomes Syllabus |
Sandeep Bhatt | Fall, Spring | |||
CS 146 | Introduction to Web Programming and Project Development Outcomes Syllabus |
Iraklis Tsekourakis | Fall | |||
CS 188 | Seminar in Computer Science Outcomes Syllabus |
Philippos Mordohai | Fall, Spring | |||
CS 284 | Data Structures Outcomes Syllabus |
CS 115 or CS 181 | CS 135 | Eduardo Bonelli | Fall, Spring | |
CS 306 | Introduction to IT Security Outcomes Syllabus |
CS 135 or MA 134 | Susanne Wetzel | Fall | ||
CS 334 | Automata and Computation Outcomes Syllabus |
(CS 115 or CS 181) and CS 135 | Sandeep Bhatt | Fall | ||
CS 347 | Software Development Process Outcomes Syllabus |
CS 181 or CS 284, CS 135 | Spring | |||
CS 370 | Creative Problem Solving and Team Programming Outcomes Syllabus |
CS 182 or CS 385 | Brian Borowski | Spring | ||
CS 383 | Computer Organization and Programming Outcomes Syllabus |
CS 115 or CS 181 | Fall | |||
CS 385 | Algorithms Outcomes Syllabus |
CS 181 or CS 284 | Brian Borowski | Fall, Spring, Summer 1 | ||
CS 392 | Systems Programming Outcomes Syllabus |
CS 182 or CS 385 | Jun Xu | Fall, Spring | ||
CS 397 | Outreach Participation Outcomes Syllabus |
Depends on subject | As needed | |||
CS 423 | Senior Design I Outcomes Syllabus |
CS 182 or CS 385, CS 347 | David Klappholz | Fall | ||
CS 424 | Senior Design II Outcomes Syllabus |
CS 423 | David Klappholz | Spring | ||
CS 425 | Cybersecurity Capstone I Outcomes Syllabus |
CS 576 | Susanne Wetzel | |||
CS 426 | Cybersecurity Capstone II Outcomes Syllabus |
CS 425 | Susanne Wetzel | |||
CS 442 | Database Management Systems Outcomes Syllabus |
CS 182 or CS 385 | Hui (Wendy) Wang | Fall | ||
CS 465 | Selected Topics in Computer Outcomes Syllabus |
Depends on subject | Occasionally | |||
CS 485 | Societal Impact of Information Technologies Outcomes Syllabus |
Depends on subject | David Naumann | Fall | ||
CS 488 | Computer Architecture Outcomes Syllabus |
CS 383 | MA 222 | Spring | ||
CS 492 | Operating Systems Outcomes Syllabus |
CS 383, CS 392 | Spring | |||
CS 496 | Principles of Programming Languages Outcomes Syllabus |
CS 334 | CS 182 or CS 385 | Eduardo Bonelli | Spring | |
CS 497 | Independent Study Outcomes |
On demand | ||||
CS 498 | Senior Research I Outcomes |
On demand | ||||
CS 499 | Senior Research II Outcomes |
On demand |
Frequently Asked Questions (undergraduate level)
- What undergraduate majors does Stevens Computer Science offer?
- I received AP or IB credit in high school. How does my credit apply toward graduation?
- Who is my advisor?
- What is a study plan?
- How do I complete my Study Plan correctly?
- What humanities courses must I take?
- What management courses must I take?
- [What science courses must I take?
- [What electives do I have in my program?
- Which courses may I take as technical electives?
- Which courses may I take as the software development elective?
- Which courses may I take as a science or mathematics elective?
- What is the PE (physical education) requirement?
- Can I take graduate courses?
- Can any graduate courses be used in place of a CS undergraduate course?
- Can I take both an undergraduate course and an equivalent graduate course?
- Can I take CS 501 or CS 570 for credit?
- Can I use my BS courses towards a graduate certificate?
- What if I am working on both a BS and an MS?
- What constitutes a concentration area?
- Must I have a concentration area?
- How do I know which CS courses will be offered which semesters?
- Can I take a WebCampus course?
- Which courses should I take for minors in the Computer Science Department?
- How do I get an account on CS machines?
- How can I find out more about research?
- How do I transfer credits?
What undergraduate majors does Stevens Computer Science offer?
The Computer Science Department offers two majors:
- Computer Science offers the flexibility for students to "drill down" to specific subject areas, such as graphics, computer games, networks, financial computing, and enterprise computing.
- Cybersecurity focuses on the technical and managerial aspects of securing the nation's IT infrastructure. In addition to a strong Computer Science background, it provides in-depth studies in cryptography, privacy and building secure systems.
Both programs share a strong technical "spine" and a two-semester senior project course that emphasizes client interaction and project management.
Since Fall 2013, the Information Systems major, which had been a 50-50 program between Computer Science and the School of Business, has been administered completely by the School of Business.
Back to Top
I received AP or IB credit in high school. What is the first programming course I should take?
For students entering Fall 2018 or later:
Computer Science students who receive a 4 or 5 on the advanced placement computer science exam receive credit for one technical elective. Cybersecurity students who earn the same score will receive credit for one computer science elective. Students who receive a score of 6 or 7 on the International Baccalaureate (IB) computer science exam, Standard Level, are treated similarly. Students who receive a score of 6 or 7 on the IB computer science exam, High Level, receive credit for one free elective course, are exempted from CS 115 and CS 284, and start in CS 385.
For students entering before Fall 2018:
Students who received a grade of 4 or 5 on the Computer Science AP examination will receive credit for a CS elective and will be encouraged to choose CS 181 (Introduction to Computer Science – Honors) for the first semester. Students who received a grade of 6 or 7 on the IB Computer Science exam (Standard Level) will either (1) receive credit for a CS elective and will be placed in CS 181, or (2) will receive credit for CS 115 and will be placed in CS 284. Students who received a grade of 6 or 7 on the IB Computer Science exam (High Level) will either (1) receive credit for a free elective and CS 181 and will be placed in CS 182 in the second semester, or (2) will receive credit for CS 115 and CS 284 and will be placed in CS 385.
Back to Top
Who is my advisor?
For advising-related questions, you should start by reaching out to Jennifer Lebron in the Undergraduate Advising Center (Gateway South Hall 454).
The department assigns advisors based on a student's undergraduate degree program.
Cybersecurity majors should contact Profs. Susanne Wetzel and Antonio Nicolosi.
Advisors for CS majors are Profs. Sandeep Bhatt*, Eduardo Bonelli*, Brian Borowski*, Dominic Duggan, Eric Koskinen, Philippos Mordohai, David Naumann, Jie Shen, Shusen Wang, Hui (Wendy) Wang*. Please look up your assigned advisor in Web for Students. Professors with an asterisk next to their name are part of the Undergraduate Advising Center.
Back to Top
What is a Study Plan?
A Study Plan is a form that contains the list of the courses you will take to fulfill the requirements for a Bachelor of Science in Computer Science, Cybersecurity or Information Systems.
Stevens requires you to fill out a Study Plan no later than your second semester in school. However, the CS department requires you to fill one out during your first semester to avoid problems when you register for the second semester. Your assigned advisor must approve and sign your Study Plan.
Without a signed and filed Study Plan, you might accidentally take a course that doesn't satisfy a requirement you think it meets. Without a signed and filed Study Plan you may take a course that is not valid toward your degree, which may delay your graduation. You cannot file an application for candidacy (graduation) without a Study Plan. Sophomores, juniors and seniors without a study plan will be prevented from registering. If you did file one, but there is no record of it, it is your responsibility to see to it that the problem is fixed, perhaps by re-filing a Study Plan.
Use the recommended course sequence from the Stevens Catalog to develop your study plan. You should do this in consultation with your Faculty Advisor, who must eventually sign off on your Study Plan.
You may go to the collection of Study Plan forms available on this site. You should follow the catalog of the semester and year you entered Stevens, independent of expected graduation date. For example if you entered Stevens in the Fall of 2008, you should follow the 2008-2009 academic catalog. If you switched to a major in the Computer Science department from another department, you may choose the catalog when you entered Stevens or the catalog in place when you switched into the department.
Therefore, different students may have different requirements. You can not necessarily trust the advice of your friends.
You may modify your Study Plan at will with the approval of your advisor who will make sure that your modified course plan satisfies degree requirements. If not, you risk taking courses which may not count towards your Computer Science degree.
You must specify on the Study Plan when you will take the required courses and you may show electives as TBD (To Be Determined). A better approach is to use the recommended Study Plan, fill in dates for all courses and deviate from it if necessary. This approach makes discussions with your advisor easier and avoids misunderstandings.
Back to Top
How do I complete my Study Plan correctly?
The department holds mandatory meetings each Fall semester to make sure that students understand how to fill out a Study Plan and to oversee that they do it correctly. You will receive an email reminding you of this meeting early in the Fall semester.
Here is a sample study plan. Some points of interest are:
Term Specification
Semesters should be numbered using the last 2 digits of the year followed by the Semester letter.
For example for the academic year 2018-2019 use:
18F for the fall semester of 2018
19W for the intercession of 2019
19S for the spring semester of 2019
19A for the first summer session of 2019
19B for the second summer session of 2019
This numbering scheme is recommended by the registrar's office and required on the Application for Candidacy Form according to the registrar's office. Listing the semester you plan to take each course helps you determine that you can graduate in your desired number of semesters.
If you have transfer (TR) or advanced placement (AP) credit for a course, list the semester and grade as 'TR' or 'AP’ respectively.
Back to Top
What management courses must I take?
You must take BT 353 Project Management.
Back to Top
What science courses must I take?
Choose one of the following rows.
Science I | Science II | Science Lab | |
---|---|---|---|
Physics | PEP 111 Mechanics | PEP 112 Electricity and Magnetism | PEP 221 |
Chemistry | CH 115 General Chemistry I | CH 116 General Chemistry II | CH 117 |
Chemistry & Biology | CH 115 General Chemistry I | BIO 281 Biology & Biotechnology | CH 117 |
Chemistry & Biology | CH 115 General Chemistry I | BIO 281 Biology & Biotechnology | BIO 282 |
Physics & Biology | PEP 111 Mechanics | BIO 281 Biology & Biotechnology | BIO 282 |
Physics & Biology | PEP 111 Mechanics | BIO 281 Biology & Biotechnology | PEP 221 |
Physics & Chemistry | PEP 111 Mechanics | CH 115 General Chemistry I | CH 117 |
Physics & Chemistry | PEP 111 Mechanics | CH 115 General Chemistry I | PEP 221 |
Back to Top
What electives do I have in my program?
You have 2 science/math electives, 3 technical electives, 2 free electives, and 2 software development electives. Science/math, technical, and software development electives are defined in answers to other questions in this FAQ. Free electives are not unconstrained. Courses to be taken as a "free" elective must be approved by your advisor on a signed study plan before you enroll. You can count any 3-credit course, except
Any course that is required for your study plan. Any course that is equivalent to another course counted towards the degree. For example, MA 117, MA 118, MA 119, MA 134, MA 502, MA 540, CPE 360, CPE 517, CPE 384, CPE 385, CPE 400, EE 250 may not be counted.
If you have doubt about whether a course can be counted as a free elective, consult your advisor.
Back to Top
Which courses may I take as technical electives?
You can count as a technical elective any 300-level or 400-level CS course that will not be used to satisfy the requirements of any degree.
In addition, you can take as a technical elective any 500-level CS course or SSW course. At most one SSW course may be counted as a technical elective.
You can count as a technical elective any 600-level or higher level CS course if your GPA is at least 3.0. (To take courses at this level you must submit a permission form signed by the instructor, your advisor, and the Dean of Graduate Studies.)
CS 370 Creative Problem Solving and Team Programming CS 503 Discrete Math for Cryptography CS 513 Knowledge Dis & Data Mining CS 516 Compiler Design CS 521 TCP/IP Networking CS 522 Mobile Systems and Applications CS 523 Programming the Internet of Things using iOS CS 526 Enterprise & Cloud Computing CS 541 Artificial Intelligence CS 545 Human-Computer Interaction CS 546 Web Programming CS 548 Enterprise Software Archi & Dgn CS 549 Distrib Sys & Cloud Computing CS 553 Intro Text Mining/Nat. Lang Proc CS 554 Web Programming II CS 557 Intro to Natural Language Proc CS 558 Computer Vision CS 559 Machine Learning: Fund & Apps CS 562 Database Management Systems II CS 573 Fundamentals of CyberSecurity CS 574 Object-Oriented Anal. & Dsng. CS 576 Systems Security CS 577 Reverse Engineering and Application Analysis CS 578 Privacy in a Networked World CS 581 Online Social Networks CS 582 Causal Inference CS 583 Deep Learning CS 584 Natural Language Processing CS 600 Adv. Algorithm Dsgn & Implement CS 615 Systems Administration CS 631 Adv Programming in a Unix Env CS 643 Formal Verif of Software CPE 358 Switching Theory and Logical Design
The following Graduate courses are equivalent to Undergraduate courses and CANNOT be taken at all.
CS 510 Programing Languages CS 496 CS 514 Computer Architecture CS 488 CS 520 Introduction to Operating Sys. CS 492 CS 550 Comp Organization & Prog CS 383 CS 561 Database Management Systems I CS 442 SSW 540 Fundamentals of Software Eng CS 347
CS 105 may count as a technical elective, but only under certain circumstances. CS 105 counts as a technical elective only if it is taken before any other beginning CS courses such as CS 115, CS 181, CS 284, etc. If CS 105 is taken at the same time as or after other introductory CS courses then it may not be counted as a technical elective nor as a free elective; in this case it will be an extra course above program requirements. (Likewise, CS 115 will be counted as an extra course if it is taken at the same time as or following CS 181.)
Back to Top
Which courses may I take as the software development elective?
Any of the following:
CS 516 Compiler Design CS 521 TCP/IP Networking CS 522 Mobile Systems and Applications CS 523 Programming the Internet of Things using iOS CS 526 Enterprise and Cloud Computing CS 537 Interactive Computer Graphics CS 541 Artificial Intelligence CS 546 Web Programming CS 548 Enterprise Software Architecture and Design CS 549 Distributed Systems and Cloud Computing CS 554 Web Programming II CS 555 Agile Methods for Software Development CS 558 Computer Vision
Back to Top
Which courses may I take as a science or mathematics elective?
Courses to be taken as a science or math elective must be approved by your advisor on a signed study plan before you enroll. You can count any 3-credit physics, chemistry, biology, or mathematics course, except
Any course that is required for your study plan. Any course that is equivalent to another course counted towards the degree. For example, MA 117, MA 118, MA 119, MA 134, MA 502, and MA 540 may not be counted.
EN 250, CE 240, and NANO 200 counts as science elective.
Back to Top
Can any graduate courses be used in place of a CS undergraduate course?
With your advisor's permission -- and only with permission -- certain substitutions may be permitted in order to solve a scheduling problem. Contact your advisor.
Back to Top
Can I take both an undergraduate course and an equivalent graduate course?
No. If you take both courses only one of them may count toward a degree. You cannot count one toward a BS and one toward an MS.
Back to Top
Can I take CS 501 or CS 570 for credit?
For many years undergraduates were prohibited from taking CS 501 for credit because it teaches Java at an elementary level. Undergraduates received adequate education in Java programming via required courses CS 115 and CS 284 (for honors students: CS 181).
However, starting in Fall 2012 Python was adopted as the language for CS 115, thereby reducing required undergraduate Java education to only CS 284 or CS 181. The department felt that some students might wish to improve their Java skills following CS 284 or CS 181 and they should be allowed the chance. Similar reasoning applied to C++ education: the language is taught in the required course CS 385 or 182, but CS 570 exists as an elementary C++ course and it might be beneficial to some. Since both CS 501 and CS 570 are elementary courses, students who started in Fall 2012 or later are allowed to take these courses as free electives, but NOT as technical electives.
Therefore, the department has adopted the following policy about CS 501 and CS 570:
Undergrads who started Fall 2012 or later: may take either or both of CS 501 and CS 570 as a free elective, NOT as a tech elective. MS students who have or are pursuing a Stevens BS in CS or CyS: may take neither CS 501 not CS 570 for credit in their MS program. MS students whose BS is not from Stevens may take either or both of CS 501 and CS 570 for credit in their MS program.
The policies regarding CS 501 and CS 570 are inconsistent for students enrolling before Fall 2012 for the historical reasons outlined above.
Back to Top
Can I use my BS courses towards a graduate certificate?
Yes, this is the only time where "double dipping" is allowed. You may use a course for both an undergraduate degree and graduate certificate.
You may not use a course for both an undergraduate degree and a Master's degree.
Back to Top
What if I am working on both a BS and an MS?
Some of the possible core courses for the MS are equivalent to courses required for the BS. You can't get credit for taking this material a second time, so you must take other core courses in your MS degree. Likewise, if you took some core MS courses as electives for your BS degree then you cannot apply these courses to your MS degree.
Back to Top
What constitutes a concentration area?
You may choose one of the Concentration Areas listed in the catalog. A Concentration Area is no more than a suggestion for a useful collection of CS electives. It does not show up on your transcript.
For many but not all concentration areas, there is a corresponding graduate certificate program with the same or almost the same content. You may follow a graduate certificate program if you have the necessary GPA and the prerequisites. A graduate certificate does appear on your transcript.
Back to Top
Must I have a concentration area?
No. You may choose to take either a concentration area, or ad hoc CS electives. A concentration area is just advice in your choice of CS electives. Your concentration area may simultaneously earn you a graduate certificate, subject to the requirements of the computer science department.
Back to Top
How do I know which CS courses will be offered which semesters?
The Registrar's website has the official list of offered courses. To help with planning, the department website lists when CS courses are usually offered: undergraduate courses and graduate courses. This information is merely a guide, not a promise to offer.
Back to Top
Can I take a WebCampus course?
Yes, but it is preferable that you take the regular course. WebCampus courses are geared towards distance learning and should only be taken if it is impossible for a student to be present on campus or a course is not being offered on campus during the desired semester. Though the quality of the WebCampus courses should be very high and the same material is covered as in a regular course, they cannot replace the face-to-face interaction with faculty.
If you are an international student, you may take at most one WebCampus course per semester. This limit is a US government rule.
Back to Top
Which courses should I take for minors in the Computer Science Department?
Departmental minors are listed here.
Back to Top
How do I get an account on CS machines?
The department provides a laboratory of Linux machines located in B-127 for assignment work. Certain courses require that you use Linux, in particular, the systems courses (CS 392 Systems Programming, CS 492 Operating Systems, CS 521 TCP/IP Networking, CS 549 Distributed and Cloud Computing). Other courses may require you to submit your assignments via submission scripts on the Linux machines. Your course instructor will arrange an account if needed.
Back to Top
How can I find out more about research?
Stevens Computer Science is home to world-class research in cybersecurity, visual computing (graphics/vision/visualization), programming languages, machine learning, and computational biology. There are concrete things you can do to get involved in this research:
Attend the computer science research seminars, where researchers come to describe their latest results. These talks are announced on cs-announce, and you can also see a list of the talks at the CS Seminar web page. Take a course with a faculty member whose research interests you, and talk to him/her.
Back to Top
How do I transfer credits?
The undergraduate students can transfer credits following this instruction.
Back to Top