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)

257 documents

1 / 48

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
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
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30

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

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

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 [-]

EECS 47F Completion of work in Computer

Science 70 1 - 3 Units

Terms offered: Prior to 2007 This course allows students who have had a discrete math and/or probability course to complete the work in CS70. 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. Completion of work in Computer Science 70: Read More [+] Rules & Requirements Prerequisites: Sophomore mathematical maturity, programming experience equivalent to that gained in COMPSCI 61A, a prior college level course on discrete math and/or probability, and consent of the instructor Hours & Format Fall and/or spring: 15 weeks - 3-8 hours of self-paced per week Summer: 8 weeks - 6-16 hours of self-paced per week Additional Details Subject/Course Level: Electrical Engin and Computer Sci/ Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Ranade, Rao, Sahai, Seshia, Vazirani, Walrand Completion of work in Computer Science 70: Read Less [-]

EECS C106A Introduction to Robotics 4 Units

Terms offered: Fall 2022, Fall 2021, Fall 2020, Fall 2019 This course is an introduction to the field of robotics. It covers the fundamentals of kinematics, dynamics, control of robot manipulators, robotic vision, sensing, forward & inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics, & control. We will present techniques for geometric motion planning & obstacle avoidance. Open problems in trajectory generation with dynamic constraints will also be discussed. The course also presents the use of the same analytical techniques as manipulation for the analysis of images & computer vision. Low level vision, structure from motion, & an introduction to vision & learning will be covered. The course concludes with current applications of robotics. Introduction to Robotics: Read More [+] Rules & Requirements Prerequisites: Familiarity with linear algebra at the level of EECS 16A/ EECS 16B or Math 54. Experience coding in python at the level of COMPSCI 61A. Preferred: experience developing software at the level of COMPSCI 61B and experience using Linux Credit Restrictions: Students will receive no credit for Electrical Engineering and Computer Science C106A/Bioengineering C106A after completing EE C106A/BioE C125, Electrical Engineering 206A, or Electrical Engineering and Computer Science 206A. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 3 hours of laboratory per week Summer: 8 weeks - 6 hours of lecture, 2 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. Alternative to final exam. Instructor: Sastry Also listed as: BIO ENG C106A/MEC ENG C106A Introduction to Robotics: Read Less [-]

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 [-]

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 [-]

EECS 151LB Field-Programmable Gate Array

Laboratory 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 three-stage RISC-V processor system, with caches, graphics acceleration, and external peripheral components. The design is mapped and demonstrated on an FPGA hardware platform. Field-Programmable Gate Array Laboratory: Read More [+] Rules & Requirements Prerequisites: EECS 16A, EECS 16B, and COMPSCI 61C; EL ENG 105 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/ Undergraduate Grading/Final exam status: Letter grade. Final exam not required. Instructors: Stojanovic, Wawrzynek Field-Programmable Gate Array Laboratory: Read Less [-]

EECS C206A Introduction to Robotics 4 Units

Terms offered: Fall 2022 This course is an introduction to the field of robotics. It covers the fundamentals of kinematics, dynamics, control of robot manipulators, robotic vision, sensing, forward & inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics, & control. We will present techniques for geometric motion planning & obstacle avoidance. Open problems in trajectory generation with dynamic constraints will also be discussed. The course also presents the use of the same analytical techniques as manipulation for the analysis of images & computer vision. Low level vision, structure from motion, & an introduction to vision & learning will be covered. The course concludes with current applications of robotics. Introduction to Robotics: Read More [+] Rules & Requirements Prerequisites: Familiarity with linear algebra at level of EECS 16A/ EECS 16B or MATH 54. Experience doing coding in python at the level of COMPSCI 61A. Preferred: experience developing software at level of COMPSCI 61B and experience using Linux. EECS 120 is not required, but some knowledge of linear systems may be helpful for the control of robots 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/Graduate Grading: Letter grade. Instructors: Sastry, Sreenath Formerly known as: Electrical Engin and Computer Sci 206A Also listed as: MEC ENG C206A Introduction to Robotics: Read Less [-]

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 [-]

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 [-]

COMPSCI C8 Foundations of Data Science 4

Units

Terms offered: Summer 2023 8 Week Session, Spring 2023, Fall 2022, Spring 2022, Fall 2021, Summer 2021 8 Week Session, Fall 2020 Foundations of data science from three perspectives: inferential thinking, computational thinking, and real-world relevance. Given data arising from some real-world phenomenon, how does one analyze that data so as to understand that phenomenon? The course teaches critical concepts and skills in computer programming and statistical inference, in conjunction with hands-on analysis of real-world datasets, including economic data, document collections, geographical data, and social networks. It delves into social and legal issues surrounding data analysis, including issues of privacy and data ownership. Foundations of Data Science: Read More [+] Rules & Requirements Prerequisites: This course may be taken on its own, but students are encouraged to take it concurrently with a data science connector course (numbered 88 in a range of departments) Credit Restrictions: Students will receive no credit for DATA C8\COMPSCI C8\INFO C8\STAT C8 after completing COMPSCI 8, or DATA 8. A deficient grade in DATA C8\COMPSCI C8\INFO C8\STAT C8 may be removed by taking COMPSCI 8, COMPSCI 8, or DATA 8. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture and 2 hours of laboratory per week Summer: 8 weeks - 6 hours of lecture and 4 hours of laboratory per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Formerly known as: Computer Science C8/Statistics C8/Information C Also listed as: DATA C8/INFO C8/STAT C Foundations of Data Science: Read Less [-]

COMPSCI 9A Matlab for Programmers 2 Units

