Graduate

ECS 282: Advanced Natural Language Processing

Subject
ECS 282
Title
Advanced Natural Language Processing
Status
Active
Units
4.0
Effective Term
Spring 2025
Learning Activities
Lecture: 3 hours
Term Project
Description
Use of deep learning techniques in advanced natural language processing. Practicing advanced learning and inference techniques with large language models.
Prerequisites
ECS 171 or 271; or equivalent machine learning course
Enrollment Restrictions
Pass One restricted to Ph.D. students in Computer Science; Pass Two restricted to graduate students in Computer Science.
Expanded Course Description

Expanded Course Description

Introducing foundational technologies for building NLP systems based on neural language models. Discussing cutting-edge research advancements on large (multi-modal) language models. The project will be exploratory, involving one proposal and one final paper. The following is a list of topics covered in this course.

1. Word representation: discrete and distributional representation for words.

2. Language models: statistical and basic neural language models.

3. Sentence representation: discrete, neural sentence representation and sentence pair representation.

4. Text classification and retrieval: neural text classification, textual entailment, text retrieval and their learning objectives.

5. Subword and contextualized representation: neural representation for handling out-of-vocabulary tokens, contextually varied representation.

6. Transformers: basics of Transformers, pre-trained Transformer language models.

7. Question answering and summarization: basic techniques for open-domain question answering, extractive and abstractive summarization.

8. Large language models (LLMs): LLM development paradigms, inference paradigms, adaptation and emergent challenges. 

Course Category

ECS 281: Applied Research Methods for Human-Computer Interaction

Subject
ECS 281
Title
Applied Research Methods for Human-Computer Interaction
Status
Active
Units
4.0
Effective Term
Spring 2025
Learning Activities
Lecture: 3 hours
Term Project
Description
Quantitative methods for studying how people interact with computing and information systems, developing and evaluating systems that are driven by users' needs, constraints and goals involved in human-technology interactions.
Prerequisites
Courses or experience related to product development in mobile apps, websites, information systems, and/or AI tools recommended.
Enrollment Restrictions
Pass One open to graduate students in Computer Science only; Pass Two open to graduate students only.
Expanded Course Description

Expanded Course Description
The course aims to prepare graduate students with fundamental knowledge and skills in quantitative methods in order to (1) study how people interact with computing and information systems, and (2) develop and evaluate systems that are “use-inspired”, driven by the needs, practices, constraints and goals of specific users involved in the activities and tasks where human-technology interactions emerge. In the common practice of Human-Computer Interaction (HCI), the design of interactive computing requires studying users both before and after system building. The validity and reliability of information obtained through user studies can greatly influence system building. It is therefore important to use legitimate methods to collect, analyze, and interpret data of user behaviors.

The course is primarily designed for students with a technical background and with an interest to either work on HCI (e.g., user interface, collaborative and social computing, learning technology, dialogue systems etc.) OR adopt a user-centered and/or use-inspired approach toward the design and evaluation of computing and information systems. The selection of specific methodological topics is thus specialized for the common needs of user research in these areas. Proficiency in computer programming (Java, Python etc.) and statistics are not required but recommended as one goal of this course is to guide students to develop ideas and solutions to collect, process and represent behavioral data in creative ways for different purposes and contexts.

Statistics is one component of quantitative methods. To meet the common needs of user research in HCI, this course focuses more on the conceptual and operational aspects of statistics. Theoretical and mathematical details are not the focus of this course, and will only be introduced to the extent required for supporting the needs of applied research. Students will be given the goals and support to learn how to use statistical packages such as JMP, R etc. for practical data analysis.

We also expect students enrolled in the course to work on developing a project that proposes a study plan that adopts a specific research method (e.g., controlled experiment) to investigate a topic of students’ selection. The course will guide students to practice different aspect of quantitative research methods to investigate and respond to their research questions. The core instructional approach of this course is learning by doing. Students are expected to actively acquire knowledge and skills of research methods from the course activities.

Specific topics to cover in the quarter-long course include but are not limited to:

 

- Overview of HCI and empirical research

- Data collection concepts and practices

- Identification of research questions
- Experimental design

- Measurement design
- Basic concepts and tools for statistical analysis
- Research ethics
- IRB review
- Triangulation
- Mixed-method research
- Overview of qualitative methods
- Data coding
- Applied data science and machine learning for research methods

- Overview of use-inspired research

Course Category

ECS 245: Analysis of Software Artifacts

Subject
ECS 245
Title
Analysis of Software Artifacts
Status
Active
Units
4.0
Effective Term
Fall 2023
Learning Activities
Lecture: 3 hours
Term Project
Description
Techniques for the analysis of software artifacts, including source code, build processes, test suites, bug reports and documentation with a special emphasis on software correctness and performance in real-world settings.
Prerequisites
ECS 140A; ECS 142
Enrollment Restrictions
Pass one open to Ph.D. students in Computer Science only. Pass two open to graduate students in Computer Science only.
Expanded Course Description

Expanded Course Description

As computers have become more powerful, the complexity and size of software has increased significantly. There is a need for tool support in all aspects of software development. This course explores the analysis of a variety of software artifacts that arise in the design, implementation, validation, verification and maintenance of software including software specifications, source code, intermediate code representations, build processes, tests, bug reports and software documentation. This course will serve as an introduction to software artifacts and will discuss both foundational and recent state-of-the-art research related to the design and development of analysis tools for software artifacts, with a focus on their application to real-world software.

A main component of the course is a term project. The project is an opportunity for students to (1) propose novel software analysis techniques to solve interesting problems, (2) build upon existing analysis techniques to solve new problems, (3) apply the techniques discussed in class to new problem domains, or (4) conduct user studies to evaluate existing techniques or tools. There will be several project milestones throughout the quarter that will involve writing different parts of a research report, and developing a software artifact to be used to evaluate the project's ideas. Students will be required to submit a final report along with the final artifact. Emphasis will be put on software reproducibility by having teams test each others' final artifacts.

Course Category

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