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 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 488 Computer Architecture
- CS 492 Operating Systems
- CS 496 Principles of Programming Languages
- CS 506 Introduction to IT Security
- CS 511 Concurrent Programming
Management: BT 330 Social Psychology and Organizational Behavior
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 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 Honors Program take CS 181 and CS 182
instead of the CS 115 / CS 284 / CS 385 sequence.
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:
| |
Fall |
Spring |
Laboratory |
| 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 |
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 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 |
Technical Electives
The definition of a technical elective is provided in this
FAQ answer.
|