Upper Division

ECS 190X: Senior Seminar

Subject
ECS 190X
Title
Senior Seminar
Status
Active
Units
4.0
Effective Term
1997 Winter Quarter
Learning Activities
Seminar - 2.0 hours
Description
Examination of a special topic in a small group setting.
Prerequisites
Senior standing.
Course Category

ECS 190C: Research Group Conferences in Computer Science

Subject
ECS 190C
Title
Research Group Conferences in Computer Science
Status
Active
Units
4.0
Effective Term
2019 Winter Quarter
Learning Activities
Discussion: 1 hour
Description
Research group conferences. May be repeated for credit.
Prerequisites
Consent of Instructor. Upper division standing in Computer Science or Computer Science and Engineering.
Credit Limitation
May be repeated for credit.
Enrollment Restrictions
Suppress CRN in Schedule.
Course Category

ECS 189A-N: Special Topics in Computer Science

Subject
ECS 189A-N
Title
Special Topics in Computer Science
Status
Active
Units
4.0
Effective Term
1997 Winter Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Special Topics in:

Computer Science Theory
Architecture
Programming Languages and Compilers
Operating Systems
Software Engineering
Data Bases
Artificial Intelligence
Computer Graphics
Networks
Computer-Aided Design
Scientific Computing
Computer Science
Computer Security
Bioinformatics & Computational Biology
Prerequisites
Consent of Instructor.
Credit Limitation
May be repeated for credit when topic is different
Enrollment Restrictions
Suppress CRN in Schedule.
Expanded Course Description

Summary of Course Content
None

Illustrative Reading
None

Potential Course Overlap
None

Course Category

ECS 188: Ethics in an Age of Technology

Subject
ECS 188
Title
Ethics in an Age of Technology
Status
Active
Units
4.0
Effective Term
2019 Spring Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Foundations of ethics. Views of technology. Technology and human values. Costs and benefits of technology. Character of technological change. Social context of work in computer science and engineering. GE Prior to Fall 2011: SocSci, Wrt. GE: SS, SL, WE.
Prerequisites
Upper division standing.
Enrollment Restrictions
Pass One open to Computer Science Engineering Majors only; Pass Two open to Computer Science and Computer Science Engineering Majors only.
Expanded Course Description

Summary of Course Content
I. Views of Technology
II. Philosophical Ethics
III. Technology and the Environment
IV. War and Other Threats to Human Existence
V. Privacy and Intellectual Property
VI. Responsibility and Professional Ethics


Illustrative Reading
A reader assembled by Phillip Rogaway includes work by: Ian Barbour, Robert Heilbroner, Langdon Winner, John Lienhard, Neil Postman, Deborah Johnson, Hans Jonas, David Strong, Jared Diamond, Ruth Schwartz Cowan, Freeman Dyson, Marshal McLuhan, Thomas Friedman, Suketu Mehta, the UN IPCC, Garrett Hardin, Amory Lovins, Eric Markusen, Bill Joy, James Boyle, Richard Stallman, Cory Doctorow, Jeff Schmidt, and the ACM.



Potential Course Overlap
There is no significant overlap with any other course since the focus of this course is on ethical issues as they arise in the field of computer science. Engineering 190 is a related course on professional ethics and responsibility in engineering. .



Final Exam
Yes Final Exam

Course Category

ECS 178: Geometric Modeling

Subject
ECS 178
Title
Geometric Modeling
Status
Active
Units
4.0
Effective Term
2016 Fall Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Interactive graphics techniques for defining and manipulating geometrical shapes used in computer animation, car body design, aircraft design, and architectural design. GE Prior to Fall 2011: SciEng. GE: SE, VL.
Prerequisites
ECS 175
Enrollment Restrictions
Pass One open to Computer Science and Computer Science Engineering Majors only.
Expanded Course Description

Summary of Course Content

  1. Basic Theory of Curves and Surfaces
    1. Mathematical representation of shapes
    2. Parametric representation of curves and surfaces
    3. Evaluation of geometrical characteristics
  2. Interpolation Methods
    1. Lagrange and Hermite interpolation
    2. Ferguson and Coons surface patches
  3. Theory of Splines
    1. Spline functions
    2. Natural splines
    3. Generation of spline curves and surfaces
    4. Best approximation/error-minimizing approximation (e.g., least squares method)
  4. Approximation Methods for Curves and Surfaces
    1. Bernstein-Bezier Approximation
    2. B-spline curves and surfaces
    3. Rational polynomial curves and surfaces
    4. NURBS (Non Uniform Rational B-splines)
  5. Special Surface Schemes
    1. General surface schemes (e.g., triangular patches, multi-sided patches)
    2. Subdivision schemes (e.g., Doo-Sabin and Catmull-Clark schemes)
    3. Surface interrogation (e.g., normal and curvature behavior)
    4. Scattered data interpolation (e.g., object/function reconstruction)
  6. Applications of Geometric Modeling
    1. Elements of computer-aided design systems (e.g., extruded, ruled, rotational surfaces; degree elevation/reduction; implicit vs. parametric representation)
    2. Methods for discretizing/meshing geometry (e.g., triangulation, quadrangulation)
    3. Computer graphics/animation applications (e.g., character modeling)
    4. Scientific data approximation and visualization applications (e.g., Voronoi diagrams; approximation methods for triangulations/tessellations)

