ECS Engineering Computer Science

Courses in ECS:

ECS010—Introduction to Programming(4)Review all entriesHistorical

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):Two years of high school algebra.Pass One open to Computer Science, Computer Science Engineering, Computer Engineering, Electrical Engineering Majors only.Hands-on introduction to computation, through programming and problem solving. Two units of credit for students who have taken course 12 or Engineering 6. Not open to students who have completed course 30.(Letter.)GE credit: QL, SE, SL.Effective: 2016 Fall Quarter.

ECS010—Introduction to Programming(4)Review all entriesDiscontinued

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):Two years of high school algebra.Pass One open to Computer Science, Computer Science Engineering, Computer Engineering, Electrical Engineering Majors only.Hands-on introduction to computation, through programming and problem solving. Two units of credit for students who have taken course 12 or Engineering 6. Not open to students who have completed course 30.(Letter.)GE credit: QL, SE, SL.Effective: 2018 Fall Quarter.

ECS012—Introduction to Media Computation(4)Active

Lecture—3 hour(s); Discussion/Laboratory—1 hour(s).Introduction to key computational ideas necessary to understand and produce digital media. Fundamentals of programming are covered as well as analysis of how media are represented and transmitted in digital form. Aimed primarily at non-computer science students.Two units of credit for students that have taken ECS 010 or ECS 030 or ENG 006.(Same course as CTS 012.)(Letter.)GE credit: AH, SE, VL.Effective: 2015 Spring Quarter.

ECS015—Introduction to Computers (4)Active

Lecture—3 hour(s); Laboratory—3 hour(s).Computer uses in modern society. Emphasis on uses in non-scientific disciplines. Includes word processing, spreadsheets, web-page creation, elementary programming, basic computer organization, the Internet, the uses of computers and their influence on society. Course not intended for CS or CSE majors.Only two units of credit allowed to students who have completed PLS 021; not open for credit to students who have completed ECS 030.(Letter.)GE credit: QL, SE, WE.Effective: 2013 Fall Quarter.

Lecture—3 hour(s); Discussion—1 hour(s).Not open to students who have completed ECS 036A. Introduction to programming and problem solving in Python. Aimed primarily at non-major students. No credit to students who completed previous ECS 010, ECS 030 or higher.(Letter.)GE credit: SE.Effective: 2018 Fall Quarter.

Lecture—3 hour(s); Discussion—1 hour(s); Extensive Problem Solving.Prerequisite(s):ECS 032B C- or better; or Consent of Instructor.UNIX Operating system tools and programming environment. Methods for debugging and verification. Principles of C and object-oriented programming in C++. Extensive programming. Only three units of credit for students who have previously taken ECS 036B.(Letter.)GE credit: SE.Effective: 2018 Fall Quarter.

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):ECS 040 C- or better.Pass One open to Computer Science, Computer Science Engineering, Computer Engineering, and Cognitive Science Majors only.Comparative study of different hardware architectures via programming in the assembly languages of various machines. Role of system software in producing an abstract machine. Introduction to I/O devices and programming.Only one unit of credit allowed for students who have taken EEC 070.(Letter.)GE credit: SE.Effective: 2017 Winter Quarter.

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):ECS 040 C- or better or ECS 032B C- or better or ECS 036B C- or better.Pass One open to Computer Science, Computer Science Engineering, Computer Engineering, and Cognitive Science Majors only.Comparative study of different hardware architectures via programming in the assembly languages of various machines. Role of system software in producing an abstract machine. Introduction to I/O devices and programming.Only one unit of credit allowed for students who have taken EEC 070.(Letter.)GE credit: SE.Effective: 2019 Winter Quarter.

Seminar—2 hour(s).Prerequisite(s):Senior standing.Examination of a special topic in a small group setting.(Letter.)Effective: 1997 Winter Quarter.

ECS192—Internship in Computer Science(1-5)Active

Internship.Prerequisite(s):Completion of a minimum of 84 units; project approval prior to period of internship.Supervised work experience in computer science.May be repeated for credit.(P/NP grading only.)Effective: 1997 Winter Quarter.

ECS193A—Senior Design Project(3)Active

