BS in Computer Science-Computer Applications Concentration (SCS1)
Total credits required for the degree: 123. Find complete details on the CS-Applications degree audit. Download the CS-Applications flowchart.
Core Requirements: 55 to 58 Credits
CS 1000 - Explorations in Computing
An introduction to the study of computing: fundamental concepts and skills; opportunities at Michigan Tech; career opportunities; social and ethical issues.
- Credits:
1.0
- Lec-Rec-Lab: (0-1-0)
- Semesters Offered:
Fall
- Restrictions:
Must be enrolled in one of the following Major(s): Computer Engineering, Software Engineering, Computer Science, Computer Systems Science, General Computing, Electrical Engineering;
Must be enrolled in one of the following Class(es): Freshman
CS 1131 - Accelerated Introduction to Programming
An alternative starting point of the computer science programs for students with some programming experience, combining material from CS1121 and CS1122, offered at an accelerated pace. Homework programming assignments are given.
- Credits:
5.0
- Lec-Rec-Lab: (0-4-2)
- Semesters Offered:
Fall
- Restrictions:
Permission of department required
- Pre-Requisite(s): MA 1031(C) or MA 1032(C) or MA 1120(C) or MA 1160(C) or MA 1161(C) or MA 1121(C)
CS 1121 - Introduction to Programming I
Starting point of the computer science programs. A high-level, object-oriented programming language is introduced as a problem-solving tool. Topics include design, coding, documentation, debugging, and testing of programs. Programming assignments are given in both a closed lab setting and as homework.
- Credits:
3.0
- Lec-Rec-Lab: (0-2-2)
- Semesters Offered:
Fall, Spring, Summer
- Pre-Requisite(s): MA 1031(C) or MA 1032(C) or MA 1120(C)
CS 1122 - Introduction to Programming II
Continuation of CS 1121. Topics include data abstraction, class hierarchies and polymorphism, list, stack, queue and tree data structures, complexity-based algorithm and data structure choices, and recursion. Homework programming assignments are given.
- Credits:
3.0
- Lec-Rec-Lab: (0-2-2)
- Semesters Offered:
Fall, Spring, Summer
- Pre-Requisite(s): CS 1121
CS 1142 - Programming at the Hardware Software Interface
Programming in assembly language and C for students with prior experience in Java. Topics include binary number encodings, instruction set architecture, assembly language programming, and instruction encodings. C programming topics include program structure, preprocessor, arrays, structures, pointers, input/output, dynamic memory management, and linked data structures.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring, Summer
- Pre-Requisite(s): CS 1122 or CS 1131
CS 2311 - Discrete Structures
Presents fundamental concepts in discrete structures that are used in computer science. Topics include sets, trees, graphs, functions, relations, recurrences, proof techniques, logic, combinatorics, and probability.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): (CS 1121 or CS 1131) and (MA 1135 or MA 1160 or MA 1161 or MA 1121 or MA 2160)
MA 3210 - Introduction to Combinatorics
Topics include set theory, mathematical induction, integers, functions and relations, counting methods, recurrence relations, generating functions, permutations, combinations, principle of inclusion and exclusion, graphs (including planar graphs). Further possible topics are graph coloring, trees and cut-sets, combinatorial designs, Boolean algebra.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Summer
- Pre-Requisite(s): MA 2320 or MA 2321 or MA 2330
CS 2321 - Data Structures
Presents fundamental concepts in data structures. Topics include abstract data types (priority queues, dictionaries and graphs) and their implementations, algorithm analysis, sorting, text processing, and object-oriented design. A significant programming project is assigned.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): CS 1122 or CS 1131
CS 3000 - Ethical and Social Aspects of Computing
An examination of social and ethical issues associated with computing. Topics include: ethical theories and decision making, intellectual property, freedom of expression, privacy, security, and professional responsibility.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Restrictions:
Must be enrolled in one of the following Class(es): Junior, Senior
- Pre-Requisite(s): CS 3141
CS 3141 - Team Software Project
This course introduces software design techniques (e.g., Design-By-Contracts), uses the UML for requirements and design specification, and requires implementation, unit testing and documentation in the context of a significant team project. Focus includes security, teamwork, user interfaces, social and professional responsibility.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): (CS 2311 or MA 3210) and CS 2321
CS 3311 - Formal Models of Computation
Introduction to the theory of formal languages and computation. Topics include regular languages and finite automata, context-free languages and push-down automata, Turing-acceptable languages, Turing machines and the halting problem. Proof techniques and applications, such as parsing, are also treated.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): CS 2311 or MA 3210
CS 3331 - Concurrent Computing
Concepts and techniques in concurrent computing. Topics include: processes and threads, mutual exclusion, semaphores, monitors and condition synchronization, deadlock, safety and liveness, message passing, and concurrent architectures.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): CS 1142 or (CS 1141 and CS 1040) and (CS 2311 or MA 3210) and CS 2321
CS 3411 - Systems Programming
Development of robust programs that provide efficient services to system software developers. Topics include: file I/O, process creation and management, linking and libraries, interprocess communication, performance measurement, and socket programming.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): CS 3421 or EE 3172
CS 3421 - Computer Organization
Introduction to the logical structure of computers, including the fundamentals of logic design, information storage and manipulation, control, and input/output. Topics include a review of current hardware technology, combinational and sequential logic, arithmetic, datapaths, hard-wired control, interrupts, caches, virtual memory, and an introduction to pipelining.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): (CS 1141 and CS 1040) or CS 1142
CS 3425 - Introduction to Database Systems
This course provides an introduction to database systems including database design, query, and programming. Topics include goals of database management; data definition; data models; data normalization; data retrieval and manipulation with relational algebra and SQL; data security and integrity; database and Web programming; and languages for representing semi-structured data.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): (CS 2311 or MA 3210) and CS 2321
CS 4121 - Programming Languages
A discussion of the concepts underlying programming languages. Topics include programming paradigms; language theory and properties (including syntax, semantics, run-time behavior, and implementation issues); data, procedure, functional and control abstraction; functional programming, logic programming, and language security.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): CS 2321 and CS 3311 and (CS 3421 or EE 3172)
CS 4321 - Introduction to Algorithms
Fundamental topics in algorithm design, analysis, and implementation. Analysis fundamentals include asymptotic notation, analysis of control structures, solving recurrences, and amortized analysis. Design and implementation topics include sorting, searching, and graph algorithms. Design paradigms include greedy algorithms, divide-and-conquer algorithms, and dynamic programming.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Restrictions:
May not be enrolled in one of the following Class(es): Freshman, Sophomore
- Pre-Requisite(s): (CS 2311 or MA 3210) and CS 2321
HU 3120 - Technical and Professional Communication
A study of written and oral communication in technical and scientific environments; emphasizes audience, writing processes, genres of scientific and technical discourse, visual communication, collaboration, professional responsibility, clear and correct expression. Students write and revise several documents and give oral report(s).
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring, Summer
- Restrictions:
May not be enrolled in one of the following Class(es): Freshman, Sophomore
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
MA 1160 - Calculus with Technology I
An introduction to single-variable calculus, which includes a computer laboratory. Topics include trigonometric, exponential, and logarithmic functions, differentiation and its uses, and basic integration. Integrates symbolic tools, graphical concepts, data and numerical calculations.
- Credits:
4.0
- Lec-Rec-Lab: (0-3-1)
- Semesters Offered:
Fall
- Pre-Requisite(s): ALEKS Math Placement >= 86 or CEEB Calculus AB >= 3 or CEEB Calculus BC >= 3 or CEEB Calculus AB Subscore >= 3 or ACT Mathematics >= 29 or SAT MATH SECTION SCORE-M16 >= 680
MA 1161 - Calculus Plus w/ Technology I
An introduction to single-variable calculus, which includes a computer laboratory. Topics include trigonometric, exponential, logarithmic functions, differentiation and its uses, and basic integration. Integrates symbolic tools, data and numerics, and graphical concepts and is similar to MA1160, going at a different pace.
- Credits:
5.0
- Lec-Rec-Lab: (0-4-1)
- Semesters Offered:
Fall, Spring, Summer
- Pre-Requisite(s): MA 1032 or MA 1031 or MA 1120 or ALEKS Math Placement >= 76 or CEEB Calculus AB >= 2 or CEEB Calculus BC >= 2 or CEEB Calculus AB Subscore >= 2 or ACT Mathematics >= 26 or SAT MATH SECTION SCORE-M16 >= 610
MA 2330 - Introduction to Linear Algebra
An introduction to linear algebra and how it can be used, including basic mathematical proofs. Topics include systems of equations, vectors, matrices, orthogonality, subspaces, and the eigenvalue problem.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): MA 1160 or MA 1161 or MA 1135 or MA 1121
MA 2720 - Statistical Methods
Introduction to the design and analysis of statistical studies. Topics include methods of data collection, descriptive and graphical methods, probability, statistical inference on means, regression and correlation, and ANOVA.
- Credits:
4.0
- Lec-Rec-Lab: (0-4-0)
- Semesters Offered:
Fall, Spring, Summer
- Restrictions:
May not be enrolled in one of the following Major(s): Mathematics
- Pre-Requisite(s): MA 1020 or MA 1030 or MA 1120 or MA 1032 or MA 1031 or ALEKS Math Placement >= 61 or CEEB Calculus BC >= 2 or CEEB Calculus AB Subscore >= 2 or ACT Mathematics >= 22 or SAT MATH SECTION SCORE-M16 >= 540
MA 3710 - Engineering Statistics
Introduction to the design, conduct, and analysis of statistical studies aimed at solving engineering problems. Topics include methods of data collection, descriptive and graphical methods, probability and probability models, statistical inference, control charts, linear regression, design of experiments.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring, Summer
- Pre-Requisite(s): MA 2160 or MA 3160(C)
Introduction to probabilistic methods. Topics include probability laws, counting rules, discrete and continuous random variables, expectation, joint distributions, and limit theorems.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Summer
- Pre-Requisite(s): MA 1160 or MA 1161 or MA 1121 or MA 1135
Technology and Society Requirement: 3 Credits
HU 3701 - Philosophy of Technology
A study of philosophical analyses of technology. Topics may include: the essence and nature of technology, technology and human existence; the notion that we live in a technological age; and ethical issues surrounding the use, abuse, and ubiquity of technology.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
HU 3710 - Engineering Ethics
A study of ethical questions confronting individual engineers and the engineering profession. Among the issues to be explored are the meaning of professionalism, the social responsibilities of engineers, engineer-employer and engineer-client relationships, whistle-blowing, conflicts of interest, and competitive bidding.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Spring
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
HU 3810 - Technology and Culture
Considers interrelationships between technology and culture. Includes understanding the context within which technologies are developed and used, and how assumptions about technology shape knowledge, practice, and creative action. Issues such as progress, determinism, ethics, gender, race, class, globalization, and "humanness".
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
MA 4945 - History of Mathematics
Survey of the development of mathematics from ancient times to today. How cultural, mathematical, and technological developments have influenced one another throughout history. Course provides all necessary historical background.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
SS 3510 - History of American Technology
Survey of the technological changes that transformed a rural, agrarian America into an urban, industrialized nation. Focuses on how America's social values and geographical situation influenced the direction taken by its technology and engineering community and how America's industrialization, in turn, had significant effects on American society.
- Credits:
3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered:
Spring, in even years
- Restrictions:
May not be enrolled in one of the following Class(es): Freshman
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
SS 3511 - History of Science in America
Examines the development of scientific enterprises in the U.S. from the colonial period through the present day. Emphasizes institutional bases of science and the place of scientific activities within American society.
- Credits:
3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered:
Spring, in even years
- Restrictions:
May not be enrolled in one of the following Class(es): Freshman
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
SS 3520 - U.S. Environmental History
Examines how human interaction with physical environment has changed in North America over the last four centuries. Topics include uses of land by Native Americans, changes associated with European colonization, incorporation of natural resources into industrial economy, early conservation and preservation movements, and environmental concerns accompanying urbanization and industrialization.
- Credits:
3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered:
Fall
- Restrictions:
May not be enrolled in one of the following Class(es): Freshman
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
SS 3530 - The Automobile in America
Examines the automobile in diverse ways, seeing it as a complex product to be manufactured, as a stimulus to reshaping the environment, as an object that has altered social behavior, and as a problem solver and problem maker.
- Credits:
3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered:
Spring, Summer
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
SS 3580 - Technology and Society in History
An exploration of the history of technology and society. The course looks at ways technology influenced development of civilization and ways societal values of civilization have conditioned technology.
- Credits:
3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered:
Fall, in even years
- Restrictions:
May not be enrolled in one of the following Class(es): Freshman
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
SS 3581 - History of Science
A survey of the development of scientific ideas (abstractions about how nature is and behaves) from the Greeks to the modern world, including major physical and life science revolutions by natural philosophers like Copernicus, Galileo, Darwin, and Einstein.
- Credits:
3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered:
Spring, in even years
- Restrictions:
May not be enrolled in one of the following Class(es): Freshman
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
SS 3630 - Environmental Policy and Politics
A broad survey of how environmental policy making actually works in the U.S. Covers both environmental policy processes and politics, and the major environmental policies themselves for control of air pollution, water pollution, hazardous wastes, and other major environmental problems.
- Credits:
3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered:
Spring
- Restrictions:
May not be enrolled in one of the following Class(es): Freshman
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
SS 3640 - Selected Topics in Cyber-Law
Applies legal and ethical principles to evolving computer technology. Explores current legal issues such as surveillance, privacy, free speech, crime, encryption, on line contracting, intellectual property and censorship, as well as legislative efforts to resolve these and other computing dilemmas.
- Credits:
3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered:
Spring, in odd years
- Restrictions:
May not be enrolled in one of the following Class(es): Freshman
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
SS 3800 - Energy Policy and Technology
This course examines the policies and technologies affecting the production, transportation, and use of energy. It focuses on U.S. domestic energy policy and places it in the context of the global energy system. The course aims at providing a holistic view of energy systems connecting technological options with societal and environmental concerns.
- Credits:
3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered:
Spring
- Restrictions:
May not be enrolled in one of the following Class(es): Freshman
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
SS 3801 - Science, Technology, & Society
Examines the relationship between science, technology, society, and the environment. Topics may include effects of technologies such as computers, biotechnology, and chemicals on society and nature, science and technology policy, and the history of technology and its global consequences.
- Credits:
3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered:
Fall
- Restrictions:
May not be enrolled in one of the following Class(es): Freshman
- Pre-Requisite(s): UN 1015 and (UN 1025 or Modern Language - 3000 level or higher)
Lab Science Requirements: 7 Credits Minimum
Students must complete two science courses in two different disciplines (BL, CH, KIP,
FW, GE, PH, SS) from the general education science course list; at least one of these
must include or be taken with the accompanying laboratory. Find eligible courses on
the General Education webpage.
Concentration Requirements: 22-25 Credits
4000- level CS course: 3 Credits
Applications Courses: 13 to 16 Credits
Applications courses must be approved by the undergraduate curriculum committee. Depending
on the application area, up to 7 additional math credits may be required. See academic
advisor.
Technical Electives: 6 Credits
See academic advisor for a list of approved technical electives to choose from.
Free Electives: 6 to 12 Credits
Any coursework is allowable, excluding co-curricular and coursework below the 1000-
level.
General Education Core: 24 Credits
Humanities, Fine Arts, and Social Science (HASS) Requirements
Courses used to complete Core and HASS requirements may not be used to complete other
degree requirements. Students must complete 12 credits of Core coursework and 12 credits
of Humanities, Fine Arts, and Social Science (HASS) coursework. Repeatable courses
may not be repeated for general education credit. Core and HASS courses can be found
on the General Education webpage.
Core: 12 Credits
- UN 1015 (3)
- UN 1025 or an upper level modern language (3)
- Critical and Creative Thinking (3)
- Social Responsibility and Ethical Reasoning (3)
HASS: 12 Credits
Six of the 12 credits must be at the 3000- or 4000- level.
- Communication/Composition (minimum 3 credits)
- Humanities and Fine Arts (minimum 3 credits)
- Social and Behavioral Sciences (minimum 3 credits)
- Any course from the General Education Core, HASS, or Restricted HASS course list (0
to 3 credits)
Co-curricular Activities: 3 Credits
Required for graduation, but not included in the GPA calculation or in the overall
credits required for the degree. Only courses on the co-curricular course list are
eligible. Half (0.5) credit courses may be repeated to a maximum of one time for co-curricular
credit. Find eligible courses on the General Education webpage.