| DANIEL DUCHAMP,
INTERIM DIRECTOR
FACULTY*
Professors
Stephen L. Bloom, Ph.D. (1968), Massachusetts Institute of
Technology
A. Satyanarayana, Ph.D. (1981), Jawaharlal Nehru Technological
University
Associate Professors
Adriana Compagnoni, Ph.D. (1995), Katholieke University,
Nijmegen
Dominic Duggan, Ph.D. (1990), University of Maryland, College Park
George Kamberov, Ph.D. (1990), University of Pennsylvania
Aaron David Klappholz, Ph.D. (1974), University of Pennsylvania
David A. Naumann, Ph.D. (1992), University of Texas at Austin
John Oliensis, Ph.D. (1981), University of Chicago
Assistant Professors
Elli Angelopoulou, Ph.D. (1997), Johns Hopkins University
Sven Dietrich, Doctor of Arts (1997), Adelphi University
H. Quynh Dinh, Ph.D. (2002), Georgia Institute of Technology
Antonio Nicolosi, PhD (2007), Stanford University
Hui Wang, Ph.D. (2007), University of British Columbia
Susanne Wetzel, Ph.D. (1998), Saarland University
Senior Teaching Professor
Ruth Schwartz, Ph.D. (1993), Temple University
Industry Research Professor
Larry Bernstein, M.S.E.E. (1962), New York University
Manu Malek, Ph.D. (1970), University of California Berkeley
Research Professor
Daniel Duchamp, Ph.D. (1988), Carnegie Mellon University
Instructor
Steve Gabbaro, M.S. (2002), EPITA; M.S. (2003), Stevens Institute of Technology
*The list indicates the highest earned degree, year awarded, and
institution where earned.
UNDERGRADUATE PROGRAMS
Stevens' undergraduate majors in Computer Science, Cybersecurity, Information Systems, and Service-Oriented Computing are specifically designed to train the high-end IT professionals who can take advantage of trends in the IT industry and gain entry into a challenging and rewarding career path in software development and systems analysis. It is widely recognized that the most important skills in software development and systems analysis combine a strong background in information technology, particularly creativity and problem-solving, with personal and business skills, such as client-facing, business case considerations, and project management. The four majors emphasize both a strong grounding in IT and the development of the business abilities required of a modern IT professional. Stevens is one of the few undergraduate computer science programs in the country to require a two-semester senior project course that emphasizes these skills.
The spine of the four majors is a two-year sequence of courses developing basic software engineering skills, including algorithmic problem-solving, design, coding, and testing. This is supplemented by a mathematical sequence including discrete mathematics, probability, and statistics. This sequence provides both rigor and the mathematical maturity that the modern IT professional is expected to be able to draw upon. Subsequent courses build on this spine to provide a background in advanced concepts relevant to the major. A two-semester sequence in science, including laboratories as required for accreditation of computer science programs, develops skills in formulating and testing hypotheses.
A senior-year two-semester capstone senior project course teaches the principles and theory of programming-in-the-large, including teamwork, problem solving, and agile software development methods in the context of two projects. The course is modeled on business software development practices, so that students experience a transition from academia to business. Students produce useful, well-engineered software products, applying software engineering techniques, ethical principles, and generally accepted software practices. Many projects are sponsored by companies or government agencies, such as the Federal Aviation Administration (FAA), Siemens, and Citicorp. Cybersecurity majors choose a project with an emphasis on computer systems security. Information systems majors choose a project with a specific information management emphasis.
Majors in the Computer Science department share a common freshman year, and there is a great deal of commonality in the sophomore year. This is designed to give students the maximum flexibility in determining what major they wish to pursue in the Computer Science department. All majors pursue a science sequence consisting of two science courses and a science laboratory, taken from the following list of sequences:
|
Science I |
Science II |
Science Lab |
Physics |
PEP 111 Mechanics |
PEP 112 E&M |
PEP 222 |
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 |
One of the Humanities electives must be HSS 371 Computers and Society.
Bachelor of Science in Computer Science
Besides its technical rigor and its development of important personal and business skills, the Stevens Computer Science undergraduate major is distinguished by its flexibility. In senior year, a student in Computer Science can choose from a large number of elective courses. Concentration areas are suggested groups of Computer Science courses for those that want to “drill down” on specific topics. Some example concentration areas are distributed systems, networks, graphics, design and implementation of games, and cybersecurity. Application areas are groups of courses that include courses outside Computer Science. Approved application areas include financial systems, computer engineering and embedded systems, wireless networks, and mathematics.
The software development elective (“SD elective”) in Term VI is taken from a list of courses that involve programming assignments, and that are not already required core courses:
AI/Vision/Graphics
- CS 437/537 Interactive Computer Graphics I
- CS 482/541 Artificial Intelligence
- CS 558 Computer Vision
SOC
- CS 546 Web Programming Systems
- CS 494/516 Compiler Design
- CS 521 TCP/IP Networks
- CS 522 Mobile and Pervasive Computing
- CS 526 Systems Programming for Enterprise Computing
- CS 549 Distributed Systems
Stevens' Computer Science Department is also the home to world-class research in areas such as computer security, computer graphics, vision and visualization, software engineering, and networks. The quality of this research is demonstrated by the publication and funding records of the faculty of the department. Stevens undergraduate students are encouraged to get involved with faculty in their research. Indeed, while graduate students come from all over the world to be involved with Stevens research, some Stevens undergraduates choose to stay at Stevens for their graduate work, pursuing Ph.D. research with the faculty they came to know during their undergraduate studies.
The course sequence for computer science is as follows:
Basic Study Plan - B.S. in Computer Science
|
|
Freshman Year |
|
|
|
|
Term I |
|
|
|
Hrs. Per Wk. |
|
|
|
Class |
Lab |
Sem. |
|
|
|
|
|
Cred. |
|
MA 115 |
Calculus
I |
3 |
0 |
3 |
|
CS 115** |
Intro. to
Computer Science |
3 |
2 |
4 |
|
|
Science I |
3 |
0 |
3 |
|
CS 146 |
Web Fundamentals |
3 |
0 |
3 |
|
PE 200 |
Physical
Education I |
0 |
2 |
1 |
|
|
|
|
|
|
|
TOTAL |
|
12 |
4 |
14 |
|
|
|
|
|
|
|
Term II |
|
|
|
Hrs. Per Wk. |
|
|
|
Class |
Lab |
Sem. |
|
|
|
|
|
Cred. |
|
MA 116 |
Calculus
II |
3 |
0 |
3 |
|
CS 284 |
Data
Structures |
3 |
1 |
4 |
|
MA 134
|
Discrete Mathematics |
3 |
0 |
3 |
|
|
Science II |
3 |
0 |
3 |
| |
Science Lab |
0 |
3 |
1 |
|
HUM |
Humanities |
3 |
0 |
3 |
|
PE 200 |
Physical
Education II |
0 |
2 |
1 |
|
|
|
|
|
|
|
TOTAL |
|
15 |
6 |
18 |
|
|
|
|
|
|
|
|
Sophomore Year |
|
|
|
|
Term III |
|
|
|
Hrs. Per Wk. |
|
|
|
Class |
Lab |
Sem. |
|
|
|
|
|
Cred. |
|
CS 383 |
Comp. Org. &
Prog. |
3 |
0 |
3 |
|
CS 385 |
Algorithms
|
3 |
1 |
4 |
|
CS 334 |
Automata and Computation |
3 |
0 |
3 |
|
MGT 111 |
Org. Behavior and Social Psychology |
3 |
0 |
3 |
|
HUM |
Humanities* |
3 |
0 |
3 |
|
PE 200 |
Physical
Education III |
0 |
2 |
1 |
|
|
|
|
|
|
TOTAL |
|
15 |
3 |
17 |
|
|
|
|
|
|
|
Term IV |
|
|
|
Hrs. Per Wk. |
|
|
|
Class |
Lab |
Sem. |
|
|
|
|
|
Cred. |
|
CS 392 |
Systems Programming |
3 |
0 |
3 |
|
CS 496 |
Principles or Programming Languages |
3 |
0 |
3 |
|
CS 347 |
Software Development Process |
3 |
0 |
3 |
|
MA 222 |
Probability &
Statistics |
3 |
0 |
3 |
|
HUM |
Humanities* |
3 |
0 |
3 |
|
PE 200 |
Physical
Education IV |
0 |
2 |
1 |
|
|
|
|
|
|
|
TOTAL |
|
15 |
2 |
16 |
|
|
|
|
|
|
|
|
Junior Year |
|
|
|
|
Term V |
|
|
|
Hrs. Per Wk. |
|
|
|
Class |
Lab |
Sem. |
|
|
|
|
|
Cred. |
|
CS 442 |
Database Management Systems |
3 |
0 |
3 |
|
CS 511 |
Concurrent Programming |
3 |
0 |
3 |
|
MA 331 |
Statistical Methods |
3 |
0 |
3 |
|
HUM |
Humanities* |
3 |
0 |
3 |
HUM |
Humanities* |
3 |
0 |
3 |
|
PE 200 |
Physical
Education V |
0 |
2 |
1 |
|
|
|
|
|
|
|
|
TOTAL |
15 |
2 |
16 |
|
|
|
|
|
|
|
Term VI |
|
|
|
Hrs. Per Wk. |
|
|
|
Class |
Lab |
Sem. |
|
|
|
|
|
Cred. |
|
CS 492 |
Operating Systems |
3 |
0 |
3 |
|
CS 488 |
Computer Architecture |
3 |
0 |
3 |
|
|
Science/Math Elective |
3 |
0 |
3 |
|
HUM |
Humanities |
3 |
0 |
3 |
CS |
SD Elective |
3 |
0 |
3 |
|
PE 200 |
Physical
Education VI |
0 |
2 |
1 |
|
|
|
|
|
|
|
TOTAL |
|
15 |
2 |
16 |
|
|
|
|
|
|
|
|
Senior Year |
|
|
|
|
Term VII |
|
|
|
Hrs. Per Wk. |
|
|
|
Class |
Lab |
Sem. |
|
|
|
|
|
Cred. |
|
CS 551 |
Software Eng.
& Pract. I |
3 |
0 |
3 |
CS 573 |
Fundamentals of Cybersecurity |
3 |
0 |
3 |
|
Science/Math. Elective |
3 |
0 |
3 |
|
Tech. Elective** |
3 |
0 |
3 |
HUM |
Humanities* |
3 |
0 |
3 |
|
|
|
|
|
|
|
TOTAL |
|
15 |
0 |
15 |
|
|
|
|
|
|
|
Term VIII |
|
|
|
Hrs. Per Wk. |
|
|
|
Class |
Lab |
Sem. |
|
|
|
|
|
Cred. |
|
CS 552 |
Software Eng.
& Pract. II |
3 |
0 |
3 |
|
Tech. Elective** |
3 |
0 |
3 |
|
Free Elective** |
3 |
0 |
3 |
|
|
Free Elective* |
3 |
0 |
3 |
|
HUM |
Humanities |
3 |
0 |
3 |
|
|
|
|
|
|
|
TOTAL |
|
15 |
0 |
15 |
Total Credits: 117-19-127
* Humanities requirements: two Group A courses at the 100 level, two Group B courses at the 100 level, and four courses at the 300/400 level that must include HSS 371.
** If the technical electives and the free electives do not constitute a department approved application area, then the two technical electives must be Computer Science courses (identified by the CS prefix).
Curriculum Summary
The program requires the following courses:
Science
Science I
Science II
Science Lab
Mathematics and Statistics
MA 115 Calculus I
MA 116 Calculus II
MA 134 Discrete Mathematics
MA 222 Probability and Statistics
MA 331 Statistical Methods
Core Computer Science
CS 115 Introduction to Computer Science
CS 146 Web Fundamentals
CS 284 Data Structures
CS 334 Automata and Computation
CS 347 Software Development Process
CS 383 Computer Organization and Programming
CS 385 Algorithms
CS 392 Systems Programming
CS 488 Computer Architecture
CS 492 Operating Systems
CS 496 Programming Languages
CS 511 Concurrent Programming
CS 551 Software Engineering and Practice I
CS 552 Software Engineering and Practice II
CS 573 Fundamentals of Cybersecurity
Students who take the Honors sequence CS 181/182 are not required to take CS 115/284/385.
Management
MGT 111 Organizational Behavior and Social Psychology
Humanities
Students must take at least eight humanities courses, following the undergraduate core requirements. Humanities courses must include HSS 371 Computers and Society.
Physical Education
Students must take at least six semesters of physical education.
Technical and Free Electives
The basic study plan is for students with some background in computer science from high school (at least a year of programming in an imperative language such as Java or C). These students take CS 115 in their first term. This basic study plan has two technical electives and two free electives.
Students with little or no background in computer science should take CS 105 in their first term and CS 115 in their second term. Students taking this study plan have one technical elective and two free electives.
Students taking the accelerated introductory sequence CS 181/182 have two technical electives and three free electives.
back to top
Application Areas
The Application Areas defined below allow students to devote up to four of their electives (technical and free electives) to disciplines outside computer science. Depending upon the Application Area, the science/math elective and/or the management elective may be chosen to support the course sequence.
You must receive prior departmental approval in order to substitute an Application Area for computer science electives. The Computer Science department works with other departments to develop Application Area sequences in disciplines that are related to computer science. Below are Application Areas that are already approved.
Computer Engineering and Embedded Systems
CPE 358 Switching Theory and Logical Design
CPE 390 Microprocessor Systems
CPE 450 Embedded Systems for Real-Time Applications
or CPE 555 Real-Time and Embedded Systems
CPE 487 Digital System Design
Wireless Networks
CS 521 TCP/IP Networks
NIS 583 Wireless Communications
NIS 584 Wireless Systems Security
NIS 586 Wireless Networking: Architectures, Protocols, and Standards
Financial
Systems
Intended for students who contemplate a career in the financial sector. Those who select this Application Area option should take MGT 243 (Macroeconomics) as their required management elective.
MGT 244 Microeconomics
BT 115 Financial Accounting
BT 215 Cost Accounting
BT 321 Finance
Mathematics
This Application Area focuses on topics in mathematics that utilize computing, or mathematics that may be of use to a computer scientist. These foundation courses are required:
MA 221 Differential Equations
MA 232 Linear Algebra
Then choose any two of these courses:
MA 331 Statistics
MA 335 Number Theory
MA 336 Modern Algebra
MA 346 Numerical Methods
MA 460 Chaotic Dynamics
Computational Chemistry & Biology
CH 116/118 Chemistry II/Chemistry Lab II
CH 321 Thermodynamics
CH 381 Cell Biology
CH 664 Computer Methods in Chemistry
In addition, students should take the Chemistry/Biology Lab option (in particular, CH 115/17 Chemistry I and Lab). It is also suggested, but not required, that CH 484 (Introduction to Molecular Genetics) be taken as the free elective.
back to top
Concentration Areas Within
Computer Science
Below are the suggested course sequences for students who are interested in specific areas within computer science. These sequences are optional; indeed, each student may choose their electives (aside from the science/math elective and the management elective) according to personal interests. A concentration does not appear on the diploma. Students should understand that concentrated electives are merely suggestions. A student may choose to take all, some, or none of the courses in a concentration.
Information Systems
CS 519 Distributed Commerce
CS 540 Fundamentals of Quantitative Software Engineering
CS 546 Web Programming
|