Technical Electives
(Effective Fall 2007)

The computer science major must complete an approved technical elective program. Technical electives are courses (generally in computer science, mathematics, engineering, or business) oriented toward the design or use of computers. These must be approved by the student's advisor.

The following courses are recommended as technical electives. Other courses may be approved by an advisor. In general, an advisor will request to see a complete list of planned technical electives before making a decision on approval of a specific course. This allows the advisor to ensure that the advisee is following a coherent technical elective program.

NOTE: Courses on the following lists that are required for either the Software Engineering or Computer Systems Science degrees, or any of the concentration areas of the Computer Science degree, may NOT also be used to fulfill the technical elective requirements in that option or degree program.


Computer Science Courses

   CS 3311 - Formal Models of Computation
   CS 3411 - Systems Programming
   CS 3451 - Computer Administration
   CS 3621 - Computer Graphics: Elementary Geometric Objects and Processing
   CS 3090 - Special Topics in Computer Science
   CS 3911 - Introduction to Numerical Methods with Fortran
   CS 4090 - Special Topics in Computer Science
   CS 4099 - Directed Study in Computer Science
   CS 4121 - Programming Languages
   CS 4131 - Compiler Construction
   CS 4311 - Introduction to Computation Theory
   CS 4321 - Introduction to Algorithms
   CS 4331 - Parallel Programming
   CS 4421 - Database Systems
   CS 4431 - Computer Architecture
   CS 4451 - Network Administration
   CS 4461 - Computer Networks
   CS 4471 - Computer and Network Security
   CS 4611 - Computer Graphics: Foundations of Computer Graphics
   CS 4711 - Intro to Software Engineering
   CS 4712 - Software Quality Assurance
   CS 4750 - Teaching Methods in Computer Science
   CS 4760 - Human Computer Interactions
   CS 4790 - Senior Design Project
   CS 4791 - Senior Design Project 1
   CS 4792 - Senior Design Project 2
   CS 4811 - Artificial Intelligence

All CS graduate level courses. (Because of the more difficult nature of these courses, students should be seniors and have at least a 3.0 and preferably a 3.5 GPA in CS courses if enrolling in 500 level courses.)

The Enterprise Program

   ENT 2950 - Orientation Enterprise (with at least one other Enterprise Project course)
   ENT 2960 - Enterprise Project Work I
   ENT 3950 - Enterprise Project Work III
   ENT 3960 - Enterprise Project Work IV
   ENT 4950 - Enterprise Project Work V
   ENT 4960 - Enterprise Project Work VI

Electrical and Computer Engineering

   EE 2150 - Introduction to Signale Processing
   EE 2171 - Digital Logic
   EE 3170 - Microcontroller Applications
   EE 3173 - Hardware/Software System Integration
   EE 3175 - Computer Architecture with Modeling and Simulation
   EE 4271 - VLSI Design
   EE 4272 - Computer Network
   EE 4900 - Design Fundamentals
   EE 4901 - EE Design Project 1
   EE 4910 - EE Design Project 2

Mathematics Courses

   Most MA courses that are not required for your option qualify -- see an advisor for clarification.

The following math courses DO NOT qualify as technical electives:
   Courses numbered below 1900
   More than 1 introductory statistics course
   MA 2990 -- Elementary Topics in Mathematics
   MA 4945 -- History of Mathematics (only allowed for education majors)


Business Courses

   BA 2110 - Quantitative Problem Solving
   BA 3200 - IS/IT Management
   BA 4360 - Accounting Systems
   BA 4670 - Discrete Event Simulation

(The BA courses CANNOT be taken as technical electives if you are in the Information Systems Option. )


Humanities Courses

   HU 2701 - Logic and Critical Thinking


Cooperative Education

   UN 3002 - Cooperative Education Laboratory

Please send questions and comments about this CS Web Page to cswebmaster@mtu.edu
Department of Computer Science
Last Updated: Friday, October 19, 2007