Graduate

ECS 262: Formal Specification

Subject
ECS 262
Title
Formal Specification
Status
Active
Units
3.0
Effective Term
2016 Fall Quarter
Learning Activities
Lecture: 3 hours
Description
Formal specification of modules, and its relationship to topdown programming development and verification. Abstract data types, together with methods for specifying them. Implementations and proofs of implementation. Using specifications to reason about programs. Parameterized types. Constructing good formal specifications.
Prerequisites
ECS 261
Enrollment Restrictions
Pass One and Pass Two open to Graduate Students in Computer Science only.
Expanded Course Description

Summary of Course Content

None

Illustrative Reading

None

Potential Course Overlap

None

Course Category

ECS 261: Program Verification

Subject
ECS 261
Title
Program Verification
Status
Active
Units
4.0
Effective Term
1997 Fall Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Methods of proving correctness of programs with respect to formal specifications, with attention to those suited for employing automated deduction.Logic background, symbolic execution, techniques suited to iterative programming, methods from denotational semantics, termination, dynamic logic and proofs of concurrent programs.
Prerequisites
PHI 112; or MAT 125 or familiarity with first-order logic; knowledge of an integrative and functional programming language.
Expanded Course Description

Summary of Course Content

None

Illustrative Reading

None

Potential Course Overlap

None

Course Category

ECS 260: Software Engineering

Subject
ECS 260
Title
Software Engineering
Status
Active
Units
4.0
Effective Term
2016 Fall Quarter
Learning Activities
Lecture: 3 hours
Project (Term Project): 3 hours
Description
Advanced techniques for domain-specific software reuse.
Prerequisites
ECS 142; ECS 160 recommended.
Enrollment Restrictions
Pass One and Pass Two open to Graduate Students in Computer Science only.
Expanded Course Description

Summary of Course Content

This course will address the issues involved in software development for reuse. The course will expose
students to technical topics relating to software reuse: design patterns, component-based development,
domain-specific languages, and code generation techniques such as: syntactic and scoping hygene,
partial evaluation, de-forestation. Concepts will be re-enforced via the case-study of specific languages
and systems.

Students will undertake 2 assignments and a project. The project, which will carry the bulk of the credit,
will involve implementing a domain-specific platform which enables the rapid development of a class of
applications for a specific domain.

Design Statement

ECS 260 students will undertake a significant project, counting for 50% of the credit of the course, where
they will design a domain-specific language (or extensions thereof) and an implementation of the
language by writing a compiler. This project will require the students to exercise design judgement,
balancing such goals as ease-of-use, evolvability, and performance. Examples from the past include: a
policy language for security policies, and compiler that generates wrappers to enforce such policies; a
language to specify curriculum requirements and a compiler that generates a checker to validate an
individual student's academic plans.

ABET Category Content

Engineering Science: 1 unit
Engineering Design: 2 units

Illustrative Reading

A collection of papers and notes that will be distributed by the instructor.

Potential Course Overlap
The course does not have a significant overlap with any other course. It does however, complement the
material in 240, since we describe the use of high-level programming languages to improve software
productivity in narrow domains. The primary focus of the course is on techniques to achieve higher
levels of software reuse in narrow application domains: techniques include design patterns, distributed
object systems, software architectures, and domain-specific and other transformational techniques.

Course Category

ECS 270: Artificial Intelligence

Subject
ECS 270
Title
Artificial Intelligence
Status
Active
Units
4.0
Effective Term
2016 Fall Quarter
Learning Activities
Lecture: 3 hours
Description
Concepts and techniques underlying the design and implementation of models of human performance on intelligent tasks. Representation of high-level knowledge structures. Models of memory and inference. Natural language and story understanding. Common sense planning and problem solving.
Prerequisites
ECS 140A; ECS 172
Enrollment Restrictions
Pass One and Pass Two open to Graduate Students in Computer Science only.
Course Category

ECS 271: Machine Learning & Discovery

Subject
ECS 271
Title
Machine Learning & Discovery
Status
Active
Units
4.0
Effective Term
2016 Fall Quarter
Learning Activities
Lecture: 3 hours
Project (Term Project) - 1.0 hours
Description
Artificial intelligence techniques for knowledge acquisition by computers. Fundamental problems in machine learning and discovery. Systems that learn from examples, analogies, and solved problems. Systems that discover numerical laws and qualitative relationships. Projects centering on implementation and evaluation.
Prerequisites
ECS 170
Enrollment Restrictions
Pass One and Pass Two open to Graduate Students in Computer Science only.
Expanded Course Description

Summary of Course Content

  1. Overview; claims; ways to evaluate learning and discovery systems
  2. Inductive learning (learning conjunctive concepts from examples)
  3. Learning decision trees
  4. Conceptual clustering
  5. Learning and discovery of heuristics for problem-solving
  6. Discovery of numerical laws
  7. Learning from analogies, learning from experiments
  8. Deductive learning (explanation-based learning and the connection to program optimization)

Illustrative Reading
T.M. Mitchell, Machine Learning, McGrawHill, 1997