Illustrative Reading
G. Farin, Curves and Surfaces for CAGD: A Practical Guide, 5th ed., Morgan Kaufman, 2002.

Potential Course Overlap
None

Course Category

ECS 177: Scientific Visualization

Subject
ECS 177
Title
Scientific Visualization
Status
Active
Units
4.0
Effective Term
2016 Fall Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Computer graphics techniques for generating images of various types of measured or computer-simulated data. Typical applications for these graphics techniques include study of air flows around car bodies, medical data, and molecular structures. GE Prior to Fall 2011: SciEng. GE: SE, VL.
Prerequisites
ECS 175
Enrollment Restrictions
Pass One open to Computer Science and Computer Science Engineering Majors only.
Expanded Course Description

Summary of Course Content

  1. Grid Structures Scientific data sets can be given without any given connectivity among the data (scattered data) or on a so-called structured or unstructured grid. Typical grids (rectilinear, curvilinear, prismatic, tetrahedral, etc.) are discussed and appropriate data structures and interpolation methods are introduced.
  2. Basic Scalar Field Visualization A variety of techniques for the visualization of scalar fields, i.e. functions of the form f(x,y) and f(x,y,z), are discussed. Algorithms that use color and/or opacity to represent the scalar value will be presented, including slicing, and various volume rendering techniques (ray casting, 3D texture-based volume rendering in OpenGL, cell sorting and projection). Contour curves and surfaces will also be discussed.
  3. Basic Vector Field Visualization A variety of techniques for the visualization of vector fields, i.e., vector-valued functions of the form [u(x,y), v(x,y)] and [u(x,y,z), v(x,y,z), w(x,y,z)] will be discussed. Algorithms that will be presented include the approximation and visualization of path, stream, streak, and time lines, surfaces, and tubes, as well as texture-based and glyph-based methods. Tensor visualization will also be briefly discussed. Optional topics:
    1. Molecular visualization: The techniques for visualizing atoms and bonds, and special glyphs for representing protein structures may be discussed.
    2. Animation: Methods for producing animated image sequences for visualizing time varying data, and for interpolating data in time as well as space, may be discussed.
    3. Tensor fields: The method of finding the principal components of a symmetric tensor may be discussed, as well as methods using them to visualize tensor fields.
    4. Information visualization: The distinction between scientific visualization of continuous quantitative data and information visualization of discrete or non-quantitative data and may be discussed, as well as a few examples of information visualization, for example, graph and/or tree visualization.

Illustrative Reading
Alexandru Telea, Data Visualization: Principles and Practice. A K Peters, Ltd., 2008.

Potential Course Overlap
None

Course Category

ECS 175: Computer Graphics

Subject
ECS 175
Title
Computer Graphics
Status
Active
Units
4.0
Effective Term
2019 Winter Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Principles of computer graphics, with a focus on interactive systems. Current graphics hardware, elementary operations in two-and three-dimensional space, geometric transformations, camera models and interaction, graphics system design, standard graphics APIs, individual projects. GE Prior to Fall 2011: SciEng. GE: SE, VL.
Prerequisites
(ECS 060 or ECS 034 or ECS 036C); (MAT 022A or MAT 067)
Enrollment Restrictions
Pass One open to Computer Science and Computer Science Engineering Majors only.
Expanded Course Description

Summary of Course Content

  1. Computer Graphics Hardware
    1. The interactive graphics pipeline
    2. Basic architecture of modern Graphics Processing Units
    3. The CPU-GPU interface
  2. Curve and Surface Drawing
    1. Line drawing
    2. Bezier curves and B-spline curves
    3. Rasterization of triangles
  3. Transformations
    1. Transformation matrices and their combinations
    2. Modeling and viewing transformations
  4. Modeling
    1. Object representations
    2. Hierarchical scene structure and generation of complex objects
    3. Object file formats
    4. Texture mapping
  5. Lighting
    1. Specular and diffuse lighting models
    2. Interactive lighting models, including their drawbacks
    3. Flat and Gouraud shading of triangulated models
  6. Rendering
    1. Camera models and interaction
    2. Z-buffering and other visible-surface algorithms Other topics such as Bezier curves, ray tracing, clipping and culling may be discussed.

