Graduate

ECS 232: Theory of Molecular Computation

Title
Theory of Molecular Computation
Status
Active
Units
4.0
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Course Description: Theory of chemical reaction networks, molecular circuits, DNA self-assembly, DNA sequence design and thermodynamic energy models, and connections to the field of distributed computing.This course version is effective from, and including: Summer Session 1 2023.
Prerequisites
ECS 120 or ECS 220 recommended; probability course recommended, for example ECS 132 or MAT 135A or STA 012 or STA 131A or MAT 131A; or consent of instructor.
Course Category

ECS 269: Visual Recognition

Subject
ECS 269
Title
Visual Recognition
Status
Active
Units
4.0
Effective Term
2018 Fall Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Graduate seminar course on computer vision with an emphasis on object recognition, activity recognition, and scene understanding.
Prerequisites
ECS 171 or ECS 174; or equivalent.
Expanded Course Description

Summary of Course Content:

The course will survey papers in the following areas:

  • Image classification
  • Object detection
  • Unsupervised/Weakly-supervised visual discovery
  • Segmentation
  • Human-in-the-loop learning
  • Activity recognition
  • Human pose
  • Attributes
  • Image search and mining
  • Language and images
  • Big data
  • First-person vision

Illustrative Reading:

A selection of research papers updated every year. Examples include:

ImageNet classification with deep convolutional neural networks. A. Krizhevsky, I. Sutskever, and G. E. Hinton. NIPS 2012.

Deep Residual Learning for Image Recognition. Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun. CVPR 2016.


Potential Course Overlap:
There is no significant overlap with any 1XX or 2XX level course.  There may be a lecture or two in ECS 270 and 271 that overlap in their coverage of neural networks, but the focus will be different as 269 will teach neural network algorithms specific to visual recognition whereas 270 and 271 will focus on more general-purpose neural networks.

Course Category

ECS 268: Scientific Data & Workflow Management

Subject
ECS 268
Title
Scientific Data & Workflow Management
Status
Active
Units
4.0
Effective Term
2008 Winter Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Scientific data integration, metadata, knowledge representation, ontologies, scientific workflow design and management.
Prerequisites
ECS 165A
Expanded Course Description

Summary of Course Content

I. Introduction to scientific data management: goals and challenges

II. Scientific data models, transformations

  • Generic data exchange formats (XML)
  • Specialized data/file formats (netCDF, HDF5, FASTA, Nexus)
  • Tree-based data transformations (XPath, XQuery, XSLT)
  • XSLT, XQueryXML model and query/transformation languages
    • Database integration, query rewriting

III. Knowledge representation with ontologies

  • From controlled vocabularies, taxonomies, to description logic ontologies
  • Reasoning with ontologies

IV. Data integration

  • Schema-mapping based approaches: Global-as-View (GAV), Local-as-View (LAV); Extensions
  • Ontology-based extensions for data integration

V. Scientific Workflows

  • Introduction/motivation: capturing in silico experiments as scientific workflows
  • Application examples from diverse domains (e.g., bioinformatics, ecoinformatics, particle physics)
  • Formal models for scientific workflows: Petri nets, Kahn process networks, Synchronous Dataflow
  • Scientific workflow design paradigms: Collection-Oriented Modeling & Design (COMAD), higher order/functional programming patterns
  • Data and workflow provenance models

Projects

There are two kinds of projects: implementation projects and research projects. In the former, the students will work with Java-based open source systems such as the Kepler workflow system (www.kepler-project.org) and design and implement example workflows, e.g., to create a bioinformatics workflow that connects several "bio web services". Thus, in implementation projects students work with existing software systems, but they typically will also implement project-specific extensions to that software.

For research projects, students will read one or more research papers from a list of offered research topics (e.g., scientific data integration, ontologies and knowledge representation in scientific data management, scientific workflows). Students will then need to apply the results of the research papers to a specific problem (e.g., applying a certain query rewriting algorithm to a given integration scenario and set of queries). In general, the deliverable of a research project is a technical report that summarizes and compares the results of the studied papers, and their application to the given problem. Depending on the topic, the presented algorithms might have to be implemented and applied to the given problem instance.

Illustrative Reading

A selection of technical papers addressing specific topics will be used. No textbook is required.

Potential Course Overlap

There is no significant overlap with any other course.

Course Category

