Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Electrical Engineering and Computer Sciences, Exams of Software Engineering

The Department of Electrical Engineering and Computer Sciences. (EECS) offers one of the strongest research and instructional programs.

Typology: Exams

2022/2023

Uploaded on 05/11/2023

ekavir
ekavir 🇺🇸

4.3

(31)

16 documents

1 / 48

Toggle sidebar

Related documents


Partial preview of the text

Download Electrical Engineering and Computer Sciences and more Exams Software Engineering in PDF only on Docsity! Electrical Engineering and Computer Sciences 1 Electrical Engineering and Computer Sciences Overview The Department of Electrical Engineering and Computer Sciences (EECS) offers one of the strongest research and instructional programs in this field anywhere in the world. Our key strength is our array of cross-disciplinary, team-driven projects. The integration of Electrical Engineering (EE) and Computer Science (CS) forms the core, with strong interactions that extend into the biological sciences, mechanical and civil engineering, the physical sciences, chemistry, mathematics, and operations research. Our programs have been consistently ranked in the top three nationwide and worldwide by various organizations. Each year, top students from all parts of the world are attracted to Berkeley's EECS program by the excellence of the faculty, the breadth of the educational opportunities in EECS and across the campus, our proximity to the vibrant California tech sector, and the Berkeley environment. The department's close ties to the industry, coupled with its commitment to engineering research and education, ensure that students receive a rigorous, relevant, and broad education. Faculty members at Berkeley are committed to research and discovery at the highest level, informed and creative teaching, and the creative desire to excel. The distinction of the EECS faculty has been recognized in a long list of prestigious honors and awards, including two National Medals of Science, six ACM Turing Awards, four IEEE Medals of Honor, 44 members of the National Academy of Engineering, eighteen members of the National Academy of Sciences, and 26 fellows of the American Academy of Arts and Sciences. Unlike many institutions of similar stature, regular faculty teach the vast majority of our courses, and the most exceptional teachers are often also the most exceptional researchers. The department's list of active teaching faculty includes seven winners of the prestigious Berkeley Campus Distinguished Teaching Award. The mission of the EECS Department has three parts: 1. Educating future leaders in academia, government, industry, and entrepreneurial pursuit, through a rigorous curriculum of theory and application that develops the ability to solve problems, individually and in teams 2. Creating knowledge of fundamental principles and innovative technologies, through research within the core areas of EECS, and in collaboration with other disciplines, that is distinguished by its impact on academia, industry, and society 3. Serving the communities to which we belong, at local, national, and international levels, with a deep awareness of our ethical responsibilities to our profession and to society Our strategy to accomplish this mission is simple: recruit and retain the very best faculty, students, and staff, and then empower them to direct and drive the creation and dissemination of knowledge. We know that we have succeeded in this mission when our students succeed, becoming leaders and serving society. Electrical Engineering began on the Berkeley campus more than a century ago, with the hiring of its first electrical engineer, Clarence Cory, into the College of Mechanics. The early days focused on electric power production and distribution, and Cory’s laboratory, in fact, provided the first light and power for the entire campus. The evolution since then has been dramatic, accelerating rapidly in the latter half of the twentieth century. The development of our world- class computer science faculty followed naturally from the synergies between electronics, systems theory, and computing. In the twenty- first century, EECS has become a broader field, defined more by its intellectual approach to engineering problems than by particular technical solutions. Broadly, EECS harnesses physical processes to perform logical functions, and hence easily extends beyond its core technological base in electronics to, for example, biological systems. We have current strengths in biosystems and computational biology, nanotechnology, artificial intelligence, concurrent and distributed systems, embedded systems, novel devices (such as organic semiconductors), robotics, advanced networking, computer security and trusted computing, energy, and sensor networks, which complement beautifully our more traditional strengths in physical electronics, integrated circuits, operating systems and networking, graphics and human-computer interaction, communications systems, computer architecture, control theory, signal processing, the theory of computing, programming languages, scientific computing, electronic design automation, power systems, and database management systems. Many of our current research projects are focused on enormous societal challenges and opportunities such as energy efficiency, network intelligence, transportation systems, security, and health care. Our graduate programs emphasize research, preparing students for leadership positions in industrial labs, government, or academia. Our laboratory and computing facilities are among the best anywhere and have conceived many transformative inventions. Our research programs are well funded, and nearly all of our PhD students receive full financial support. Undergraduate Programs Computer Science (http://guide.berkeley.edu/undergraduate/degree- programs/computer-science/): BA (major program offered through the College of Letters and Science), Minor Electrical Engineering and Computer Sciences (http://guide.berkeley.edu/ undergraduate/degree-programs/electrical-engineering-computer- sciences/): BS, Minor Electronic Intelligent Systems (http://guide.berkeley.edu/undergraduate/ degree-programs/electronic-intelligent-systems/): Minor Electrical Engineering and Computer Sciences/Materials Science and Engineering (http://guide.berkeley.edu/undergraduate/degree-programs/ electrical-engineering-computer-sciences-materials/): BS (Joint Major) Electrical Engineering and Computer Sciences/Nuclear Engineering (http://guide.berkeley.edu/undergraduate/degree-programs/electrical- engineering-computer-sciences-nuclear-joint-major/): BS (Joint Major) Graduate Programs Computer Science (http://guide.berkeley.edu/graduate/degree-programs/ computer-science/): MS, MEng, PhD Electrical Engineering and Computer Sciences (http://guide.berkeley.edu/ graduate/degree-programs/electrical-engineering-computer-sciences/): MEng, MS, PhD 2 Electrical Engineering and Computer Sciences Select a subject to view courses • Electrical Engineering and Computer Sciences (p. 2) • Computer Science (p. 12) • Electrical Engineering (p. 36) Electrical Engineering and Computer Sciences Expand all course descriptions [+]Collapse all course descriptions [-] EECS 16A Designing Information Devices and Systems I 4 Units Terms offered: Summer 2023 8 Week Session, Spring 2023, Fall 2022 This course and its follow-on course EECS16B focus on the fundamentals of designing modern information devices and systems that interface with the real world. Together, this course sequence provides a comprehensive foundation for core EECS topics in signal processing, learning, control, and circuit design while introducing key linear-algebraic concepts motivated by application contexts. Modeling is emphasized in a way that deepens mathematical maturity, and in both labs and homework, students will engage computationally, physically, and visually with the concepts being introduced in addition to traditional paper/pencil exercises. The courses are aimed at entering students as well as non- majors seeking a broad foundation for the field. Designing Information Devices and Systems I: Read More [+] Rules & Requirements Prerequisites: MATH 1A and MATH 1B (1B may be taken concurrently); COMPSCI 61A (encouraged to be taken concurrently) Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture, 2 hours of discussion, and 3 hours of laboratory per week Summer: 8 weeks - 6 hours of lecture, 4 hours of discussion, and 6 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/ Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Alon, Arcak, Ayazifar, Maharbiz, Niknejad, Ranade, Sahai, Subramanian, Tomlin Formerly known as: Electrical Engineering 16A Designing Information Devices and Systems I: Read Less [-] EECS 16B Designing Information Devices and Systems II 4 Units Terms offered: Summer 2023 8 Week Session, Spring 2023, Fall 2022 This course is a follow-on to EECS 16A, and focuses on the fundamentals of designing and building modern information devices and systems that interface with the real world. The course sequence provides a comprehensive introduction to core EECS topics in machine learning, circuit design, control, and signal processing while developing key linear-algebraic concepts motivated by application contexts. Modeling is emphasized in a way that deepens mathematical maturity, and in both labs and homework, students will engage computationally, physically, and visually with the concepts being introduced in addition to traditional paper exercises. The courses are aimed at entering students as well as non- majors seeking a broad introduction to the field. Designing Information Devices and Systems II: Read More [+] Rules & Requirements Prerequisites: EECS 16A Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture, 2 hours of discussion, and 3 hours of laboratory per week Summer: 8 weeks - 6 hours of lecture, 4 hours of discussion, and 6 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/ Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Alon, Ayazifar, Lustig, Maharbiz, Subramanian, Tomlin Formerly known as: Electrical Engineering 16B Designing Information Devices and Systems II: Read Less [-] Electrical Engineering and Computer Sciences 5 EECS C106B Robotic Manipulation and Interaction 4 Units Terms offered: Spring 2023, Spring 2022, Spring 2021, Spring 2020, Spring 2019 The course is a sequel to EECS/BIOE/MEC106A/EECSC206A, which covers the mathematical fundamentals of robotics including kinematics, dynamics and control as well as an introduction to path planning, obstacle avoidance, and computer vision. This course will present several areas of robotics and active vision, at a deeper level and informed by current research. Concepts will include the review at an advanced level of robot control, the kinematics, dynamics and control of multi-fingered hands, grasping and manipulation of objects, mobile robots: including non-holonomic motion planning and control, path planning, Simultaneous Localization And Mapping (SLAM), and active vision. Additional research topics covered at the instructor's discretion. Robotic Manipulation and Interaction: Read More [+] Rules & Requirements Prerequisites: EECS C106A / BIO ENG C106A / MEC ENG C106A / EECS C206A or an equivalent course. A strong programming background, knowledge of Python and Matlab, and some coursework in feedback controls (such as EL ENG C128 / MEC ENG C134) are also useful. Students who have not taken the prerequisite course should have a strong programming background, knowledge of Python and Matlab, and exposure to linear algebra, Lagrangian dynamics, and feedback controls at the intermediate level. EECS C106A Credit Restrictions: Students will receive no credit for Electrical Engineering and Computer Science C106B/Bioengineering C106B after completing Electrical Engineering C106B/Bioengineering C125B, Electrical Engineering 206B, or Electrical Engineering and Computer Science 206B. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 3 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/ Undergraduate Grading/Final exam status: Letter grade. Alternative to final exam. Instructor: Sastry Also listed as: BIO ENG C106B/MEC ENG C106B Robotic Manipulation and Interaction: Read Less [-] EECS 126 Probability and Random Processes 4 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 This course covers the fundamentals of probability and random processes useful in fields such as networks, communication, signal processing, and control. Sample space, events, probability law. Conditional probability. Independence. Random variables. Distribution, density functions. Random vectors. Law of large numbers. Central limit theorem. Estimation and detection. Markov chains. Probability and Random Processes: Read More [+] Rules & Requirements Prerequisites: COMPSCI 70 preferred but not required; Familiarity with linear algebra Credit Restrictions: Students will receive no credit for EECS 126 after completing EE 126. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/ Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructor: Ramchandran Probability and Random Processes: Read Less [-] 6 Electrical Engineering and Computer Sciences EECS 127 Optimization Models in Engineering 4 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 This course offers an introduction to optimization models and their applications, ranging from machine learning and statistics to decision- making and control, with emphasis on numerically tractable problems, such as linear or constrained least-squares optimization. Optimization Models in Engineering: Read More [+] Rules & Requirements Prerequisites: EECS 16A and EECS 16B, or consent of instructor Credit Restrictions: Students will receive no credit for EECS 127 after taking EECS 227AT or Electrical Engineering 127/227AT. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/ Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructor: El Ghaoui Formerly known as: Electrical Engineering 127 Optimization Models in Engineering: Read Less [-] EECS 149 Introduction to Embedded and Cyber Physical Systems 4 Units Terms offered: Fall 2022, Fall 2021, Fall 2020 This course introduces students to the basics of modeling, analysis, and design of embedded, cyber-physical systems. Students learn how to integrate computation with physical processes to meet a desired specification. Topics include models of computation, control, analysis and verification, interfacing with the physical world, real-time behaviors, mapping to platforms, and distributed embedded systems. The course has a strong laboratory component, with emphasis on a semester-long sequence of projects. Introduction to Embedded and Cyber Physical Systems: Read More [+] Objectives & Outcomes Course Objectives: To develop the skills to realize embedded systems that are safe, reliable, and efficient in their use of resources. To learn how to model and design the joint dynamics of software, networks, and physical processes. To learn to think critically about technologies that are available for achieving such joint dynamics. Rules & Requirements Prerequisites: COMPSCI 61C and COMPSCI 70; EECS 16A and EECS 16B, or permission of instructor Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 3 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/ Undergraduate Grading/Final exam status: Letter grade. Alternative to final exam. Instructors: Seshia, Lee, Dutta Introduction to Embedded and Cyber Physical Systems: Read Less [-] Electrical Engineering and Computer Sciences 7 EECS 151 Introduction to Digital Design and Integrated Circuits 3 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 An introduction to digital and system design. The material provides a top-down view of the principles, components, and methodologies for large scale digital system design. The underlying CMOS devices and manufacturing technologies are introduced, but quickly abstracted to higher-levels to focus the class on design of larger digital modules for both FPGAs (field programmable gate arrays) and ASICs (application specific integrated circuits). The class includes extensive use of industrial grade design automation and verification tools for assignments, labs and projects. The class has two lab options: ASIC Lab (EECS 151LA) and FPGA Lab (EECS 151LB). Students must enroll in at least one of the labs concurrently with the class. Introduction to Digital Design and Integrated Circuits: Read More [+] Objectives & Outcomes Course Objectives: The Verilog hardware description language is introduced and used. Basic digital system design concepts, Boolean operations/combinational logic, sequential elements and finite-state- machines, are described. Design of larger building blocks such as arithmetic units, interconnection networks, input/output units, as well as memory design (SRAM, Caches, FIFOs) and integration are also covered. Parallelism, pipelining and other micro-architectural optimizations are introduced. A number of physical design issues visible at the architecture level are covered as well, such as interconnects, power, and reliability. Rules & Requirements Prerequisites: EECS 16A and EECS 16B Credit Restrictions: Students must enroll concurrently in at least one the lab flavors EECS151LA or EECS151LB. Students wishing to take a second lab flavor next term can sign-up only for that Lab section and receive a Letter grade. The pre-requisite for “Lab-only” enrollment that term will be EECS151 from previous terms. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/ Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Stojanovic, Wawrzynek Introduction to Digital Design and Integrated Circuits: Read Less [-] EECS 151LA Application Specific Integrated Circuits Laboratory 2 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 This lab lays the foundation of modern digital design by first presenting the scripting and hardware description language base for specification of digital systems and interactions with tool flows. The labs are centered on a large design with the focus on rapid design space exploration. The lab exercises culminate with a project design, e.g., implementation of a three-stage RISC-V processor with a register file and caches. The design is mapped to simulation and layout specification. Application Specific Integrated Circuits Laboratory: Read More [+] Objectives & Outcomes Course Objectives: Software testing of digital designs is covered leading to a set of exercises that cover the design flow. Digital synthesis, floor- planning, placement and routing are covered, as well as tools to evaluate timing and power consumption. Chip-level assembly is covered, including instantiation of custom blocks: I/O pads, memories, PLLs, etc. Rules & Requirements Prerequisites: COMPSCI 61C, EECS 16A, EECS 16B, and EL ENG 105 Hours & Format Fall and/or spring: 15 weeks - 3 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/ Undergraduate Grading/Final exam status: Letter grade. Final exam not required. Instructors: Stojanovic, Wawrzynek Application Specific Integrated Circuits Laboratory: Read Less [-] 10 Electrical Engineering and Computer Sciences EECS 219C Formal Methods: Specification, Verification, and Synthesis 3 Units Terms offered: Spring 2023, Spring 2022, Spring 2021 Introduction to the theory and practice of formal methods for the design and analysis of systems, with a focus on algorithmic techniques. Covers selected topics in computational logic and automata theory including modeling and specification formalisms, temporal logics, satisfiability solving, model checking, synthesis, learning, and theorem proving. Applications to software and hardware design, cyber-physical systems, robotics, computer security, and other areas will be explored as time permits. Formal Methods: Specification, Verification, and Synthesis: Read More [+] Rules & Requirements Prerequisites: Graduate standing or consent of instructor; COMPSCI 170 is recommended Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/Graduate Grading: Letter grade. Instructor: Seshia Formerly known as: Electrical Engineering 219C Formal Methods: Specification, Verification, and Synthesis: Read Less [-] EECS 225A Statistical Signal Processing 3 Units Terms offered: Spring 2023, Fall 2021, Fall 2020 This course connects classical statistical signal processing (Hilbert space filtering theory by Wiener and Kolmogorov, state space model, signal representation, detection and estimation, adaptive filtering) with modern statistical and machine learning theory and applications. It focuses on concrete algorithms and combines principled theoretical thinking with real applications. Statistical Signal Processing: Read More [+] Rules & Requirements Prerequisites: EL ENG 120 and EECS 126 Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/Graduate Grading: Letter grade. Instructors: Jiao, Waller Formerly known as: Electrical Engineering 225A Statistical Signal Processing: Read Less [-] EECS 225B Digital Image Processing 3 Units Terms offered: Fall 2022, Fall 2020, Spring 2020 This course deals with computational methods as applied to digital imagery. It focuses on image sensing and acquisition, image sampling and quantization; spatial transformation, linear and nonlinear filtering; introduction to convolutional neural networks, and GANs; applications of deep learning methods to image processing problems; image enhancement, histogram equalization, image restoration, Weiner filtering, tomography, image reconstruction from projections and partial Fourier information, Radon transform, multiresolution analysis, continuous and discrete wavelet transform and computation, subband coding, image and video compression, sparse signal approximation, dictionary techniques, image and video compression standards, and more. Digital Image Processing: Read More [+] Rules & Requirements Prerequisites: Basic knowledge of signals and systems, convolution, and Fourier Transform Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/Graduate Grading: Letter grade. Instructor: Zakhor Formerly known as: Electrical Engineering 225B Digital Image Processing: Read Less [-] EECS 227AT Optimization Models in Engineering 4 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 This course offers an introduction to optimization models and their applications, ranging from machine learning and statistics to decision- making and control, with emphasis on numerically tractable problems, such as linear or constrained least-squares optimization. Optimization Models in Engineering: Read More [+] Rules & Requirements Prerequisites: MATH 54 or consent of instructor Credit Restrictions: Students will receive no credit for EECS 227AT after taking EECS 127 or Electrical Engineering 127/227AT. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/Graduate Grading: Letter grade. Instructor: El Ghaoui Formerly known as: Electrical Engineering 227AT Optimization Models in Engineering: Read Less [-] Electrical Engineering and Computer Sciences 11 EECS 251A Introduction to Digital Design and Integrated Circuits 3 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 An introduction to digital circuit and system design. The material provides a top-down view of the principles, components, and methodologies for large scale digital system design. The underlying CMOS devices and manufacturing technologies are introduced, but quickly abstracted to higher levels to focus the class on design of larger digital modules for both FPGAs (field programmable gate arrays) and ASICs (application specific integrated circuits). The class includes extensive use of industrial grade design automation and verification tools for assignments, labs, and projects. Introduction to Digital Design and Integrated Circuits: Read More [+] Objectives & Outcomes Course Objectives: The Verilog hardware description language is introduced and used. Basic digital system design concepts, Boolean operations/combinational logic, sequential elements and finite-state- machines, are described. Design of larger building blocks such as arithmetic units, interconnection networks, input/output units, as well as memory design (SRAM, Caches, FIFOs) and integration are also covered. Parallelism, pipelining and other micro-architectural optimizations are introduced. A number of physical design issues visible at the architecture level are covered as well, such as interconnects, power, and reliability. Student Learning Outcomes: Although the syllabus is the same as EECS151, the assignments and exams for EECS251A will have harder problems that test deeper understanding expected from a graduate level course. Rules & Requirements Prerequisites: EECS 16A and EECS 16B; COMPSCI 61C; and recommended: EL ENG 105. Students must enroll concurrently in at least one the laboratory flavors EECS 251LA or EECS 251LB. Students wishing to take a second laboratory flavor next term can sign-up only for that laboratory section and receive a letter grade. The prerequisite for “Lab-only” enrollment that term will be EECS 251A from previous terms Credit Restrictions: Students must enroll concurrently in at least one the laboratory flavors Electrical Engineering and Computer Science 251LA or Electrical Engineering and Computer Science 251LB. Students wishing to take a second laboratory flavor next term can sign-up only for that laboratory section and receive a letter grade. The pre-requisite for “Lab- only” enrollment that term will be Electrical Engineering and Computer Science 251A from previous terms. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/Graduate Grading: Letter grade. Instructors: Stojanovic, Wawrzynek Formerly known as: Electrical Engineering 241A Introduction to Digital Design and Integrated Circuits: Read Less [-] EECS 251B Advanced Digital Integrated Circuits and Systems 4 Units Terms offered: Spring 2023, Spring 2022 This course aims to convey a knowledge of advanced concepts of digital circuit and system-on-a-chip design in state-of-the-art technologies. Emphasis is on the circuit and system design and optimization for both energy efficiency and high performance for use in a broad range of applications, from edge computing to datacenters. Special attention will be devoted to the most important challenges facing digital circuit designers in the coming decade. The course is accompanied with practical laboratory exercises that introduce students to modern tool flows. Advanced Digital Integrated Circuits and Systems: Read More [+] Rules & Requirements Prerequisites: Introduction to Digital Design and Integrated Circuits, EECS151 (taken with either EECS151LA or EECS151LB lab) or EECS251A (taken with either EECS251LA or EECS251LB lab) Credit Restrictions: Students will receive no credit for EECS 251B after completing COMPSCI 250, or EL ENG 241B. Hours & Format Fall and/or spring: 15 weeks - 4 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/Graduate Grading: Letter grade. Instructors: Nikoli#, Shao, Wawrzynek, Asanovi#, Stojanovi#, Seshia Advanced Digital Integrated Circuits and Systems: Read Less [-] 12 Electrical Engineering and Computer Sciences EECS 251LA Introduction to Digital Design and Integrated Circuits Lab 2 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 This lab lays the foundation of modern digital design by first presenting the scripting and hardware description language base for specification of digital systems and interactions with tool flows. The labs are centered on a large design with the focus on rapid design space exploration. The lab exercises culminate with a project design, e.g. implementation of a 3-stage RISC-V processor with a register file and caches. The design is mapped to simulation and layout specification. Introduction to Digital Design and Integrated Circuits Lab: Read More [+] Objectives & Outcomes Course Objectives: Software testing of digital designs is covered leading to a set of exercises that cover the design flow. Digital synthesis, floor- planning, placement and routing are covered, as well as tools to evaluate timing and power consumption. Chip-level assembly is covered, including instantiation of custom blocks: I/O pads, memories, PLLs, etc. Student Learning Outcomes: Although the syllabus is the same as EECS151LA, the assignments and exams for EECS251LA will have harder problems in labs and in the project that test deeper understanding expected from a graduate level course. Rules & Requirements Prerequisites: EECS 16A, EECS 16B, and COMPSCI 61C; and EL ENG 105 is recommended Hours & Format Fall and/or spring: 15 weeks - 3 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/Graduate Grading: Letter grade. Instructors: Stojanovic, Wawrzynek Introduction to Digital Design and Integrated Circuits Lab: Read Less [-] EECS 251LB Introduction to Digital Design and Integrated Circuits Lab 2 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 This lab covers the design of modern digital systems with Field- Programmable Gate Array (FPGA) platforms. A series of lab exercises provide the background and practice of digital design using a modern FPGA design tool flow. Digital synthesis, partitioning, placement, routing, and simulation tools for FPGAs are covered in detail. The labs exercises culminate with a large design project, e.g., an implementation of a full 3-stage RISC-V processor system, with caches, graphics acceleration, and external peripheral components. The design is mapped and demonstrated on an FPGA hardware platform. Introduction to Digital Design and Integrated Circuits Lab: Read More [+] Objectives & Outcomes Student Learning Outcomes: Although the syllabus is the same as EECS151LB, the assignments and exams for EECS251LB will have harder problems in labs and in the project that test deeper understanding expected from a graduate level course. Rules & Requirements Prerequisites: EECS 16A, EECS 16B, and COMPSCI 61C; and EL ENG 105 is recommended Hours & Format Fall and/or spring: 15 weeks - 3 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/Graduate Grading: Letter grade. Instructors: Stojanovic, Wawrzynek Introduction to Digital Design and Integrated Circuits Lab: Read Less [-] Computer Science Expand all course descriptions [+]Collapse all course descriptions [-] Electrical Engineering and Computer Sciences 15 COMPSCI 9H Python for Programmers 2 Units Terms offered: Spring 2019, Fall 2018, Spring 2018 Introduction to the constructs provided in the Python programming language, aimed at students who already know how to program. Flow of control; strings, tuples, lists, and dictionaries; CGI programming; file input and output; object-oriented programming; GUI elements. Python for Programmers: Read More [+] Rules & Requirements Prerequisites: Programming experience equivalent to that gained in COMPSCI 10 Hours & Format Fall and/or spring: 15 weeks - 1 hour of self-paced per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Offered for pass/not pass grade only. Final exam required. Instructor: Hilfinger Python for Programmers: Read Less [-] COMPSCI 10 The Beauty and Joy of Computing 4 Units Terms offered: Summer 2023 8 Week Session, Spring 2023, Fall 2022 An introductory course for students with minimal prior exposure to computer science. Prepares students for future computer science courses and empowers them to utilize programming to solve problems in their field of study. Presents an overview of the history, great principles, and transformative applications of computer science, as well as a comprehensive introduction to programming. Topics include abstraction, recursion, algorithmic complexity, higher-order functions, concurrency, social implications of computing (privacy, education, algorithmic bias), and engaging research areas (data science, AI, HCI). Students will program in Snap! (a friendly graphical language) and Python, and will design and implement two projects of their choice. The Beauty and Joy of Computing: Read More [+] Rules & Requirements Credit Restrictions: Students will receive no credit for 10 after having taken W10, 61A, 61B, or 61C. Hours & Format Fall and/or spring: 15 weeks - 2 hours of lecture, 1 hour of discussion, and 4 hours of laboratory per week Summer: 8 weeks - 4 hours of lecture, 2 hours of discussion, and 8 hours of laboratory per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Garcia, Hug The Beauty and Joy of Computing: Read Less [-] COMPSCI W10 The Beauty and Joy of Computing 4 Units Terms offered: Fall 2012 This course meets the programming prerequisite for 61A. An introduction to the beauty and joy of computing. The history, social implications, great principles, and future of computing. Beautiful applications that have changed the world. How computing empowers discovery and progress in other fields. Relevance of computing to the student and society will be emphasized. Students will learn the joy of programming a computer using a friendly, graphical language, and will complete a substantial team programming project related to their interests. The Beauty and Joy of Computing: Read More [+] Rules & Requirements Credit Restrictions: Students will receive no credit for W10 after taking 10, 61A, 61B or 61C. A deficient grade in 10 may be removed by taking W10. Hours & Format Fall and/or spring: 15 weeks - 2 hours of web-based lecture and 5 hours of web-based discussion per week Summer: 8 weeks - 4 hours of web-based lecture and 10 hours of web- based discussion per week Online: This is an online course. Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Garcia, Hug The Beauty and Joy of Computing: Read Less [-] 16 Electrical Engineering and Computer Sciences COMPSCI 36 CS Scholars Seminar: The Educational Climate in CS & CS61A technical discussions 2 Units Terms offered: Fall 2019, Fall 2018, Spring 2018 Computer Science 36 is a seminar for CS Scholars who are concurrently taking CS61A: The Structure and Interpretation of Computer Programs. CS Scholars is a cohort-model program to provide support in exploring and potentially declaring a CS major for students with little to no computational background prior to coming to the university. CS 36 provides an introduction to the CS curriculum at UC Berkeley, and the overall CS landscape in both industry and academia—through the lens of accessibility and its relevance to diversity. Additionally, CS36 provides technical instruction to review concepts in CS61A, in order to support CS Scholars’ individual learning and success in the CS61A course. CS Scholars Seminar: The Educational Climate in CS & CS61A technical discussions: Read More [+] Objectives & Outcomes Student Learning Outcomes: Students will know where to find several support services including tutoring, advising, counseling, and career advice. Students will perform as well as possible in the CS61A prerequisite for the CS major. They will also have customized program plans for completing the major within four years. Rules & Requirements Prerequisites: Prerequisite satisfied Concurrently: Participating in the CS Scholars program, and concurrently taking COMPSCI 61A Hours & Format Fall and/or spring: 15 weeks - 2 hours of seminar per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Offered for pass/not pass grade only. Alternative to final exam. Instructor: Hunn CS Scholars Seminar: The Educational Climate in CS & CS61A technical discussions: Read Less [-] COMPSCI 39 Freshman/Sophomore Seminar 1.5 - 2 Units Terms offered: Spring 2022, Spring 2019, Fall 2017 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+] Rules & Requirements Prerequisites: Priority given to freshmen and sophomores Repeat rules: Course may be repeated for credit when topic changes. Hours & Format Fall and/or spring: 15 weeks - 2-3 hours of seminar per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Offered for pass/not pass grade only. Final Exam To be decided by the instructor when the class is offered. Freshman/Sophomore Seminar: Read Less [-] COMPSCI 39J Freshman/Sophomore Seminar 1.5 - 4 Units Terms offered: Fall 2010, Spring 2010, Fall 2009 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+] Rules & Requirements Prerequisites: Priority given to freshmen and sophomores Repeat rules: Course may be repeated for credit without restriction. Hours & Format Fall and/or spring: 15 weeks - 2-4 hours of seminar per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required. Freshman/Sophomore Seminar: Read Less [-] Electrical Engineering and Computer Sciences 17 COMPSCI 39K Freshman/Sophomore Seminar 1.5 - 4 Units Terms offered: Spring 2013, Spring 2011, Spring 2010 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+] Rules & Requirements Prerequisites: Priority given to freshmen and sophomores Repeat rules: Course may be repeated for credit without restriction. Hours & Format Fall and/or spring: 15 weeks - 2-4 hours of seminar per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required. Freshman/Sophomore Seminar: Read Less [-] COMPSCI 39M Freshman/Sophomore Seminar 1.5 - 4 Units Terms offered: Fall 2008 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+] Rules & Requirements Prerequisites: Priority given to freshmen and sophomores Repeat rules: Course may be repeated for credit without restriction. Hours & Format Fall and/or spring: 15 weeks - 2-4 hours of seminar per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required. Freshman/Sophomore Seminar: Read Less [-] COMPSCI 39N Freshman/Sophomore Seminar 1.5 - 4 Units Terms offered: Fall 2010, Fall 2009 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+] Rules & Requirements Prerequisites: Priority given to freshmen and sophomores Repeat rules: Course may be repeated for credit without restriction. Hours & Format Fall and/or spring: 15 weeks - 2-4 hours of seminar per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required. Freshman/Sophomore Seminar: Read Less [-] COMPSCI 39P Freshman/Sophomore Seminar 1.5 - 4 Units Terms offered: Fall 2013, Spring 2013, Fall 2012 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+] Rules & Requirements Prerequisites: Priority given to freshmen and sophomores Repeat rules: Course may be repeated for credit without restriction. Hours & Format Fall and/or spring: 15 weeks - 2-4 hours of seminar per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required. Freshman/Sophomore Seminar: Read Less [-] 20 Electrical Engineering and Computer Sciences COMPSCI 61B Data Structures 4 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Introduction to the Java programming language. Data Structures: Read More [+] Rules & Requirements Prerequisites: COMPSCI 61A, COMPSCI 88, or ENGIN 7 Credit Restrictions: Students will receive no credit for COMPSCI 61B after completing COMPSCI 61BL, or COMPSCI 47B. A deficient grade in COMPSCI 61B may be removed by taking COMPSCI 61BL. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 2 hours of laboratory per week Summer: 8 weeks - 6 hours of lecture, 2 hours of discussion, and 4 hours of laboratory per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Hilfinger, Shewchuk Data Structures: Read Less [-] COMPSCI 61BL Data Structures and Programming Methodology 4 Units Terms offered: Summer 2023 8 Week Session, Summer 2022 8 Week Session, Summer 2021 8 Week Session The same material as in 61B, but in a laboratory-based format. Data Structures and Programming Methodology: Read More [+] Rules & Requirements Prerequisites: COMPSCI 61A, COMPSCI 88, or ENGIN 7 Credit Restrictions: Students will receive no credit for COMPSCI 61BL after completing COMPSCI 47B, or COMPSCI 61B. A deficient grade in COMPSCI 61BL may be removed by taking COMPSCI 61B. Hours & Format Fall and/or spring: 15 weeks - 1 hour of lecture and 6 hours of laboratory per week Summer: 8 weeks - 2 hours of lecture and 12 hours of laboratory per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructor: Hilfinger Data Structures and Programming Methodology: Read Less [-] COMPSCI 61C Great Ideas of Computer Architecture (Machine Structures) 4 Units Terms offered: Summer 2023 8 Week Session, Spring 2023, Fall 2022 The internal organization and operation of digital computers. Machine architecture, support for high-level languages (logic, arithmetic, instruction sequencing) and operating systems (I/O, interrupts, memory management, process switching). Elements of computer logic design. Tradeoffs involved in fundamental architectural design decisions. Great Ideas of Computer Architecture (Machine Structures): Read More [+] Rules & Requirements Prerequisites: COMPSCI 61A, along with either COMPSCI 61B or COMPSCI 61BL, or programming experience equivalent to that gained in COMPSCI 9C, COMPSCI 9F, or COMPSCI 9G Credit Restrictions: Students will receive no credit for COMPSCI 61C after completing COMPSCI 61CL. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 2 hours of laboratory per week Summer: 8 weeks - 6 hours of lecture, 2 hours of discussion, and 4 hours of laboratory per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Garcia, Katz, Stojanovic Great Ideas of Computer Architecture (Machine Structures): Read Less [-] Electrical Engineering and Computer Sciences 21 COMPSCI 61CL Machine Structures (Lab- Centric) 4 Units Terms offered: Fall 2009, Spring 2009, Fall 2008 The same material as in 61C but in a lab-centric format. Machine Structures (Lab-Centric): Read More [+] Rules & Requirements Prerequisites: COMPSCI 61A, along with COMPSCI 61B or COMPSCI 61BL, or programming experience equivalent to that gained in COMPSCI 9C, COMPSCI 9F, or COMPSCI 9G Credit Restrictions: Students will receive no credit for COMPSCI 61CL after completing COMPSCI 61C, or COMPSCI 47C. Hours & Format Fall and/or spring: 15 weeks - 2 hours of lecture, 1 hour of discussion, and 4 hours of laboratory per week Summer: 8 weeks - 4 hours of lecture, 2 hours of discussion, and 8 hours of laboratory per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Garcia, Patterson Machine Structures (Lab-Centric): Read Less [-] COMPSCI W61A The Structure and Interpretation of Computer Programs (Online) 4 Units Terms offered: Summer 2019 8 Week Session An introduction to programming and computer science focused on abstraction techniques as means to manage program complexity. Techniques include procedural abstraction; control abstraction using recursion, higher-order functions, generators, and streams; data abstraction using interfaces, objects, classes, and generic operators; and language abstraction using interpreters and macros. The course exposes students to programming paradigms, including functional, object-oriented, and declarative approaches. It includes an introduction to asymptotic analysis of algorithms. There are several significant programming projects. The Structure and Interpretation of Computer Programs (Online): Read More [+] Rules & Requirements Prerequisites: MATH 1A (may be taken concurrently); programming experience equivalent to that gained from a score of 3 or above on the Advanced Placement Computer Science A exam Credit Restrictions: Students will receive no credit for Computer Science W61A after completing Computer Science 47A or Computer Science 61A. A deficient grade in Computer Science W61A may be removed by taking Computer Science 61A. Hours & Format Fall and/or spring: 15 weeks - 3 hours of web-based lecture, 1.5 hours of laboratory, and 1.5 hours of web-based discussion per week Summer: 8 weeks - 6 hours of web-based lecture, 3 hours of laboratory, and 3 hours of web-based discussion per week Online: This is an online course. Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructor: Denero The Structure and Interpretation of Computer Programs (Online): Read Less [-] 22 Electrical Engineering and Computer Sciences COMPSCI 70 Discrete Mathematics and Probability Theory 4 Units Terms offered: Spring 2023, Fall 2022, Summer 2022 8 Week Session Logic, infinity, and induction; applications include undecidability and stable marriage problem. Modular arithmetic and GCDs; applications include primality testing and cryptography. Polynomials; examples include error correcting codes and interpolation. Probability including sample spaces, independence, random variables, law of large numbers; examples include load balancing, existence arguments, Bayesian inference. Discrete Mathematics and Probability Theory: Read More [+] Rules & Requirements Prerequisites: Sophomore mathematical maturity, and programming experience equivalent to that gained with a score of 3 or above on the Advanced Placement Computer Science A exam Credit Restrictions: Students will receive no credit for Computer Science 70 after taking Mathematics 55. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 2 hours of discussion per week Summer: 8 weeks - 6 hours of lecture and 4 hours of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Rao, Vazirani, Wagner, Sahai Discrete Mathematics and Probability Theory: Read Less [-] COMPSCI C79 Societal Risks and the Law 3 Units Terms offered: Spring 2013 Defining, perceiving, quantifying and measuring risk; identifying risks and estimating their importance; determining whether laws and regulations can protect us from these risks; examining how well existing laws work and how they could be improved; evaluting costs and benefits. Applications may vary by term. This course cannot be used to complete engineering unit or technical elective requirements for students in the College of Engineering. Societal Risks and the Law: Read More [+] Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam not required. Also listed as: POL SCI C79/STAT C79 Societal Risks and the Law: Read Less [-] COMPSCI 84 Sophomore Seminar 1 or 2 Units Terms offered: Fall 2007 Sophomore seminars are small interactive courses offered by faculty members in departments all across the campus. Sophomore seminars offer opportunity for close, regular intellectual contact between faculty members and students in the crucial second year. The topics vary from department to department and semester to semester. Enrollment limited to 15 sophomores. Sophomore Seminar: Read More [+] Rules & Requirements Prerequisites: At discretion of instructor Repeat rules: Course may be repeated for credit when topic changes. Hours & Format Fall and/or spring: 5 weeks - 3-6 hours of seminar per week 10 weeks - 1.5-3 hours of seminar per week 15 weeks - 1-2 hours of seminar per week Summer: 6 weeks - 2.5-5 hours of seminar per week 8 weeks - 2-4 hours of seminar per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required. Sophomore Seminar: Read Less [-] Electrical Engineering and Computer Sciences 25 COMPSCI 146L Programmable Digital Systems Laboratory 2 Units Terms offered: Spring 2015 Hardware description languages for digital system design and interactions with tool flows. Design, implementation, and verification of digital designs. Digital synthesis, partitioning, placement, routing, and simulation for Field-Programmable Gate Arrays. Large digital-system design concepts. Project design component – example, a full processor implementation with peripherals. Programmable Digital Systems Laboratory: Read More [+] Objectives & Outcomes Student Learning Outcomes: This course is a one-time offering to supplement the EE141 course offered in the Fall 2014, with a lab and project section that cover the design of larger digital systems on a programmable chip platform (FPGA). The EE141 lectures in the Fall 2014 already covered the necessary lecture material, so students who took the EE141 lab in the Fall of 2014 will have a chance to expand their skills into the area of FPGA Digital System Design. Hence the pre-requisite for this course is that a student has taken the EE141 course in the Fall 2014. Rules & Requirements Prerequisites: COMPSCI 61C; EL ENG 105 recommended Credit Restrictions: Students will receive no credit for Computer Science 146L after taking Fall 2014 version of Computer Science 150. Hours & Format Fall and/or spring: 15 weeks - 3 hours of laboratory and 1 hour of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required. Instructor: Stojanovic Programmable Digital Systems Laboratory: Read Less [-] COMPSCI 152 Computer Architecture and Engineering 4 Units Terms offered: Spring 2023, Spring 2022, Spring 2021 Instruction set architecture, microcoding, pipelining (simple and complex). Memory hierarchies and virtual memory. Processor parallelism: VLIW, vectors, multithreading. Multiprocessors. Computer Architecture and Engineering: Read More [+] Rules & Requirements Prerequisites: COMPSCI 61C Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 2 hours of discussion per week Summer: 8 weeks - 6 hours of lecture and 4 hours of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Alternative to final exam. Instructors: Asanovic, Culler, Kubiatowicz, Wawrzynek Computer Architecture and Engineering: Read Less [-] COMPSCI 160 User Interface Design and Development 4 Units Terms offered: Spring 2023, Summer 2022 8 Week Session, Spring 2022 The design, implementation, and evaluation of user interfaces. User- centered design and task analysis. Conceptual models and interface metaphors. Usability inspection and evaluation methods. Analysis of user study data. Input methods (keyboard, pointing, touch, tangible) and input models. Visual design principles. Interface prototyping and implementation methodologies and tools. Students will develop a user interface for a specific task and target user group in teams. User Interface Design and Development: Read More [+] Rules & Requirements Prerequisites: COMPSCI 61B or COMPSCI 61BL Credit Restrictions: Students will receive no credit for Computer Science 160 after taking Computer Science 260A. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Agrawala, Canny, Hartmann, Paulos User Interface Design and Development: Read Less [-] 26 Electrical Engineering and Computer Sciences COMPSCI 161 Computer Security 4 Units Terms offered: Summer 2023 8 Week Session, Spring 2023, Fall 2022 Introduction to computer security. Cryptography, including encryption, authentication, hash functions, cryptographic protocols, and applications. Operating system security, access control. Network security, firewalls, viruses, and worms. Software security, defensive programming, and language-based security. Case studies from real-world systems. Computer Security: Read More [+] Rules & Requirements Prerequisites: COMPSCI 61C; and COMPSCI 70 or MATH 55 Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Paxson, Song, Tygar, Wagner Computer Security: Read Less [-] COMPSCI 162 Operating Systems and System Programming 4 Units Terms offered: Spring 2023, Fall 2022, Summer 2022 8 Week Session Basic concepts of operating systems and system programming. Utility programs, subsystems, multiple-program systems. Processes, interprocess communication, and synchronization. Memory allocation, segmentation, paging. Loading and linking, libraries. Resource allocation, scheduling, performance evaluation. File systems, storage devices, I/O systems. Protection, security, and privacy. Operating Systems and System Programming: Read More [+] Rules & Requirements Prerequisites: COMPSCI 61B, COMPSCI 61C, and COMPSCI 70 Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Joseph, Kubiatowicz, Stoica Operating Systems and System Programming: Read Less [-] COMPSCI 164 Programming Languages and Compilers 4 Units Terms offered: Spring 2023, Fall 2022, Fall 2021 Survey of programming languages. The design of modern programming languages. Principles and techniques of scanning, parsing, semantic analysis, and code generation. Implementation of compilers, interpreters, and assemblers. Overview of run-time organization and error handling. Programming Languages and Compilers: Read More [+] Rules & Requirements Prerequisites: COMPSCI 61B and COMPSCI 61C Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Bodik, Hilfinger, Necula Programming Languages and Compilers: Read Less [-] COMPSCI 168 Introduction to the Internet: Architecture and Protocols 4 Units Terms offered: Fall 2022, Spring 2020, Fall 2018 This course is an introduction to the Internet architecture. We will focus on the concepts and fundamental design principles that have contributed to the Internet's scalability and robustness and survey the various protocols and algorithms used within this architecture. Topics include layering, addressing, intradomain routing, interdomain routing, reliable delivery, congestion control, and the core protocols (e.g., TCP, UDP, IP, DNS, and HTTP) and network technologies (e.g., Ethernet, wireless). Introduction to the Internet: Architecture and Protocols: Read More [+] Rules & Requirements Prerequisites: COMPSCI 61B and COMPSCI 162 Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Katz, Paxson, Ratnasamy, Shenker, Stoica Introduction to the Internet: Architecture and Protocols: Read Less [-] Electrical Engineering and Computer Sciences 27 COMPSCI 169 Software Engineering 4 Units Terms offered: Fall 2019, Spring 2019, Fall 2017 Ideas and techniques for designing, developing, and modifying large software systems. Function-oriented and object-oriented modular design techniques, designing for re-use and maintainability. Specification and documentation. Verification and validation. Cost and quality metrics and estimation. Project team organization and management. Students will work in teams on a substantial programming project. Software Engineering: Read More [+] Rules & Requirements Prerequisites: COMPSCI 61B and COMPSCI 61C; COMPSCI 70 or MATH 113 Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Brewer, Fox, Necula, Sen Software Engineering: Read Less [-] COMPSCI 169A Introduction to Software Engineering 4 Units Terms offered: Summer 2023 8 Week Session, Fall 2022, Fall 2021 Ideas and techniques for designing, developing, and modifying large software systems. Service-oriented architecture, behavior-driven design with user stories, cloud computing, test-driven development, automated testing, cost and quality metrics for maintainability and effort estimation, practical performance and security in software operations, design patterns and refactoring, specification and documentation, agile project team organization and management. Introduction to Software Engineering: Read More [+] Objectives & Outcomes Student Learning Outcomes: Students will learn how to approach and add functionality to a legacy code base; Students will learn how to identify, measure, and resolve maintainability problems in code; Students will learn how to work with nontechnical customers and convert customer requirements into a software plan that can be effort-estimated, built, and deployed to the public cloud, including the use of behavior- driven design, user stories, and velocity; Students will learn how to write automated tests and measure test coverage; Students will learn practical security and performance considerations for SaaS applications. Students will learn the architecture and machinery of software as a service; the agile/XP methodology for software development and how it compares with other methodologies, including "Plan-and-document" methodologies; Students will learn the role of software design patterns in refactoring, and how to identify opportunities to use them; Rules & Requirements Prerequisites: COMPSCI 61A and COMPSCI 61B; COMPSCI 70 is recommended Credit Restrictions: Students will receive no credit for COMPSCI 169A after completing COMPSCI 169, or COMPSCI W169A. A deficient grade in COMPSCI 169A may be removed by taking COMPSCI 169, or COMPSCI W169A. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Fox, Fox, Ball Introduction to Software Engineering: Read Less [-] 30 Electrical Engineering and Computer Sciences COMPSCI 174 Combinatorics and Discrete Probability 4 Units Terms offered: Spring 2023, Spring 2022, Fall 2019 Permutations, combinations, principle of inclusion and exclusion, generating functions, Ramsey theory. Expectation and variance, Chebychev's inequality, Chernov bounds. Birthday paradox, coupon collector's problem, Markov chains and entropy computations, universal hashing, random number generation, random graphs and probabilistic existence bounds. Combinatorics and Discrete Probability: Read More [+] Rules & Requirements Prerequisites: COMPSCI 170 Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Bartlett, Papadimitriou, Sinclair, Vazirani Combinatorics and Discrete Probability: Read Less [-] COMPSCI 176 Algorithms for Computational Biology 4 Units Terms offered: Fall 2020, Fall 2018, Fall 2017 Algorithms and probabilistic models that arise in various computational biology applications: suffix trees, suffix arrays, pattern matching, repeat finding, sequence alignment, phylogenetics, genome rearrangements, hidden Markov models, gene finding, motif finding, stochastic context free grammars, RNA secondary structure. There are no biology prerequisites for this course, but a strong quantitative background will be essential. Algorithms for Computational Biology: Read More [+] Rules & Requirements Prerequisites: COMPSCI 70 and COMPSCI 170; experience programming in a language such as C, C++, Java, or Python Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructor: Song Algorithms for Computational Biology: Read Less [-] COMPSCI C176 Algorithms for Computational Biology 4 Units Terms offered: Fall 2022 This course will provide familiarity with algorithms and probabilistic models that arise in various computational biology applications, such as suffix trees, suffix arrays, pattern matching, repeat finding, sequence alignment, phylogenetics, hidden Markov models, gene finding, motif finding, linear/logistic regression, random forests, convolutional neural networks, genome-wide association studies, pathogenicity prediction, and sequence-to-epigenome prediction. Algorithms for Computational Biology: Read More [+] Objectives & Outcomes Student Learning Outcomes: Understand the basic elements of molecular, cell, and evolutionary biology. Understand the key probabilistic and machine learning models used in computational biology applications. Understand various data structures and algorithms that arise in computational biology. Rules & Requirements Prerequisites: COMPSCI 70 and COMPSCI 170, MATH 54 or EECS 16A or an equivalent linear algebra course Credit Restrictions: Students will receive no credit for COMPSCI C176 after completing COMPSCI 176. A deficient grade in COMPSCI C176 may be removed by taking COMPSCI 176. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Song, Yun, Ioannidis Also listed as: CMPBIO C176 Algorithms for Computational Biology: Read Less [-] Electrical Engineering and Computer Sciences 31 COMPSCI 182 Designing, Visualizing and Understanding Deep Neural Networks 4 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 Deep Networks have revolutionized computer vision, language technology, robotics and control. They have growing impact in many other areas of science and engineering. They do not however, follow a closed or compact set of theoretical principles. In Yann Lecun's words they require "an interplay between intuitive insights, theoretical modeling, practical implementations, empirical studies, and scientific analyses." This course attempts to cover that ground. Designing, Visualizing and Understanding Deep Neural Networks: Read More [+] Objectives & Outcomes Student Learning Outcomes: Students will come to understand visualizing deep networks. Exploring the training and use of deep networks with visualization tools. Students will learn design principles and best practices: design motifs that work well in particular domains, structure optimization and parameter optimization. Understanding deep networks. Methods with formal guarantees: generative and adversarial models, tensor factorization. Rules & Requirements Prerequisites: MATH 53, MATH 54, and COMPSCI 61B; COMPSCI 70 or STAT 134; COMPSCI 189 is recommended Credit Restrictions: Students will receive no credit for COMPSCI 182 after completing COMPSCI W182, or COMPSCI L182. A deficient grade in COMPSCI 182 may be removed by taking COMPSCI W182, or COMPSCI L182. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Alternative to final exam. Instructor: Canny Designing, Visualizing and Understanding Deep Neural Networks: Read Less [-] COMPSCI 184 Foundations of Computer Graphics 4 Units Terms offered: Spring 2023, Spring 2022, Spring 2021 Techniques of modeling objects for the purpose of computer rendering: boundary representations, constructive solids geometry, hierarchical scene descriptions. Mathematical techniques for curve and surface representation. Basic elements of a computer graphics rendering pipeline; architecture of modern graphics display devices. Geometrical transformations such as rotation, scaling, translation, and their matrix representations. Homogeneous coordinates, projective and perspective transformations. Algorithms for clipping, hidden surface removal, rasterization, and anti-aliasing. Scan-line based and ray-based rendering algorithms. Lighting models for reflection, refraction, transparency. Foundations of Computer Graphics: Read More [+] Rules & Requirements Prerequisites: COMPSCI 61B or COMPSCI 61BL; programming skills in C, C++, or Java; linear algebra and calculus Credit Restrictions: Students will receive no credit for Comp Sci 184 after taking Comp Sci 284A. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: O'Brien, Ng Foundations of Computer Graphics: Read Less [-] 32 Electrical Engineering and Computer Sciences COMPSCI 186 Introduction to Database Systems 4 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 Access methods and file systems to facilitate data access. Hierarchical, network, relational, and object-oriented data models. Query languages for models. Embedding query languages in programming languages. Database services including protection, integrity control, and alternative views of data. High-level interfaces including application generators, browsers, and report writers. Introduction to transaction processing. Database system implementation to be done as term project. Introduction to Database Systems: Read More [+] Rules & Requirements Prerequisites: COMPSCI 61B and COMPSCI 61C Credit Restrictions: Students will receive no credit for Comp Sci 186 after taking Comp Sci 286A. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Franklin, Hellerstein Introduction to Database Systems: Read Less [-] COMPSCI W186 Introduction to Database Systems 4 Units Terms offered: Fall 2021, Spring 2021, Spring 2020 Broad introduction to systems for storing, querying, updating and managing large databases. Computer science skills synthesizing viewpoints from low-level systems architecture to high-level modeling and declarative logic. System internals, including the complex details of query optimization and execution, concurrency control, indexing, and memory management. More abstract issues in query languages and data modeling – students are exposed to formal relational languages, SQL, full-text search, entity-relationship modeling, normalization, and physical database design. Recent technological trends in the field, including “Big Data” programming libraries like MapReduce, and distributed key-value stores with various consistency models. Introduction to Database Systems: Read More [+] Rules & Requirements Prerequisites: COMPSCI 61B and COMPSCI 61C Credit Restrictions: Students will receive no credit for COMPSCI W186 after completing COMPSCI 186. A deficient grade in COMPSCI W186 may be removed by taking COMPSCI 186. Hours & Format Fall and/or spring: 15 weeks - 3 hours of web-based lecture and 1 hour of discussion per week Summer: 8 weeks - 6 hours of web-based lecture and 2 hours of discussion per week Online: This is an online course. Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructor: Hellerstein Introduction to Database Systems: Read Less [-] Electrical Engineering and Computer Sciences 35 COMPSCI H196A Senior Honors Thesis Research 1 - 4 Units Terms offered: Fall 2021, Fall 2020, Fall 2016 Thesis work under the supervision of a faculty member. To obtain credit the student must, at the end of two semesters, submit a satisfactory thesis to the Electrical Engineering and Computer Science department archive. A total of four units must be taken. The units many be distributed between one or two semesters in any way. H196A-H196B count as graded technical elective units, but may not be used to satisfy the requirement for 27 upper division technical units in the College of Letters and Science with a major in Computer Science. Senior Honors Thesis Research: Read More [+] Rules & Requirements Prerequisites: Open only to students in the computer science honors program Hours & Format Fall and/or spring: 15 weeks - 1-4 hours of independent study per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Senior Honors Thesis Research: Read Less [-] COMPSCI H196B Senior Honors Thesis Research 1 - 4 Units Terms offered: Spring 2010, Spring 2009, Fall 2008 Thesis work under the supervision of a faculty member. To obtain credit the student must, at the end of two semesters, submit a satisfactory thesis to the Electrical Engineering and Computer Science department archive. A total of four units must be taken. The units many be distributed between one or two semesters in any way. H196A-H196B count as graded technical elective units, but may not be used to satisfy the requirement for 27 upper division technical units in the College of Letters and Science with a major in Computer Science. Senior Honors Thesis Research: Read More [+] Rules & Requirements Prerequisites: Open only to students in the computer science honors program Hours & Format Fall and/or spring: 15 weeks - 1-4 hours of independent study per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Senior Honors Thesis Research: Read Less [-] COMPSCI 197 Field Study 1 - 4 Units Terms offered: Spring 2019, Fall 2018, Fall 2016 Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation. Field Study: Read More [+] Rules & Requirements Prerequisites: Consent of instructor (see department adviser) Repeat rules: Course may be repeated for credit without restriction. Hours & Format Fall and/or spring: 15 weeks - 1-4 hours of fieldwork per week Summer: 6 weeks - 2.5-10 hours of fieldwork per week 8 weeks - 2-7.5 hours of fieldwork per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required. Field Study: Read Less [-] COMPSCI 198 Directed Group Studies for Advanced Undergraduates 1 - 4 Units Terms offered: Spring 2023, Spring 2022, Fall 2021 Group study of selected topics in Computer Sciences, usually relating to new developments. Directed Group Studies for Advanced Undergraduates: Read More [+] Rules & Requirements Prerequisites: 2.0 GPA or better; 60 units completed Repeat rules: Course may be repeated for credit without restriction. Hours & Format Fall and/or spring: 15 weeks - 1-4 hours of directed group study per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required. Directed Group Studies for Advanced Undergraduates: Read Less [-] 36 Electrical Engineering and Computer Sciences COMPSCI 199 Supervised Independent Study 1 - 4 Units Terms offered: Fall 2021, Spring 2020, Fall 2018 Supervised independent study. Enrollment restrictions apply. Supervised Independent Study: Read More [+] Rules & Requirements Prerequisites: Consent of instructor and major adviser Credit Restrictions: Enrollment is restricted; see the Introduction to Courses and Curricula section of this catalog. Repeat rules: Course may be repeated for credit without restriction. Hours & Format Fall and/or spring: 15 weeks - 0 hours of independent study per week Summer: 6 weeks - 1-5 hours of independent study per week 8 weeks - 1-4 hours of independent study per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required. Supervised Independent Study: Read Less [-] Electrical Engineering Expand all course descriptions [+]Collapse all course descriptions [-] EL ENG 24 Freshman Seminar 1 Unit Terms offered: Fall 2022, Fall 2021, Fall 2017 The Freshman Seminar Program has been designed to provide new students with the opportunity to explore an intellectual topic with a faculty member in a small seminar setting. Freshman seminars are offered in all campus departments, and topics may vary from department to department and semester to semester. Freshman Seminar: Read More [+] Rules & Requirements Repeat rules: Course may be repeated for credit without restriction. Hours & Format Fall and/or spring: 15 weeks - 1 hour of seminar per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required. Freshman Seminar: Read Less [-] EL ENG 25 What Electrical Engineers Do-- Feedback from Recent Graduates 1 Unit Terms offered: Fall 2011 A Berkeley Electrical Engineering and Computer Sciences degree opens the door to many opportunities, but what exactly are they? Graduation is only a few years away and it's not too early to find out. In this seminar students will hear from practicing engineers who recently graduated. What are they working on? Are they working in a team? What do they wish they had learned better? How did they find their jobs? What Electrical Engineers Do--Feedback from Recent Graduates: Read More [+] Hours & Format Fall and/or spring: 15 weeks - 1 hour of lecture per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required. Instructor: Boser What Electrical Engineers Do--Feedback from Recent Graduates: Read Less [-] EL ENG 39 Freshman/Sophomore Seminar 2 - 4 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25. Freshman/Sophomore Seminar: Read More [+] Rules & Requirements Prerequisites: Priority given to freshmen and sophomores Repeat rules: Course may be repeated for credit when topic changes. Hours & Format Fall and/or spring: 15 weeks - 2-4 hours of seminar per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: The grading option will be decided by the instructor when the class is offered. Final exam required. Freshman/Sophomore Seminar: Read Less [-] Electrical Engineering and Computer Sciences 37 EL ENG 42 Introduction to Digital Electronics 3 Units Terms offered: Fall 2013, Summer 2013 8 Week Session, Spring 2013 This course serves as an introduction to the principles of electrical engineering, starting from the basic concepts of voltage and current and circuit elements of resistors, capacitors, and inductors. Circuit analysis is taught using Kirchhoff's voltage and current laws with Thevenin and Norton equivalents. Operational amplifiers with feedback are introduced as basic building blocks for amplication and filtering. Semiconductor devices including diodes and MOSFETS and their IV characteristics are covered. Applications of diodes for rectification, and design of MOSFETs in common source amplifiers are taught. Digital logic gates and design using CMOS as well as simple flip-flops are introduced. Speed and scaling issues for CMOS are considered. The course includes as motivating examples designs of high level applications including logic circuits, amplifiers, power supplies, and communication links. Introduction to Digital Electronics: Read More [+] Rules & Requirements Prerequisites: Mathematics 1B Credit Restrictions: Students will receive no credit for 42 after taking 40 or 100. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Summer: 8 weeks - 6 hours of lecture and 2 hours of discussion per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Introduction to Digital Electronics: Read Less [-] EL ENG 49 Electronics for the Internet of Things 4 Units Terms offered: Spring 2020, Spring 2019, Fall 2018 Electronics has become pervasive in our lives as a powerful technology with applications in a wide range of fields including healthcare, environmental monitoring, robotics, or entertainment. This course teaches how to build electronic circuits that interact with the environment through sensors and actuators and how to communicate wirelessly with the internet to cooperate with other devices and with humans. In the laboratory students design and build representative samples such as solar harvesters, robots, that exchange information with or are controlled from the cloud. Electronics for the Internet of Things: Read More [+] Objectives & Outcomes Course Objectives: Electronics has become a powerful and ubiquitous technology supporting solutions to a wide range of applications in fields ranging from science, engineering, healthcare, environmental monitoring, transportation, to entertainment. The objective of this course is to teach students majoring in these and related subjects how to use electronic devices to solve problems in their areas of expertise. Through the lecture and laboratory, students gain insight into the possibilities and limitations of the technology and how to use electronics to help solve problems. Students learn to use electronics to interact with the environment through sound, light, temperature, motion using sensors and actuators, and how to use electronic computation to orchestrate the interactions and exchange information wirelessly over the internet. Student Learning Outcomes: Deploy electronic sensors and interface them to microcontrollers through digital and analog channels as well as common protocols (I2C, SPI), Design, build and test electronic devices leveraging these concepts. Interact with the internet and cloud services using protocols such as http, MQTT, Blynk, Interface DC motors, steppers and servos to microcontrollers, Represent information with voltage, current, power, and energy and how to measure these quantities with laboratory equipment, To use and program low-cost and low-power microcontrollers for sensing, actuation, and information processing, and find and use program libraries supporting these tasks Understand and make basic low-pass and high-pass filters, Wheatstone bridge etc. Use electronics to sense and actuate physical parameters such as temperature, humidity, sound, light, and motion, Rules & Requirements Prerequisites: ENGIN 7, COMPSCI 10, or equivalent background in computer programming (including COMPSCI 61A or COMPSCI C8 / INFO C8 / STAT C8); MATH 1A or equivalent background in Calculus Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture, 2 hours of discussion, and 3 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructor: Boser Electronics for the Internet of Things: Read Less [-] 40 Electrical Engineering and Computer Sciences EL ENG C106B Robotic Manipulation and Interaction 4 Units Terms offered: Spring 2017, Spring 2016 This course is a sequel to Electrical Engineering C106A/Bioengineering C125, which covers kinematics, dynamics and control of a single robot. This course will cover dynamics and control of groups of robotic manipulators coordinating with each other and interacting with the environment. Concepts will include an introduction to grasping and the constrained manipulation, contacts and force control for interaction with the environment. We will also cover active perception guided manipulation, as well as the manipulation of non-rigid objects. Throughout, we will emphasize design and human-robot interactions, and applications to applications in manufacturing, service robotics, tele- surgery, and locomotion. Robotic Manipulation and Interaction: Read More [+] Rules & Requirements Prerequisites: EECS C106A / BIO ENG C125 or consent of the instructor Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 3 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Alternative to final exam. Instructors: Bajcsy, Sastry Also listed as: BIO ENG C125B Robotic Manipulation and Interaction: Read Less [-] EL ENG 113 Power Electronics 4 Units Terms offered: Fall 2022, Fall 2021, Fall 2020 Power conversion circuits and techniques. Characterization and design of magnetic devices including transformers, reactors, and electromagnetic machinery. Characteristics of bipolar and MOS power semiconductor devices. Applications to motor control, switching power supplies, lighting, power systems, and other areas as appropriate. Power Electronics: Read More [+] Rules & Requirements Prerequisites: EL ENG 105 or consent of instructor Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 3 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Power Electronics: Read Less [-] EL ENG 117 Electromagnetic Fields and Waves 4 Units Terms offered: Spring 2023, Spring 2022, Spring 2021 Review of static electric and magnetic fields and applications; Maxwell's equations; transmission lines; propagation and reflection of plane waves; introduction to guided waves, microwave networks, and radiation and antennas. Minilabs on statics, transmission lines, and waves. Explanation of cellphone antennas, WiFi communication, and other wireless technologies. Electromagnetic Fields and Waves: Read More [+] Rules & Requirements Prerequisites: EECS 16B, MATH 53, and MATH 54; PHYSICS 7B or equivalent that covers AC circuits and electromagnetics up to Maxwell's equations Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 2 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructor: Yablonovitch Electromagnetic Fields and Waves: Read Less [-] EL ENG 118 Introduction to Optical Engineering 4 Units Terms offered: Fall 2022, Fall 2021, Fall 2020 Fundamental principles of optical systems. Geometrical optics and aberration theory. Stops and apertures, prisms, and mirrors. Diffraction and interference. Optical materials and coatings. Radiometry and photometry. Basic optical devices and the human eye. The design of optical systems. Lasers, fiber optics, and holography. Introduction to Optical Engineering: Read More [+] Rules & Requirements Prerequisites: MATH 53; EECS 16A and EECS 16B, or MATH 54 Credit Restrictions: Students will receive no credit for Electrical Engineering 118 after taking Electrical Engineering 218A. A deficient grade in Electrical Engineering 119 may be removed by taking Electrical Engineering 118. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Waller, Kante Introduction to Optical Engineering: Read Less [-] Electrical Engineering and Computer Sciences 41 EL ENG 120 Signals and Systems 4 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 Continuous and discrete-time transform analysis techniques with illustrative applications. Linear and time-invariant systems, transfer functions. Fourier series, Fourier transform, Laplace and Z-transforms. Sampling and reconstruction. Solution of differential and difference equations using transforms. Frequency response, Bode plots, stability analysis. Illustrated by analysis of communication systems and feedback control systems. Signals and Systems: Read More [+] Rules & Requirements Prerequisites: EECS 16A and EECS 16B Hours & Format Fall and/or spring: 15 weeks - 4 hours of lecture and 1 hour of recitation per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Signals and Systems: Read Less [-] EL ENG 121 Introduction to Digital Communication Systems 4 Units Terms offered: Spring 2016, Fall 2014, Fall 2013 Introduction to the basic principles of the design and analysis of modern digital communication systems. Topics include source coding, channel coding, baseband and passband modulation techniques, receiver design, and channel equalization. Applications to design of digital telephone modems, compact disks, and digital wireless communication systems. Concepts illustrated by a sequence of MATLAB exercises. Introduction to Digital Communication Systems: Read More [+] Rules & Requirements Prerequisites: EECS 16A, EECS 16B, and COMPSCI 70 Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Introduction to Digital Communication Systems: Read Less [-] EL ENG 122 Introduction to Communication Networks 4 Units Terms offered: Spring 2023, Spring 2022, Spring 2020 This course focuses on the fundamentals of the wired and wireless communication networks. The course covers both the architectural principles for making these networks scalable and robust, as well as the key techniques essential for analyzing and designing them. The topics include graph theory, Markov chains, queuing, optimization techniques, the physical and link layers, switching, transport, cellular networks and Wi-Fi. Introduction to Communication Networks: Read More [+] Rules & Requirements Prerequisites: COMPSCI 70 Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Introduction to Communication Networks: Read Less [-] EL ENG 123 Digital Signal Processing 4 Units Terms offered: Spring 2023, Spring 2022, Spring 2021 Discrete time signals and systems: Fourier and Z transforms, DFT, 2-dimensional versions. Digital signal processing topics: flow graphs, realizations, FFT, chirp-Z algorithms, Hilbert transform relations, quantization effects, linear prediction. Digital filter design methods: windowing, frequency sampling, S-to-Z methods, frequency- transformation methods, optimization methods, 2-dimensional filter design. Digital Signal Processing: Read More [+] Rules & Requirements Prerequisites: EL ENG 120 Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 1 hour of laboratory per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Digital Signal Processing: Read Less [-] 42 Electrical Engineering and Computer Sciences EL ENG 126 Probability and Random Processes 4 Units Terms offered: Spring 2017, Fall 2016, Spring 2016 This course covers the fundamentals of probability and random processes useful in fields such as networks, communication, signal processing, and control. Sample space, events, probability law. Conditional probability. Independence. Random variables. Distribution, density functions. Random vectors. Law of large numbers. Central limit theorem. Estimation and detection. Markov chains. Probability and Random Processes: Read More [+] Rules & Requirements Prerequisites: EECS 16A and EECS 16B Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Probability and Random Processes: Read Less [-] EL ENG C128 Feedback Control Systems 4 Units Terms offered: Spring 2023, Spring 2022, Fall 2021, Spring 2021 Analysis and synthesis of linear feedback control systems in transform and time domains. Control system design by root locus, frequency response, and state space methods. Applications to electro-mechanical and mechatronics systems. Feedback Control Systems: Read More [+] Rules & Requirements Prerequisites: EECS 16A or MEC ENG 100; MEC ENG 132 or EL ENG 120 Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 3 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Also listed as: MEC ENG C134 Feedback Control Systems: Read Less [-] EL ENG 130 Integrated-Circuit Devices 4 Units Terms offered: Spring 2023, Fall 2022, Spring 2022 Overview of electronic properties of semiconductor. Metal-semiconductor contacts, pn junctions, bipolar transistors, and MOS field-effect transistors. Properties that are significant to device operation for integrated circuits. Silicon device fabrication technology. Integrated-Circuit Devices: Read More [+] Rules & Requirements Prerequisites: EECS 16A and EECS 16B Credit Restrictions: Students will receive no credit for El Eng 130 after taking El Eng 230A. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Integrated-Circuit Devices: Read Less [-] EL ENG 134 Fundamentals of Photovoltaic Devices 4 Units Terms offered: Spring 2023, Spring 2022, Spring 2021 This course is designed to give an introduction to, and overview of, the fundamentals of photovoltaic devices. Students will learn how solar cells work, understand the concepts and models of solar cell device physics, and formulate and solve relevant physical problems related to photovoltaic devices. Monocrystalline, thin film and third generation solar cells will be discussed and analyzed. Light management and economic considerations in a solar cell system will also be covered. Fundamentals of Photovoltaic Devices: Read More [+] Rules & Requirements Prerequisites: EECS 16A and EECS 16B Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructor: Arias Fundamentals of Photovoltaic Devices: Read Less [-] Electrical Engineering and Computer Sciences 45 EL ENG C145M Introductory Microcomputer Interfacing Laboratory 3 Units Terms offered: Spring 2013, Spring 2012, Spring 2011 Laboratory exercises constructing basic interfacing circuits and writing 20-100 line C programs for data acquisition, storage, analysis, display, and control. Use of the IBM PC with microprogrammable digital counter/ timer, parallel I/O port. Circuit components include anti-aliasing filters, the S/H amplifier, A/D and D/A converters. Exercises include effects of aliasing in periodic sampling, fast Fourier transforms of basic waveforms, the use of the Hanning filter for leakage reduction, Fourier analysis of the human voice, digital filters, and control using Fourier deconvolution. Lectures cover principles explored in the lab exercises and design of microcomputer-based systems for data acquisitions, analysis and control. Introductory Microcomputer Interfacing Laboratory: Read More [+] Rules & Requirements Prerequisites: EE 16A & 16B Hours & Format Fall and/or spring: 15 weeks - 2 hours of lecture and 3 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructor: Derenzo Also listed as: BIO ENG C145M Introductory Microcomputer Interfacing Laboratory: Read Less [-] EL ENG C145O Laboratory in the Mechanics of Organisms 3 Units Terms offered: Spring 2015, Spring 2014, Spring 2013, Spring 2012 Introduction to laboratory and field study of the biomechanics of animals and plants using fundamental biomechanical techniques and equipment. Course has a series of rotations involving students in experiments demonstrating how solid and fluid mechanics can be used to discover the way in which diverse organisms move and interact with their physical environment. The laboratories emphasize sampling methodology, experimental design, and statistical interpretation of results. Latter third of course devoted to independent research projects. Written reports and class presentation of project results are required. Laboratory in the Mechanics of Organisms: Read More [+] Rules & Requirements Prerequisites: INTEGBI 135 or consent of instructor. For Electrical Engineering and Computer Sciences students: EL ENG 105, EL ENG 120 or COMPSCI 184 Credit Restrictions: Students will receive no credit for C135L after taking 135L. Hours & Format Fall and/or spring: 15 weeks - 6 hours of laboratory, 1 hour of discussion, and 1 hour of fieldwork per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Formerly known as: Integrative Biology 135L Also listed as: BIO ENG C136L/INTEGBI C135L Laboratory in the Mechanics of Organisms: Read Less [-] 46 Electrical Engineering and Computer Sciences EL ENG 146L Application Specific Integrated Circuits Laboratory 2 Units Terms offered: Spring 2015 This is a lab course that covers the design of modern Application-Specific Integrated Circuits (ASICs). The labs lay the foundation of modern digital design by first setting-up the scripting and hardware description language base for specification of digital systems and interactions with tool flows. Software testing of digital designs is covered leading into a set of labs that cover the design flow. Digital synthesis, floorplanning, placement and routing are covered, as well as tools to evaluate design timing and power. Chip-level assembly is covered, instantiation of custom IP blocks: I/O pads, memories, PLLs, etc. The labs culminate with a project design – implementation of a 3-stage RISC-V processor with register file and caches. Application Specific Integrated Circuits Laboratory: Read More [+] Objectives & Outcomes Course Objectives: This course is a one-time offering to supplement the CS150 course offered in the Fall 2014, with a lab and project section that cover the Application-Specific Integrated Circuit Design. The CS150 lectures in the Fall 2014 already covered the necessary lecture material, so students who took the CS150 lab in the Fall of 2014 will have a chance to expand their skills into the area of Application-Specific Integrated Circuit design. Hence the pre-requisite for this course is that a student has taken the CS150 course in the Fall 2014. Rules & Requirements Prerequisites: EECS 16B; EL ENG 105 recommended Credit Restrictions: Students will receive no credit for Electrical Engineering 146L after taking Fall 2014 version of Electrical Engineering 141/241A. Hours & Format Fall and/or spring: 15 weeks - 3 hours of laboratory and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required. Instructor: Stojanovic Application Specific Integrated Circuits Laboratory: Read Less [-] EL ENG 147 Introduction to Microelectromechanical Systems (MEMS) 3 Units Terms offered: Fall 2022, Fall 2021, Fall 2020 This course will teach fundamentals of micromachining and microfabrication techniques, including planar thin-film process technologies, photolithographic techniques, deposition and etching techniques, and the other technologies that are central to MEMS fabrication. It will pay special attention to teaching of fundamentals necessary for the design and analysis of devices and systems in mechanical, electrical, fluidic, and thermal energy/signal domains, and will teach basic techniques for multi-domain analysis. Fundamentals of sensing and transduction mechanisms including capacitive and piezoresistive techniques, and design and analysis of micmicromachined miniature sensors and actuators using these techniques will be covered. Introduction to Microelectromechanical Systems (MEMS): Read More [+] Rules & Requirements Prerequisites: EECS 16A and EECS 16B Credit Restrictions: Students will receive no credit for El Eng 147 after taking El Eng 247A. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Maharbiz, Nguyen, Pister Introduction to Microelectromechanical Systems (MEMS): Read Less [-] EL ENG 192 Mechatronic Design Laboratory 4 Units Terms offered: Spring 2021, Spring 2020, Spring 2019 Design project course, focusing on application of theoretical principles in electrical engineering to control of a small-scale system, such as a mobile robot. Small teams of students will design and construct a mechatronic system incorporating sensors, actuators, and intelligence. Mechatronic Design Laboratory: Read More [+] Rules & Requirements Prerequisites: EECS 16A, EECS 16B, COMPSCI 61A, COMPSCI 61B, COMPSCI 61C, and EL ENG 120 Hours & Format Fall and/or spring: 15 weeks - 1.5 hours of lecture and 10 hours of laboratory per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructor: Fearing Mechatronic Design Laboratory: Read Less [-] Electrical Engineering and Computer Sciences 47 EL ENG 194 Special Topics 1 - 4 Units Terms offered: Fall 2022, Spring 2021, Spring 2020 Topics will vary semester to semester. See the Electrical Engineering announcements. Special Topics: Read More [+] Rules & Requirements Prerequisites: Consent of instructor Repeat rules: Course may be repeated for credit when topic changes. Hours & Format Fall and/or spring: 15 weeks - 1-4 hours of lecture per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Special Topics: Read Less [-] EL ENG H196A Senior Honors Thesis Research 1 - 4 Units Terms offered: Spring 2016, Fall 2015, Spring 2015 Thesis work under the supervision of a faculty member. A minimum of four units must be taken; the units may be distributed between one and two semesters in any way. To obtain credit a satisfactory thesis must be submitted at the end of the two semesters to the Electrical and Engineering and Computer Science Department archive. Students who complete four units and a thesis in one semester receive a letter grade at the end of H196A. Students who do not, receive an IP in H196A and must enroll in H196B. Senior Honors Thesis Research: Read More [+] Rules & Requirements Prerequisites: Open only to students in the Electrical Engineering and Computer Science honors program Hours & Format Fall and/or spring: 15 weeks - 1-4 hours of independent study per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. This is part one of a year long series course. A provisional grade of IP (in progress) will be applied and later replaced with the final grade after completing part two of the series. Final exam required. Senior Honors Thesis Research: Read Less [-] EL ENG H196B Senior Honors Thesis Research 1 - 4 Units Terms offered: Spring 2016, Spring 2015, Spring 2014 Thesis work under the supervision of a faculty member. A minimum of four units must be taken; the units may be distributed between one and two semesters in any way. To obtain credit a satisfactory thesis must be submitted at the end of the two semesters to the Electrical and Engineering and Computer Science Department archive. Students who complete four units and a thesis in one semester receive a letter grade at the end of H196A. Students who do not, receive an IP in H196A and must enroll in H196B. Senior Honors Thesis Research: Read More [+] Rules & Requirements Prerequisites: Open only to students in the Electrical Engineering and Computer Science honors program Hours & Format Fall and/or spring: 15 weeks - 1-4 hours of independent study per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Letter grade. This is part two of a year long series course. Upon completion, the final grade will be applied to both parts of the series. Final exam required. Senior Honors Thesis Research: Read Less [-] EL ENG 197 Field Study 1 - 4 Units Terms offered: Fall 2022, Fall 2021, Spring 2018 Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation. Field Study: Read More [+] Rules & Requirements Prerequisites: Consent of instructor (see department adviser) Repeat rules: Course may be repeated for credit without restriction. Hours & Format Fall and/or spring: 15 weeks - 1-4 hours of fieldwork per week Summer: 6 weeks - 2.5-10 hours of fieldwork per week 8 weeks - 2-7.5 hours of fieldwork per week Additional Details Subject/Course Level: Electrical Engineering/Undergraduate Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required. Field Study: Read Less [-]
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved