Undergraduate

From Computer Science Department Wiki
Jump to navigation Jump to search

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)

  1. What undergraduate majors does Stevens Computer Science offer?
  2. I received AP or IB credit in high school. How does my credit apply toward graduation?
  3. Who is my advisor?
  4. What is a study plan?
  5. How do I complete my Study Plan correctly?
  6. What humanities courses must I take?
  7. What management courses must I take?
  8. [What science courses must I take?
  9. [What electives do I have in my program?
  10. Which courses may I take as technical electives?
  11. Which courses may I take as the software development elective?
  12. Which courses may I take as a science or mathematics elective?
  13. What is the PE (physical education) requirement?
  14. Can I take graduate courses?
  15. Can any graduate courses be used in place of a CS undergraduate course?
  16. Can I take both an undergraduate course and an equivalent graduate course?
  17. Can I take CS 501 or CS 570 for credit?
  18. Can I use my BS courses towards a graduate certificate?
  19. What if I am working on both a BS and an MS?
  20. What constitutes a concentration area?
  21. Must I have a concentration area?
  22. How do I know which CS courses will be offered which semesters?
  23. Can I take a WebCampus course?
  24. Which courses should I take for minors in the Computer Science Department?
  25. How do I get an account on CS machines?
  26. How can I find out more about research?
  27. 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