B.S. in Computer Science (undergrad/bs_cs)

Computer Science

The Computer Science major is an ABET-accredited program that provides students rigorous grounding in the fundamental principles and technologies for the construction of complex software systems. The program also covers hardware principles but the emphasis is on software, the major technology of our era. The computer science major is distinguished by its depth, flexibility, and practicality. Studies begin immediately, with four computer science courses in the freshman year alone. Electives begin in the junior year, and comprise most of the senior year. Concentration areas are suggested groups of electives that students may choose to “drill down” into specific subject areas, such as graphics, computer games, distributed systems, and more. The program emphasizes a practical approach. Students work in teams to solve problems collaboratively beginning in the first semester. During the senior year capstone course, student teams work with clients drawn from industry, government, and non-profit sectors to build a system that meets the client’s real-world need. Students work with the client to translate the client’s stated need into technical specifications then the students build, test, and deliver the system into the client’s setting.

Stevens encourages and supports the involvement of undergraduate students in faculty-mentored research. Engaging in research equips students with the exceptional problem solving and critical thinking skills necessary for advanced studies. This deep engagement with faculty and research leads in many cases to co-authorship and presentation of papers, patent applications, or peer-reviewed journal articles.

Here are some quotes from a recent survey of computer science alumni:

  • “Stevens taught me how to learn and teach myself new things. It is invaluable.”
  • “Even with only three years experience, I can contribute to teams filled with senior people.”
  • “I am the strongest of all of my coworkers in the fundamentals of computer science, including algorithms, data structures, and lots of other theory-related things. On the whole, I feel like my education has helped to set me apart from my coworkers for personal praise and admiration.”
Program Requirements

The program requires the following courses.

Mathematics:

  • MA 121 Differential Calculus
  • MA 122 Integral Calculus
  • MA 123 Series, Vectors, Functions, and Surfaces
  • MA 124 Calculus for Functions of Two Variables
  • CS 135 Discrete Structures
  • MA 222 Probability and Statistics
  • MA 331 Intermediate Statistics
  • CS 334 Automata and Computation

Computer Science:

  • CS 115 Introduction to Computer Science
  • CS 146 Introduction to Web Programming and Project Development
  • CS 284 Data Structures
  • CS 306 Introduction to IT Security
  • CS 347 Software Development Process
  • CS 383 Computer Organization and Programming
  • CS 385 Algorithms
  • CS 392 Systems Programming
  • CS 423 Senior Design I
  • CS 424 Senior Design II
  • CS 442 Database Management Systems
  • CS 443 Database Practicum
  • CS 485 Societal Impact of Information Technologies
  • CS 492 Operating Systems
  • CS 496 Principles of Programming Languages
  • CS 511 Concurrent Programming
  • CS 522 Mobile Systems and Applications or CS 546 Web Programming or CS 548 Enterprise Software Architecture and Design

Management: BT 353 Project Management

Electives:

Electives fall into four categories: science/math, software development, technical, and free. Students must take at least two science/math electives and one software development elective. The number of required technical and free electives is determined by how the student starts his/her program. Students who start with CS 115 must take two technical electives and two free electives. Students who start with CS 110 must take one technical elective and two free electives. Students who start with CS 181 must take two technical electives and three free electives.

In addition, students must satisfy requirements for freshman science, humanities, and physical education.


Study Plan Details

Freshmen enter the program at different points depending on their background in computing. Students who start at an earlier point catch up to more advanced students in the junior year, when electives start.

  1. Students with some background in computer science from high school (at least a year of programming in an imperative language such as Java) should start with CS 115 (Introduction to Computer Science).
  2. Students with little or no background in computer science should take CS 110 (Creative Problem Solving with Computing) in the first semester then take CS 115 in the second semester.
  3. Students in the Stevens Scholars or CS Honors Thesis Programs, or who have a high score on the AP or IB exam take CS 181 and CS 182 instead of the CS 115 / CS 284 / CS 385 sequence.  The required high score is 4 or 5 on the AP exam, 6 or 7 on the IB exam.

The catch-up effect can be seen by comparing the various course sequences on the study plan page.

Freshman Science Sequence

Freshmen can choose among 5 different science sequences:

 FallSpringLaboratory
PhysicsPEP 111 MechanicsPEP 112 Electricity & MagnetismPEP 221
ChemistryCH 115 General Chemistry ICH 116 General Chemistry IICH 117
Chem & BioCH 115 General Chemistry ICH 281 Biology & BiotechnologyCH 117
Chem & BioCH 115 General Chemistry ICH 281 Biology & BiotechnologyCH 282
Physics & BioPEP 111 MechanicsCH 281 Biology & BiotechnologyCH 282
Humanities Courses

Eight humanities courses are required. The requirements and constraints are explained here.

Physical Education Courses

All students must complete a minimum of four Physical Education (PE) courses. All PE courses must be completed by the end of the sixth semester. Participation in varsity sports may be used to satisfy up to three of the four courses. Participation in supervised, competitive club sports may be used to satisfy up to two courses with the approval of the PE Coordinator.

Software Development Elective

The software development elective (“SD elective”) is chosen from a list of courses that involve substantial programming assignments: 

AI/Vision/Graphics  CS 537 Interactive Computer Graphics
 CS 541 Artificial Intelligence 
 CS 558 Computer Vision 
  
Service Oriented Computing CS 546 Web Programming  
 

CS 548 Enterprise Software Architecture and Design

CS 549 Distributed and Cloud Computing  

  
SystemsCS 516 Compiler Design  
 CS 521 TCP/IP Networking  
 CS 522 Mobile Systems and Applications  
 CS 526 Enterprise and Cloud Computing 

Technical Electives

The definition of a technical elective is provided in this FAQ answer.