Lecture/Discussion—3 hour(s).Prerequisite(s):ECS 160 (can be concurrent); Senior standing in Computer Science or Computer Science and Engineering or consent of instructor.Pass One open to Computer Science Engineering Majors only; Pass Two open to Computer Science and Computer Science Engineering Majors only.
Responding to real-life client design challenges, student teams plan, implement, and evaluate large-scale projects involving computer and computational systems. The project is supervised by a faculty member. Students must take course 193A and 193B to receive credit.
(Letter.)GE credit: SE.Effective: 2017 Winter Quarter.

Variable—1-4 hour(s).Under the supervision of a faculty member, an undergraduate student plans and develops the course they will offer under 98F/198F.(P/NP grading only.)Effective: 2016 Winter Quarter.

Lecture—3 hour(s); Term Paper.Prerequisite(s):(ECS 154B or EEC 170); ECS 150.Pass 1 and Pass 2 open to Graduate Students in Computer Science only.Modern research topics and methods in computer architecture. Design implications of memory latency and bandwidth limitations. Performance enhancement via within-processor and between-processor parallelism. Term project involving student-proposed extensions/modifications of work in the research literature.Not open for credit to students who have completed ECS 250A.(Letter.)Effective: 2016 Spring Quarter.

ECS201B—High-Performance Uniprocessing(4)Active

Lecture—3 hour(s); Term Paper.Prerequisite(s):ECS 201A.Pass 1 and Pass 2 open to Graduate Students in Computer Science only.Maximizing uniprocessor performance. Barriers to high performance; solutions to the problems; historical and current processor designs.Not open for credit to students who have completed ECS 250B.(Letter.)Effective: 2016 Spring Quarter.

ECS201C—Parallel Architectures(4)Active

Lecture—3 hour(s); Project (Term Project).Prerequisite(s):ECS 201A.Evolution of parallel architectures from special-purpose machines to commodity servers. Emphasis on recent machines and applications that drive them. Not open for credit to students who have completed ECS 250C.(Letter.)Effective: 2003 Spring Quarter.

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):ECS 120; ECS 122A.Pass 1 and Pass 2 open to Graduate Students in Computer Science only. Time and space complexity classes. Reductions, completeness, and the role of randomness. Logic and undecidability.(Letter.)Effective: 2016 Spring Quarter.

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):ECS 122A; STA 031A recommended.Pass One and Pass Two open to Graduate Students in Computer Science only.Techniques for designing efficient algorithms, analyzing their complexity and applying these algorithms to a broad range of applications. Methods for recognizing and dealing with difficult problems. (Letter.)Effective: 2016 Spring Quarter.

Discussion/Laboratory—3 hour(s); Project (Term Project)—1 hour(s).Prerequisite(s):ECS 222A.Pass One and Pass Two open to Graduate Students in Computer Science only.Models of parallel computer systems including PRAMs, loosely coupled systems and interconnection networks. Parallel algorithms for classical problems and general techniques for their design and analysis. Proving lower bounds on parallel computation in several settings.(Letter.)Effective: 2016 Spring Quarter.

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):ECS 175; ECS 222A.Pass One and Pass Two open to Graduate Students in Computer Science only.Mathematics of unstructured data. Algorithms for data structures such as Voronoi diagrams, oct-trees, and arrangements. Applications in computer graphics, concentrating on problems in three-dimensions.(Letter.)Effective: 2016 Spring Quarter.

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):ECS 124; Graduate standing in Computer Science or Life Sciences.Pass One and Pass Two open to Graduate Students in Computer Science only.Bioinformatics methods for analysis and inference of functional relationships among genes using large-scale genomic data, including methods for integration of gene expression, promoter sequence, TF-DNA binding and other data, and approaches in modeling of biological networks. (Letter.)Effective: 2016 Spring Quarter.

Lecture—3 hour(s); Project (Term Project).Prerequisite(s):ECS 235A; (ECS 120 and ECS 150 recommended.).Pass One and Pass Two open to Graduate Students in Computer Science only.Theoretical foundations of methods used to protect data in computer and communication systems. Access control matrix and undecidability of security; policies; Bell-LaPadula, Biba, Chinese Wall models; non-interference and non-deducibility; information flow and the confinement problem. Not open for credit to students who have taken ECS 235.(Letter.)Effective: 2016 Fall Quarter.

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):ECS 140A; ECS 142.Pass One and Pass Two open to Graduate Students in Computer Science only.Advanced topics in programming languages, including formal syntax and semantics, the relation between formal semantics and verification, an introduction to the lambda calculus. Additional topics will include language design principles, alternative programming languages, in-depth semantic theory and models of language implementation.(Letter.)Effective: 2016 Spring Quarter.

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):ECS 201A or EEC 270.Pass One and Pass Two open to Graduate Students in Computer Science only.Compiler optimizations for performance, code size and power reduction. Topics include control- and data-flow analysis, redundancy elimination, loop and cache optimizations, register allocation, local and global instruction scheduling, and modulo scheduling.(Letter.)Effective: 2016 Fall Quarter.

