Site-wide links

Computer Science BS

Paul T. Tymann, Chair
(585) 475-7908, ptt@cs.rit.edu

http://www.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.