Twin Cities campus
 
Twin Cities Campus

Computer Science M.S.

Computer Science and Engineering
College of Science and Engineering
Link to a list of faculty for this program.
Contact Information
Department of Computer Science and Engineering, University of Minnesota, 4-192 Keller Hall, 200 Union Street SE, Minneapolis, MN 55455 (612- 625-4002; fax: 612-625-0572)
  • Program Type: Master's
  • Requirements for this program are current for Fall 2017
  • Length of program in credits: 31
  • This program does not require summer semesters for timely completion.
  • Degree: Master of Science
Along with the program-specific requirements listed below, please read the General Information section of this website for requirements that apply to all major fields.
The graduate program in computer science offers coursework from across a broad spectrum of theoretical and applied computer science, combined with research opportunities in nearly all areas of the field. The graduate program's faculty members advise students in such areas as algorithms and theoretical computer science; numerical, parallel, and high-performance computing; distributed computing and systems; artificial intelligence, robotics, and computer vision; databases and data mining; human-computer interaction and information systems; graphics and visualization; software engineering and programming languages; computer architecture and compilers; networking; bio-informatics and computational biology; and computer security. In addition, students may choose a course of study that integrates research in computer science with applications in other fields. Computer science degrees include the MS (offered Plan A with thesis, Plan B with project, or coursework-only Plan C with coursework-based projects), the MCS (a terminal, coursework-only degree), and the PhD. The department also supports a master of science in software engineering (MSSE) degree. Faculty from the Department of Computer Science and Engineering also participate in a variety of other graduate programs, including bioInformatics and computational biology, health informatics, cognitive science, scientific computation, and human factors and ergonomics.
Program Delivery
  • via classroom (the majority of instruction is face-to-face)
  • completely online (all program coursework can be completed online)
  • primarily online (at least 80% of the instruction for the program is online with short, intensive periods of face-to-face coursework)
  • partially online (between 50% to 80% of instruction is online)
Prerequisites for Admission
The preferred undergraduate GPA for admittance to the program is 3.25.
A degree in any major with a substantial background in computer science is required; a computer science major is preferred.
Other requirements to be completed before admission:
Applicants with an inadequate background must resolve any deficiencies before applying to the program. The program requires all applicants to complete the University's online application. The names and email addresses of three recommenders are required; Scores from the General (Aptitude) Test of the GRE are required for MS program applicants. Master's students are accepted for fall admission only. The application deadline is March 1. Additional information is available at https://www.cs.umn.edu/admissions/graduate
Applicants must submit their test score(s) from the following:
  • GRE
International applicants must submit score(s) from one of the following tests:
  • TOEFL
    • Internet Based - Total Score: 85
    • Internet Based - Writing Score: 23
    • Internet Based - Reading Score: 23
    • Paper Based - Total Score: 550
  • IELTS
    • Total Score: 6.5
    • Reading Score: 6.5
    • Writing Score: 6.5
  • MELAB
    • Final score: 80