Potential Course Overlap
This course does not have a significant overlap with any other course. It covers some of the topics as in EEC 207, but does so at a more software-related level. Applications in computational science are emphasized throughout.

Course Category

ECS 272: Information Visualization

Subject
ECS 272
Title
Information Visualization
Status
Active
Units
4.0
Effective Term
2016 Fall Quarter
Learning Activities
Lecture: 3 hours
Discussion: 3 hours
Description
Advanced topics in information visualization: perceptually effective display methods, color design and selection, interaction models and techniques, focus-context techniques, distortion methods, large graph visualization techniques, visual data mining methods, and evaluation methods.
Prerequisites
ECS 163 or ECS 175 recommended.
Enrollment Restrictions
Pass One and Pass Two open to Graduate Students in Computer Science only.
Expanded Course Description

Summary of Course Content:

  1. Data and Image Models
  2. Visual Perception and Cognition
  3. Process of Data Visualization
  4. Space Perception and Display of Data in Space
  5. Purpose of Color and Principles of Using Color in Visualization and UI Design
  6. Interaction Models
  7. Browsing and Navigation
  8. Multivariate and Multidimensional Data
  9. Trees and Graphs for Representing Hierarchies and Complex Relations
  10. Evaluation of Visualization Design

Illustrative Reading

  • E Tufte, Envioning Information, Graphics Press, 1990
  • C Ware, Information Visualization, 2nd Edition, Morgan Kaufmann, 2004

Potential Course Overlap
Comparison of this course with other existing courses does not indicate any significant overlap. ECS 163 places significant emphasis on user interface design and provides adequate background for ECS 272. ECS 272 focuses on advanced research topics and prepares students for pursuing research in information visualization. ECS 273 was designed for non-CS major graduate students with the objective of exposing them to the latest visualization technology and how to apply the technology to particular application domains of their interest.

Course Category

ECS 273: Visual Analytics

Subject
ECS 273
Title
Visual Analytics
Status
Active
Units
4.0
Effective Term
2023 Winter Quarter
Learning Activities
Lecture: 3 hours
Project (Term Project): 3 hours
Description
Analytical reasoning using visual means, data and visual transformations, exploratory visualization, explanatory visualization, interactive intelligent systems, qualitative and quantitative evaluation.
Prerequisites
Graduate standing.
Enrollment Restrictions
Pass One restricted to graduate students in Computer Science only; Pass Two restricted to graduate students only.
Expanded Course Description

Summary of Course Content

Visual analytics is the science of analytical reasoning facilitated by interactive visual interfaces. Students will learn and practice how to design, realize, and evaluate visual analytics methods integrating interactive visualization, statistical analysis methods, machine learning, and high-performance computing techniques for solving complex data analysis problems found in real-world applications.

Lectures will cover the following topics:

  1. Introduction to visualization
  2. Visual analytics pipelines
  3. Data cleaning and uncertainty
  4. Interaction techniques
  5. High dimensional data
  6. Network data
  7. Event sequence data
  8. Time series data
  9. Text data
  10. Geospatial data
  11. Collaborative analysis
  12. Visualization and machine learning
  13. Evaluation  

Illustrative Reading
Illuminating the Path: The Research and Development Agenda for Visual Analytics. James J. Thomas and Kristin A. Cook. United States Department of Homeland Security, 2005

Potential Course Overlap
A few subtopics on visualization fundamentals overlap with parts of ECS272.

Course Category

ECS 274: Automated Deduction

Subject
ECS 274
Title
Automated Deduction
Status
Active
Units
4.0
Effective Term
1997 Fall Quarter
Learning Activities
Lecture: 3 hours
Description
Techniques of mechanical theorem proving. Methods based on resolution and termrewriting. Decision procedures. Induction. Applications to program verification, question/answering and plan generation. Study existing mechanical theorem provers.
Prerequisites
PHI 112; or MAT 125 or familiarity with first order logic.
Course Category

ECS 275A: Advanced Computer Graphics

Subject
ECS 275A
Title
Advanced Computer Graphics
Status
Active
Units
4.0
Effective Term
2016 Fall Quarter
Learning Activities
Lecture: 3 hours
Discussion: 3 hours
Description
Advanced topics in computer graphics. Hidden surface models, rendering of various surface types, subdivision methods, shading techniques, anti-aliasing, modeling techniques.
Prerequisites
ECS 175 or ECS 177 or ECS 178
Enrollment Restrictions
Pass One and Pass Two open to Graduate Students in Computer Science only.
Course Category

ECS 275B: Advanced Computer Graphics

Subject
ECS 275B
Title
Advanced Computer Graphics
Status
Active
Units
4.0
Learning Activities
Lecture: 3 hours
Discussion: 3 hours
Description
Advanced topics in computer graphics and geometric modeling. Topics taken from advanced research papers in computer graphics, image synthesis, visualization and geometric modeling. Discussion of current research in the field.
Prerequisites
ECS 175 or ECS 177 or ECS 178
Enrollment Restrictions
Pass 1 and Pass 2 open to Graduate Students in Computer Science only.
Course Category