Curriculum in Computer Science
For the Degree of Bachelor of Science in Computer Science
The computer science curriculum provides a broad and deep knowledge of the theory, design, and application of digital computers and information processing techniques. The first two years are spent on basic work in mathematics, physics, and an introduction to the fundamental areas of computer science: computing, programming, the organization of digital machines, numerical analysis, and theory of computation. The third year completes the work in basic computer science and requires electives to broaden the background of the student. During the fourth year, the student is encouraged to deepen his or her understanding of topics of particular interest and ability. In addition, each student is required to complete either a senior thesis or a senior project.
Overview of Curricular Requirements
The curriculum requires 128 hours for graduation and is organized as shown below.
A technical grade point average requirement for graduation applies to students in this curriculum. This rule is summarized at the College of Engineering's undergraduate advising Web site.
Orientation and Professional Development
These courses introduce the opportunities and resources your college, department, and curriculum can offer you as you work to achieve your career goals. They also provide the skills to work effectively and successfully in the engineering profession.Hours | Requirements |
---|---|
(1) | CS 100—Freshman Orientation in CS1,2 |
2 | CS 210—Ethical & Prof'l Issues in CS |
0 | ENG 100 —Engineering Lecture2 |
2 | Total |
2. External transfer students take ENG 300—Engineering Transfer Lecture instead.
Foundational Mathematics and Science
These courses stress the basic mathematical and scientific principles upon which the engineering discipline is based.Hours | Requirements |
---|---|
3 | CHEM 102—General Chemistry I |
1 | CHEM 103—General Chemistry Lab I |
4 | MATH 221—Calculus I |
3 | MATH 231—Calculus II |
4 | MATH 241—Calculus III |
3 | MATH 415—Linear Algebra |
4 | PHYS 211—Univ Physics, Mechanics |
4 | PHYS 212—Univ Physics, Elec & Mag |
2 | PHYS 213—Univ Physics, Thermal Physics or PHYS 214—Univ Physics, Quantum Phys |
28 | Total |
Computer Science Technical Core
These courses stress fundamental concepts and basic laboratory techniques that comprise the common intellectual understanding of computer science.Hours | Requirements |
---|---|
4 | CS 125—Intro to Computer Science |
3 | CS 173—Discrete Structures |
4 | CS 225—Data Structure & Softw Prin |
3 | CS 231—Computer Architecture I |
3 | CS 232—Computer Architecture II |
3 | CS 241—Systems Programming |
3 | CS 242—Programming Studio |
3 | CS 273—Intro to Theory of Computation |
3 | MATH 461—Probability Theory or STAT 400—Statistics and Probability I1 |
29 | Total |
Technical Track Option Electives
These courses stress the rigorous analysis and design principles practiced in several major subdisciplines of computer science. Students must choose to specialize in one of the following technical tracks:
In the Computer Science track, a specialization must be chosen: Systems, Databases, Graphics, Languages, or Artificial Intelligence. In the Computational Science and Engineering track, a scientific specialization must be selected from a departmentally approved list. Since specializations are subject to change, please consult the department Web site for the most current information.
Hours | Requirements |
---|---|
24-27 | Technical track electives to be chosen from departmentally approved lists for the Technical Track Option choices presented above. |
Social Sciences and Humanities
The social sciences and humanities courses, as approved by the College of Engineering, ensure that students have exposure in breadth and depth to areas of intellectual activity that are essential to the general education of any college graduate.Hours | Requirements |
---|---|
18 | Electives in social sciences and humanities approved by the College of Engineering and satisfying the campus general education requirements for social sciences and humanities, including cultural studies western and non-western. |
Composition
These courses teach fundamentals of expository writing.Hours | Requirements |
---|---|
4 | RHET 105—Principles of Composition |
Advanced Composition. May be satisfied by completing either the sequence CS 427 and CS 429 or the sequence CS 492 and CS 493 in the Computer Science CS Technical Track; or by completing a course with the Advanced Composition designation in either the social sciences and humanities or the free elective categories.
|
|
4 | Total |
Free Electives
These unrestricted electives give the student the opportunity to explore any intellectual area of unique interest. This freedom plays a critical role in helping students to define research specialties or to complete minors.Hours | Requirements |
---|---|
20-23 | Free electives. Additional unrestricted course work so that there are at least 128 credit hours earned toward the degree. (20 if a 27 credit-hour Technical Track is chosen; 23 if a 24 credit-hour Technical Track is chosen.) |
Software Engineering Certificate
For students interested in a career in software engineering, this certificate program will provide the depth and breadth necessary for satisfying possible future software engineering accreditation requirements. It is open to all students in the computer science curriculum. To successfully earn this certificate and designation as a concentration on the transcript, the following courses must be taken with an overall B average:Hours | Requirements |
---|---|
3 | CS 411—Database Systems |
3 | CS 421*—Programming Lang and Compilers |
3 | CS 423*—Operating Systems Design |
3 | CS 425—Distributed Systems |
3 | CS 427*—Softwre Engineering I |
3 | CS 428*—Software Engineering II or CS 429*—Software Engineering II, ACP |
3 | CS 431*—Embedded Sys Arch and Software or CS 433*—Computer System Organization |
Three additional 400-level CS courses from a departmentally approved list |
Suggested Sequence
The schedule that follows is illustrative, showing the typical sequence in which courses would be taken by a student with no college course credit already earned and who intends to graduate in four years. Each individual’s case may vary, but the position of required named courses is generally indicative of the order in which they should be taken.First year
Hours | First Semester |
---|---|
3 | CHEM 102General Chemistry I |
1 | CHEM 103General Chemistry Lab I |
(1) | CS 100Freshman Orientation in CS1 |
3 | CS 173Discrete Structures2 |
0 | ENG 100Engineering Lecture |
4 | MATH 221Calculus I3 |
4-3 | RHET 105Principles of Composition4
or Elective in social sciences or humanities5 |
15-14 | Total |
Hours | Second Semester |
---|---|
4 | CS 125Intro to Computer Science2 |
3 | MATH 231Calculus II |
4 | PHYS 211Univ Physics, Mechanics |
3-4 | Elective in social sciences or humanities5 or RHET 105Principles of Composition4 |
3 | Elective in social sciences or humanities5 |
17-18 | Total |
Second year
Hours | First Semester |
---|---|
4 | CS 225Data Structure & Softw Prin |
3 | CS 231Computer Architecture I |
4 | MATH 241Calculus III |
4 | PHYS 212Univ Physics, Elec & Mag |
3 | Elective in social sciences or humanities5 |
18 | Total |
Hours | Second Semester |
---|---|
3 | CS 232Computer Architecture II |
3 | CS 241Systems Programming |
3 | MATH 415Linear Algebra |
2 | PHYS 213Univ Physics, Thermal
Physics or PHYS 214Univ Physics, Quantum Physics |
6 | Electives in social sciences or humanities5 |
17 | Total |
Third year
Hours | First Semester |
---|---|
2 | CS 210Ethical & Prof'l Issues in CS |
3 | CS 242Programming Studio |
3 | CS 273 Intro to Theory of Computation |
3 | Elective in social sciences or humanities5 |
4 | Free elective |
15 | Total |
Hours | Second Semester |
---|---|
3 | MATH 461Probability Theory I |
9 | Technical track electives6 |
4 | Free elective |
16 | Total |
Fourth year
Hours | First Semester |
---|---|
9 | Technical track electives6 |
6 | Free electives |
15 | Total |
Hours | Second Semester |
---|---|
6 | Technical track electives6 |
3 | Technical track elective6 or free elective |
6 | Free electives |
15 | Total |
1. This optional course is highly recommended for freshmen, who may use it to help meet free elective requirements.
2. CS 125 and CS 173 should be completed during the first year but preferably not in the same semester. Students with programming experience may take CS 125 first. Students with no programming experience should take CS 173 first.
3. MATH 220—Calculus may be substituted, with four of the five credit hours applying toward the degree. MATH 220 is appropriate for students with no background in calculus.
4. RHET 105 should be taken in the first or second semester of the first year as authorized. The alternative is a social sciences or humanities elective.
5. Each student must satisfy the 18-hour social sciences and humanities requirements of the College of Engineering and the campus general education requirements for social sciences and humanities.
6. To be chosen from departmentally approved lists for the Technical Track Option choices.