Illustrative Reading

  • P. Shirley, M. Ashikhmin, and S. Marschner, Fundamentals of Computer Graphics, 3rd edition, AK Peters, 2009.
  • E. Angel and D. Schreiner, Interactive Computer Graphic: A Top Down Approach With Shader-Based Open GL, 6th edition, Addison- Wesley, 2011.
  • S. Gortler, Foundations of 3D Computer Graphics, MIT Press, 2012.
  • D. Hearn, M. Baker, and W. Carithers, Computer Graphics with Open GL, 4th edition, Prentice-Hall, 2010

Potential Course Overlap
There is no significant overlap with other courses.

Course Category

ECS 174: Computer Vision

Subject
ECS 174
Title
Computer Vision
Status
Active
Units
4.0
Effective Term
2019 Winter Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Computer vision is the study of enabling machines to "see" the visual world; e.g., understand images and videos. Explores several fundamental topics in the area, including feature detection, grouping and segmentation, and recognition. GE Prior to Fall 2011: SciEng. GE: SE.
Prerequisites
(ECS 060 or ECS 032B or ECS 036C); (STA 032 or STA 131A or MAT 135A or EEC 161 or ECS 132 recommended); (MAT 022A or MAT 067 recommended).
Enrollment Restrictions
Pass One open to Computer Science and Computer Science and Engineering Majors only.
Expanded Course Description

Summary of Course Content

  1. Students will acquire a general background on computer vision. Topics will include: Features and Filters
    1. Linear filters
    2. Edge detection and image gradients
    3. Edges, contours, and binary image analysis
    4. Texture
    5. Color
  2. Grouping and Fitting
    1. Gestalt properties
    2. K-means, Mean-shift, Spectral clustering
    3. Hough transform
    4. Deformable contours
    5. RANSAC
    6. Homography
  3. Recognition
    1. Local Invariant feature detection and description
    2. Indexing local features
    3. Instance recognition
    4. Generic category recognition
    5. Discriminative classifiers (Nearest Neighbors, Support Vector Machines, Boosting)
    6. Window-based models
    7. Part-based models

Illustrative Reading
Richard Szeliski, Computer Vision: Algorithms and Applications, Springer, 2011.

Potential Course Overlap
There is a very small overlap with ECS 173. ECS 174 will have very limited overlap with the "2D image processing" module of ECS 173 (it has no overlap with the other 2 modules). ECS 174 focuses less on low-level image processing, and more on the high-level understanding of visual content. So the computer vision algorithms and techniques taught in ECS 174 are geared towards achieving this goal, most of which are not covered in ECS 173. There is also a minimal overlap with ECS 171 in the teaching of some unsupervised and supervised learning algorithms. This overlap is minimal and the treatment of the underlying methods is fundamentally different: ECS 171 focuses on general pattern recognition and machine-learning techniques, whereas ECS 174 focuses on processing visual input (i.e., computing image and video features) and applications of machine-learning techniques to visual data. It also teaches many algorithms specific to computer vision problems that are not taught in general machine learning courses such as ECS 171.

Course Category

ECS 173: Image Processing & Analysis

Subject
ECS 173
Title
Image Processing & Analysis
Status
Active
Units
4.0
Effective Term
2019 Winter Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Techniques for automated extraction of high-level information from images generated by cameras, three-dimensional surface sensors, and medical devices. Typical applications include detection of objects in various types of images and describing populations of biological specimens appearing in medical imagery. GE Prior to Fall 2011: SciEng. GE: SE.
Prerequisites
(MAT 067 C- or better or MAT 022A C- or better or MAT 027A C- or better); (ECS 060 or ECS 032B or ECS 036C)
Enrollment Restrictions
Pass One open to Computer Science and Computer Science Engineering Majors only.
Expanded Course Description