Lecture—3 hour(s).Prerequisite(s):ECS 261.Pass One and Pass Two open to Graduate Students in Computer Science only.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.(Letter.)Effective: 2016 Fall Quarter.

Lecture—3 hour(s).Prerequisite(s):ECS 140A; ECS 172.Pass One and Pass Two open to Graduate Students in Computer Science only.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.(Letter.)Effective: 2016 Fall Quarter.

ECS271—Machine Learning and Discovery (4)Active

Lecture—3 hour(s); Project (Term Project)—1 hour(s).Prerequisite(s):ECS 170.Pass One and Pass Two open to Graduate Students in Computer Science only.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.(Letter.)Effective: 2016 Fall Quarter.

Lecture—3 hour(s); Laboratory—3 hour(s).Prerequisite(s):ECS 175 or ECS 177 or ECS 178.Pass 1 and Pass 2 open to Graduate Students in Computer Science only.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.(Letter.)Effective: 2016 Spring Quarter.

ECS276—Advanced Volume Visualization(4)Active

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):ECS 177.Pass One and Pass Two open to Graduate Students in Computer Science only.Applications, available tools and techniques, the challenges confronting the field of volume visualization, and some of the advanced topics in the field. Primary emphasis on advanced software and hardware techniques to achieve interactive visualization.(Letter.)Effective: 2016 Fall Quarter.

Lecture—3 hour(s); Laboratory—3 hour(s).Prerequisite(s):ECS 175.Pass One and Pass Two open to Graduate Students in Computer Science only.Mathematical techniques for the definition and manipulation of curves and surfaces. Bezier curves and surfaces, B-spline curves and surfaces, subdivision surfaces, wavelets. Integration into various computer graphics rendering models, visualization systems and computer-aided design systems.(Letter.)Effective: 2016 Fall Quarter.

ECS279—Computer Animation(4)Active

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):ECS 175; or ECS 275.Pass One and Pass Two open to Graduate Students in Computer Science only.Course surveys current research and fundamental techniques that lie behind character animation tools. Emphasis on improving expressive aspects of movement and how physics, motion capture data, the arts and psychology literature, and interactive techniques can be used towards this goal.(Letter.)Effective: 2016 Fall Quarter.

ECS280—Virtual Reality Technology (4)Active

Lecture—3 hour(s); Discussion—1 hour(s).Prerequisite(s):ECS 175.Pass One and Pass Two open to Graduate Students in Computer Science only.Fundamentals and principles of Virtual Reality (VR) technology. Potential and limits for its useful application. Developing a complete virtual reality application.(Letter.)Effective: 2016 Spring Quarter.

Lecture—1 hour(s).Prerequisite(s):Graduate standing in computer science.Pass One and Pass Two open to Graduate Students in Computer Science only.Study of research topics in computer science, PhD level research methodologies (experimental, applied and theoretical). Study skills necessary to successfully find/solve significant research problems. Finding and successful interacting with a research advisor. Ethical issues in research/collaborative work.(S/U grading only.)Effective: 2016 Fall Quarter.

ECS293B—Research in Computer Science (1)Active

Lecture—1 hour(s).Prerequisite(s):Graduate standing in computer science; ECS 293A recommended.Pass One and Pass Two open to Graduate Students in Computer Science only.Study of PhD level research methodologies (experimental, applied and theoretical), presenting research results for the computer science community. Study skills necessary to successfully find/solve significant research problems. (S/U grading only.)Effective: 2016 Fall Quarter.

Discussion—1 hour(s).Prerequisite(s):Meet qualifications for teaching assistant and/or associate-in in Computer Science.Pass One and Pass Two open to Graduate Students in Computer Science only.Participation as a teaching assistant or associate-in in a designated engineering course. Methods of leading discussion groups or laboratory sections, writing and grading quizzes, use of laboratory equipment, and grading laboratory reports.May be repeated for credit.(S/U grading only.)Effective: 2016 Spring Quarter.