Background Image

B.S. in Computer Science

Program Chair: Christopher A. Lynch

Computer technology plays a critical role in virtually every business and institution. It is an essential tool in every branch of science and engineering. Many forms of art and entertainment are centered on computer technology. Computer scientists are professionals who understand the technology and have the skills to develop and apply it.

Many computer scientists work as software developers who design, implement, test and maintain computer software. They can also work as information technology specialists who deploy and manage information technology, including computer systems and networks, database systems and Web technology. Some are researchers who invent new technology or study its theoretical foundations. Others become lawyers, journalists and some go on to manage their own businesses.

The Computer Science major is organized into four options. The General option is the most flexible. It allows students to design an individualized program of study. The other three options prepare students for the specific career paths mentioned above. They are the Software Design and Development, Information Technology, and Research options.

The requirements of the General option are shown below. The other options are described in detail in the CS student handbook, which is available in the department office (Science Center 357) and on the Department of Computer Science web pages. The first five semesters of the sample schedule shown below are common to all options of the CS major.

In addition to the courses listed below, students must also meet the communication and professional experience requirements of the Common Experience.  See the CS student handbook for guidance.

The Computer Science major is designed so that by the time they graduate, students should be able to:

  • demonstrate a solid understanding of the core concepts of computer science and some advanced topics in computer science;
  • research clearly and analytically about software and computing systems;
  • work effectively with a variety of programming languages, software tools and computing environments;
  • solve substantial real-world problems;
  • read computer science literature;
  • communicate effectively orally and in writing;
  • work effectively in teams; and
  • use computer science literature and other similar resources for independent study or to research the solution to a computing problem.

REQUIREMENTS
Areas of Study Credit Hours
Computer Science 43
Mathematics 15
Science 12
Common Experience 19
Free Electives 31
Total 120


Computer Science Curriculum
line
FIRST YEAR
First Semester   Second Semester
Course Title Cr. Hrs.   Course Title Cr. Hrs.
CS141 Intro to Computer
  CS142 Intro to Computer
  Science I
4
    Science II
3
MA131 Calculus I
3
  MA132 Calculus II
3
  Science Sequence
4
    Science Sequence
4
UNIV190 Clarkson Seminar
3
    KA Elective
3
FY100 First-Year Seminar
1
    Free Elective
3
   
line
     
line
   
15
     
16
line
SOPHOMORE YEAR
First Semester   Second Semester
Course Title Cr. Hrs.   Course Title Cr. Hrs.
CS242 Advanced Programming
  CS241 Computer Organization
3
  Concepts
3
  CS344 Algorithms and Data
MA211 Foundations
3
    Structures
3
  Science Elective
3
  MA339 Applied Linear Algebra
3
  KA/UC
3
    Science Elective
3
  Free Elective
3
    KA/UC
3
   
line
     
line
   
15
     
15
line
JUNIOR YEAR
First Semester   Second Semester
Course Title Cr. Hrs.   Course Title Cr. Hrs.
CS341 Programming
  CS444 Operating Systems
3
  Languages
3
    CS Elective
3
CS345 Automata Theory
3
  STAT383 Applied Statistics
3
CS350 Software Design and       KA/UC
3
  Development
3
    Free Elective
3
  KA/UC
3
     
line
  Free Elective
3
     
15
   
line
       
   
15
       
line
SENIOR YEAR
First Semester   Second Semester
Course Title Cr. Hrs.   Course Title Cr. Hrs.
  CS Electives
6
    CS Electives
6
  Free Electives
9
    Free Electives
8
CS499 Professional Experience
0
     
   
line
     
line
   
15
     
14

Computer Science Electives
CS443 Parallel Programming   CS462

Software Development for the Web

CS445 Compiler Construction   CS463 Wireless Networks
CS446 Computer Graphics   CS464 Computer Games Development
and Geometry   CS497 Undergraduate Research
CS447 Computer Algorithms   CS642 Computational Complexity
CS449 Computational Learning   CS643 Parallel Computation
CS451 Artificial Intelligence   CS644 Current Issues in Operating
CS452 Computer Graphics     Systems Research
CS453 Mainframe Computing   CS652 Computer Vision
CS455 Computer Networks   CS653 Automated Reasoning
CS456 Cryptography   CS654 Current Issues in Computer
CS457 Computer and Network     Networks Research
Security   CS656 Advanced Topics in
CS458 Formal Methods for Program     Cryptography
Verification   CS657 Advanced Topics in Computer
CS459 Human-Computer Interaction     Security
CS460 Database Systems   CS658 Current Issues in Program
CS461 Virtual Environments: Principles     Analysis and Verification
and Applications     Research
  CS659 Systems Biology