Key to test abbreviations (GRE, TOEFL, IELTS, MELAB).
For an online application or for more information about graduate education admissions, see the General Information section of this website.
Program Requirements
Plan A: Plan A requires 21 major credits, 0 credits outside the major, and 10 thesis credits. The final exam is written and oral.
Plan B: Plan B requires 31 major credits and 0 credits outside the major. The final exam is oral.
Plan C: Plan C requires 31 major credits and 0 credits outside the major. There is no final exam.
This program may be completed with a minor.
Use of 4xxx courses towards program requirements is not permitted.
A minimum GPA of 3.25 is required for students to remain in good standing.
The MS requires a minimum of 31 credits and is offered under three plans. All plans require students to take one course from each of the 3 breadth areas in computer science (9 credits): theory and algorithms; architecture, systems and software; and applications; and 1 credit of colloquium (CSCI 8970). A minimum of 6 credits in computer science 8xxx-level courses, in addition to the colloquium, must be included in the required coursework for Plan A and Plan C; Plan B students must include a minimum of 3 credits in computer science 8xxx-level courses, in addition to the colloquium and Plan B project credits. Plan A requires 13 credits in computer science coursework, including the breadth courses and colloquium credit, plus 10 thesis credits. The remaining 8 credits may be taken in the major field or any related field as defined by the graduate handbook. Plan B and Plan C require 16 credits in computer science coursework, including the breadth courses and colloquium credit. Plan B students must also include 3 credits of the project course, CSCI 8760. The remaining 15 credits may be taken in the major field or in any related field.
Breadth Courses
Students in all plans must take 3 breath requirement courses, one from each subject area.
Applications
Take 1 or more course(s) from the following:
· CSCI 5115 - User Interface Design, Implementation and Evaluation (3.0 cr)
· CSCI 5125 - Collaborative and Social Computing (3.0 cr)
· CSCI 5271 - Introduction to Computer Security (3.0 cr)
· CSCI 5461 - Functional Genomics, Systems Biology, and Bioinformatics (3.0 cr)
· CSCI 5471 - Modern Cryptography (3.0 cr)
· CSCI 5511 - Artificial Intelligence I (3.0 cr)
· CSCI 5512 - Artificial Intelligence II (3.0 cr)
· CSCI 5521 - Introduction to Machine Learning (3.0 cr)
· CSCI 5523 - Introduction to Data Mining (3.0 cr)
· CSCI 5551 - Introduction to Intelligent Robotic Systems (3.0 cr)
· CSCI 5561 - Computer Vision (3.0 cr)
· CSCI 5607 - Fundamentals of Computer Graphics 1 (3.0 cr)
· CSCI 5608 - Fundamentals of Computer Graphics II (3.0 cr)
· CSCI 5609 - Visualization (3.0 cr)
· CSCI 5611 - Animation & Planning in Games (3.0 cr)
· CSCI 5619 - Virtual Reality and 3D Interaction (3.0 cr)
· CSCI 5707 - Principles of Database Systems (3.0 cr)
Architecture, Systems and Software
Take 1 or more course(s) from the following:
· CSCI 5103 - Operating Systems (3.0 cr)
· CSCI 5106 - Programming Languages (3.0 cr)
· CSCI 5161 - Introduction to Compilers (3.0 cr)
· CSCI 5204 - Advanced Computer Architecture (3.0 cr)
· CSCI 5211 - Data Communications and Computer Networks (3.0 cr)
· CSCI 5221 - Foundations of Advanced Networking (3.0 cr)
· CSCI 5231 - Wireless and Sensor Networks (3.0 cr)
· CSCI 5451 - Introduction to Parallel Computing: Architectures, Algorithms, and Programming (3.0 cr)
· CSCI 5708 - Architecture and Implementation of Database Management Systems (3.0 cr)
· CSCI 5801 - Software Engineering I (3.0 cr)
· CSCI 5802 - Software Engineering II (3.0 cr)
Theory and Algorithims
Take 1 or more course(s) from the following:
· CSCI 5302 - Analysis of Numerical Algorithms (3.0 cr)
· CSCI 5304 - Computational Aspects of Matrix Theory (3.0 cr)
· CSCI 5403 - Computational Complexity (3.0 cr)
· CSCI 5421 - Advanced Algorithms and Data Structures (3.0 cr)
· CSCI 5481 - Computational Techniques for Genomics (3.0 cr)
· CSCI 5525 - Machine Learning (3.0 cr)
Colloquium Credits
Students must take 1 credit of CS Colloquium
CSCI 8970 - Computer Science Colloquium (1.0 cr)
Computer Science Courses
Students may choose additional coursework from this list or consult with their advisor for further options.
Take 0 or more credit(s) from the following:
· CSCI 5103 - Operating Systems (3.0 cr)
· CSCI 5105 - Introduction to Distributed Systems (3.0 cr)
· CSCI 5106 - Programming Languages (3.0 cr)
· CSCI 5115 - User Interface Design, Implementation and Evaluation (3.0 cr)
· CSCI 5125 - Collaborative and Social Computing (3.0 cr)
· CSCI 5143 - Real-Time and Embedded Systems (3.0 cr)
· CSCI 5161 - Introduction to Compilers (3.0 cr)
· CSCI 5204 - Advanced Computer Architecture (3.0 cr)
· CSCI 5211 - Data Communications and Computer Networks (3.0 cr)
· CSCI 5231 - Wireless and Sensor Networks (3.0 cr)
· CSCI 5271 - Introduction to Computer Security (3.0 cr)
· CSCI 5302 - Analysis of Numerical Algorithms (3.0 cr)
· CSCI 5304 - Computational Aspects of Matrix Theory (3.0 cr)
· CSCI 5403 - Computational Complexity (3.0 cr)
· CSCI 5421 - Advanced Algorithms and Data Structures (3.0 cr)
· CSCI 5451 - Introduction to Parallel Computing: Architectures, Algorithms, and Programming (3.0 cr)
· CSCI 5461 - Functional Genomics, Systems Biology, and Bioinformatics (3.0 cr)
· CSCI 5481 - Computational Techniques for Genomics (3.0 cr)
· CSCI 5511 - Artificial Intelligence I (3.0 cr)
· CSCI 5512 - Artificial Intelligence II (3.0 cr)
· CSCI 5521 - Introduction to Machine Learning (3.0 cr)
· CSCI 5523 - Introduction to Data Mining (3.0 cr)
· CSCI 5525 - Machine Learning (3.0 cr)
· CSCI 5551 - Introduction to Intelligent Robotic Systems (3.0 cr)
· CSCI 5552 - Sensing and Estimation in Robotics (3.0 cr)
· CSCI 5561 - Computer Vision (3.0 cr)
· CSCI 5607 - Fundamentals of Computer Graphics 1 (3.0 cr)
· CSCI 5608 - Fundamentals of Computer Graphics II (3.0 cr)
· CSCI 5611 - Animation & Planning in Games (3.0 cr)
· CSCI 5619 - Virtual Reality and 3D Interaction (3.0 cr)
· CSCI 5707 - Principles of Database Systems (3.0 cr)
· CSCI 5708 - Architecture and Implementation of Database Management Systems (3.0 cr)
· CSCI 5715 - From GPS and Virtual Globes to Spatial Computing (3.0 cr)
· CSCI 5801 - Software Engineering I (3.0 cr)
· CSCI 5802 - Software Engineering II (3.0 cr)
· CSCI 5980 - Special Topics in Computer Science (1.0-3.0 cr)
· CSCI 8115 - Human-Computer Interaction and User Interface Technology (3.0 cr)
· CSCI 8205 - Parallel Computer Organization (3.0 cr)
· CSCI 8211 - Advanced Computer Networks and Their Applications (3.0 cr)
· CSCI 8271 - Security and Privacy in Computing (3.0 cr)
· CSCI 8363 - Numerical Linear Algebra in Data Exploration (3.0 cr)
· CSCI 8551 - Intelligent Agents (3.0 cr)
· CSCI 8715 - Spatial Databases and Applications (3.0 cr)
· CSCI 8735 - Advanced Database Systems (3.0 cr)
· CSCI 8970 - Computer Science Colloquium (1.0 cr)
Plan A
Plan A students must take 10 thesis credits.
CSCI 8777 - Thesis Credits: Master's (1.0-18.0 cr)
Plan B
Plan B requires 3 credits of the Plan B project course, CSCI 8760. The Plan B project is a significant project demonstrating the student's familiarity with the tools of research, the capability to work independently, and the ability to effectively relate their results to their committee. A written report describing the Plan B project must be approved by the advisor. A copy of the report should be provided to the committee members at least 1 week before the oral presentation.
CSCI 8760 - Plan B Project (3.0 cr)
Plan C
Plan C is a coursework only degree. Students must complete a minimum of 100 hours of course-based project work, a written research report, and an oral presentation within CSCI courses taken for graduate credit. Students can count at most 3 credits of the following directed research/independent study courses toward their degree plan: CSCI 5994, 8994, 5991, and 8991.
Program Sub-plans
A sub-plan is not required for this program.
Students may not complete the program with more than one sub-plan.
Rochester
University of Minnesota Rochester (UMR) offers the MS in computer science. Students may complete all degree requirements in Rochester via streaming video using the UNITE (University-Industry Television for Education) instructional television system. Students are able to watch class live via the internet or pick up class on a special server at a later time.
 
