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.”
The program requires the following courses.
- 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
- CS 115 Introduction to Computer Science
- CS 146 Introduction to Web Programming and Project Development
- CS 284 Data Structures
- 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 492 Operating Systems
- CS 496 Principles of Programming Languages
- CS 506 Introduction to IT Security
- 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 330 Social Psychology and Organizational Behavior
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 105 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.
- 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).
- Students with little or no background in computer science should take CS 105 (Introduction to Scientific Computing) in their first term then take CS 115 in the second semester.
- 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:
|Physics||PEP 111 Mechanics||PEP 112 E&M||PEP 221|
|Chemistry||CH 115 Gen Chem I||CH 116 Gen Chem II||CH 117|
|Chem & Bio||CH 115 Gen Chem I||CH 281 Bio & Biotech||CH 117|
|Chem & Bio||CH 115 Gen Chem I||CH 281 Bio & Biotech||CH 282|
|Physics & Bio||PEP 111 Mechanics||CH 281 Bio & Biotech||CH 282|
Eight humanities courses are required. The requirements and constraints are explainedhere.
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
| || |
|Systems||CS 516 Compiler Design |
| ||CS 521 TCP/IP Networking |
| ||CS 522 Mobile Systems and Applications |
| ||CS 526 Enterprise and Cloud Computing |
The definition of a technical elective is provided in this FAQ answer.