Paul T. Tymann, Chair
(585) 475-7908, ptt@cs.rit.edu
Program overview
The computer science program attracts students who are interested in both the mathematical theory and technical applications of computer science. Most employers look for students who not only are good computer scientists but also understand the tools and techniques of mathematics, science, and industry and are able to communicate effectively. The BS program is for the mathematically adept student who wishes to become a computing professional with knowledge of relevant applications areas. The program also is attractive to students transferring to RIT with an associate degree in computer science and course work in mathematics and science.
The demands of industry and government require college graduates to master both the fundamentals and the applied aspects of their profession. To meet this requirement, two applied educational experiences are woven into the program. Students are required to complete a cooperative educational experience as well as an extensive set of laboratory and small-group experiences, many as members of a team. These activities are typically held in a setting involving 15 to 20 students each, providing a venue for significant student-faculty interaction.
Computer science covers a wide spectrum of areas within the field of computing, ranging from the theoretical to the practical. A computer scientist can specialize in areas such as artificial intelligence, computer graphics, computer theory, networking, security, robotics, parallel computation, database, data mining, computer architecture, or systems software. Programming is necessary, but computer scientists also must be adaptable as well as adept at problem solving and analytical reasoning, able to understand design principles, and fluent in using computers.
An undergraduate computer science student takes a core of computer science courses that provide a solid foundation for advanced work. Building on this base, students can explore a variety of specializations in their third, fourth, and fifth years. In addition, students have the opportunity to develop a broad appreciation for computer applications and the effects of computers on society via computer science electives, liberal arts courses, and various electives, which can be used to complete minors, if so desired.
Accreditation
The BS degree in computer science is accredited by the Computing Accreditation Commission of ABET, 111 Market Place, Suite 1050, Baltimore, MD 21202-4012, (410) 347-7700.
Curriculum
Computer science, BS degree, typical course sequence (quarters)
| Course | Qtr. Cr. Hrs. | |
|---|---|---|
| First Year | ||
| 4003-241 | Problem-Based Introduction to Computer Science | 4 |
| 4003-242 | Data Structures for Problem Solving | 4 |
| 4003-243 | Object-Oriented Programming | 4 |
| 1016-281, 282, 283 | Calculus I, II, III | 12 |
| 1016-265, 366 | Discrete Mathematics I, II | 8 |
| Liberal Arts* | 16 | |
| 1720-051, 052 | First-Year Enrichment I, II | 2 |
| Wellness Education† | 0 | |
| Second Year | ||
| 4003-334 | Computer Science 4 | 4 |
| 4010-361 | Software Engineering | 4 |
| 4003-341 | Professional Communications | 4 |
| 4003-345 | Computer Organization | 4 |
| 1016-351 | Probability | 4 |
| Lab Science‡ | 12 | |
| Liberal Arts* | 12 | |
| Free Elective** | 4 | |
| Wellness Education† | 0 | |
| Third, Fourth, and Fifth Years | ||
| 4003-380 | Introduction to Computer Science Theory | 4 |
| 4003-440 | Operating Systems I | 4 |
| 4003-420 | Data Communications and Networks I | 4 |
| 4003-450 | Programming Language Concepts | 4 |
| Computer Science-Related Electives†† | 8 | |
| Computer Science Electives | 16 | |
| Related Electives§ | 12 | |
| Liberal Arts* | 24 | |
| Science Electives‡ | 8 | |
| Free Electives** | 8 | |
| Cooperative Education (four quarters required) | Co-op | |
| Total Quarter Credit Hours | 190 | |
* Please see Liberal Arts General Education Requirements for more information.
† Please see Wellness Education Requirement for more information.
‡ Students complete a lab science sequence by selecting University Physics (1017-311, 312, 313), General and Analytical Chemistry (1011-215, 216, 217, 205, 206, 227), or General Biology (1001-201, 202, 203, 205, 206, 207). 4003-241, 4003-242, 4003-243 replaced the previous sequence of 4003-231, 232, 233. (If a lab science sequence calls for more than 12 quarter credit hours, then science electives are reduced by the corresponding amount.)
§ Related electives may be chosen from any discipline other than computer science or software engineering.
** Any course open to computer science majors may be taken as a free elective subject to restrictions published in the Undergraduate Advising Handbook.
†† The computer science-related electives requirement states that at least two courses are related according to department definitions. The general areas from which related electives may be selected are systems programming, data communications and networks, parallel computing, digital systems design, computer science theory, data management, software engineering, computer graphics, and artificial intelligence. The computer science Undergraduate Advising Handbook has a complete list.
Computer science, BS degree, typical course sequence (semesters), effective fall 2013
| Course | Sem. Cr. Hrs. | |
|---|---|---|
| First Year | ||
| CSCI-141 | Computer Science I | 4 |
| MATH-181 | LAS Perspective 7A: Project-Based Calculus I | 4 |
| LAS Foundation 1: First-Year Seminar | 3 | |
| LAS Perspective 2, 3 ,4 | 9 | |
| CSCI-142 | Computer Science II | 4 |
| MATH-182 | LAS Perspective 7B: Project-Based Calculus II | 4 |
| MATH-190 | LAS Elective: Discrete Mathematics for Computing | 3 |
| ENGL-150 | LAS Foundation 2: Writing Seminar | 3 |
| Wellness Education | 0 | |
| Second Year | ||
| CSCI-243 | The Mechanics of Programming | 3 |
| Choose one of the following: | ||
| CSCI-262 | Introduction to Computer Science Theory | 3 |
| CSCI 263 | Honors Introduction to Computer Science Theory | |
| MATH-251 | LAS Elective: Probability and Statistics I | 3 |
| LAS Perspective 5, 6 | 7 | |
| CSCI-371 | Professional Communications (WI) | 3 |
| CSCI-250 | Concepts of Computer Systems | 3 |
| SWEN-261 | Introduction to Software Engineering | 3 |
| MATH-241 | LAS Elective: Linear Algebra | 3 |
| LAS Elective* | 4 | |
| Cooperative Education (summer) | Co-op | |
| Third Year | ||
| CSCI-251 | Concepts of Parallel and Distributed Systems | 3 |
| CSCI-320 | Principles of Data Management | 3 |
| CS Elective Course 1 | 3 | |
| LAS Elective* | 3 | |
| LAS Immersion 1 | 3 | |
| Cooperative Education (spring) | Co-op | |
| Fourth Year | ||
| CSCI-261 | Analysis of Algorithms | 3 |
| CS Elective Course 2 | 3 | |
| CSCI-344 | Programming Language Concepts | 3 |
| Free Elective 1, 2 | 6 | |
| LAS Perspective 1 | 3 | |
| CSCI-331 | Introduction to Intelligent Systems | 3 |
| CS Elective Course 3# | 3 | |
| LAS Elective* | 3 | |
| LAS Immersion 2 | 3 | |
| Fifth Year | ||
| Cooperative Education (fall) | Co-op | |
| CS Elective Course 4# | 3 | |
| LAS Immersion 3 | 3 | |
| LAS Elective | 3 | |
| Free Elective 3, 4 | 6 | |
| Total Semester Credit Hours | 126 | |
*Students must complete one of the following lab science sequences: (a) PHYS 211 and 212 (University Physics I and II), (b) CHMG 141/145 and 142/146 (General & Analytical Chemistry I/General & Analytical Chemistry I Lab and General & Analytical Chemistry II/General & Analytical Chemistry II Lab), or (c) BIOL 101/103 and 102/104 (General Biology I/General Biology I Lab and General Biology II/General Biology II Lab). Students are free to choose from approved science electives that either extend or complement their lab science selection.
# Both these courses must come from the same cluster.
Evening program
The Computer Science program can also be taken on a part-time basis. Degree requirements are identical to those taken by full-time students. Students are encouraged to work with their academic advisor in planning course selections.