>
MSU Catalog
CS
Computer Science
Department of Computer Science
(406) 994-4780
CAPP 120 INTRODUCTION TO COMPUTERS (Formerly CS 150)
CS 140CS SPINNING WEBS
CS 145 WEB DESIGN
CS 160 INTRODUCTION TO COMPUTER SCIENCE
CS 201 PROGRAM DESIGN WITH C
CS 204 MULTIMEDIA DEVELOPMENT METHODS
CS 215CS SOCIAL & ETHICAL ISSUES IN COMPUTING
CS 221 ADVANCED PROGRAMMING
CS 222 DISCRETE MATHEMATICS
CS 223 DATA STRUCTURES AND ALGORITHMS
CS 270 INDEPENDENT STUDY
CS 280 SPECIAL TOPICS
CS 289R UNDERGRADUATE RESEARCH/CREATIVE ACTIVITY INSTRUCTION
CS 290R UNDERGRADUATE RESEARCH/CREATIVE ACTIVITY
CS 309 SYSTEMS ADMINISTRATION
CS 324 DESIGN AND ANALYSIS OF ALGORITHMS
CS 330 COMPUTER ORGANIZATION AND ARCHITECTURE
CS 350 THEORY OF COMPUTATION
CS 351 SOFTWARE ENGINEERING I
CS 355 CONCEPTS OF PROGRAMMING LANGUAGES
CS 392 NUMERICAL COMPUTATION FOR SCIENTISTS AND ENGINEERS
CS 400 SEMINAR
CS 418 OPERATING SYSTEMS
CS 422 INTRODUCTION TO SIMULATION
CS 425 COMPUTER GRAPHICS
CS 430 IMAGE PROCESSING
CS 432 COMPUTATIONAL BIOLOGY
CS 435 DATABASE SYSTEMS
CS 436 ARTIFICIAL INTELLIGENCE
CS 440 COMPUTER NETWORKS
CS 445 EMBEDDED SYSTEMS
CS 450 COMPILERS
CS 451 SOFTWARE ENGINEERING II
CS 455 COMPUTER SECURITY
CS 470 INDEPENDENT STUDY
CS 474 UNDERGRADUATE CONSULTATION
CS 476 INTERNSHIP
CS 480 SPECIAL TOPICS
CS 489R UNDERGRADUATE RESEARCH/CREATIVE ACTIVITY INSTRUCTION
CS 490R UNDERGRADUATE RESEARCH/CREATIVE ACTIVITY
CS 499 COMPUTER SCIENCE PROGRAM ASSESSMENT
CS 500 SEMINAR
CS 510 COMPUTABILITY
CS 513 COMPUTATIONAL RESEARCH TOPICS
CS 515 ALGORITHMS
CS 518 ADVANCED OPERATING SYSTEMS & SYSTEMS PROGRAMMING RESEARCH
CS 525 GRAPHICS & SCIENTIFIC VISUALIZATION
CS 530 DATA MINING
CS 535 ADVANCED DATABASE SYSTEMS
CS 536 ADVANCED ARTIFICIAL INTELLIGENCE
CS 540 DISTRIBUTED COMPUTING
CS 541 ADVANCED NETWORKING
CS 545 PARALLEL COMPUTING
CS 550 DESIGN & TRANSLATION OF PROGRAMMING LANGUAGES
CS 570 INDEPENDENT STUDY
CS 575 MASTER'S PROJECT
CS 576 INTERNSHIP
CS 580 SPECIAL TOPICS
CS 589 GRADUATE CONSULTATION
CS 590 MASTER'S THESIS
CS 690 DOCTORAL THESIS
CAPP 120 INTRODUCTION TO COMPUTERS
(Formerly CS 150)
F,S 3 cr. LEC 2 LAB 1
-- Computer hardware and software concepts as they apply
to all computers. Exposure to software packages such
as Windows, word processors, spreadsheets, and Internet
applications. Laboratory projects reflect practical
usage in resolving real world problems/situations.
CS 140CS SPINNING WEBS
S 3 cr. LEC 3
--The World Wide Web. What it is. How it works. Where
it's headed. Social implications. The science and technology
behind it. Examination of currently popular Web ventures,
such as Google, Facebook, YouTube, Twitter, and Drupal.
Construction of individual Web portfolios and a hosted
website. Prepares students from all majors to participate
in Web ventures and to become Web-informed citizens.
No previous Web or programming experience required.
CS 145 WEB DESIGN
F,S 3 cr. LEC 2 LAB 1
--Basic design principles and how these principles apply
to web site construction. HTML and HTML editors. Laboratory
projects reflect practical usage of course concepts.
Cross-listed with ART 145.
CS 160 INTRODUCTION TO COMPUTER
SCIENCE
F,S 4 cr. LEC 3 LAB 1
COREQUISITE: M 151.
-- Introduction to programming: program design, analysis,
and implementation in Java, including I/O, assignment,
decision, iteration, scalar types, arrays, control structures,
methods, classes, and common data types; and Linux fundamentals.
No previous programming experience required.
CS 201 PROGRAM DESIGN WITH C
S 3 cr. LEC 2 LAB 1
PREREQUISITE: CS 160.
COREQUISITE: M 151.
-- C Programming knowledge. Introduces imperative programming
and the C standard library. Course covers pointers,
memory management and structures.
CS 204 MULTIMEDIA DEVELOPMENT METHODS
S odd years 3 cr. LEC 2 LAB 1
-- The design and development of multimedia presentations
using computerized studio techniques. Methods for combining
video, audio, photography, studio techniques, and computer-generated
art forms. Computer-assisted studio control and editing.
Project-oriented course organization with interdisciplinary
project teams.
CS 215CS SOCIAL & ETHICAL ISSUES
IN COMPUTING
F 3 cr. LEC 2 RCT 1
PREREQUISITE: W core and US core.
-- Social and ethical issues as they relate to computing,
including privacy, risks, computer abuse, commerce,
professionalism, free speech, intellectual property,
social justice, and current issues. History of computing.
CS 221 ADVANCED PROGRAMMING
F,S 4 cr. LEC 3 LAB 1
PREREQUISITE: CS 160 and M 151.
-- An examination of advanced Java and basic data structures
and their application in problem solving. Data structures
include stacks, queues and lists. An introduction to
algorithms employing the data structures to solve various
problems including searching and sorting, and recursion.
Understanding and using Java class libraries. The laboratory
uses Java. Introduces Big-O Notation.
CS 222 DISCRETE MATHEMATICS
F 3 cr. LEC 3
PREREQUISITE: CS 160.
COREQUISITE: M 171.
-- This course covers logic, discrete probability, recurrence
relations, Boolean algebra, sets, relations, counting,
functions, maps, Big-O notation, proof techniques including
induction, and proof by contradiction.
CS 223 DATA STRUCTURES AND ALGORITHMS
S 4 cr. LEC 3 LAB 1.
PREREQUISITE: CS 221.
-- Advanced data structures and programming techniques
and their application. Topics include: trees, balanced
trees, graphs, dictionaries, hash tables, heaps. Examines
the efficiency and correctness of algorithms. The laboratory
uses Java.
CS 270 INDEPENDENT STUDY
On Demand 1 - 3 cr. IND
PREREQUISITE: Consent of instructor and approval of
department head.
-- Directed research and study on an individual basis.
CS 280 SPECIAL TOPICS
On Demand 1 - 4 cr. Maximum 12 cr.
PREREQUISITE: To be determined based on actual topic
offered.
-- Courses not required in any curriculum for which
there is a particular one-time need, or given on a trial
basis to determine acceptability and demand before requesting
a regular course number.
CS 289R UNDERGRADUATE RESEARCH/CREATIVE
ACTIVITY INSTRUCTION
F,S 1-3 cr. RCT may be repeated
-- Classroom instruction associated with directed undergraduate
research/creative activity projects.
CS 290R UNDERGRADUATE RESEARCH/CREATIVE
ACTIVITY
F,S 1-6 cr. IND may be repeated
-- Directed undergraduate research/creative activity
which may culminate in a written work or other creative
project. Course will address responsible conduct of
research.
CS 309 SYSTEMS ADMINISTRATION
S 3 cr. LEC 3
PREREQUISITE: CS 201 and CS 223.
-- The administration and management of Linux computer
systems. Includes installation, user/process management,
configuration of services and device handling. A thorough
knowledge of Linux/Unix command structure is required.
CS 324 DESIGN AND ANALYSIS OF ALGORITHMS
F 3 cr. LEC 3
PREREQUISITE: CS 222 and CS 223.
-- A rigorous examination of advanced algorithms and
data structures. Topics include average case analysis,
probabilistic algorithms, advanced graph problems and
theory, distributed and parallel programming.
CS 330 COMPUTER ORGANIZATION AND
ARCHITECTURE
F 4 cr. LEC 3 LAB 1
PREREQUISITE: CS 221.
-- The structure and function of computer systems: CPU,
memory, I/O. Includes digital logic, data type, instruction
set design, pipelining, RISC, parallel processing, and
assembly language programming.
CS 350 THEORY OF COMPUTATION
S 3 cr. LEC 3
PREREQUISITE: CS 222.
COREQUISITE: M 172.
-- Formal languages, theory, automata, Turing Machines,
computability, the Church-Turing thesis, computational
complexity, and NP-completeness.
CS 351 SOFTWARE ENGINEERING I
F 3 cr. LEC 3
PREREQUISITE: CS 223 and WRIT 221.
-- Software lifecycles, Unified Modeling Language, design
patterns, software engineering standards, requirements
analysis, development issues, efficiency tools, verification
and validation, configuration management, testing and
maintenance.
CS 355 CONCEPTS OF PROGRAMMING
LANGUAGES
S 3 cr. LEC 3
PREREQUISITE: CS 223.
-- An examination of several programming paradigms,
and languages, as well as their application and underlying
execution model. Paradigms examined include imperative,
object-oriented, functional, logic and string based.
Students will gain exposure to a variety of languages
such as C, C++, Scheme, Prolog and Perl.
CS 392 NUMERICAL COMPUTATION FOR
SCIENTISTS AND ENGINEERS
S 3 cr. LEC 3
PREREQUISITE: M 172. Basic computer literacy is assumed.
-- Numerical methods to solve problems in science and
engineering using MATLAB. Number systems and error analysis,
finding roots, solving linear systems, curve fitting,
integration and differentiation, solving ordinary differential
equations.
CS 400 SEMINAR
On Demand 1 cr SEM 1 Maximum 4 cr.
PREREQUISITE: Junior standing and as determined by each
offering.
-- Topics offered at the upper divisional level that
are not covered in regular courses. Students participate
in preparing and presenting discussion material.
CS 418 OPERATING SYSTEMS
F 3 cr. LEC 3
PREREQUISITE: CS 223 and CS 330 or EE 371.
-- Operating systems design including necessary hardware
support. Processes, threads, concurrent programming,
and scheduling. Memory, file, and I/O management. Security
issues.
CS 422 INTRODUCTION TO SIMULATION
F 3 cr. LEC 3
PREREQUISITE: CS 201 and a probability or statistics
course.
-- Discrete and continuous simulation modeling methodology
using a computer simulation language; random number
generation, output analysis, validation, and verification;
application to varied system design and analysis problems.
Cross-listed with I&ME 422.
CS 425 COMPUTER GRAPHICS
F 3 cr. LEC 3
PREREQUISITE: M 221 and CS 223.
--High resolution computer graphics. 3D graphics programming
using a high level API. Vector mathematics for graphics.
Graphics primitives. Curve and surface representations.
Transformations using matrices and quaternions. Representing
natural objects with particle systems and fractals.
Shading and lighting models. Global illumination models.
Color representations.
CS 430 IMAGE PROCESSING
S 3 cr. LEC 3
PREREQUISITE: CS 223.
-- Image processing techniques are used to quantify
and manipulate visual information in diverse applications
such as satellite imagery, robotic vision, and animation.
Topics include enhancement, representation, restoration,
segmentation, and digitization techniques.
CS 432 COMPUTATIONAL BIOLOGY
S odd years 3 cr. LEC 3
PREREQUISITE: CS 222.
-- This course surveys classic and recent problems from
computational biology. Topics covered include algorithms
for genomic sequencing and searching, protein structure
prediction, and regulatory network discovery.
CS 435 DATABASE SYSTEMS
F 3 cr. LEC 3
PREREQUISITE: CS 223.
-- DBMS architecture; major database models; relational
algebra fundamentals; SQL query language; index file
structures, data modeling and management, entity relationship
diagrams.
CS 436 ARTIFICIAL INTELLIGENCE
F 3 cr. LEC 3
PREREQUISITE: CS 223.
-- The fundamental bases of artificial intelligence:
knowledge representation, search, and learning. Applications
include game playing, neural networks, and expert systems.
CS 440 COMPUTER NETWORKS
F 4 cr. LEC 3 LAB 1
PREREQUISITE: CS 223 and CS 201.
-- How computer systems are organized into networks
and how communication over networks is organized. Communication
protocols and their design with an emphasis on current
technology and implementation of software.
CS 445 EMBEDDED SYSTEMS
S even years 3 cr LEC 3.
PREREQUISITE: CS 223 and CS 330 or EE 371.
-- The basic tools and techniques of embedded systems
using robotics as a platform. Student teams will build
an autonomous mobile robot, and learn to program it
to perform increasingly sophisticated behaviors. Besides
providing an introduction to autonomous mobile robot
technologies, the students also learn key concepts of
mechanics, electronics, programming techniques, and
systems design and integration.
CS 450 COMPILERS
S 4 cr. LEC 3 LAB 1
COREQUISITE: CS 350 and CS 355.
-- Senior capstone course. Compiler design and
construction. Scanning, parsing, symbol tables, semantic
analysis, intermediate representations, run-time memory
management, target code generation, and optimization.
Implementation of a small compiler.
CS 451 SOFTWARE ENGINEERING II
S 3 cr. LEC 3
PREREQUISITE: CS 351.
-- Functional specification, formal methods, cost models,
project management, software management, risk analysis,
fault tolerance, metrics, reverse engineering, safety
critical software engineering, real-time systems.
CS 455 COMPUTER SECURITY
S 3 cr. LEC 3
PREREQUISITE: CS 223.
-- Introductory to computer security. Covers security
issues in software design and development from technical,
social and legal viewpoints. Topics include cryptography,
security models, software security, authentication,
authorization, and system security.
CS 470 INDEPENDENT STUDY
On Demand 1 - 3 cr. IND Maximum 6 cr.
PREREQUISITE: Junior standing, consent of instructor,
and approval of department head.
-- Directed research and study on an individual basis.
CS 474 UNDERGRADUATE CONSULTATION
F,S 1 cr. IND
PREREQUISITE: Junior standing and CS 223.
-- Directed assistance to, and involvement in labs,
with lower division CS students. Can only complete once.
CS 476 INTERNSHIP
On Demand 1 - 6 cr. IND
PREREQUISITE: Junior standing, consent of instructor,
and approval of department head.
-- An individualized assignment arranged with an agency,
business or other organization to provide guided experience
in the field.
CS 480 SPECIAL TOPICS
On Demand 1 - 4 cr. Maximum 12 cr.
PREREQUISITE: To be determined based on actual topic
offered.
-- Courses not required in any curriculum for which
there is a particular one-time need, or given on a trial
basis to determine acceptability and demand before requesting
a regular course number.
CS 489R UNDERGRADUATE RESEARCH/CREATIVE
ACTIVITY INSTRUCTION
On Demand 1 cr. RCT May be repeated. Max 4 cr.
PREREQUISITE: Senior standing. Consent of instructor.
-- Classroom instruction associated with directed undergraduate
research/creative activity projects.
CS 490R UNDERGRADUATE RESEARCH/CREATIVE
ACTIVITY
On Demand 1-6 cr. IND May be repeated. Max 12 cr.
PREREQUISITE: Consent of instructor.
COREQUISITE: CS 489.
-- Directed undergraduate research/creative activity
which may culminate in a research paper, journal article,
or undergraduate thesis. Course will address responsible
conduct of research.
CS 499 COMPUTER SCIENCE PROGRAM
ASSESSMENT
F,S 0 cr. IND 0
PREREQUISITE: Graduating Senior.
-- Student participation in Computer Science program
assessment activities such as taking the Computer Science
Major Field Test.
CS 500 SEMINAR
On Demand 1 cr. SEM 1 Maximum 4 cr.
PREREQUISITE: Graduate standing or seniors by petition.
Course prerequisites as determined for each offering.
-- Topics offered at the graduate level which are not
covered in regular courses. Students participate in
preparing and presenting discussion material.
CS 510 COMPUTABILITY
F 3 cr. LEC 3
PREREQUISITE: CS 350.
-- Turing machine computability and decidability; abstract
time and space complexity; intractability.
CS 513 COMPUTATIONAL RESEARCH TOPICS
S odd years 3 cr. LEC 3
PREREQUISITE: To be determined based on actual topic
offered.
-- Focus on a current research topic such as structured
probabilistic models and explore the topic using a project-oriented
format.
CS 515 ALGORITHMS
S 3 cr. LEC 3
PREREQUISITE: CS 223.
-- Concrete time and space complexity; combinatorial
algorithms; greedy algorithms; dynamic programming;
probabilistic and randomized algorithms; branch-and-bound
algorithms.
CS 518 ADVANCED OPERATING SYSTEMS
& SYSTEMS PROGRAMMING RESEARCH
F even years 3 cr. LEC 3
PREREQUISITE: CS 418.
-- Contemporary topics in systems programming and operating
system design and research.
CS 525 GRAPHICS & SCIENTIFIC
VISUALIZATION
S odd years 3 cr. LEC 3
PREREQUISITE: CS 425.
-- Realistic visualization of complex structures. Current
research in high resolution computer graphics. Advanced
graphics computational models. Animation techniques.
Architectures for high resolution graphics.
CS 530 DATA MINING
F even years 3 cr. LEC 3
PREREQUISITE: A probability or statistics course.
-- Clustering, classification and pattern recognition;
performing automated discovery of knowledge from a data
set.
CS 535 ADVANCED DATABASE SYSTEMS
F odd years 3 cr. LEC 3
PREREQUISITE: CS 435 or consent of instructor.
-- Advanced database models including spatial, temporal,
and object-oriented; advanced data indexing techniques,
data warehousing and query optimization.
CS 536 ADVANCED ARTIFICIAL INTELLIGENCE
S even years 3 cr. LEC 3
PREREQUISITE: CS 436.
-- An exposure to advanced topics from the field of
artificial intelligence. Example topics include machine
learning, evolutionary computation, natural language
processing, and cognitive science.
CS 540 DISTRIBUTED COMPUTING
S even years 3 cr. LEC 3
PREREQUISITE: CS 324 and CS 440.
-- The design and implementation of software systems
that utilize multiple host computer networks as a foundation.
Concurrency control, homogeneous and heterogeneous systems,
interprocess communication, protocols and application
design.
CS 541 ADVANCED NETWORKING
S odd years 3 cr. LEC 3
PREREQUISITE: CS 440.
-- This graduate-level course covers advanced topics
in networking, with emphasis on IP and wireless networks.
After taking this course, the students are expected
to know the state-of-the-art in networking algorithms,
protocols and architectures, and to understand how networking
research is done.
CS 545 PARALLEL COMPUTING
F odd years 3 cr. LEC 3
PREREQUISITE: CS 330 and CS 324.
-- Principles of parallel computing. Architectures and
languages for parallel computing. Design and analysis
of parallel algorithms.
CS 550 DESIGN & TRANSLATION
OF PROGRAMMING LANGUAGES
F odd years 3 cr. LEC 3
PREREQUISITE: CS 450.
-- Contemporary topics in programming language design,
advanced compiler design and research.
CS 570 INDEPENDENT STUDY
On Demand 1 - 3 cr. IND Maximum 6 cr.
PREREQUISITE: Graduate standing, consent of instructor
and approval of department head.
-- Directed research and study on an individual basis.
CS 575 MASTER'S PROJECT
F,S,Su 1 - 4 cr. IND Maximum 6 cr.
PREREQUISITE: Graduate standing.
-- A research or professional paper or project dealing
with a topic in the field. The topic must have been
mutually agreed upon by the student and his or her major
advisor and graduate committee.
CS 576 INTERNSHIP
On Demand 1 - 6 cr. IND
PREREQUISITE: Graduate standing, consent of instructor
and approval of department head.
-- An individualized assignment arranged with an agency,
business or other organization to provide guided experience
in the field.
CS 580 SPECIAL TOPICS
On Demand 1 - 4 cr. Maximum 12 cr.
PREREQUISITE: Upper division courses and others as determined
for each offering.
-- Courses not required in any curriculum for which
there is a particular one time need, or given on a trial
basis to determine acceptability and demand before requesting
a regular course number.
CS 589 GRADUATE CONSULTATION
On Demand 1-3 cr. IND
PREREQUISITE: Master's standing and approval of the
Dean of Graduate Studies.
-- This course may be used only by students who have
completed all of their course work, and thesis, if on
a thesis plan but who need additional faculty or staff
time or help.
CS 590 MASTER'S THESIS
F,S,Su 1 - 10 cr. IND Maximum credits unlimited.
PREREQUISITE: Master's standing.
CS 690 DOCTORAL THESIS
F,S,Su 1 - 10 cr. IND Maximum credits unlimited.
PREREQUISITE: Doctoral standing.
Back to Subject Areas
> Back to Table of Contents
|