To earn the equivalent of a minor in Computer Science, you must complete three or four broad introductory-level courses (Required Core Courses), three upper-level courses (Elective Courses), and one foundational Mathematics course.
Required Core Courses
Note that for item 1 below, you will have the choice of either completing CS101 and CS102 OR completing CS107. CS101 and CS102 teach the fundamental concepts of object-oriented programming using Java and C++. CS107 teaches C++ programming. Either option will provide you the programming background you need for further study in Computer Science. Students without any programming experience should take CS101 and CS102. Students who have some programming experience, particularly in Java, could take CS107. In addition to taking your experience and background into consideration, students should select the option that meets the pre-requisites of the elective courses they choose for the Computer Science minor.
- CS101: Introduction to Computer Science I and CS102: Introduction to Computer Science II OR CS107: C++ Programming
- CS201: Elementary Data Structures
- CS406: Information Security
These courses are already required for many of the discipline majors and are pre-requisites for many of the Computer Science courses listed below. You should select a course from this category based on your math background and on the pre-requisite requirements for the elective courses you choose for the CS minor.
You must take one of the following courses:
You must also select three courses at either the 300- or 400-level. At least one of these courses must be at the 400-level. These electives should be taken from the tracks listed below. The courses in each of the tracks listed below feature related topics that reinforce one another. You are encouraged to either choose your electives from a single track or to formulate an important goal and to use that goal to choose your electives.
Recommended electives by track:
- Hardware: CS301, CS401, CS402
- Programming: CS303, CS404/CS304, CS305/CS412
- Systems: CS302, CS401, CS403
- Mathematics: CS202, CS303, CS409
- Networks: CS402, CS407, CS305/CS412
- Databases: CS403, CS410, CS305
- Future Applications: CS405, CS408
Suggested tracks by major:
It is suggested—but not required—that you consider pursuing certain tracks according to the major or primary area of study that you have declared. The pairings below are suggested based on skills developed in your major and the applicability of the Computer Science topics to the courses in your discipline.
- Humanities/General: Any Track
- Sciences: Programming, Mathematics or Future Applications Track
- Business/Economics/Political: Programming, Networks, Database Tracks
- Psychology: Database or Future Applications Track
- Engineering: Systems, Hardware, or Mathematics Track