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:

  • 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.

Computer Science Major: Embedded Systems Emphasis

The emphasis focuses on designing and implementing devices using embedded controllers. The emphasis includes the three course sequence

  • CS 272 Digital Circuit Design for Microcontrollers I
  • CS 372 Digital Circuit Design for Microcontrollers II
  • CS 472 Internet of Things

Compensating changes to the CS Major requirements keep total credits at 45. The pending catalog description is here.

Computer Science Major: Computer Engineering Technology Emphasis

Undergraduate Catalog

Students must have completed the Associate in Applied Science Degree requirements for Electronic and Computer Engineering Technology at Western Technology College with a grade point average of 3.0 or above. 42 credits – which includes 10 elective credits (51 credits including math). The 42 credits of coursework must include no less than 24 credits of 300 – level and 400 level courses. PHY 335, MTH 317 and/or MTH 371 may be used as part of the 42 credits major. Game Development II at WTC may be completed at Western in place of CS 224. MTH 207 and 208 must be taken. Students completing this program are not subject to the College of Science and Health requirement for an academic minor of 18 credits of course work at the 300/400 level in courses outside the major. MTH 225 may be used as a substitute for CS 225.

The required courses are the same as the major except that the three 400 level courses are replaced by two of the following:

  • CS 421 Programming Language Concepts
  • CS 442 Structure of Compilers
  • CS 455 Fundamentals of Info Security
  • CS 471 Data Communications


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