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, computer 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;
- reason 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;
- 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 | CS241 | Computer | ||
| Programming | Organization |
3
|
|||
| Concepts |
3
|
CS344 | Algorithms and Data | ||
| MA211 | Foundations |
3
|
Structures |
3
|
|
| Science Elective |
3
|
MA339 | Applied Linear | ||
| KA/UNIV |
3
|
Algebra |
3
|
||
| Free Elective |
3
|
Science Elective |
3
|
||
|
|
KA/UNIV |
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/UNIV |
3
|
||
| Development |
3
|
Free Elective |
3
|
||
| KA/UNIV |
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
|
14
|
|||
|
|
|||||
|
15
|
|||||
| Computer Science Electives | ||||
| CS443 | CSParallel Programming | CS462 | Software Development | |
| CS445 | Compiler Construction | for the Web | ||
| CS446 | Computer Graphics | CS463 | Wireless Networks | |
| and Geometry | CS464 | Computer Games Development | ||
| CS447 | Computer Algorithms | CS497 | Undergraduate Research | |
| CS449 | Computational Learning | CS647 | Advanced Topics in Algorithms | |
| CS451 | Artificial Intelligence | CS643 | Parallel Computation | |
| CS452 | Computer Graphics | CS644 | Current Issues in Operating | |
| CS453 | Data Center Architecture | Systems Research | ||
| CS455 | Computer Networks | CS652 | Computer Vision | |
| CS456 | Cryptography | CS653 | Automated Reasoning | |
| CS457 | Computer and Network | CS654 | Current Issues in Computer | |
| Security | Networks Research | |||
| CS458 | Formal Methods for Program | CS656 | Advanced Topics in | |
| Verification | Cryptography | |||
| CS459 | Human-Computer Interaction | CS657 | Advanced Topics in Computer | |
| CS460 | Database Systems | Security | ||
| CS461 | Virtual Environments: Principles | CS658 | Current Issues in Program | |
| and Applications | Analysis and Verification | |||
| CS442 | Computational Complexity | Research | ||
| CS659 | Systems Biology | |||