More program views..
View college catalog(s):
· College of Science and Engineering

View PDF Version:
Search.
Search Programs

Search University Catalogs
Related links.

College of Science and Engineering

Graduate Admissions

Graduate School Fellowships

Graduate Assistantships

Colleges and Schools

One Stop
for tuition, course registration, financial aid, academic calendars, and more
 
CSCI 5115 - User Interface Design, Implementation and Evaluation
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Theory, design, programming, and evaluation of interactive application interfaces. Human capabilities and limitations, interface design and engineering, prototyping and interface construction, interface evaluation, and topics such as data visualization and World Wide Web. Course is built around a group project. prereq: 4041 or instr consent
CSCI 5125 - Collaborative and Social Computing
Credits: 3.0 [max 3.0]
Typically offered: Spring Even Year
Introduction to computer-supported cooperative work, social computing. Technology, research methods, theory, case studies of group computing systems. Readings, hands-on experience. prereq: 5115 or instr consent
CSCI 5271 - Introduction to Computer Security
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Concepts of computer, network, and information security. Risk analysis, authentication, access control, security evaluation, audit trails, cryptography, network/database/application security, viruses, firewalls. prereq: 4061 or equiv or instr consent
CSCI 5461 - Functional Genomics, Systems Biology, and Bioinformatics
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Computational methods for analyzing, integrating, and deriving predictions from genomic/proteomic data. Analyzing gene expression, proteomic data, and protein-protein interaction networks. Protein/gene function prediction, Integrating diverse data, visualizing genomic datasets. prereq: 3003 or 4041 or instr consent
CSCI 5471 - Modern Cryptography
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall & Spring
Introduction to cryptography. Theoretical foundations, practical applications. Threats, attacks, and countermeasures, including cryptosystems and cryptographic protocols. Secure systems/networks. History of cryptography, encryption (conventional, public key), digital signatures, hash functions, message authentication codes, identification, authentication, applications. prereq: [2011, 4041, [familiarity with number theory or finite fields]] or instr consent
CSCI 5511 - Artificial Intelligence I
Credits: 3.0 [max 3.0]
Course Equivalencies: 01666
Prerequisites: [2041 or #], grad student
Typically offered: Every Fall
Introduction to AI. Problem solving, search, inference techniques. Logic/theorem proving. Knowledge representation, rules, frames, semantic networks. Planning/scheduling. Lisp programming language. prereq: [2041 or instr consent], grad student
CSCI 5512 - Artificial Intelligence II
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 5512W/5512
Typically offered: Every Spring
Uncertainty in artificial intelligence. Probability as a model of uncertainty, methods for reasoning/learning under uncertainty, utility theory, decision-theoretic methods. prereq: [STAT 3021, 4041] or instr consent
CSCI 5521 - Introduction to Machine Learning
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall
Problems of pattern recognition, feature selection, measurement techniques. Statistical decision theory, nonstatistical techniques. Automatic feature selection/data clustering. Syntactic pattern recognition. Mathematical pattern recognition/artificial intelligence. prereq: [[2031 or 2033], STAT 3021] or instr consent
CSCI 5523 - Introduction to Data Mining
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall & Spring
Data pre-processing techniques, data types, similarity measures, data visualization/exploration. Predictive models (e.g., decision trees, SVM, Bayes, K-nearest neighbors, bagging, boosting). Model evaluation techniques, Clustering (hierarchical, partitional, density-based), association analysis, anomaly detection. Case studies from areas such as earth science, the Web, network intrusion, and genomics. Hands-on projects. prereq: 4041 or equiv or instr consent
CSCI 5551 - Introduction to Intelligent Robotic Systems
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall
Transformations, kinematics/inverse kinematics, dynamics, control. Sensing (robot vision, force control, tactile sensing), applications of sensor-based robot control, robot programming, mobile robotics, microrobotics. prereq: 2031 or 2033 or instr consent
CSCI 5561 - Computer Vision
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Issues in perspective transformations, edge detection, image filtering, image segmentation, and feature tracking. Complex problems in shape recovery, stereo, active vision, autonomous navigation, shadows, and physics-based vision. Applications. prereq: 5511 or instr consent
CSCI 5607 - Fundamentals of Computer Graphics 1
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Fundamental algorithms in computer graphics. Emphasizes programming projects in C/C++. Scan conversion, hidden surface removal, geometrical transformations, projection, illumination/shading, parametric cubic curves, texture mapping, antialising, ray tracing. Developing graphics software, graphics research. prereq: concurrent registration is required (or allowed) in 2033, concurrent registration is required (or allowed) in 3081
CSCI 5608 - Fundamentals of Computer Graphics II
Credits: 3.0 [max 3.0]
Typically offered: Periodic Spring
Advanced topics in image synthesis, modeling, rendering. Image processing, image warping, global illumination, non-photorealistic rendering, texture synthesis. Parametric cubic surfaces, subdivision surfaces, acceleration techniques, advanced texture mapping. Programming in C/C++. prereq: 5607 or instr consent
CSCI 5609 - Visualization
Credits: 3.0 [max 3.0]
Typically offered: Fall Even Year
Fundamental theory/practice in data visualization. Programming applications. Perceptual issues in effective data representation, multivariate visualization, information visualization, vector field/volume visualization. prereq: [1913, 4041] or equiv or instr consent
CSCI 5611 - Animation & Planning in Games
Credits: 3.0 [max 3.0]
Typically offered: Fall Odd Year
Theory behind algorithms used to bring virtual worlds to life. Computer animation topics. Real-time, interactive techniques used in modern games. Physically-based animation, motion planning, character animation, simulation in virtual worlds. prereq: 4041 or 4611 or instr consent
CSCI 5619 - Virtual Reality and 3D Interaction
Credits: 3.0 [max 3.0]
Typically offered: Spring Odd Year
Introduction to software, technology/applications in virtual/augmented reality, 3D user interaction. Overview of current research. Hands-on projects. prereq: 4611 or 5607 or 5115 or equiv or instr consent
CSCI 5707 - Principles of Database Systems
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 4707/5707/INET 4707
Typically offered: Every Fall
Concepts, database architecture, alternative conceptual data models, foundations of data manipulation/analysis, logical data models, database designs, models of database security/integrity, current trends. prereq: [4041 or instr consent], grad student
CSCI 5103 - Operating Systems
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Conceptual foundation of operating system designs and implementations. Relationships between operating system structures and machine architectures. UNIX implementation mechanisms as examples. prereq: 4061 or instr consent
CSCI 5106 - Programming Languages
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Design and implementation of high-level languages. Course has two parts: (1) language design principles, concepts, constructs; (2) language paradigms, applications. Note: course does not teach how to program in specific languages. prereq: 4011 or instr consent
CSCI 5161 - Introduction to Compilers
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Techniques for translating modern programming languages to intermediate forms or machine-executable instructions/their organization into compiler. Lexical analysis, syntax analysis, semantic analysis, data flow analysis, code generation. Compiler project for prototypical language. prereq: [2021, 5106] or instr consent
CSCI 5204 - Advanced Computer Architecture
Credits: 3.0 [max 3.0]
Course Equivalencies: 00579
Typically offered: Every Fall
Instruction set architecture, processor microarchitecture, memory, I/O systems. Interactions between computer software and hardware. Methodologies of computer design. prereq: 4203 or EE 4363
CSCI 5211 - Data Communications and Computer Networks
Credits: 3.0 [max 3.0]
Course Equivalencies: 00495 - CSci 4211/5211
Typically offered: Every Fall
Cconcepts, principles, protocols, and applications of computer networks. Layered network architectures, data link protocols, local area networks, network layer/routing protocols, transport, congestion/flow control, emerging high-speed networks, network programming interfaces, networked applications. Case studies using Ethernet, Token Ring, FDDI, TCP/IP, ATM, Email, HTTP, and WWW. prereq: [4061 or instr consent], basic knowledge of [computer architecture, operating systems, probability], grad student
CSCI 5221 - Foundations of Advanced Networking
Credits: 3.0 [max 3.0]
Typically offered: Spring Even Year
Design principles, protocol mechanisms. Network algorithmics, implementation techniques. Advanced network architectures, state-of-art/emerging networking technologies/applications, network modeling. Simulation, experiments. prereq: 4211 or 5211 or equiv; intro course in computer networks recommended
CSCI 5231 - Wireless and Sensor Networks
Credits: 3.0 [max 3.0]
Typically offered: Spring Odd Year
Enabling technologies, including hardware, embedded operating systems, programming environment, communication, networking, and middleware services. Hands-on experience in programming tiny communication devices. prereq: 4211 or 5211 or instr consent
CSCI 5451 - Introduction to Parallel Computing: Architectures, Algorithms, and Programming
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Parallel architectures design, embeddings, routing. Examples of parallel computers. Fundamental communication operations. Performance metrics. Parallel algorithms for sorting. Matrix problems, graph problems, dynamic load balancing, types of parallelisms. Parallel programming paradigms. Message passing programming in MPI. Shared-address space programming in openMP or threads. prereq: 4041 or instr consent
CSCI 5708 - Architecture and Implementation of Database Management Systems
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Techniques in commercial/research-oriented database systems. Catalogs. Physical storage techniques. Query processing/optimization. Transaction management. Mechanisms for concurrency control, disaster recovery, distribution, security, integrity, extended data types, triggers, and rules. prereq: 4707 or 5707 or instr consent
CSCI 5801 - Software Engineering I
Credits: 3.0 [max 3.0]
Prerequisites: 2041 or #
Typically offered: Every Fall
Advanced introduction to software engineering. Software life cycle, development models, software requirements analysis, software design, coding, maintenance. prereq: 2041 or instr consent
CSCI 5802 - Software Engineering II
Credits: 3.0 [max 3.0]
Typically offered: Periodic Spring
Introduction to software testing, software maturity models, cost specification models, bug estimation, software reliability models, software complexity, quality control, and experience report. Student groups specify, design, implement, and test partial software systems. Application of general software development methods and principles from 5801. prereq: 5801 or instr consent
CSCI 5302 - Analysis of Numerical Algorithms
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Additional topics in numerical analysis. Interpolation, approximation, extrapolation, numerical integration/differentiation, numerical solutions of ordinary differential equations. Introduction to optimization techniques. prereq: 2031 or 2033 or instr consent
CSCI 5304 - Computational Aspects of Matrix Theory
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Perturbation theory for linear systems and eigenvalue problems. Direct/iterative solution of large linear systems. Matrix factorizations. Computation of eigenvalues/eigenvectors. Singular value decomposition. LAPACK/other software packages. Introduction to sparse matrix methods. prereq: 2031 or 2033 or instr consent
CSCI 5403 - Computational Complexity
Credits: 3.0 [max 3.0]
Prerequisites: 4041 or #
Typically offered: Periodic Fall & Spring
Computational models, complexity measures in each model, and related complexity classes. prereq: 4041 or instr consent
CSCI 5421 - Advanced Algorithms and Data Structures
Credits: 3.0 [max 3.0]
Typically offered: Every Fall & Spring
Fundamental paradigms of algorithm and data structure design. Divide-and-conquer, dynamic programming, greedy method, graph algorithms, amortization, priority queues and variants, search structures, disjoint-set structures. Theoretical underpinnings. Examples from various problem domains. prereq: 4041 or instr consent
CSCI 5481 - Computational Techniques for Genomics
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Techniques to analyze biological data generated by genome sequencing, proteomics, cell-wide measurements of gene expression changes. Algorithms for single/multiple sequence alignments/assembly. Search algorithms for sequence databases, phylogenetic tree construction algorithms. Algorithms for gene/promoter and protein structure prediction. Data mining for micro array expression analysis. Reverse engineering of regulatory networks. prereq: 4041 or instr consent
CSCI 5525 - Machine Learning
Credits: 3.0 [max 3.0]
Typically offered: Fall Even Year
Models of learning. Supervised algorithms such as perceptrons, logistic regression, and large margin methods (SVMs, boosting). Hypothesis evaluation. Learning theory. Online algorithms such as winnow and weighted majority. Unsupervised algorithms, dimensionality reduction, spectral methods. Graphical models. prereq: Grad student or instr consent
CSCI 8970 - Computer Science Colloquium
Credits: 1.0 [max 1.0]
Grading Basis: S-N or Aud
Typically offered: Every Fall & Spring
Recent developments in computer science and related disciplines. Students must attend 13 of the 15 lectures.
CSCI 5103 - Operating Systems
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Conceptual foundation of operating system designs and implementations. Relationships between operating system structures and machine architectures. UNIX implementation mechanisms as examples. prereq: 4061 or instr consent
CSCI 5105 - Introduction to Distributed Systems
Credits: 3.0 [max 3.0]
Typically offered: Periodic Spring
Distributed system design and implementation. Distributed communication and synchronization, data replication and consistency, distributed file systems, fault tolerance, and distributed scheduling. prereq: [5103 or equiv] or instr consent
CSCI 5106 - Programming Languages
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Design and implementation of high-level languages. Course has two parts: (1) language design principles, concepts, constructs; (2) language paradigms, applications. Note: course does not teach how to program in specific languages. prereq: 4011 or instr consent
CSCI 5115 - User Interface Design, Implementation and Evaluation
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Theory, design, programming, and evaluation of interactive application interfaces. Human capabilities and limitations, interface design and engineering, prototyping and interface construction, interface evaluation, and topics such as data visualization and World Wide Web. Course is built around a group project. prereq: 4041 or instr consent
CSCI 5125 - Collaborative and Social Computing
Credits: 3.0 [max 3.0]
Typically offered: Spring Even Year
Introduction to computer-supported cooperative work, social computing. Technology, research methods, theory, case studies of group computing systems. Readings, hands-on experience. prereq: 5115 or instr consent
CSCI 5143 - Real-Time and Embedded Systems
Credits: 3.0 [max 3.0]
Grading Basis: A-F only
Typically offered: Periodic Spring
Real-time systems that require timely response by computer to external stimulus. Embedded systems in which computer is part of machine. Increasing importance of these systems in commercial products. How to control robots and video game consoles. Lecture, informal lab. prereq: [4061 or instr consent], experience with C language
CSCI 5161 - Introduction to Compilers
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Techniques for translating modern programming languages to intermediate forms or machine-executable instructions/their organization into compiler. Lexical analysis, syntax analysis, semantic analysis, data flow analysis, code generation. Compiler project for prototypical language. prereq: [2021, 5106] or instr consent
CSCI 5204 - Advanced Computer Architecture
Credits: 3.0 [max 3.0]
Course Equivalencies: 00579
Typically offered: Every Fall
Instruction set architecture, processor microarchitecture, memory, I/O systems. Interactions between computer software and hardware. Methodologies of computer design. prereq: 4203 or EE 4363
CSCI 5211 - Data Communications and Computer Networks
Credits: 3.0 [max 3.0]
Course Equivalencies: 00495 - CSci 4211/5211
Typically offered: Every Fall
Cconcepts, principles, protocols, and applications of computer networks. Layered network architectures, data link protocols, local area networks, network layer/routing protocols, transport, congestion/flow control, emerging high-speed networks, network programming interfaces, networked applications. Case studies using Ethernet, Token Ring, FDDI, TCP/IP, ATM, Email, HTTP, and WWW. prereq: [4061 or instr consent], basic knowledge of [computer architecture, operating systems, probability], grad student
CSCI 5231 - Wireless and Sensor Networks
Credits: 3.0 [max 3.0]
Typically offered: Spring Odd Year
Enabling technologies, including hardware, embedded operating systems, programming environment, communication, networking, and middleware services. Hands-on experience in programming tiny communication devices. prereq: 4211 or 5211 or instr consent
CSCI 5271 - Introduction to Computer Security
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Concepts of computer, network, and information security. Risk analysis, authentication, access control, security evaluation, audit trails, cryptography, network/database/application security, viruses, firewalls. prereq: 4061 or equiv or instr consent
CSCI 5302 - Analysis of Numerical Algorithms
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Additional topics in numerical analysis. Interpolation, approximation, extrapolation, numerical integration/differentiation, numerical solutions of ordinary differential equations. Introduction to optimization techniques. prereq: 2031 or 2033 or instr consent
CSCI 5304 - Computational Aspects of Matrix Theory
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Perturbation theory for linear systems and eigenvalue problems. Direct/iterative solution of large linear systems. Matrix factorizations. Computation of eigenvalues/eigenvectors. Singular value decomposition. LAPACK/other software packages. Introduction to sparse matrix methods. prereq: 2031 or 2033 or instr consent
CSCI 5403 - Computational Complexity
Credits: 3.0 [max 3.0]
Prerequisites: 4041 or #
Typically offered: Periodic Fall & Spring
Computational models, complexity measures in each model, and related complexity classes. prereq: 4041 or instr consent
CSCI 5421 - Advanced Algorithms and Data Structures
Credits: 3.0 [max 3.0]
Typically offered: Every Fall & Spring
Fundamental paradigms of algorithm and data structure design. Divide-and-conquer, dynamic programming, greedy method, graph algorithms, amortization, priority queues and variants, search structures, disjoint-set structures. Theoretical underpinnings. Examples from various problem domains. prereq: 4041 or instr consent
CSCI 5451 - Introduction to Parallel Computing: Architectures, Algorithms, and Programming
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Parallel architectures design, embeddings, routing. Examples of parallel computers. Fundamental communication operations. Performance metrics. Parallel algorithms for sorting. Matrix problems, graph problems, dynamic load balancing, types of parallelisms. Parallel programming paradigms. Message passing programming in MPI. Shared-address space programming in openMP or threads. prereq: 4041 or instr consent
CSCI 5461 - Functional Genomics, Systems Biology, and Bioinformatics
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Computational methods for analyzing, integrating, and deriving predictions from genomic/proteomic data. Analyzing gene expression, proteomic data, and protein-protein interaction networks. Protein/gene function prediction, Integrating diverse data, visualizing genomic datasets. prereq: 3003 or 4041 or instr consent
CSCI 5481 - Computational Techniques for Genomics
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Techniques to analyze biological data generated by genome sequencing, proteomics, cell-wide measurements of gene expression changes. Algorithms for single/multiple sequence alignments/assembly. Search algorithms for sequence databases, phylogenetic tree construction algorithms. Algorithms for gene/promoter and protein structure prediction. Data mining for micro array expression analysis. Reverse engineering of regulatory networks. prereq: 4041 or instr consent
CSCI 5511 - Artificial Intelligence I
Credits: 3.0 [max 3.0]
Course Equivalencies: 01666
Prerequisites: [2041 or #], grad student
Typically offered: Every Fall
Introduction to AI. Problem solving, search, inference techniques. Logic/theorem proving. Knowledge representation, rules, frames, semantic networks. Planning/scheduling. Lisp programming language. prereq: [2041 or instr consent], grad student
CSCI 5512 - Artificial Intelligence II
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 5512W/5512
Typically offered: Every Spring
Uncertainty in artificial intelligence. Probability as a model of uncertainty, methods for reasoning/learning under uncertainty, utility theory, decision-theoretic methods. prereq: [STAT 3021, 4041] or instr consent
CSCI 5521 - Introduction to Machine Learning
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall
Problems of pattern recognition, feature selection, measurement techniques. Statistical decision theory, nonstatistical techniques. Automatic feature selection/data clustering. Syntactic pattern recognition. Mathematical pattern recognition/artificial intelligence. prereq: [[2031 or 2033], STAT 3021] or instr consent
CSCI 5523 - Introduction to Data Mining
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall & Spring
Data pre-processing techniques, data types, similarity measures, data visualization/exploration. Predictive models (e.g., decision trees, SVM, Bayes, K-nearest neighbors, bagging, boosting). Model evaluation techniques, Clustering (hierarchical, partitional, density-based), association analysis, anomaly detection. Case studies from areas such as earth science, the Web, network intrusion, and genomics. Hands-on projects. prereq: 4041 or equiv or instr consent
CSCI 5525 - Machine Learning
Credits: 3.0 [max 3.0]
Typically offered: Fall Even Year
Models of learning. Supervised algorithms such as perceptrons, logistic regression, and large margin methods (SVMs, boosting). Hypothesis evaluation. Learning theory. Online algorithms such as winnow and weighted majority. Unsupervised algorithms, dimensionality reduction, spectral methods. Graphical models. prereq: Grad student or instr consent
CSCI 5551 - Introduction to Intelligent Robotic Systems
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall
Transformations, kinematics/inverse kinematics, dynamics, control. Sensing (robot vision, force control, tactile sensing), applications of sensor-based robot control, robot programming, mobile robotics, microrobotics. prereq: 2031 or 2033 or instr consent
CSCI 5552 - Sensing and Estimation in Robotics
Credits: 3.0 [max 3.0]
Typically offered: Periodic Spring
Bayesian estimation, maximum likelihood estimation, Kalman filtering, particle filtering. Sensor modeling and fusion. Mobile robot motion estimation (odometry, inertial,laser scan matching, vision-based) and path planning. Map representations, landmark-based localization, Markov localization, simultaneous localization/mapping (SLAM), multi-robot localization/mapping. prereq: [5551, Stat 3021] or instr consent
CSCI 5561 - Computer Vision
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Issues in perspective transformations, edge detection, image filtering, image segmentation, and feature tracking. Complex problems in shape recovery, stereo, active vision, autonomous navigation, shadows, and physics-based vision. Applications. prereq: 5511 or instr consent
CSCI 5607 - Fundamentals of Computer Graphics 1
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Fundamental algorithms in computer graphics. Emphasizes programming projects in C/C++. Scan conversion, hidden surface removal, geometrical transformations, projection, illumination/shading, parametric cubic curves, texture mapping, antialising, ray tracing. Developing graphics software, graphics research. prereq: concurrent registration is required (or allowed) in 2033, concurrent registration is required (or allowed) in 3081
CSCI 5608 - Fundamentals of Computer Graphics II
Credits: 3.0 [max 3.0]
Typically offered: Periodic Spring
Advanced topics in image synthesis, modeling, rendering. Image processing, image warping, global illumination, non-photorealistic rendering, texture synthesis. Parametric cubic surfaces, subdivision surfaces, acceleration techniques, advanced texture mapping. Programming in C/C++. prereq: 5607 or instr consent
CSCI 5611 - Animation & Planning in Games
Credits: 3.0 [max 3.0]
Typically offered: Fall Odd Year
Theory behind algorithms used to bring virtual worlds to life. Computer animation topics. Real-time, interactive techniques used in modern games. Physically-based animation, motion planning, character animation, simulation in virtual worlds. prereq: 4041 or 4611 or instr consent
CSCI 5619 - Virtual Reality and 3D Interaction
Credits: 3.0 [max 3.0]
Typically offered: Spring Odd Year
Introduction to software, technology/applications in virtual/augmented reality, 3D user interaction. Overview of current research. Hands-on projects. prereq: 4611 or 5607 or 5115 or equiv or instr consent
CSCI 5707 - Principles of Database Systems
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 4707/5707/INET 4707
Typically offered: Every Fall
Concepts, database architecture, alternative conceptual data models, foundations of data manipulation/analysis, logical data models, database designs, models of database security/integrity, current trends. prereq: [4041 or instr consent], grad student
CSCI 5708 - Architecture and Implementation of Database Management Systems
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Techniques in commercial/research-oriented database systems. Catalogs. Physical storage techniques. Query processing/optimization. Transaction management. Mechanisms for concurrency control, disaster recovery, distribution, security, integrity, extended data types, triggers, and rules. prereq: 4707 or 5707 or instr consent
CSCI 5715 - From GPS and Virtual Globes to Spatial Computing
Credits: 3.0 [max 3.0]
Typically offered: Spring Even Year
Mathematical concepts, geo-information, representations, algorithms, data-structures/access methods, analysis, architectures, interfaces, reasoning, time. prereq: Familiarity with Java, C++, or Python
CSCI 5801 - Software Engineering I
Credits: 3.0 [max 3.0]
Prerequisites: 2041 or #
Typically offered: Every Fall
Advanced introduction to software engineering. Software life cycle, development models, software requirements analysis, software design, coding, maintenance. prereq: 2041 or instr consent
CSCI 5802 - Software Engineering II
Credits: 3.0 [max 3.0]
Typically offered: Periodic Spring
Introduction to software testing, software maturity models, cost specification models, bug estimation, software reliability models, software complexity, quality control, and experience report. Student groups specify, design, implement, and test partial software systems. Application of general software development methods and principles from 5801. prereq: 5801 or instr consent
CSCI 5980 - Special Topics in Computer Science
Credits: 1.0 -3.0 [max 9.0]
Typically offered: Periodic Fall & Spring
Lectures and informal discussions on current topics in computer science. prereq: instr consent; may be repeated for cr
CSCI 8115 - Human-Computer Interaction and User Interface Technology
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall & Spring
Current research issues in human-computer interaction, user interface toolkits and frameworks, and related areas. Research techniques, model-based development, gesture-based interfaces, constraint-based programming, event processing models, innovative systems, HCI in multimedia systems. prereq: 5115 or instr consent
CSCI 8205 - Parallel Computer Organization
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 8205/EE 8367
Typically offered: Every Spring
Design/implementation of multiprocessor systems. Parallel machine organization, system design. Differences between parallel, uniprocessor machines. Programming models. Synchronization/communication. Topologies, message routing strategies. Performance optimization techniques. Compiler, system software issues. prereq: 5204 or EE 5364 or instr consent
CSCI 8211 - Advanced Computer Networks and Their Applications
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall & Spring
Current research issues in traffic and resource management, quality-of-service provisioning for integrated services networks (such as next-generation Internet and ATM networks) and multimedia networking. prereq: 5211 or instr consent
CSCI 8271 - Security and Privacy in Computing
Credits: 3.0 [max 3.0]
Grading Basis: A-F or Aud
Typically offered: Periodic Fall
Recent security/privacy issues in computer systems/networks. Threats, attacks, countermeasures. Security research, authentication, network security, wireless security, computer system security, anonymous system, pseudonym, access control, intrusion detection system, cryptographic protocols. How to pursue research in security and design secure systems. prereq: [5211, 5103] or instr consent; 5471 or EE 5248 or Math 5248 or equiv recommended
CSCI 8363 - Numerical Linear Algebra in Data Exploration
Credits: 3.0 [max 3.0]
Typically offered: Periodic Spring
Computational methods in linear algebra, matrix decompositions for linear equations, least squares, eigenvalue problems, singular value decomposition, conditioning, stability in method for machine learning, large data collections. Principal directions, unsupervised clustering, latent semantic indexing, linear least squares fit. Markov chain models on hyperlink structure. prereq: 5304 or instr consent
CSCI 8551 - Intelligent Agents
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall
Theories of intelligent agents. Agent architectures; knowledge representation, communication, cooperation, and negotiation among multiple agents; planning and learning; issues in designing agents with a physical body; dealing with sensors and actuators; world modeling. prereq: 5511 or instr consent
CSCI 8715 - Spatial Databases and Applications
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall & Spring
Motivation, models of spatial information, querying spatial data, processing strategies for spatial queries, multi-dimensional storage/access methods, spatial graph datasets, spatial data mining, trends (e.g., spatio-temporal databases, mobile objects, raster databases), research literature, how to pursue research. prereq: 4707 or 5707 or 5715 or GIS 5571 or GIS 5573
CSCI 8735 - Advanced Database Systems
Credits: 3.0 [max 3.0]
Grading Basis: A-F or Aud
Typically offered: Periodic Fall
Database systems for emerging applications, nontraditional query processors, multi-dimensional data indexing. Current research trends. prereq: 4707 or 5707 or 5708
CSCI 8970 - Computer Science Colloquium
Credits: 1.0 [max 1.0]
Grading Basis: S-N or Aud
Typically offered: Every Fall & Spring
Recent developments in computer science and related disciplines. Students must attend 13 of the 15 lectures.
CSCI 8777 - Thesis Credits: Master's
Credits: 1.0 -18.0 [max 50.0]
Grading Basis: No Grade
Typically offered: Every Fall, Spring & Summer
(No description) prereq: Max 18 cr per semester or summer; 10 cr total required [Plan A only]
CSCI 8760 - Plan B Project
Credits: 3.0 [max 3.0]
Grading Basis: S-N or Aud
Typically offered: Every Fall & Spring
Project arranged between student and faculty. prereq: CSci MS student, instr consent
CSCI 8777 - Thesis Credits: Master's
Credits: 1.0 -18.0 [max 50.0]
Grading Basis: No Grade
Typically offered: Every Fall, Spring & Summer
(No description) prereq: Max 18 cr per semester or summer; 10 cr total required [Plan A only]
CSCI 8760 - Plan B Project
Credits: 3.0 [max 3.0]
Grading Basis: S-N or Aud
Typically offered: Every Fall & Spring
Project arranged between student and faculty. prereq: CSci MS student, instr consent