|
|
|
Lower Level Course Descriptions
(Effective Fall 2009) (This list only goes as far as the 3000-level courses. The 4000-level courses are listed as upper level undergraduate courses.)
CS 1000 Explorations in Computing (0-1-0) f 1Introduction to the study of computing: fundamental concepts and skills; opportunities at Michigan Tech; career opportunities; social and ethical issues. CS 1090 Special Topics in Computer Science (On Demand) 1-3Special topics in computer science offered on occasion based on student and faculty demand and interest. CS 1121 Introduction to Computer Science I (0-2-2) f,s,su 3 Starting point of the computer science program. 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.
CS 1122 Introduction to Computer Science II (0-2-0) f,s,su 2
Continuation of CS1121. Topics include data abstraction, class hierarchies and
polymorphism, list, stack and queue data structures, informal complexity-based
algorithm and data structure choices, and recursion. Homework programming assignments are given.
CS 1129 Introduction to Computer Science II in C++ (0-3-0) f,s, 3
Continuation of CS1121. Topics include data abstraction, class hierarchies and
polymorphism, list, stack and queue data structures, and recursion. The C and C++ programming languages are presented and used.
CS 1131 Computer Science I (0-4-0) f,s 4
An alternative starting point of the computer science program for students
with some programming experience, combining material from CS 1121 and CS1122
and offering it at an accelerated pace. Homework programming assignments are
given.
CS 1721 Object Oriented Design (0-1-0) f,s 1
Principles of object oriented design. Includes the software life cycle and unit testing. Students are required to design, unit test, implement, and final test of a relatively large project.
CS 2090 Special Topics in Computer Science (On Demand) 1-3Special topics in computer science offered on occasion based on student and faculty demand and interest.
CS 2141 Software Development Using C/C++ (0-3-0) f,s, su 3
This course provides an accelerated introduction to C/C++ for Java programmers. Topics include object oriented design with UML, object oriented programming with C++, C/C++ memory differences between C and C++ use of libraries, and debugging with modern tools.
CS 2311 Discrete Structures (0-3-0) f,s, su 3
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.
CS 2321 Data Structures (0-3-0) f,s 3
Presents fundamental concepts in data structures. Topics include ADTs (trees, priority queues, dictionaries and graphs) and their implementations, algorithm analysis, sorting and text processing. Programming projects are designed to apply these topics.
CS 3090 Special Topics in Computer Science (On Demand) 1-3Special topics in computer science offered on occasion based on student and faculty demand and interest. CS 3141 Team Software Project (0-3-0) f,s 3Introduction to the development of large software projects. Presents examples of software design, quality assurance techniques, and test-case design in conjunction with a significant team project, involving design, test, and code documentation, as well as user documentation. Other topics: teamwork, user interfaces, social and professional responsibility.
CS 3311 Formal Models of Computation (0-3-0) f,s 3Introduction to the theory of formal languages and computation. Topics include regular languages and finite automata, context-free languages and push-down automata, context-free languages and push-down automata, Turing-acceptable languages and Turing machines, and the halting problem. Proof techniques and their applications such as parsing, are also treated. CS 3411 Systems Programming (0-3-0) f 3 Development of programs on modern operating systems. Topics include:
scripting, compilation, linking, loading, libraries, process creation, file
system access and protection, network programming, and heterogeneity. CS 3421 Computer Organization (0-4-0) f,s 4 Introduction to the logical structure of computers, including the
fundamentals of logic design, information storage and manipulation, control,input/output, and assembly language programming. 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. CS 3451 Computer Administration (0-3-3) f 4 Administration of non-networked computers. Topics include: operating
system installation; boot-up and shutdown; process management; account
management; file systems; storage technology; backups; serial devices. CS 3911 Introduction to Numerical Methods with FORTRAN (0-3-0) f 3Topics include floating point arithmetic, sources of numerical error,
Taylor polynomials, solution of linear systems and nonlinear equations,
interpolation, numerical integration, and numerical solution of
differential equations. FORTRAN 90 topics include data types, control flow,
arrays, procedures, pointers and dynamic data structures, I/O, and modules.
Numerical algorithms will be coded.
|
|
|
|
|
|
Please send questions and comments about this CS Web Page
to cswebmaster@mtu.edu
Department of Computer Science Last Updated: Wednedsay, July 22, 2009 |
|