ECS 267: Wide-Area Distributed Information Systems

Subject
ECS 267
Title
Wide-Area Distributed Information Systems
Status
Active
Units
4.0
Effective Term
2016 Fall Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Wide-area distributed information systems, data broadcast, multicast, publish/subscribe, service differentiation, information retrieval, Web caching.
Enrollment Restrictions
Pass One and Pass Two open to Graduate Students in Computer Science only.
Expanded Course Description

Summary of Course Content

I. Introduction

  • Overview of Wide-Area Distributed Systems
  • WWW Application Characteristics, Performance

II. Data Delivery for Client/Server Architectures

  • Unicast: Basic Approach
  • Multicast: Reliable Multicast, MBone
  • Data Broadcast: Technology

III. Some Research Issues for Scalable Solutions

  • Service Differentiation
  • Information Retrieval
  • Publish/Subscribe
  • Web Caching

IV. Extended Factors

  • Multimedia Application
  • Mobility
  • Next Generation Internet

ABET Category Content

  • Engineering Science: 2 units
  • Engineering Design: 2 units

Illustrative Reading

A selection of technical papers addressing specific topics will be used. No textbook is required.

Potential Course Overlap

There is no significant overlap with any other course.

Course Category

ECS 266: Spatial Databases

Subject
ECS 266
Title
Spatial Databases
Status
Active
Units
4.0
Effective Term
2008 Winter Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Concepts, models, and architectures for spatial databases, spatial access methods, query processing, spatio-temporal data management, moving objects, spatial data mining.
Prerequisites
ECS 165A
Expanded Course Description

Summary of Course Content

1. Introduction to Spatial Databases Management Systems (SDBMS)
a. Requirements, Principles, and Concepts for SDBMS
b. Spatial Databases and Geographic Information Systems
c. SDBMS and GIS Applications

2. Models for Spatial Data
a. Geographic Space Modeling
b. Representation Models
c. Geometry of Collection of Objects
d. Vector Data
e. Raster Data
f. Spatial Abstract Data Types

3. Computational Geometry
a. Algorithmic Strategies
b. Sweep-line Methods
c. Polygon Partitioning

4. Spatial Access Methods (SAM)
a. Issues in SAM Design
b. Space Driven Structures versus Data Driven Structures
c. The Grid File
d. Quadtree and Variants
e. R-Tree and Variants
f. k-d Tree and Variants
g. Other common and useful SAM
h. Cost Models

5. Query Processing
a. Algebras and Query Languages for Spatial Data
b. Spatial Join Queries
c. Nearest Neighbor Queries
d. Queries over Raster Data (Map Algebra)
e. Cost Models

6. Spatio-Temporal Databases
a. Introduction to Temporal Databases
b. Specialized Index Structures
c. Query Processing

7. Spatial DBMS and GIS
a. Oracle Spatial
b. GRASS
c. ArcInfo and ArcView
d. PostGIS

8. Advanced Topics
a. Spatial Data Mining and Clustering
b. Streaming (remotely-sensed) Data
c. Moving Object Databases

Projects

There will be at least two projects. One project will be done in the form of teams. In these projects, students have to design, implement, and evaluate a spatial database application including spatial access structures either from scratch or using a freely available GIS, such as GRASS or PostGIS. Project results will be presented in class.

Illustrative Reading

There is no required textbook, but the following textbooks are recommended:

  • Philippe Rigaux, Michel Scholl, Agnes Voisard: Spatial Databases with Applications to GIS, Morgan Kaufmann, 2002
  • Shashi Shekhar, Sanjay Chawla: Spatial Databases, Prentice Hall, 2002
  • Hanan Samet: Foundations of Multidimensional and Metric Data Structures, The Morgan Kaufmann Series in Computer Graphics, 2006

Furthermore, a collection of papers addressing specific topics will be distributed in class.

Potential Course Overlap

This course has a very minor overlap with ECS 226, in which some multidimensional access structures are covered.

Course Category

ECS 265: Distributed Database Systems

Subject
ECS 265
Title
Distributed Database Systems
Status
Active
Units
4.0
Effective Term
2016 Fall Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Concepts of distributed database systems and architectures, distributed database design, distributed query processing and optimization, transaction management and concurrency control, heterogeneous and multidatabase systems.
Prerequisites
ECS 165A
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 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