|
|
|
Upper Level Course Descriptions
(Effective Fall 2008) (This list only has 4000-level courses. The 1000-, 2000- and 3000-level courses are listed as lower level undergraduate courses.) Up to 16 credits at the 4000 level may be taken for graduate credit.
CS 4000: Senior Seminar
CS 4000 Senior Seminar (0-3-0) f,s 3Topics include ethical
models: legal issues: privacy and security: social responsibility:
professional responsibility and service: and the future of computing.
Students will complete the ETS MFT assessment exam.
CS 4090 Special Topics in Computer Science (On Demand) 1-4Special topics in computer science offered on occasion based on student and faculty demand and interest. CS 4099 Directed Study in Computer Science f,s,su 1-4Students study one or more special topics in computer science under the direction of one or more faculty members. May be repeated to a maximum of 6 credits. CS 4121 Programming Languages (0-3-0) f,s 3A discussion of the concepts underlying programing languages. Topics include
programming paradigms: language criteria (including syntax, semantics, run-time
behavior, and implementation issues); data, procedure, functional, and control
abstraction; functional programming; and logic programming.
CS 4131 Compiler Construction (0-3-1) s 4Introduction to compilation techniques. Topics include parsing,
syntax-directed translation, run-time storage management, error recovery, code
generation and optimization. A significant project is required.
CS 4321 Introduction to Algorithms (0-3-0) f,s 3
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.
CS 4331 Introduction to Parallel Programming (0-3-0) (On Demand) 3
A practical introduction to developing parallel programs and solving problems
using multiple concurrent processes. The shared memory and the message passing paradigms
are studied. Includes conceptual models of parallel programming, basic analysis of parallel
algorithms, and practical experience programming with modern parallel languages. Additional
topics include parallel computer architecture, domain decomposition, and load balancing.
Traditional computer science applications, such as sorting, as well as numerical applications,
such as matrix multiplication, are studied.
CS 4411 Introduction to Operating Systems (0-4-0) f,s 4This course presents topics on program representation and execution,
operating systems, process and threads, process scheduling, memory management and
file systems. Programming homework is required.
CS 4421 Database Systems (0-3-0) s 3Topics include goals of database management; data definition; data models;
data normalization; data retrieval and manipulation; security, integrity, and
privacy measures; file, data, and storage organization; object-database systems;
and, parallel and distributed databases. Surveys a number of general database
systems, and examines in detail at least one database system.
CS 4431 Computer Architecture (0-3-3) f, s 4Architecture of high-performance parallel computer systems. Introduces various
forms of parallelism, such as multiple functional units, pipelining, multiprocessors, and
processor arrays. Interleaved memory, caching, and interconnection networks are
also covered. Includes analytic and simulation models of architectural features
that implement or support parallel processing.
CS 4451 Network Administration (0-3-3) f 4Administration of computer networks. Topics include: TCP/IP networking,
mail, printing, configuring and building kernels, remote file systems, license
management, manging web systems, common network administration services.
CS 4461 Computer Networks (0-3-0) s 3Computer network architectures and protocols: design and implementation of
datalink, network, and transport layer functions. Introduction to the Internet
protocol suite and to network tools and programming.
CS 4471 Computer and Network Security (0-3-0) f 3Development of administration of secure software systems. Topics include:
principles of software development, practical cryptography, program security,
operating system security, network security, database security, administration,
legal and ethical issues.
CS 4481 Performance Analysis (0-3-3) s 4Analysis of the performance of computer systems. Topics include measurement
techniques and tools, probability theory and statistics, experiment design and
analysis, simulation, queuing models. Course includes a significant experimental component.
CS 4611 Computer Graphics: Foundations of Computer Graphics (0-3-0) f 3Introduction to interactive computer graphics. Topics include graphics
terminology, 3D viewing, 3D transformation, interactive techniques, use of
graphics input devices, projections, modeling, lighting, texturing, evaluators,
and graphics algorithms. Requires substantial programming homework.
CS 4710 Model-Driven Software Development (0-3-0) On demand 3The focus of this course is on the use of formal models throughout the software development life cycle. Topics include formal specification of requirements, behavioral modeling, automated analysis, architectural styles and design specification.
CS 4711 Software Processes and Management (0-3-0) s 3
This course focuses on the software development process and related management issues. Topics include software process models, the Capability Maturity Model, process tools, use of standards, software maintenance, configuration management, project planning and tracking, team management, and measurement and estimation.
CS 4712 Software Quality Assurance(0-3-0) On demand 3
This course covers the notion of software quality and how to ensure quality through the software process. Topics include requirements elicitation, analysis and documentation, usability and accessibility, testing, and quality assurance management.
CS 4750 Teaching Methods in Computer Science (0-3-0) On demand 3
Provides teaching methods, models, and experiences for the teaching of computer
science in secondary schools. Topics discussed include teaching methods,
learning, security and maintenance of equipment, professional journals, ethics,
legal issues, diversity, and problem solving. Requires admission to the Teacher
Education Program.
CS 4760 Human-Computer Interactions (0-3-0) s 3Principles of design and implementation of human-computer interfaces (UI). Topics inlcude: UI design principles, evaluation, tools and theory. Students receive direct experience with the designing, implementation, and evaluation UIs. Required completion of a group project. Prerequisites: CS 3141 CS 4790 Senior Design Project (0-1-4) On demand 3A one semester course that requires students to apply the principles and
techniques of software engineering covered in CS4711 and CS4712. Each student
works as part of a team responsible for developing a quality software product.
CS 4791 Senior Design Project 1 (0-1-4) On demand 3The first semester of a two semester capstone project experience for students
in the Software Engineering Degree Program. Given a major software project,
students establish a team structure, determine an appropriate project schedule
and scope, and begin development.
CS 4792 Senior Design Project 2 (0-1-4) f, s 3Students complete the project started in CS 4791. The project is evaluated
by the students, and a final presentation is made to the customer.
CS 4811 Artificial Intelligence (0-3-0) s 3Fundamental ideas and techniques that are used in the construction of AI
problem solvers. Topics include knowledge representation, problem solving,
heuristics, search heuristics, inference mechanisms, expert systems, and
language understanding.
|
|
|
|
|
|
Please send questions and comments about this CS Web Page
to cswebmaster@mtu.edu
Department of Computer Science Last Updated: Tuesday, May 6, 2008 |
|