COMPUTER SCIENCE &
COMPUTER ENGINEERING

Computer Science Major

Program Description | Recommended Schedule

Students must complete 45 credits of CS courses of which no less than 27 credits must be at the 300-level and 400 level. PHY 335, MTH 317 and/or MTH 371 may be used as part of the 45 credit major. MTH 207 and 208 are also required in addition to the 45 CS credits. MTH 225 may be used as a substitute for CS 225.

Required CS Coursework (typically offered every semester):

  • CS 120 Software Design I
  • CS 220 Software Design II
  • CS 225 Discrete Computational Structures
  • CS 270 Introduction to Computer Organization
  • CS 340 Software Design III: Abstract Data Types
  • CS 341 Software Design IV: Software Engineering
  • CS 370 Computer Architecture
  • CS 421 Programming Language Concepts
  • CS 441 Operating System Concepts
  • CS 442 Structure of Compilers

The department has been approved to be a "Writing-in-the-Major" program. This means the general education required writing emphasis courses will be fulfilled during the completion of your computer science courses. No additional courses are required.

Electives

The department maintains a large array of elective courses to complete the major and minor. Courses in the 4xx/5xx series can be used for both the undergraduate programs and the graduate MSE.

  • CS 202 Introduction to Web Design
  • CS 224 Introduction to Programming Language
  • CS 227 Competitive Programming
  • CS 272 Digital Circuit Design for Microcontrollers I
  • CS 342 Software Testing Techniques
  • CS 351 Simulation
  • CS 353 Analysis of Algorithm Complexity
  • CS 364 Introduction to Database Management Systems
  • CS 372 Digital Circuit Design for Microcontrollers II
  • CS 395 Independent Study
  • CS 402/502 Web Application Development
  • CS 410/510 Free and Open Source Software Development
  • CS 418/518 Mobile Application Development
  • CS 419/519 Topics in Computer Science
  • CS 431/531 Introduction to Robotics
  • CS 442/542 Structure of Compilers
  • CS 443/543 Topics in Operating Systems
  • CS 449/549 Advances in Software Engineering
  • CS 451/551 User Interface Design
  • CS 452/552 Artificial Intelligence and Pattern Recognition
  • CS 453/553 Introduction to Theory of Computation
  • CS 454/554 Digital Image Processing
  • CS 455/555 Fundamentals of Information Security
  • CS 456/556 Secure Software Development
  • CS 457/557 Machine Learning
  • CS 461/561 Introduction to Data Science
  • CS 464/564 Advanced Database Management Systems
  • CS 470/570 Parallel and Distributed Computing
  • CS 471/571 Computer Networks
  • CS 472/572 Internet of Things
  • CS 475/575 Computer Graphics and Modeling
  • CS 476/576 Data Visualization
  • CS 499 Research in Computer Science