Summary of Course Content

  1. Analysis of 2D Images (photographs)
    1. Low-level information extraction: Frequency-domain representation of images, edge and corner detection, and texture analysis will be discussed in detail. Specific algorithms to be discussed include derivative of Gaussian edge detection, Harris corner detection, and texton estimation.
    2. Image features: Students will learn various constructions for extracting relevant features from images. Students will learn about filter bank approaches, geometric and illumination invariants, and linear subspace decompositions of image patches. Identification of salient surface patches will also be discussed.
    3. Object recognition: Students will receive an overview of methods for describing and detecting objects in 2D images. Appearance-based methods based on principal components analysis, convolutional image filters, and raw image classification will be described. Shape-based object detection based on constellations of object parts, local edge features, and alignment to prototype shapes will be presented.
  2. Analysis of 3D surface imagery
    1. 3D surface parameterization and representation: Representation of 3D surfaces based on points, parametric surface models, patches, and geons will be discussed. The effects of noise, partial occlusion, and sensor artifacts on these surface descriptions will also be described.
    2. Automated model building from surface data: Semi-automated and fully-automated procedures for building complete 3D models from collections of partial 3D sensor data sets will be presented. Semi-automated techniques based on landmark placement will be discussed. Fully-automated techniques based on local surface descriptors, constrained data collection, and global surface descriptors will be shown as well.
    3. Object recognition in 3D data: Detection of objects in 3D surface data sets will be discussed. The effects of partial occlusion and clutter will be discussed. Techniques based on alignment, local surface descriptors, and machine learning approaches will be described.
  3. Analysis of volumetric images
    1. Low-level processing: Students will learn approaches to correct for image artifacts found in computed tomography (CT), magnetic resonance (MR), and functional MR images. Bias field correction, blowout, and scattering artifacts will be discussed.
    2. Description and modeling of biological shapes: Methods for mathematically describing biological objects found in volumetric images will be presented. Representation of 3D solids will be discussed, and computational anatomy approaches to representation of populations of shapes will be presented.
    3. Localization and detection of objects: Principles and algorithms for localizing biological shapes in volumetric images will be presented. Shape-model-based techniques for estimating the location of constrained, expected objects such as the brain will be discussed. Low-level detection of amorphous, unexpected objects such as tumors and calcifications will also be presented.

Illustrative Reading
Terry S. Yoo (Editor), Insight into Images: Principles and Practice for Segmentation, Registration, and Image Analysis, AK Peters Publishers, July 29, 2004

Potential Course Overlap
Volumetric images are also treated in ECS 177, but the emphasis there is on the visualization rather than automated extraction of high-level data. Two-dimensional image processing is treated in greater mathematical depth in EEC 206 and EEC 208, graduate courses which are currently taught infrequently.

Course Category

ECS 171: Machine Learning

Subject
ECS 171
Title
Machine Learning
Status
Active
Units
4.0
Effective Term
2020 Spring Quarter
Learning Activities
Lecture: 3 hours
Discussion: 1 hour
Description
Introduction to machine learning. Supervised & unsupervised learning, including classification, dimensionality reduction, regression & clustering using modern machine learning methods. Applications of machine learning to other fields. GE Prior to Fall 2011: SciEng. GE: SE.
Prerequisites
(ECS 032B or ECS 036C); (STA 032 or STA 035B or STA 100 or STA 131A or MAT 135A or ECS 132 or EEC 161); (MAT 022A or MAT 027A or MAT 067)
Enrollment Restrictions
Pass One open to Computer Science, Computer Science & Engineering, and Cognitive Science Majors only; Pass Two open to undergraduate students only.
Expanded Course Description

Summary of Course Content
This course will provide an introduction to machine learning methods and learning theory. Students will acquire a general background on machine learning and pattern recognition, including state-of-the-art techniques in supervised and unsupervised learning. The course will include five problem sets that are related to the course outline. Students will work individually or as part of teams to complete a term project that will pertain on the application of these methods in different scientific fields. Topics will include:

  1. Supervised learning
    1. Regression
    2. Generative learning
      1. Naive Bayes
      2. Bayesian learning
    3. Discriminative learning
      1. K-nearest neighbors
      2. Decision trees
      3. Support Vector Machines (SVM) and kernels 2) Unsupervised learning
        1. Clustering (K-means, hierarchical)
        2. Dimensionality reduction methods (principal component analysis, independent component analysis)
        3. Association rule mining
        4. Self-organizing maps
      4. Learning theory
        1. Bias-variance trade-offs
        2. Kernels
        3. Statistical validation
        4. VC Theory
      5. ML applications in other fields (Social networks, biology, image processing) Students will have to complete a computational/review project in coordination with the instructor.

Illustrative Reading

  • C. Bishop. Pattern Recognition and Machine Learning. Springer, 2007 • Technical papers and class notes will be used.

Potential Course Overlap
There is an overlap with ECS 170, related to feature extraction methods and Bayesian methods. This overlap is minimal and the treatment of the underlying methods is fundamentally different: ECS 170 focuses on AI algorithms and logic-based decision making while ECS 171 takes a pattern recognition and machine-learning approach.

Course Category