University of Vermont

2013-2014 Catalogue

Graduate Courses in Computer Science (CS)

CS 201 - Operating Systems
Supervisory and control software for multiprogrammed computer systems. Processes synchronization, interprocess communication, scheduling, memory management, resource allocation, performance evaluation, object-oriented systems, case studies. Prerequisites: CS 101 or CS 121; CS 104 or CS 124.
Credits: 0.00 or 3.00
CS 202 - Compiler Construction
Practice in design and implementation of translators for ALGOL-like languages. Regular and context-free grammars, parsing, code generation for stack and register machines. Interpreters. Run-time storage administration for block-structured languages. Prerequisites: CS 103 or CS 123; CS 243.
Credits: 3.00
CS 204 - Database Systems
Techniques for processing very large collections of data. Secondary storage. Database design and management. Query languages and optimization. Database recovery. Prerequisite: CS 104 or CS 124.
Credits: 3.00
CS 205 - Software Engineering
Treatment of software engineering problems and principles, including documentation, information hiding, and module interface specification syntax and semantics. Requires participation in a team project. Students who receive credit for CS 205 may not receive credit for CS 208 or CS 209. Prerequisite: CS 104 or CS 124. Cross-listed with: CSYS 205.
Credits: 3.00
CS 206 - Evolutionary Robotics
Exploration of the automated design of autonomous machines using evolutionary algorithms. Coursework involves reading of research papers, programming assignments and a final project. Prerequisites: Junior standing and programming experience, or Instructor permission.
Credits: 3.00
CS 208 - Software Requirements&Design
Project management, requirements for software products, design methodologies and formal and informal notations describing designs. Includes developing requirements and design for a substantial software product. Credit not awarded for more than one of CS 205 and CS 208. Prerequisite: CS 104 or CS 124.
Credits: 3.00
CS 209 - Software Implement&Verificat'n
Covers advanced program development methodologies, software performance measuring and tuning and the verification and validation of software. Includes a significant implementation and evaluation project. Credit not awarded for more than one of CS 205 and CS 209. Prerequisite: CS 104 or CS 124.
Credits: 3.00
CS 222 - Computer Architecture
Architecture of computing systems. Control unit logic, input/output processors and devices, asynchronous processing, concurrency, parallelism, and memory hierarchies. Prerequisite: CS 101 or CS 121.
Credits: 3.00
CS 224 - Algorithm Design & Analysis
Comprehensive analysis of common algorithmic paradigms including greedy algorithms, divide and conquer, dynamic programming, graph algorithms, and approximation algorithms. Complexity hierarchies. Prerequisites: CS 104 or CS 124.
Credits: 3.00
CS 228 - Human-Computer Interaction
The design, implementation and evaluation of user interfaces for computers and other complex, electronic equipment. Includes a significant project. Pre/co-requisites: Programming experience and Junior standing or Instructor permission.
Credits: 3.00
CS 231 - Programming for Bioinformatics
Introductory course on computing (including scripting, database, and statistical analysis) for developing bioinformatics applications. Particular emphasis is given to comparative genomics and systems biology scenarios. Prerequisites: STAT 151, STAT 153 or Instructor permission. Cross-listed with: MMG 231.
Credits: 3.00
CS 232 - Methods in Bioinformatics
This course provides a methodological survey of bioinformatics. Particular emphasis is given to algorithms associated with sequence analysis, comparative genomics, structural biology, and systems biology. Prerequisites: STAT 151, STAT 153, or Instructor permission. Cross-listed with: MMG 232.
Credits: 3.00
CS 243 - Theory of Computation
Introduction to theoretical foundations of computer science. Models of computation. Church's thesis and noncomputable problems. Formal languages and automata. Syntax and semantics. Prerequisites: CS 104 or CS 124.
Credits: 3.00
CS 251 - Artificial Intelligence
Introduction to methods for realizing intelligent behavior in computers. Knowledge representation, planning, and learning. Selected applications such as natural language understanding and vision. Prerequisites: CS 103 or CS 123; CS 104 or CS 124; STAT 153 or equivalent. Cross-listed with: CSYS 251.
Credits: 3.00
CS 254 - Machine Learning
Introduction to machine learning, including supervised and unsupervised learning algorithms, reinforcement learning, and computational learning theory. Prerequisites: CS 128, STAT 151 or STAT 153 or equivalent, MATH 121, MATH 124.
Credits: 3.00
CS 256 - Neural Computation
Introduction to artificial neural networks, their computational capabilities and limitations, and the algorithms used to train them. Statistical capacity, convergence theorems, backpropagation, reinforcement learning, generalization. Prerequisites: MATH 124 or MATH 271; STAT 153 or equivalent; computer programming. Cross-listed with: STAT 256, CSYS 256.
Credits: 3.00
CS 260 - Parallel Computing
Taxonomy of parallel computers, basic concepts for parallel computing, effectiveness and scalability, parallel algorithms for variety of problems, distributed memory and shared memory paradigms. Prerequisite: CS 104 or CS 124, or Instructor permission.
Credits: 3.00
CS 265 - Computer Networks
Introduction to the theoretical and pragmatic principles and practices of computer networking. Topics include: local area networks; the Internet; network and world-wide-web application programming. Prerequisites: CS 026 or CS 110, CS 101 or CS 121, and STAT 153 or equivalent.
Credits: 3.00
CS 266 - Network Security&Cryptography
Security and secrecy in a networked environment. Cryptography: public and private key. Authentication: trusted agents, tickets. Electronic mail and digital signatures. Privacy and national security. Prerequisite: CS 104 or CS 124.
Credits: 3.00
CS 274 - Computer Graphics
Graphical representation of two- and three-dimensional objects on color raster displays. Line generation, region filling, geometric transformations, hidden line and surface removal, rendering techniques. Prerequisite: CS 104 or CS 124, MATH 124 or MATH 271, recommended.
Credits: 3.00
CS 276 - Integrative Computing
Integrative computing principles and practices: Abstraction via APIs, distributed systems orchestration, security, application design and implementation. Team projects for mobile and other networked, embedded devices. Prerequisites: Senior standing in Computer Science or Instructor permission.
Credits: 3.00
CS 294 - Independent Readings&Research
Independent readings and investigation under the direction of faculty member. Prerequisite: Department permission.
Credits: 1.00 to 6.00
CS 295 - Special Topic:Computer Science
See Schedule of Courses for specific titles. Subject will vary from year to year. May be repeated for credit.
Credits: 1.00 to 18.00
CS 296 - Special Topic:Computer Science
See Schedule of Courses for specific titles. Subject will vary from year to year. May be repeated for credit.
Credits: 1.00 to 12.00
CS 302 - Modeling Complex Systems
Integrative breadth-first introduction to computational methods for modeling complex systems;numerical methods, cellular automata, agent-based computing, game theory, genetic algorithms, artificial neural networks, and complex networks. Pre/co-requisites: Computer programming in any language, calculus. (Linear algebra recommended). Cross-listed with: CSYS 302.
Credits: 3.00
CS 303 - Adv Top:Prog Environ&Language
Object-oriented, functional, or procedural programming languages, language design, parsing, translation, compilation, interpretation, programming and runtime environments. May be repeated for credit with Instructor permission.
Credits: 3.00
CS 316 - Adv Topi:Computational Science
Topics chosen from engineering and scientific applications, visualization, large-scale data analysis. May be repeated for credit with instructor permission. Prerequisite: Varies by semester. Instructor permission required.
Credits: 3.00
CS 321 - Adv Top:Computer Architecture
Topics from computer architecture, network architecture, array and vector processors, memory hierarchies. May be repeated for credit with Instructor permission. Prerequisite: CS 222.
Credits: 3.00
CS 331 - Adv Tpcs Database&Knwldg Sys
Topics chosen from database design, knowledge based systems, object-oriented and relational systems, data models, knowledge representation. May be repeated for credit with Instructor permission. Prerequisite: CS 204, CS 224.
Credits: 3.00
CS 332 - Data Mining
Analytical and empirical techniques for analysis of large volumes of data. Topics include association analysis, classification, clustering, pattern discovery in sequential data, and Bayesian networks. Prerequisites: STAT 153 or equivalent; CS 251 recommended.
Credits: 3.00
CS 346 - Adv Top:Theory of Computation
Topics from complexity theory, analysis of algorithms, formal languages, combinatorial and geometric algorithms, and theory of databases, networks, distributed algorithms. May be repeated with Instructor permission. Prerequisite: CS 224, CS 243.
Credits: 3.00
CS 351 - Pattern Anyl&Artificial Intell
Topics chosen from pattern analysis, clustering, neural networks, planning, natural language understanding. May be repeated for credit with instructor permission. Prerequisites: CS 224, CS 351.
Credits: 3.00
CS 352 - Evolutionary Computation
Theory and practice of biologically-inspired search strategies, including genetic algorithms, genetic programming, and evolution strategies. Applications include optimization, parameter estimation, and model identification. Significant project. Students from multiple disciplines encouraged. Pre/co-requisites: Familiarity with programming, probability, and statistics. Cross-listed with: BIOL 352, CSYS 352.
Credits: 3.00
CS 355 - Statistical Pattern Recogntn
Analysis of algorithms used for feature selection, density estimation, and pattern classification, including Bayes classifiers, maximum likelihood, nearest neighbors, kernels, discriminants, neural networks, and clustering. Prerequisite: STAT 241 or STAT 251 or Instructor permission. Cross-listed with: STAT 355, CSYS 355.
Credits: 3.00
CS 361 - Adv Topics:Systems Software
Topics chosen from operating systems, distributed or parallel software systems, real-time systems, experimental systems, software engineering. May be repeated for credit with Instructor permission. Prerequisite: CS 201, CS 222.
Credits: 3.00
CS 363 - Computer System Performance
Topics chosen from models of computer and operating system performance and queuing systems. May be repeated for credit with Instructor permission. Prerequisite: CS 201, STAT 151.
Credits: 3.00
CS 365 - Adv Top:Network Design&Anyl
Topics chosen from network design, network protocols, network algorithms, and network performance. May be repeated for credit with Instructor permission. Prerequisite: CS 224, CS 265.
Credits: 3.00
CS 374 - Computer Graphic&Visualization
Topics chosen from computer graphics and visualization, such as rendering, hidden surface removal, animation, data visualization. May be repeated for credit with Instructor permission. Prerequisite: CS 224, CS 274.
Credits: 3.00
CS 381 - Seminar
Presentations by students, faculty, and guest speakers on advanced topics in Computer Science. May be repeated up to three times for credit.
Credits: 1.00
CS 391 - Master's Thesis Research
Credits: 1.00 to 18.00
CS 392 - Master's Project
Prerequisite: Department permission.
Credits: 1.00 to 6.00
CS 394 - Independent Study
Independent readings and investigation under the direction of a faculty member. Prerequisite: Instructor permission.
Credits: 1.00 to 6.00
CS 395 - Special Topics
Subject will vary from year to year. May be repeated for credit. Prerequisite: Instructor permission.
Credits: 1.00 to 6.00
CS 491 - Doctoral Dissertation Research
Credit as arranged.
Credits: 1.00 to 18.00