header-about

Computer Science Technical Electives List

Last revised Jun 2, 2015.

The BS in Computer Science requires 5 technical elective courses totaling at least 14 credit hours.

First three technical electives

At least 3 of these technical electives must come from the following list of courses:

  • EECS 293 Software Craftsmanship
  • EECS 301 Digital Logic Laboratory
  • EECS 315 Digital Systems Design
  • EECS 316 Computer Design
  • EECS 318 VLSI/CAD
  • EECS 339 Web Data Mining
  • EECS 359 Bioinformatics in Practice
  • EECS 366 Computer Graphics
  • EECS 376 Mobile Robotics
  • EECS 381 Hybrid Systems
  • EECS 390 Advanced Game Development Project
  • EECS 397 Special Topics: Adv Sw Programming
  • EECS 405 Data Structures and File Management
  • EECS 419 Computer System Architecture
  • EECS 423 Distributed Systems
  • EECS 428 Computer Communication Networks II
  • EECS 430 Object Oriented Software Development
  • EECS 433 Database Systems
  • EECS 435 Data Mining
  • EECS 436 Advances in Databases
  • EECS 439 Web Data Mining
  • EECS 440 Machine Learning
  • EECS 442 Causal Learning from Data
  • EECS 444 Computer Security
  • EECS 454 Analysis of Algorithms
  • EECS 458 BioInformatics
  • EECS 466 Computer Graphics
  • EECS 475 Autonomous Robotics
  • EECS 477 Advanced Algorithms
  • EECS 484 Computational Intelligence I: Basic Principles
  • EECS 485 VLSI Systems
  • EECS 488 Embedded Systems Design
  • EECS 493 Software Engineering
  • EECS 591 Intelligent Systems II

Last two technical electives

The remaining 2 technical electives for the BS in Computer Science program may come from the following list of courses (or from the above list).

EECS Courses:

  • EECS 245 Electronic Circuits
  • EECS 246 Signals and Systems
  • EECS 285 Engineering in Community Service
  • EECS 290 Introduction to Computer Game Design
  • EECS 304 Control Engineering I with Laboratory
  • EECS 306 Control Engineering II with Laboratory
  • EECS 309 Electromagnetic Fields I
  • EECS 313 Signal Processing
  • EECS 324 Simulation Techniques in Engineering
  • EECS 351 Communications and Signal Analysis
  • EECS 352 Engineering Economics and Decision Making
  • EECS 354 Digital Communications
  •  
  • EECS 375 Applied Control
  • EECS 381 Hybrid Systems
  • EECS 382 Microprocessor-Based Design
  • EECS401 Digital Signal Processing
  • EECS408 Introduction to Linear Systems
  • EECS 409 Discrete Event Systems
  • EECS 413 Nonlinear Systems I
  • EECS 489 Robotics I

ENGR Courses:

  • ENGR 210 Circuits & Instrumentation

MATH Courses:

  • MATH 201 Introduction to Linear Algebra
  • MATH 303 Elementary Number Theory
  • MATH 307 Linear Algebra
  • MATH 308 Introduction to Abstract Algebra
  • MATH 330 Introduction of Scientific Computing
  • MATH 406 Mathematical Logic and Model Theory
  • MATH 408 Introduction to Cryptology
  • MATH 413 Graph Theory
  • MATH 431 Introduction to Numerical Analysis

Symbolic Logic Courses:

  • PHIL 201 Introduction to Logic
  • PHIL 306 Mathematical Logic and Model Theory
  • PHYS 221 Introduction to Modern Physics
  • PHYS 250 Computational Methods in Physics

Statistics Courses:

  • STAT 345 Theoretical Statistics I
  • STAT 346 Theoretical Statistics II
  • STAT 413 Reliability and Calibration
  • STAT 414 Industrial Statistics
  • STAT 427 Statistical Computing