Computer Science

Department: Information Technology and Computer Science

Core
Course Number Title Credits Prerequisites Dist. Skills
CS 110 Computer Science I
3
 
N
 
CS 220 Computer Organization
4
CS 110
N
 
CS 240 Computer Science II
3
CS 110 & MA 116 or MA 210
N
 
CS 255C C++ Programming
2
CS 110, sophomore standing
N
 
CS 300 Software Engineering
3
CS 240
N
 
CS 315 Algorithms and Analysis
4
CS 240, MA 160 & MA 116
N
CW
CS 370 Database Management Systems
3
CS 110
N
 
CS 480 Computer Science Seminar I
1
CS 220, CS 240 or IT 210
N
 
IT 110
or

IT III
Principles of Information
Technology

Principles of IT (Science)
3

3
 
S

N
 
IT 308 Innovations for Industry I
1
IT 210 or permission
S
 
IT 307 Project Management
3
IT 110
S
CW, CS
IT 341 Web Design
2
CS 110 or permission    
IT 342 Web Programming
2
CS 240    
MA 116 Discrete Structures
4
 
N
 
MA 130 Calculus I
4
 
N
QM
MA 220 Introduction to Probability & Statistics
4
MA 130
N
QS

Total 46 with 12 upper level credits Choose 18 credits (with at least 6 upper level) from the following list of electives courses to complete the CS POE:

Electives
Course
Number
Title Credits Prerequisites Dist. Skills
MA 210 Foundations of Mathematics
3
MA 160 or MA 116 or PL/MA 208  
CW
MA 233 Integrals, Series & Differential Equations
2
MA 130
N
 
CS 255 FORTRAN, COBOL, Perl, Python or Ruby Programming
2
CS 110 and sophomore standing
N
 
CS 305 Software Models
3
CS 240 or IT 240
N
 
CS 320 Operating Systems
4
CS 220 and CS 240
N
 
CS 330 Computer Graphics
3
CS 240 & MA 160
N
 
CS 340 Numerical Analysis
3
MA 160 & MA 130 & CS 110 or permission
N
QM
CS 362 Languages and Translation
4
CS 220 & CS 240
N
 
CS 485 Computer Science Research
3
CS 480
N
CW
PC 209 Electronics
4
 
N
 
IT 260

IT 325
Human Computer Interfaces
or
Network Design & Management
3

4
CS 110

CS 240
S

N
 

Total POE credits = 61
The department may approve up to 7 credits of substitute courses for the core and/or electives.

Rationale

A program in computer science requires a broad range of skills, some as general as problem analysis and problem solving, others more technical, such as programming and data management. The core of the computer science POE is designed to promote the development of these skills. In addition to emphasizing mathematical techniques appropriate to "number crunching" the mathematics courses, also encourage a systematic approach to problem solving and become essential tools for the analysis and evaluation of algorithms, data structures, languages, and systems. The lower division course reinforce problem solving while also developing algorithm design and data management skills and providing knowledge of the operation and organization of computer hardware and software. With this foundation, one can then pursue greater specialization, tailoring the program toward scientific applications, software design, systems analysis, or preparation for graduate studies. The requisite skills and relevant courses for these options vary somewhat and should be chosen in consultation with an appropriate advisor.

Example of Normal Progression
  Fall Spring
Freshman MA 116,Discrete Structures
CS 110, Computer Science I
CS 240, Computer Science II
MA 130, Calculus I
IT 111, Principles of Information Technology
Sophomore CS 220, Computer Organization
CS elective
MA 220, Introduction to Probability & Statistics
CS 300, Software Engineering
CS 255C, C++ Programming
Junior CS 315, Algorithms & Analysis (or senior year)
CS elective (e.g. CS 370 ,Database Management)
CS 362, Languages and Translation

IT 308, Innovations for Industry I
CS 320, Operating Systems
IT 307, Project Management
CS elective
CS 480, Seminar I

Senior CS 315, Algorithms & Analysis or elective
CS elective (e.g.CS 320, Operating Systems or
CS 370, Database Management) CS elective (e.g.
CS 485, research)
CS 305, Software Models
CS elective
CS 481, Seminar II

Example Late Progression

  Fall Spring
Sophomore MA 130, Calculus I
MA 116, Discrete Structures
CS 110, Computer Science I
CS 240, Computer Science II
IT 110, Principles of Information Technology
Ma 220, Introduction to Probability & Statistics
Junior CS 220, Computer Organization
CS 315, Algorithms & Analysis*
CS elective
IT 308, Innovations for Industry I
IT 307, Project Management
CS 300, SoftwareEngineering
CS/MA elective
Senior CS 480, Seminar I
CS elective, CS elective
CS 255C, C++ Programming
CS elective, CS elective

*Note: In the late progression, Computer Organization may serve as a corequisite rather than a prerequisite for upper level courses taken fall of the junior year.

updated 1.14

Computer Science Secondary Emphasis

More Information