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 | ||||||
| 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
|
||
|
|
|
|||||
|
15
|
16
|
|||||
| 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
|
|||
|
|
|
|||||
|
15
|
15
|
|||||
| 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
|
|
||||
| Free Elective |
3
|
15
|
||||
|
|
||||||
|
15
|
||||||
| 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
|
||||
|
|
|
|||||
|
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 | |||








