Stevens Institute of Technology 2007-2008 Catalog
 
   Table of Contents
   Academic
Calendar
   Introduction
   Undergraduate
Programs
   Graduate
Programs
  
   School of
Technology
Management
   School of
Systems and
Enterprises
   College of
Arts and Letters
   Interdisciplinary
Programs
   ESL and
Special Courses
   Physical Education,
Athletics, and
Recreation
   Research
Environment
   Student
Services
   Financial Aid and Scholarships
   Student Life
   Stevens Campus
   Policies
   Administrative
Directory
   Faculty
Directory
   Travel
Directions
   Campus Map

The Charles V. Schaefer, Jr. School of Engineering and Science

  

Department of Computer Science
 

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