Term: Spring 2015
Subject: Computer Science
Provides a strong foundation in HTML, CSS, images, beginning web programming, and web design so that the student can create a complete functional web site.
Introduction to computer programming principles using MATLAB, with applications chosen from civil, electrical, environmental, and mechanical engineering. Co-requisite: MATH 021. Cross-listed with: ENGR 020. Credit not given for both CS 016 and CS 020/ENGR 020.
Introduction to algorithmic problem solving. Designed to provide a foundation for further studies in computer science. Prerequisites: MATH 010 or a strong background in secondary school algebra and trigonometry.
Introduction to C programming for those already familiar with another programming language. Variable types, pointers, memory allocation, input/output, math, time, and other library calls. Prerequisites: One of CS 016, CS 020, CS 021 or equivalent.
A fun and accessible breadth-first introduction to the CS community and curricula at UVM. CS faculty serve as guest lecturers to introduce new CS majors to selected topics covered in upper division UVM CS electives. Prerequisites: Computer Science or Computer Science & Information Systems majors who have not yet completed CS 110. Co-requisite: CS 021 or CS 110.
Introduction to analytic and formal methods of computer science with practical examples, including analysis or data structures, recursion relations, proof methods, and logic programming. Credit not given for more than one of CS 064, MATH 052 or MATH 054. Co-requisites: One semester of programming, MATH 020 or MATH 022.
See Schedule of Courses for specific titles. Prerequisite: Instructor permission.
Intermediate programming concepts including common data structures, algorithms, style, design, documentation, testing and debugging techniques, and an introduction to object-oriented programming. Prerequisites: One of CS 016, CS 020, CS 021 or equivalent.
Design and implementation of linear structures, trees and graphs. Examples of common algorithmic paradigms. Theoretical and empirical complexity analysis. Sorting, searching, and basic graph algorithms. Prerequisites: CS 026 or CS 110, CS 064 or MATH 052 or MATH 054. No credit for both CS 104 and CS 124.
Formal languages and expressiveness. Turing completeness and Church's Thesis. Decidability and tractability. Complexity classes and theory of NP completeness. Prerequisites: CS 064 or MATH 052. Co-requisite: CS 124.
Advanced web site design, including structure, architecture, compliance, CSS, usability, etc., to help create a pleasing user experience. Prerequisite: CS 008.
Independently designed project or pedagogical experience that benefits the University or the Community under the direction of a CS faculty member. Requires final presentation. Pre/co-requisite: Department permission.
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.
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.
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.
Comprehensive study of algorithms including greedy algorithms, divide and conquer, dynamic programming, graph algorithms and network flow. Computational intractability. Approximation, local search and randomization. Prerequisite: CS 124. CS 125 and one course in probability (e.g. STAT 143, STAT 151 or CS 128) recommended.
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.
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.
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.
See description of Honors Thesis Program in the College of EM section of this catalog.
Oral presentations that pertain to the ethical practice of computer science in government, industry, and academia. Topics may include computer security, copyright, and patent law. Prerequisite: Senior standing in Computer Science.
Independent readings and investigation under the direction of faculty member. Prerequisite: Department permission.
See Schedule of Courses for specific titles. Subject will vary from year to year. May be repeated for credit.
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.
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.
Presentations by students, faculty, and guest speakers on advanced topics in Computer Science. May be repeated up to three times for credit.
Prerequisite: Department permission.
Credit as arranged.