Terms offered: Fall 2018, Spring 2018, Fall 2017 Introduction to the constructs in the Matlab programming language, aimed at students who already know how to program. Array and matrix operations, functions and function handles, control flow, plotting and image manipulation, cell arrays and structures, and the Symbolic Mathematics toolbox. Matlab for Programmers: Read More [+] Rules & Requirements Prerequisites: Programming experience equivalent to that gained in COMPSCI 10; familiarity with applications of matrix processing Repeat rules: Course may be repeated for credit up to a total of 4 units. Hours & Format Fall and/or spring: 15 weeks - 2 hours 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 Matlab for Programmers: Read Less [-]

COMPSCI 9C C for Programmers 2 Units

Terms offered: Spring 2019, Fall 2018, Spring 2018 Self-paced course in the C programming language for students who already know how to program. Computation, input and output, flow of control, functions, arrays, and pointers, linked structures, use of dynamic storage, and implementation of abstract data types. C for Programmers: Read More [+] Rules & Requirements Prerequisites: Programming experience with pointers (or addresses in assembly language) and linked data structures equivalent to that gained in COMPSCI 9B, COMPSCI 61A or ENGIN 7 Credit Restrictions: Students will receive no credit for COMPSCI 9C after completing COMPSCI 61A. Hours & Format Fall and/or spring: 15 weeks - 2 hours 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 C for Programmers: Read Less [-]

COMPSCI 9D Scheme and Functional

Programming for Programmers 2 Units

Terms offered: Spring 2016, Fall 2015, Spring 2015 Self-paced course in functional programming, using the Scheme programming language, for students who already know how to program. Recursion; higher-order functions; list processing; implementation of rule- based querying. Scheme and Functional Programming for Programmers: Read More [+] Rules & Requirements Prerequisites: Programming experience similar to that gained in COMPSCI 10 or ENGIN 7 Credit Restrictions: Students will receive no credit for COMPSCI 9D after completing COMPSCI 61A. Hours & Format Fall and/or spring: 15 weeks - 2 hours 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 Scheme and Functional Programming for Programmers: Read Less [-]

COMPSCI 9E Productive Use of the UNIX

Environment 2 Units

Terms offered: Spring 2019, Fall 2018, Spring 2018 Use of UNIX utilities and scripting facilities for customizing the programming environment, organizing files (possibly in more than one computer account), implementing a personal database, reformatting text, and searching for online resources. Productive Use of the UNIX Environment: Read More [+] Rules & Requirements Prerequisites: Programming experience similar to that gained in COMPSCI 61A or ENGIN 7; DOS or UNIX experience Hours & Format Fall and/or spring: 15 weeks - 2 hours 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 Productive Use of the UNIX Environment: Read Less [-]

COMPSCI 9F C++ for Programmers 2 Units

Terms offered: Spring 2019, Fall 2018, Spring 2018 Self-paced introduction to the constructs provided in the C++ programming language for procedural and object-oriented programming, aimed at students who already know how to program. C++ for Programmers: Read More [+] Rules & Requirements Prerequisites: Programming experience equivalent to that gained in COMPSCI 61A or ENGIN 7 Credit Restrictions: Students will receive no credit for COMPSCI 9F after completing COMPSCI 61A. Hours & Format Fall and/or spring: 15 weeks - 2 hours 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 C++ for Programmers: Read Less [-]

COMPSCI 9G JAVA for Programmers 2 Units

Terms offered: Spring 2019, Fall 2018, Spring 2018 Self-paced course in Java for students who already know how to program. Applets; variables and computation; events and flow of control; classes and objects; inheritance; GUI elements; applications; arrays, strings, files, and linked structures; exceptions; threads. JAVA for Programmers: Read More [+] Rules & Requirements Prerequisites: COMPSCI 9C, COMPSCI 9F, or COMPSCI 61A plus experience with object-oriented programming or C-based language Hours & Format Fall and/or spring: 15 weeks - 2 hours 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: Garcia JAVA for Programmers: Read Less [-]

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 [-]

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 [-]

COMPSCI 47C Completion of Work in

Computer Science 61C 1 Unit

Terms offered: Spring 2023, Fall 2022, Spring 2022 MIPS instruction set simulation. The assembly and linking process. Caches and virtual memory. Pipelined computer organization. Students with sufficient partial credit in 61C may, with consent of instructor, complete the credit in this self-paced course. Completion of Work in Computer Science 61C: Read More [+] Rules & Requirements Prerequisites: Experience with assembly language including writing an interrupt handler, COMPSCI 9C, and consent of instructor Credit Restrictions: Students will receive no credit for COMPSCI 47C after completing COMPSCI 61C, or COMPSCI 61CL. Hours & Format Fall and/or spring: 15 weeks - 0 hours of self-paced per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructor: Garcia Completion of Work in Computer Science 61C: Read Less [-]

COMPSCI 61A The Structure and

Interpretation of Computer Programs 4 Units

Terms offered: Spring 2023, Fall 2022, Summer 2022 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: 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 61A after completing Computer Science 47A or Computer Science 61AS. A deficient grade in Computer Science 61AS may be removed by taking Computer Science 61A. Hours & Format Fall and/or spring: 15 weeks - 3 hours of lecture, 1.5 hours of discussion, and 1.5 hours of laboratory per week Summer: 8 weeks - 6 hours of lecture, 3 hours of discussion, and 3 hours of laboratory per week Additional Details Subject/Course Level: Computer Science/Undergraduate Grading/Final exam status: Letter grade. Final exam required. Instructors: Garcia, Hilfinger The Structure and Interpretation of Computer Programs: Read Less [-]

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 [-]