CS
Computer Science
Department of Computer Science
(406) 994-4780
CS 150 COMPUTER LITERACY
CS 160 INTRODUCTION TO COMPUTER SCIENCE
CS 201 PROGRAM DESIGN WITH C
CS 215 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 304 MULTIMEDIA DEVELOPMENT METHODS
CS 309 SYSTEMS ADMINISTRATION
CS 324 PROGRAMMING STRATEGIES
CS 330 COMPUTER ORGANIZATION AND ARCHITECTURE
CS 350 THEORY OF COMPUTATION
CS 351 SOFTWARE ENGINEERING
CS 355 PROGRAMMING PARADIGMS
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 460R SENIOR DESIGN PROJECT I
CS 461R SENIOR DESIGN PROJECT II
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 COMPLEXITY
CS 515 ANALYSIS OF ALGORITHMS
CS 518 ADVANCED OPERATING SYSTEMS & SYSTEMS PROGRAMMING RESEARCH
CS 525 GRAPHICS & SCIENTIFIC VISUALIZATION
CS 530 DATA MINING
CS 535 DATABASE THEORY
CS 536 ADVANCED ARTIFICIAL INTELLIGENCE
CS 540 DISTRIBUTED COMPUTING
CS 545 PARALLEL COMPUTING
CS 550 DESIGN & TRANSLATION OF PROGRAMMING LANGUAGES
CS 570 INDEPENDENT STUDY
CS 571 RESEARCH EXPERIENCE
CS 575 RESEARCH OR PROFESSIONAL PAPER/PROJECT
CS 580 SPECIAL TOPICS
CS 589 GRADUATE CONSULTATION
CS 590 MASTER'S THESIS
CS 690 DOCTORAL THESIS
CS 150 COMPUTER LITERACY
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 160 INTRODUCTION TO COMPUTER SCIENCE
F,S 4 cr. LEC 3 LAB 1
COREQUISITE: MATH 160.
-- The first course for CS majors and minors, covering tools used in advanced study: 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 Unix fundamentals. No previous programming experience required.
CS 201 PROGRAM DESIGN WITH C
S 3 cr. LEC 2 LAB 1
PREREQUISITE: CS 160.
COREQUISITE: MATH 160.
-- C Programming knowledge. Introduces imperative programming and the C standard library. Course covers pointers, memory management and structures.
CS 215 SOCIAL & ETHICAL ISSUES IN COMPUTING
F 2 cr. LEC 1 RCT 1
PREREQUISITE: CS 221 and W core and US core or permission of instructor.
-- 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
S, F, Su 4 cr. LEC 3 LAB 1
PREREQUISITE: CS 160.
COREQUISITE: MATH 181.
-- An examination of advanced Java and basic data structures and their application in problem solving. Data structures include stacks, queues, hash tables 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, Su 3 cr. LEC 3
PREREQUISITE: CS 160.
COREQUISITE: MATH 181.
-- 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, Su 4 cr. LEC 3 LAB 1.
PREREQUISITE: CS 221, CS 222.
COREQUISITE: MATH 181.
-- 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.
CS 304 MULTIMEDIA DEVELOPMENT METHODS
S, even years 3 cr. LEC 2 LAB 1
PREREQUISITE: CS 301 or CS 221.
-- 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 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 PROGRAMMING STRATEGIES
F,3 cr. LEC 3
PREREQUISITE: CS 223.
-- An examination of advanced programming techniques and their application.
The examination of the efficiency of the algorithms leads
to discussions of the applicability of the techniques. Topics include
probabilistic algorithms, advanced graph problems and theory, distributed
and parallel programming, and real time systems. Issues including working
within time and space constraints.
CS 330 COMPUTER ORGANIZATION AND ARCHITECTURE
F 4 cr. LEC 3 LAB 1
PREREQUISITE: CS 221.
-- Machine organization and assembly language programming. Architectural considerations in computer and software design. Digital logic, memory, I/O, ALU, instruction set, and control unit. RISC, superscalar, and parallel processor architecture.
CS 350 THEORY OF COMPUTATION
S 3 cr. LEC 3
PREREQUISITE: CS 222.
COREQUISITE: MATH 182.
-- Formal languages, theory, automata, Turing Machines, computability, the Church-Turing thesis, computational complexity, and intractability.
CS 351 SOFTWARE ENGINEERING I
F 4 cr. LEC 3 LAB 1
PREREQUISITE: CS 223 and ENGL 223.
-- 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 PROGRAMMING PARADIGMS
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 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 I&ME 354 or STAT 217.
-- 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 4 cr. LEC 3 LAB 1
PREREQUISITE: MATH 221 and CS 223.
-- High resolution computer graphics. 3D graphics programming using a high level API. Graphics primitives for lines, circles, and polygons. Curve and surface representations using line segments, polygons, parametric curves and parametric surfaces. 2D and 3D transformations. Fractals and chaotic models. Shading and lighting models.
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 2 cr. LEC 2
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.
-- Database architecture; major database models; relational database fundamentals; SQL query language; database file structures, data modeling and management, entity relationship diagram runs.
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. Common Lisp and CLOS are introduced.
CS 440 COMPUTER NETWORKS
F 4 cr. LEC 3 LAB 1
PREREQUISITE: CS 223 and CS 201 and I&ME 354 or STAT 217.
-- 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 odd years 3 cr LEC 2 LAB 1.
PREREQUISITE: CS 223 and CS 330 or EE 371.
-- The design and implementation of embedded and real time computing systems including both operating and control systems. The course emphasis will be on the hardware/software interface, programming techniques for asynchronous mechanisms, and state of the art tools for developing and supporting embedded systems.
CS 450 COMPILERS
S 4 cr. LEC 3 LAB 1
COREQUISITE: CS 350 and CS 355.
-- Compiler design and construction. Scanning, parsing, symbol tables, semantic analysis, intermediate reoresentatins, run-time memory management, target code generation, and optimization. Implementation of a small compiler.
CS 451 SOFTWARE ENGINEERING II
S 4 cr. LEC 3 LAB 1
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 460R SENIOR DESIGN PROJECT I
F,S,Su 3 cr. LEC 1 LAB 2
PREREQUISITE: CS 324, CS 352 and ENGL 223.
-- A significant group-based project to solicit requirements, specify, design, build, document and test a software artifact. Can be used for multidisciplinary project work. (First semester of a two semester sequence).
CS 461R SENIOR DESIGN PROJECT II
F,S,Su 3 cr. LEC 1 LAB 2
PREREQUISITE: CS 460 and approval of instructor.
-- Continuation of CS 460.
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 1 cr.
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 2 - 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 - 3 cr. Maximum 12 cr.
PREREQUISITE: Course prerequisites 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 489R UNDERGRADUATE RESEARCH/CREATIVE ACTIVITY INSTRUCTION
On Demand 1 - 2 cr. RCT May be repeated. Max 4 cr.
PREREQUISITE: Junior standing. Consent of instructor and approval of department head.
COREQUISITE: CS 490.
-- 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.
COREQUISITE: CS 489 Consent of instructor and approval of department head.
-- Directed undergraduate research/creative activity which may culminate in a research paper, journal article, or undergraduate thesis.
CS 499 COMPUTER SCIENCE PROGRAM ASSESSMENT
F,S 0 cr. IND 0
PREREQUISITE: Graduating Senior.
-- Student participation in Computer Science program assessment. Requirements to complete 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 COMPLEXITY
S odd years 3 cr. LEC 3
PREREQUISITE: CS 510.
-- NP-completeness and NP-hardness. Abstract complexity classes. Intractability. Interactive and zero-knowledge proof systems. Approximability. Polynomial and non-polynomial time hierarchies.
CS 515 ANALYSIS OF ALGORITHMS
S 3 cr. LEC 3
PREREQUISITE: CS 324 and CS 350.
-- 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 alternate years 3 cr. LEC 3
PREREQUISITE: STAT 217 or I&ME 354 and either CS 435 or CS 535.
-- Clustering, classification and pattern recognition; performing automated discovery of knowledge from a data set.
CS 535 DATABASE THEORY
S odd years 3 cr. LEC 3
PREREQUISITE: CS 435.
-- Advanced database models including active, distributed, deductive, temporal, object-oriented, and web-based; normalization theory 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. Topics include machine learning, artificial life, 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, inter process communication, protocols and application design.
CS 545 PARALLEL COMPUTING
F alternate years, beginning 2007 3 cr. LEC 3
PREREQUISITE: CS 330 and CS 324.
-- Models of parallel computation, architectures, operating systems, and compilers. Algorithm design for vector, array, and multi-processors.
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, approval of department head and Dean of Graduate Studies.
-- Directed research and study on an individual basis.
CS 571 RESEARCH EXPERIENCE
F,S,Su 1 cr. IND 1 Maximum 4 cr.
PREREQUISITE: Graduate standing.
-- Research experience normally obtained through participation in a supervised research project acceptable to the department graduate committee.
CS 575 RESEARCH OR PROFESSIONAL PAPER/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 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
|