In [1]:
import urllib2
#specify the url
wiki = “http://guide.berkeley.edu/courses/compsci/”
page = urllib2.urlopen(wiki)
from bs4 import BeautifulSoup
soup = BeautifulSoup(page, “lxml”)
In [34]:
res = []
for t in soup.find_all(‘h3’, class_=”courseblocktitle”):
alls = t.find_all()
res.append(‘ ‘.join(x.string for x in alls).replace(u’\xa0’, ‘ ‘))
# alls = soup.find_all(‘h3’, class_=”courseblocktitle”)[0].find_all()
# ‘ ‘.join(x.string for x in alls).replace(u’\xa0’, ‘ ‘)
In [35]:
res
Out[35]:
[u’COMPSCI C8 Foundations of Data Science 4 Units’,
u’COMPSCI 9A Matlab for Programmers 2 Units’,
u’COMPSCI 9C C for Programmers 2 Units’,
u’COMPSCI 9D Scheme and Functional Programming for Programmers 2 Units’,
u’COMPSCI 9E Productive Use of the UNIX Environment 2 Units’,
u’COMPSCI 9F C++ for Programmers 2 Units’,
u’COMPSCI 9G JAVA for Programmers 2 Units’,
u’COMPSCI 9H Python for Programmers 2 Units’,
u’COMPSCI 10 The Beauty and Joy of Computing 4 Units’,
u’COMPSCI W10 The Beauty and Joy of Computing 4 Units’,
u’COMPSCI 39J Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 39K Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 39M Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 39N Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 39P Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 39Q Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 39R Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 47A Completion of Work in Computer Science 61A 1 Unit’,
u’COMPSCI 47B Completion of Work in Computer Science 61B 1 Unit’,
u’COMPSCI 47C Completion of Work in Computer Science 61C 1 Unit’,
u’COMPSCI 61A The Structure and Interpretation of Computer Programs 4 Units’,
u’COMPSCI 61AS The Structure and Interpretation of Computer Programs (Self-Paced) 1 – 4 Units’,
u’COMPSCI 61B Data Structures 4 Units’,
u’COMPSCI 61BL Data Structures and Programming Methodology 4 Units’,
u’COMPSCI 61C Machine Structures 4 Units’,
u’COMPSCI 61CL Machine Structures (Lab-Centric) 4 Units’,
u’COMPSCI 70 Discrete Mathematics and Probability Theory 4 Units’,
u’COMPSCI C79 Societal Risks and the Law 3 Units’,
u’COMPSCI 88 Computational Structures in Data Science 2 Units’,
u’COMPSCI 94 Special Topics 1 – 4 Units’,
u’COMPSCI 97 Field Study 1 – 4 Units’,
u’COMPSCI 98 Directed Group Study 1 – 4 Units’,
u’COMPSCI 99 Individual Study and Research for Undergraduates 1 – 2 Units’,
u’COMPSCI C100 Principles & Techniques of Data Science 4 Units’,
u’COMPSCI 146L Programmable Digital Systems Laboratory 2 Units’,
u’COMPSCI C149 Introduction to Embedded Systems 4 Units’,
u’COMPSCI 152 Computer Architecture and Engineering 4 Units’,
u’COMPSCI 160 User Interface Design and Development 4 Units’,
u’COMPSCI 161 Computer Security 4 Units’,
u’COMPSCI 162 Operating Systems and System Programming 4 Units’,
u’COMPSCI 164 Programming Languages and Compilers 4 Units’,
u’COMPSCI 168 Introduction to the Internet: Architecture and Protocols 4 Units’,
u’COMPSCI 169 Software Engineering 4 Units’,
u’COMPSCI 170 Efficient Algorithms and Intractable Problems 4 Units’,
u’COMPSCI 172 Computability and Complexity 4 Units’,
u’COMPSCI 174 Combinatorics and Discrete Probability 4 Units’,
u’COMPSCI 176 Algorithms for Computational Biology 4 Units’,
u’COMPSCI 184 Foundations of Computer Graphics 4 Units’,
u’COMPSCI 186 Introduction to Database Systems 4 Units’,
u’COMPSCI 188 Introduction to Artificial Intelligence 4 Units’,
u’COMPSCI 189 Introduction to Machine Learning 4 Units’,
u’COMPSCI C191 Quantum Information Science and Technology 3 Units’,
u’COMPSCI 194 Special Topics 1 – 4 Units’,
u’COMPSCI 195 Social Implications of Computer Technology 1 Unit’,
u’COMPSCI H195 Honors Social Implications of Computer Technology 3 Units’,
u’COMPSCI H196A Senior Honors Thesis Research 1 – 4 Units’,
u’COMPSCI H196B Senior Honors Thesis Research 1 – 4 Units’,
u’COMPSCI 197 Field Study 1 – 4 Units’,
u’COMPSCI 198 Directed Group Studies for Advanced Undergraduates 1 – 4 Units’,
u’COMPSCI 199 Supervised Independent Study 1 – 4 Units’,
u’COMPSCI C249A Introduction to Embedded Systems 4 Units’,
u’COMPSCI 250 VLSI Systems Design 4 Units’,
u’COMPSCI 252 Graduate Computer Architecture 4 Units’,
u’COMPSCI 260A User Interface Design and Development 4 Units’,
u’COMPSCI 260B Human-Computer Interaction Research 3 Units’,
u’COMPSCI 261 Security in Computer Systems 3 Units’,
u’COMPSCI 261N Internet and Network Security 4 Units’,
u’COMPSCI 262A Advanced Topics in Computer Systems 4 Units’,
u’COMPSCI 262B Advanced Topics in Computer Systems 3 Units’,
u’COMPSCI 263 Design of Programming Languages 3 Units’,
u’COMPSCI 264 Implementation of Programming Languages 4 Units’,
u’COMPSCI 265 Compiler Optimization and Code Generation 3 Units’,
u’COMPSCI C267 Applications of Parallel Computers 3 Units’,
u’COMPSCI 268 Computer Networks 3 Units’,
u’COMPSCI 270 Combinatorial Algorithms and Data Structures 3 Units’,
u’COMPSCI 271 Randomness and Computation 3 Units’,
u’COMPSCI 273 Foundations of Parallel Computation 3 Units’,
u’COMPSCI 274 Computational Geometry 3 Units’,
u’COMPSCI 276 Cryptography 3 Units’,
u’COMPSCI C280 Computer Vision 3 Units’,
u’COMPSCI C281A Statistical Learning Theory 3 Units’,
u’COMPSCI C281B Advanced Topics in Learning and Decision Making 3 Units’,
u’COMPSCI 284A Foundations of Computer Graphics 4 Units’,
u’COMPSCI 284B Advanced Computer Graphics Algorithms and Techniques 4 Units’,
u’COMPSCI 286A Introduction to Database Systems 4 Units’,
u’COMPSCI 286B Implementation of Data Base Systems 3 Units’,
u’COMPSCI 287 Advanced Robotics 3 Units’,
u’COMPSCI 288 Natural Language Processing 4 Units’,
u’COMPSCI 289A Introduction to Machine Learning 4 Units’,
u’COMPSCI 294 Special Topics 1 – 4 Units’,
u’COMPSCI 297 Field Studies in Computer Science 12.0 Units’,
u’COMPSCI 298 Group Studies Seminars, or Group Research 1 – 4 Units’,
u’COMPSCI 299 Individual Research 1 – 12 Units’,
u’COMPSCI 300 Teaching Practice 1 – 6 Units’,
u’COMPSCI 302 Designing Computer Science Education 3 Units’,
u’COMPSCI 375 Teaching Techniques for Computer Science 2 Units’,
u’COMPSCI 399 Professional Preparation: Supervised Teaching of Computer Science 1 or 2 Units’,
u’COMPSCI 602 Individual Study for Doctoral Students 1 – 8 Units’]
In [36]:
len(res)
Out[36]:
98
In [37]:
import json
json.dumps(res)
Out[37]:
‘[“COMPSCI C8 Foundations of Data Science 4 Units”, “COMPSCI 9A Matlab for Programmers 2 Units”, “COMPSCI 9C C for Programmers 2 Units”, “COMPSCI 9D Scheme and Functional Programming for Programmers 2 Units”, “COMPSCI 9E Productive Use of the UNIX Environment 2 Units”, “COMPSCI 9F C++ for Programmers 2 Units”, “COMPSCI 9G JAVA for Programmers 2 Units”, “COMPSCI 9H Python for Programmers 2 Units”, “COMPSCI 10 The Beauty and Joy of Computing 4 Units”, “COMPSCI W10 The Beauty and Joy of Computing 4 Units”, “COMPSCI 39J Freshman/Sophomore Seminar 1.5 – 4 Units”, “COMPSCI 39K Freshman/Sophomore Seminar 1.5 – 4 Units”, “COMPSCI 39M Freshman/Sophomore Seminar 1.5 – 4 Units”, “COMPSCI 39N Freshman/Sophomore Seminar 1.5 – 4 Units”, “COMPSCI 39P Freshman/Sophomore Seminar 1.5 – 4 Units”, “COMPSCI 39Q Freshman/Sophomore Seminar 1.5 – 4 Units”, “COMPSCI 39R Freshman/Sophomore Seminar 1.5 – 4 Units”, “COMPSCI 47A Completion of Work in Computer Science 61A 1 Unit”, “COMPSCI 47B Completion of Work in Computer Science 61B 1 Unit”, “COMPSCI 47C Completion of Work in Computer Science 61C 1 Unit”, “COMPSCI 61A The Structure and Interpretation of Computer Programs 4 Units”, “COMPSCI 61AS The Structure and Interpretation of Computer Programs (Self-Paced) 1 – 4 Units”, “COMPSCI 61B Data Structures 4 Units”, “COMPSCI 61BL Data Structures and Programming Methodology 4 Units”, “COMPSCI 61C Machine Structures 4 Units”, “COMPSCI 61CL Machine Structures (Lab-Centric) 4 Units”, “COMPSCI 70 Discrete Mathematics and Probability Theory 4 Units”, “COMPSCI C79 Societal Risks and the Law 3 Units”, “COMPSCI 88 Computational Structures in Data Science 2 Units”, “COMPSCI 94 Special Topics 1 – 4 Units”, “COMPSCI 97 Field Study 1 – 4 Units”, “COMPSCI 98 Directed Group Study 1 – 4 Units”, “COMPSCI 99 Individual Study and Research for Undergraduates 1 – 2 Units”, “COMPSCI C100 Principles & Techniques of Data Science 4 Units”, “COMPSCI 146L Programmable Digital Systems Laboratory 2 Units”, “COMPSCI C149 Introduction to Embedded Systems 4 Units”, “COMPSCI 152 Computer Architecture and Engineering 4 Units”, “COMPSCI 160 User Interface Design and Development 4 Units”, “COMPSCI 161 Computer Security 4 Units”, “COMPSCI 162 Operating Systems and System Programming 4 Units”, “COMPSCI 164 Programming Languages and Compilers 4 Units”, “COMPSCI 168 Introduction to the Internet: Architecture and Protocols 4 Units”, “COMPSCI 169 Software Engineering 4 Units”, “COMPSCI 170 Efficient Algorithms and Intractable Problems 4 Units”, “COMPSCI 172 Computability and Complexity 4 Units”, “COMPSCI 174 Combinatorics and Discrete Probability 4 Units”, “COMPSCI 176 Algorithms for Computational Biology 4 Units”, “COMPSCI 184 Foundations of Computer Graphics 4 Units”, “COMPSCI 186 Introduction to Database Systems 4 Units”, “COMPSCI 188 Introduction to Artificial Intelligence 4 Units”, “COMPSCI 189 Introduction to Machine Learning 4 Units”, “COMPSCI C191 Quantum Information Science and Technology 3 Units”, “COMPSCI 194 Special Topics 1 – 4 Units”, “COMPSCI 195 Social Implications of Computer Technology 1 Unit”, “COMPSCI H195 Honors Social Implications of Computer Technology 3 Units”, “COMPSCI H196A Senior Honors Thesis Research 1 – 4 Units”, “COMPSCI H196B Senior Honors Thesis Research 1 – 4 Units”, “COMPSCI 197 Field Study 1 – 4 Units”, “COMPSCI 198 Directed Group Studies for Advanced Undergraduates 1 – 4 Units”, “COMPSCI 199 Supervised Independent Study 1 – 4 Units”, “COMPSCI C249A Introduction to Embedded Systems 4 Units”, “COMPSCI 250 VLSI Systems Design 4 Units”, “COMPSCI 252 Graduate Computer Architecture 4 Units”, “COMPSCI 260A User Interface Design and Development 4 Units”, “COMPSCI 260B Human-Computer Interaction Research 3 Units”, “COMPSCI 261 Security in Computer Systems 3 Units”, “COMPSCI 261N Internet and Network Security 4 Units”, “COMPSCI 262A Advanced Topics in Computer Systems 4 Units”, “COMPSCI 262B Advanced Topics in Computer Systems 3 Units”, “COMPSCI 263 Design of Programming Languages 3 Units”, “COMPSCI 264 Implementation of Programming Languages 4 Units”, “COMPSCI 265 Compiler Optimization and Code Generation 3 Units”, “COMPSCI C267 Applications of Parallel Computers 3 Units”, “COMPSCI 268 Computer Networks 3 Units”, “COMPSCI 270 Combinatorial Algorithms and Data Structures 3 Units”, “COMPSCI 271 Randomness and Computation 3 Units”, “COMPSCI 273 Foundations of Parallel Computation 3 Units”, “COMPSCI 274 Computational Geometry 3 Units”, “COMPSCI 276 Cryptography 3 Units”, “COMPSCI C280 Computer Vision 3 Units”, “COMPSCI C281A Statistical Learning Theory 3 Units”, “COMPSCI C281B Advanced Topics in Learning and Decision Making 3 Units”, “COMPSCI 284A Foundations of Computer Graphics 4 Units”, “COMPSCI 284B Advanced Computer Graphics Algorithms and Techniques 4 Units”, “COMPSCI 286A Introduction to Database Systems 4 Units”, “COMPSCI 286B Implementation of Data Base Systems 3 Units”, “COMPSCI 287 Advanced Robotics 3 Units”, “COMPSCI 288 Natural Language Processing 4 Units”, “COMPSCI 289A Introduction to Machine Learning 4 Units”, “COMPSCI 294 Special Topics 1 – 4 Units”, “COMPSCI 297 Field Studies in Computer Science 12.0 Units”, “COMPSCI 298 Group Studies Seminars, or Group Research 1 – 4 Units”, “COMPSCI 299 Individual Research 1 – 12 Units”, “COMPSCI 300 Teaching Practice 1 – 6 Units”, “COMPSCI 302 Designing Computer Science Education 3 Units”, “COMPSCI 375 Teaching Techniques for Computer Science 2 Units”, “COMPSCI 399 Professional Preparation: Supervised Teaching of Computer Science 1 or 2 Units”, “COMPSCI 602 Individual Study for Doctoral Students 1 – 8 Units”]’
In [38]:
page
Out[38]:
In [39]:
soup
Out[39]:
\n\n\n
\n
\n\n\n
\n
\n
\n
\n
\n\n
\n
\n
Computer Science (COMPSCI)
\n\n\n
\n
Courses
\n
\nCOMPSCI\xa0C8\nFoundations of Data Science\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nFoundations 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.\n
\nFoundations of Data Science: Read More [+]
\n
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)
\n
Hours & Format
Fall and/or spring: 15 weeks – 3-3 hours of lecture and 2-2 hours of laboratory per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Also listed as: INFO\xa0C8/STAT\xa0C8
\n
\n
\n
\nCOMPSCI\xa09A\nMatlab for Programmers\n2 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nIntroduction 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.\n
\nMatlab for Programmers: Read More [+]
\n
Rules & Requirements
Prerequisites: Programming experience equivalent to that gained in Computer Science 10; familiarity with applications of matrix processing
Credit Restrictions: Refer to computer science service course restrictions.
Repeat rules: Course may be repeated for a maximum of 4 units.
\n
Hours & Format
Fall and/or spring: 15 weeks – 2 hours of self-paced per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.
Instructor: Garcia
\n
\n
\n
\nCOMPSCI\xa09C\nC for Programmers\n2 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nSelf-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.\n
\nC for Programmers: Read More [+]
\n
Rules & Requirements
Prerequisites: Programming experience with pointers (or addresses in assembly language) and linked data structures equivalent to that gained in Computer Science 9B or 61A, or Engineering 7
Credit Restrictions: Refer to computer science service course restrictions.
\n
Hours & Format
Fall and/or spring: 15 weeks – 2 hours of self-paced per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.
Instructor: Garcia
\n
\n
\n
\nCOMPSCI\xa09D\nScheme and Functional Programming for Programmers\n2 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017, Spring 2016, Fall 2015
\nSelf-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.\n
\nScheme and Functional Programming for Programmers: Read More [+]
\n
Rules & Requirements
Prerequisites: Programming experience similar to that gained in Computer Science 10 or Engineering 7
Credit Restrictions: Refer to computer science service course restrictions.
\n
Hours & Format
Fall and/or spring: 15 weeks – 2 hours of self-paced per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.
Instructor: Garcia
\n
Scheme and Functional Programming for Programmers: Read Less [-]
\n
\n
\nCOMPSCI\xa09E\nProductive Use of the UNIX Environment\n2 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nUse 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.\n
\nProductive Use of the UNIX Environment: Read More [+]
\n
Rules & Requirements
Prerequisites: Programming experience similar to that gained in Computer Science 61A or Engineering 7; DOS or UNIX experience
Credit Restrictions: Refer to computer science service course restrictions.
\n
Hours & Format
Fall and/or spring: 15 weeks – 2 hours of self-paced per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.
Instructor: Garcia
\n
\n
\n
\nCOMPSCI\xa09F\nC++ for Programmers\n2 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nSelf-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.\n
\nC++ for Programmers: Read More [+]
\n
Rules & Requirements
Prerequisites: Programming experience equivalent to that gained in Computer Science 9B or 61A, or Engineering 7
Credit Restrictions: Refer to computer science service course restrictions in the <General Catalog>.
\n
Hours & Format
Fall and/or spring: 15 weeks – 2 hours of self-paced per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.
Instructor: Garcia
\n
\n
\n
\nCOMPSCI\xa09G\nJAVA for Programmers\n2 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nSelf-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.\n
\nJAVA for Programmers: Read More [+]
\n
Rules & Requirements
Prerequisites: 9C or 9F or 61A plus experience with object-oriented programming or C-based language
\n
Hours & Format
Fall and/or spring: 15 weeks – 2 hours of self-paced per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.
Instructor: Garcia
\n
\n
\n
\nCOMPSCI\xa09H\nPython for Programmers\n2 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nIntroduction 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.\n
\nPython for Programmers: Read More [+]
\n
Rules & Requirements
Prerequisites: Programming experience equivalent to that gained in Computer Science 10
Credit Restrictions: Refer to computer science service course restrictions.
\n
Hours & Format
Fall and/or spring: 15 weeks – 1 hour of self-paced per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam required.
Instructor: Garcia
\n
\n
\n
\nCOMPSCI\xa010\nThe Beauty and Joy of Computing\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nAn 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.\n
\nThe Beauty and Joy of Computing: Read More [+]
\n
Rules & Requirements
Credit Restrictions: Students will receive no credit for 10 after having taken W10, 61A, 61B, or 61C.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Garcia, Hug
\n
\n
\n
\nCOMPSCI\xa0W10\nThe Beauty and Joy of Computing\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2012
\nThis 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.\n
\nThe Beauty and Joy of Computing: Read More [+]
\n
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.
\n
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.
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Garcia, Hug
\n
\n
\n
\nCOMPSCI\xa039J\nFreshman/Sophomore Seminar\n1.5 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2011, Fall 2010, Spring 2010
\nFreshman 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.\n
\nFreshman/Sophomore Seminar: Read More [+]
\n
Rules & Requirements
Prerequisites: Priority given to freshmen and sophomores
\n
Hours & Format
Fall and/or spring: 15 weeks – 2-4 hours of seminar per week
\n
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.
\n
\n
\n
\nCOMPSCI\xa039K\nFreshman/Sophomore Seminar\n1.5 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2013, Spring 2011, Spring 2010
\nFreshman 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.\n
\nFreshman/Sophomore Seminar: Read More [+]
\n
Rules & Requirements
Prerequisites: Priority given to freshmen and sophomores
\n
Hours & Format
Fall and/or spring: 15 weeks – 2-4 hours of seminar per week
\n
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.
\n
\n
\n
\nCOMPSCI\xa039M\nFreshman/Sophomore Seminar\n1.5 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2008
\nFreshman 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.\n
\nFreshman/Sophomore Seminar: Read More [+]
\n
Rules & Requirements
Prerequisites: Priority given to freshmen and sophomores
\n
Hours & Format
Fall and/or spring: 15 weeks – 2-4 hours of seminar per week
\n
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.
\n
\n
\n
\nCOMPSCI\xa039N\nFreshman/Sophomore Seminar\n1.5 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2010, Fall 2009
\nFreshman 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.\n
\nFreshman/Sophomore Seminar: Read More [+]
\n
Rules & Requirements
Prerequisites: Priority given to freshmen and sophomores
\n
Hours & Format
Fall and/or spring: 15 weeks – 2-4 hours of seminar per week
\n
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.
\n
\n
\n
\nCOMPSCI\xa039P\nFreshman/Sophomore Seminar\n1.5 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2013, Spring 2013, Fall 2012
\nFreshman 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.\n
\nFreshman/Sophomore Seminar: Read More [+]
\n
Rules & Requirements
Prerequisites: Priority given to freshmen and sophomores
\n
Hours & Format
Fall and/or spring: 15 weeks – 2-4 hours of seminar per week
\n
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.
\n
\n
\n
\nCOMPSCI\xa039Q\nFreshman/Sophomore Seminar\n1.5 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2011
\nFreshman 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.\n
\nFreshman/Sophomore Seminar: Read More [+]
\n
Rules & Requirements
Prerequisites: Priority given to freshmen and sophomores
\n
Hours & Format
Fall and/or spring: 15 weeks – 2-4 hours of seminar per week
\n
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.
\n
\n
\n
\nCOMPSCI\xa039R\nFreshman/Sophomore Seminar\n1.5 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2016, Spring 2013
\nFreshman 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.\n
\nFreshman/Sophomore Seminar: Read More [+]
\n
Rules & Requirements
Prerequisites: Priority given to freshmen and sophomores
\n
Hours & Format
Fall and/or spring: 15 weeks – 2-4 hours of seminar per week
\n
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.
\n
\n
\n
\nCOMPSCI\xa047A\nCompletion of Work in Computer Science 61A\n1 Unit\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nImplementation of generic operations. Streams and iterators. Implementation techniques for supporting functional, object-oriented, and constraint-based programming in the Scheme programming language. Together with 9D, 47A constitutes an abbreviated, self-paced version of 61A for students who have already taken a course equivalent to 61B.\n
\nCompletion of Work in Computer Science 61A: Read More [+]
\n
Rules & Requirements
Prerequisites: 61B or equivalent, 9D, and consent of instructor
Credit Restrictions: Students will receive no credit for 47A after taking 61A.
\n
Hours & Format
Fall and/or spring: 15 weeks – 0 hours of self-paced per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructor: Garcia
\n
\n
\n
\nCOMPSCI\xa047B\nCompletion of Work in Computer Science 61B\n1 Unit\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nIterators. Hashing, applied to strings and multi-dimensional structures. Heaps. Storage management. Design and implementation of a program containing hundreds of lines of code. Students with sufficient partial credit in 61B may, with consent of instructor, complete the credit in this self-paced course.\n
\nCompletion of Work in Computer Science 61B: Read More [+]
\n
Rules & Requirements
Prerequisites: A course in data structures, 9G or equivalent, and consent of instructor
Credit Restrictions: Students will receive no credit for 47B after taking 61B.
\n
Hours & Format
Fall and/or spring: 15 weeks – 0 hours of self-paced per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructor: Garcia
\n
\n
\n
\nCOMPSCI\xa047C\nCompletion of Work in Computer Science 61C\n1 Unit\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nMIPS 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.\n
\nCompletion of Work in Computer Science 61C: Read More [+]
\n
Rules & Requirements
Prerequisites: Experience with assembly language including writing an interrupt handler, 9C or equivalent, and consent of instructor
Credit Restrictions: Students will receive no credit for 47C after taking 61C.
\n
Hours & Format
Fall and/or spring: 15 weeks – 0 hours of self-paced per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructor: Garcia
\n
\n
\n
\nCOMPSCI\xa061A\nThe Structure and Interpretation of Computer Programs\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nIntroduction to programming and computer science. This course exposes students to techniques of abstraction at several levels: (a) within a programming language, using higher-order functions, manifest types, data-directed programming, and message-passing; (b) between programming languages, using functional and rule-based languages as examples. It also relates these techniques to the practical problems of implementation of languages and algorithms on a von Neumann machine. There are several significant programming projects.\n
\nThe Structure and Interpretation of Computer Programs: Read More [+]
\n
Rules & Requirements
Prerequisites: Mathematics 1A (may be taken concurrently); programming experience equivalent to that gained in 3 or the Advanced Placement Computer Science A course
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.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Garcia, Hilfinger
\n
The Structure and Interpretation of Computer Programs: Read Less [-]
\n
\n
\nCOMPSCI\xa061AS\nThe Structure and Interpretation of Computer Programs (Self-Paced)\n1 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2016, Fall 2015, Summer 2015 8 Week Session
\nIntroductory programming and computer science. Abstraction as means to control program complexity. Programming paradigms: functional, object-oriented, client/server, and declarative (logic). Control abstraction: recursion and higher order functions. Introduction to asymptotic analysis of algorithms. Data abstraction: abstract data types, type-tagged data, first class data types, sequences implemented as lists and as arrays, generic operators implemented with data-directed programming and with message passing. Implementation of object-oriented programming with closures over dispatch procedures. Introduction to interpreters and compilers. There are several significant programming projects. Course may be completed in one or two semesters. Students must complete a mimimum of two units during their first semester of 61AS.\n
\nThe Structure and Interpretation of Computer Programs (Self-Paced): Read More [+]
\n
Rules & Requirements
Prerequisites: Mathematics 1A (may be taken concurrently). Programming experience equivalent to that gained in 10 or the Advanced Placement Computer Science A course is recommended, but is not essential; students without this experience will begin at an earlier point in the online course
Credit Restrictions: Students will receive no credit for Computer Science 61AS after completing Computer Science 47A or Computer Science 61A. A deficient grade in Computer Science 61A may be removed by taking Computer Science 61AS.
Repeat rules: Course may be repeated for a maximum of 4 units.Course may be repeated for a maximum of 4 units.
\n
Hours & Format
Fall and/or spring: 15 weeks – 6 hours of laboratory per week
Summer:
6 weeks – 15 hours of laboratory per week
8 weeks – 11 hours of laboratory per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Garcia, Harvey, Hilfinger
\n
The Structure and Interpretation of Computer Programs (Self-Paced): Read Less [-]
\n
\n
\nCOMPSCI\xa061B\nData Structures\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nFundamental 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.\n
\nData Structures: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer ScienceI 61A or Computer Science 88 or Engineering 7
Credit Restrictions: Students will receive no credit for Computer Science 61B after completing Computer Science47B or 61BL. A deficiency in Computer Science 61BL may be removed by taking Computer Science 61B.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Hilfinger, Shewchuk
\n
\n
\n
\nCOMPSCI\xa061BL\nData Structures and Programming Methodology\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Summer 2017 8 Week Session, Summer 2016 10 Week Session, Summer 2016 8 Week Session
\nThe same material as in 61B, but in a laboratory-based format.\n
\nData Structures and Programming Methodology: Read More [+]
\n
Rules & Requirements
Prerequisites: 61A or Engineering 7
Credit Restrictions: Students will receive no credit for 61BL after taking 47B or 61B. Deficiency in 61B may be removed by taking 61BL.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructor: Hilfinger
\n
\n
\n
\nCOMPSCI\xa061C\nMachine Structures\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nThe 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.\n
\nMachine Structures: Read More [+]
\n
Rules & Requirements
Prerequisites: 61A, along with either 61B or 61BL, or programming experience equivalent to that gained in 9C, 9F, or 9G
Credit Restrictions: Students will receive no credit for 61C after taking 47C or 61CL. Deficiency in 61C may be removed by taking 61CL.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Garcia, Franklin, Katz, Patterson
\n
\n
\n
\nCOMPSCI\xa061CL\nMachine Structures (Lab-Centric)\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2009, Spring 2009, Fall 2008
\nThe same material as in 61C but in a lab-centric format.\n
\nMachine Structures (Lab-Centric): Read More [+]
\n
Rules & Requirements
Prerequisites: 61A, along with 61B or 61BL, or programming experience equivalent to that gained in 9C, 9F, or 9G
Credit Restrictions: Students will receive no credit for 61CL after taking 47C or 61C. Deficiency in 61C may be removed by taking 61CL.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Garcia, Patterson
\n
\n
\n
\nCOMPSCI\xa070\nDiscrete Mathematics and Probability Theory\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nLogic, 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.\n
\nDiscrete Mathematics and Probability Theory: Read More [+]
\n
Rules & Requirements
Prerequisites: Sophomore mathematical maturity, and programming experience equivalent to that gained in 3 or the Advanced Placement Computer Science A course
Credit Restrictions: Students will receive no credit for 70 after taking Mathematics 55.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Rao, Vazirani, Wagner, Sahai
\n
\n
\n
\nCOMPSCI\xa0C79\nSocietal Risks and the Law\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2013
\nDefining, 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.\n
\nSocietal Risks and the Law: Read More [+]
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam not required.
Also listed as: POL\xa0SCI\xa0C79/STAT\xa0C79
\n
\n
\n
\nCOMPSCI\xa088\nComputational Structures in Data Science\n2 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nDevelopment of Computer Science topics appearing in Foundations of Data Science (C8); expands computational concepts and techniques of abstraction. Understanding the structures that underlie the programs, algorithms, and languages used in data science and elsewhere. Mastery of a particular programming language while studying general techniques for managing program complexity, e.g., functional, object-oriented, and declarative programming. Provides practical experience with composing larger systems through several significant programming projects.\n
\nComputational Structures in Data Science: Read More [+]
\n
Objectives & Outcomes
Course Objectives: Develop a foundation of computer science concepts that arise in the context of data analytics, including algorithm, representation, interpretation, abstraction, sequencing, conditional, function, iteration, recursion, types, objects, and testing, and develop proficiency in the application of these concepts in the context of a modern programming language at a scale of whole programs on par with a traditional CS introduction course.\n
Student Learning Outcomes: Students will be able to demonstrate a working knowledge of these concepts and a proficiency of programming based upon them sufficient to construct substantial stand-alone programs.\n
\n
Rules & Requirements
Prerequisites: Math 1A. Also, this course is a Data Science connector course and may only be taken concurrently with or after COMPSCI\xa0C8/INFO\xa0C8/STAT\xa0C8. Students may take more than one Data Science connector (88) course if they wish, concurrent with or after having taken the C8 course
Credit Restrictions: Students may receive no credit for Computer Science 88 after completing Computer Science 61A.
\n
Hours & Format
Fall and/or spring: 15 weeks – 1 hour of lecture and 2 hours of laboratory per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
\n
\n
\n
\nCOMPSCI\xa094\nSpecial Topics\n1 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2016, Fall 2015
\nTopics will vary semester to semester. See the Computer Science Division announcements.\n
\nSpecial Topics: Read More [+]
\n
Rules & Requirements
Prerequisites: Consent of instructor
Repeat rules: Course may be repeated for credit when topic changes.
\n
Hours & Format
Fall and/or spring: 15 weeks – 1-4 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
\n
\n
\n
\nCOMPSCI\xa097\nField Study\n1 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nStudents 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.\n
\nField Study: Read More [+]
\n
Rules & Requirements
Prerequisites: Consent of instructor (see department adviser)
Repeat rules: Course may be repeated for credit.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.
\n
\n
\n
\nCOMPSCI\xa098\nDirected Group Study\n1 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Fall 2016, Spring 2016
\nSeminars for group study of selected topics, which will vary from year to year. Intended for students in the lower division.\n
\nDirected Group Study: Read More [+]
\n
Rules & Requirements
Prerequisites: Consent of instructor
Repeat rules: Course may be repeated for credit.
\n
Hours & Format
Fall and/or spring: 15 weeks – 1-4 hours of directed group study per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.
\n
\n
\n
\nCOMPSCI\xa099\nIndividual Study and Research for Undergraduates\n1 – 2 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nA course for lower division students in good standing who wish to undertake a program of individual inquiry initiated jointly by the student and a professor. There are no other formal prerequisites, but the supervising professor must be convinced that the student is able to profit by the program.\n
\nIndividual Study and Research for Undergraduates: Read More [+]
\n
Rules & Requirements
Prerequisites: GPA of 3.4 or better
Repeat rules: Course may be repeated for credit.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.
\n
Individual Study and Research for Undergraduates: Read Less [-]
\n
\n
\nCOMPSCI\xa0C100\nPrinciples & Techniques of Data Science\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017
\nIn this course, students will explore the data science lifecycle, including question formulation, data collection and cleaning, exploratory data analysis and visualization, statistical inference and prediction\u200b, and decision-making.\u200b This class will focus on quantitative critical thinking\u200b and key principles and techniques needed to carry out this cycle. These include languages for transforming, querying and analyzing data; algorithms for machine learning methods including regression, classification and clustering; principles behind creating informative data visualizations; statistical concepts of measurement error and prediction; and techniques for scalable data processing.\n
\nPrinciples & Techniques of Data Science: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science/Information/Statistics C8 or Engineering 7; and either Computer Science 61A or Computer Science 88. Corequisite: Mathematics 54 or Electrical Engineering 16A
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture, 1 hour of discussion, and 1 hour of laboratory per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Also listed as: STAT\xa0C100
\n
\n
\n
\nCOMPSCI\xa0146L\nProgrammable Digital Systems Laboratory\n2 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2015
\nHardware 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 \u2013 example, a full processor implementation with peripherals.\n
\nProgrammable Digital Systems Laboratory: Read More [+]
\n
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.\n
\n
Rules & Requirements
Prerequisites: Computer Science 61C, Electrical Engineering 105 recommended and Electrical Engineering 141 (taken Fall 2014) – mandatory
Credit Restrictions: Students will receive no credit for Computer Science 146L after taking Fall 2014 version of Computer Science 150.
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of laboratory and 1 hour of discussion per week
\n
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
\n
\n
\n
\nCOMPSCI\xa0C149\nIntroduction to Embedded Systems\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2015, Fall 2014, Fall 2013
\nThis course introduces students to the basics of models, analysis tools, and control for embedded systems operating in real time. Students learn how to combine physical processes with computation. Topics include models of computation, control, analysis and verification, interfacing with the physical world, mapping to platforms, and distributed embedded systems. The course has a strong laboratory component, with emphasis on a semester-long sequence of projects.\n
\nIntroduction to Embedded Systems: Read More [+]
\n
Rules & Requirements
Prerequisites: 20N; Computer Science 61C; Computer Science 70 or Math 55
Credit Restrictions: Students will receive no credit for Electrical Engineering C149/Computer Science C149 after<BR/>taking Electrical Engineering C249M/Computer Science C249M. Students may remove a deficient grade in Electrical Engineering C149/Computer Science C149 after taking Electrical Engineering 124.<BR/>
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 3 hours of laboratory per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Lee, Seshia
Also listed as: EL\xa0ENG\xa0C149
\n
\n
\n
\nCOMPSCI\xa0152\nComputer Architecture and Engineering\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Fall 2016, Spring 2016
\nInstruction set architecture, microcoding, pipelining (simple and complex). Memory hierarchies and virtual memory. Processor parallelism: VLIW, vectors, multithreading. Multiprocessors.\n
\nComputer Architecture and Engineering: Read More [+]
\n
Rules & Requirements
Prerequisites: 61C
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 2 hours of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Alternative to final exam.
Instructors: Asanovic, Culler, Kubiatowicz, Wawrzynek
\n
\n
\n
\nCOMPSCI\xa0160\nUser Interface Design and Development\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nThe 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.\n
\nUser Interface Design and Development: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 61B or 61BL
Credit Restrictions: Students will receive no credit for Computer Science 160 after taking Computer Science 260A.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Agrawala, Canny, Hartmann, Paulos
\n
\n
\n
\nCOMPSCI\xa0161\nComputer Security\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nIntroduction 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.\n
\nComputer Security: Read More [+]
\n
Rules & Requirements
Prerequisites: 61C (Machine Structures), plus either 70 (Discrete Mathematics) or Mathematics 55
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Paxson, Song, Tygar, Wagner
\n
\n
\n
\nCOMPSCI\xa0162\nOperating Systems and System Programming\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nBasic 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.\n
\nOperating Systems and System Programming: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 61B, 61C, and 70
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Joseph, Kubiatowicz, Stoica
\n
\n
\n
\nCOMPSCI\xa0164\nProgramming Languages and Compilers\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017, Spring 2016, Fall 2015
\nSurvey 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.\n
\nProgramming Languages and Compilers: Read More [+]
\n
Rules & Requirements
Prerequisites: 61B and 61C
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Bodik, Hilfinger, Necula
\n
\n
\n
\nCOMPSCI\xa0168\nIntroduction to the Internet: Architecture and Protocols\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Fall 2016
\nThis 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).\n
\nIntroduction to the Internet: Architecture and Protocols: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 61B and 162
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Katz, Paxson, Ratnasamy, Shenker, Stoica
\n
Introduction to the Internet: Architecture and Protocols: Read Less [-]
\n
\n
\nCOMPSCI\xa0169\nSoftware Engineering\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Fall 2016
\nIdeas 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.\n
\nSoftware Engineering: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 61B and 61C, and either Computer Science 70 or Mathematics 113
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Brewer, Fox, Necula, Sen
\n
\n
\n
\nCOMPSCI\xa0170\nEfficient Algorithms and Intractable Problems\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nConcept and basic techniques in the design and analysis of algorithms; models of computation; lower bounds; algorithms for optimum search trees, balanced trees and UNION-FIND algorithms; numerical and algebraic algorithms; combinatorial algorithms. Turing machines, how to count steps, deterministic and nondeterministic Turing machines, NP-completeness. Unsolvable and intractable problems.\n
\nEfficient Algorithms and Intractable Problems: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 61B and 70
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Demmel, Papadimitriou, Rao, Wagner, Vazirani
\n
Efficient Algorithms and Intractable Problems: Read Less [-]
\n
\n
\nCOMPSCI\xa0172\nComputability and Complexity\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2016, Fall 2015, Spring 2015
\nFinite automata, Turing machines and RAMs. Undecidable, exponential, and polynomial-time problems. Polynomial-time equivalence of all reasonable models of computation. Nondeterministic Turing machines. Theory of NP-completeness: Cook’s theorem, NP-completeness of basic problems. Selected topics in language theory, complexity and randomness.\n
\nComputability and Complexity: Read More [+]
\n
Rules & Requirements
Prerequisites: 170
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Papadimitriou, Seshia, Sinclair, Vazirani
\n
\n
\n
\nCOMPSCI\xa0174\nCombinatorics and Discrete Probability\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017, Spring 2016, Spring 2015
\nPermutations, 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.\n
\nCombinatorics and Discrete Probability: Read More [+]
\n
Rules & Requirements
Prerequisites: 170
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Bartlett, Papadimitriou, Sinclair, Vazirani
\n
\n
\n
\nCOMPSCI\xa0176\nAlgorithms for Computational Biology\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Fall 2016, Fall 2015
\nAlgorithms 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.\n
\nAlgorithms for Computational Biology: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 70 and 170. Experience programming in a language such as C, C++, Java, or Python
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructor: Song
\n
\n
\n
\nCOMPSCI\xa0184\nFoundations of Computer Graphics\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nTechniques 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.\n
\nFoundations of Computer Graphics: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 61B or 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.
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: O’Brien, Sequin, Barsky, Ramamoorthi, Agrawala
\n
\n
\n
\nCOMPSCI\xa0186\nIntroduction to Database Systems\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nAccess 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.\n
\nIntroduction to Database Systems: Read More [+]
\n
Rules & Requirements
Prerequisites: 61B and 61C
Credit Restrictions: Students will receive no credit for Comp Sci 186 after taking Comp Sci 286A.
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Franklin, Hellerstein
\n
\n
\n
\nCOMPSCI\xa0188\nIntroduction to Artificial Intelligence\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nIdeas and techniques underlying the design of intelligent computer systems. Topics include search, game playing, knowledge representation, inference, planning, reasoning under uncertainty, machine learning, robotics, perception, and language understanding.\n
\nIntroduction to Artificial Intelligence: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 61A; Computer Science 61B; Computer Science 70
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Abbeel, Klein, Russell
\n
\n
\n
\nCOMPSCI\xa0189\nIntroduction to Machine Learning\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nTheoretical foundations, algorithms, methodologies, and applications for machine learning. Topics may include supervised methods for regression and classication (linear models, trees, neural networks, ensemble methods, instance-based methods); generative and discriminative probabilistic models; Bayesian parametric learning; density estimation and clustering; Bayesian networks; time series models; dimensionality reduction; programming projects covering a variety of real-world applications.\n
\nIntroduction to Machine Learning: Read More [+]
\n
Rules & Requirements
Prerequisites: Mathematics 53 and 54; Computer Science 70; Computer Science 188 or consent of instructor
Credit Restrictions: Students will receive no credit for Comp Sci 189 after taking Comp Sci 289A.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Abbeel, Bartlett, Darrell, El Ghaoui, Jordan, Klein, Malik, Russell
\n
\n
\n
\nCOMPSCI\xa0C191\nQuantum Information Science and Technology\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017, Fall 2014, Spring 2012
\nThis multidisciplinary course provides an introduction to fundamental conceptual aspects of quantum mechanics from a computational and informational theoretic perspective, as well as physical implementations and technological applications of quantum information science. Basic sections of quantum algorithms, complexity, and cryptography, will be touched upon, as well as pertinent physical realizations from nanoscale science and engineering.\n
\nQuantum Information Science and Technology: Read More [+]
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Crommie, Vazirani, Whaley
Also listed as: CHEM\xa0C191/PHYSICS\xa0C191
\n
\n
\n
\nCOMPSCI\xa0194\nSpecial Topics\n1 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nTopics will vary semester to semester. See the Computer Science Division announcements.\n
\nSpecial Topics: Read More [+]
\n
Rules & Requirements
Prerequisites: Consent of instructor
Repeat rules: Course may be repeated for credit as topic varies. Course may be repeated for credit when topic changes.
\n
Hours & Format
Fall and/or spring: 15 weeks – 1-4 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
\n
\n
\n
\nCOMPSCI\xa0195\nSocial Implications of Computer Technology\n1 Unit\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nTopics include electronic community; the changing nature of work; technological risks; the information economy; intellectual property; privacy; artificial intelligence and the sense of self; pornography and censorship; professional ethics. Students will lead discussions on additional topics.\n
\nSocial Implications of Computer Technology: Read More [+]
\n
Rules & Requirements
Credit Restrictions: Students will receive no credit for 195 after taking C195/Interdisciplinary Field Study C155 or H195.
\n
Hours & Format
Fall and/or spring: 15 weeks – 1.5 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.
Instructor: Harvey
\n
\n
\n
\nCOMPSCI\xa0H195\nHonors Social Implications of Computer Technology\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2014, Spring 2014, Fall 2013
\nTopics include electronic community; the changing nature of work; technological risks; the information economy; intellectual property; privacy; artificial intelligence and the sense of self; pornography and censorship; professional ethics. Students may lead discussions on additional topics.\n
\nHonors Social Implications of Computer Technology: Read More [+]
\n
Rules & Requirements
Credit Restrictions: Student will receive no credit for H195 after taking 195 or C195.
\n
Hours & Format
Fall and/or spring: 15 weeks – 1.5 hours of lecture and 1.5 hours of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.
Instructor: Harvey
\n
Honors Social Implications of Computer Technology: Read Less [-]
\n
\n
\nCOMPSCI\xa0H196A\nSenior Honors Thesis Research\n1 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nThesis 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.\n
\nSenior Honors Thesis Research: Read More [+]
\n
Rules & Requirements
Prerequisites: Open only to students in the computer science honors program
\n
Hours & Format
Fall and/or spring: 15 weeks – 1-4 hours of independent study per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
\n
\n
\n
\nCOMPSCI\xa0H196B\nSenior Honors Thesis Research\n1 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nThesis 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.\n
\nSenior Honors Thesis Research: Read More [+]
\n
Rules & Requirements
Prerequisites: Open only to students in the computer science honors program
\n
Hours & Format
Fall and/or spring: 15 weeks – 1-4 hours of independent study per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
\n
\n
\n
\nCOMPSCI\xa0197\nField Study\n1 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Summer 2017 First 6 Week Session
\nStudents 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.\n
\nField Study: Read More [+]
\n
Rules & Requirements
Prerequisites: Consent of instructor (see department adviser)
Repeat rules: Course may be repeated for credit.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.
\n
\n
\n
\nCOMPSCI\xa0198\nDirected Group Studies for Advanced Undergraduates\n1 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nGroup study of selected topics in Computer Sciences, usually relating to new developments.\n
\nDirected Group Studies for Advanced Undergraduates: Read More [+]
\n
Rules & Requirements
Prerequisites: 2.0 GPA or better; 60 units completed
Repeat rules: Course may be repeated for credit.
\n
Hours & Format
Fall and/or spring: 15 weeks – 1-4 hours of directed group study per week
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.
\n
Directed Group Studies for Advanced Undergraduates: Read Less [-]
\n
\n
\nCOMPSCI\xa0199\nSupervised Independent Study\n1 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nSupervised independent study. Enrollment restrictions apply.\n
\nSupervised Independent Study: Read More [+]
\n
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.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Undergraduate
Grading/Final exam status: Offered for pass/not pass grade only. Final exam not required.
\n
\n
\n
\nCOMPSCI\xa0C249A\nIntroduction to Embedded Systems\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Fall 2016, Fall 2015
\nThis course introduces students to the basics of models, analysis tools, and control for embedded systems operating in real time. Students learn how to combine physical processes with computation. Topics include models of computation, control, analysis and verification, interfacing with the physical world, mapping to platforms, and distributed embedded systems. The course has a strong laboratory component, with emphasis on a semester-long sequence of projects.\n
\nIntroduction to Embedded Systems: Read More [+]
\n
Rules & Requirements
Credit Restrictions: Students will receive no credit for El Eng/Comp Sci C249A after taking El Eng/Comp Sci C149.
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 3 hours of laboratory per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Lee, Seshia
Formerly known as: Electrical Engineering C249M/Computer Science C249M
Also listed as: EL\xa0ENG\xa0C249A
\n
\n
\n
\nCOMPSCI\xa0250\nVLSI Systems Design\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017, Spring 2016, Fall 2014
\nUnified top-down and bottom-up design of integrated circuits and systems concentrating on architectural and topological issues. VLSI architectures, systolic arrays, self-timed systems. Trends in VLSI development. Physical limits. Tradeoffs in custom-design, standard cells, gate arrays. VLSI design tools.\n
\nVLSI Systems Design: Read More [+]
\n
Rules & Requirements
Prerequisites: 150
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 4 hours of laboratory per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructor: Wawrzynek
\n
\n
\n
\nCOMPSCI\xa0252\nGraduate Computer Architecture\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017, Fall 2015, Spring 2014
\nGraduate survey of contemporary computer organizations covering: early systems, CPU design, instruction sets, control, processors, busses, ALU, memory, I/O interfaces, connection networks, virtual memory, pipelined computers, multiprocessors, and case studies. Term paper or project is required.\n
\nGraduate Computer Architecture: Read More [+]
\n
Rules & Requirements
Prerequisites: 152
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Culler, Kubiatowicz, Patterson
\n
\n
\n
\nCOMPSCI\xa0260A\nUser Interface Design and Development\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nThe 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.\n
\nUser Interface Design and Development: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 61B, 61BL, or consent of instructor
Credit Restrictions: Students will receive no credit for Computer Science 260A after taking Computer Science 160.
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Agrawala, Canny, Hartmann
\n
\n
\n
\nCOMPSCI\xa0260B\nHuman-Computer Interaction Research\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2013
\nThis course is a broad introduction to conducting research in Human-Computer Interaction. Students will become familiar with seminal and recent literature; learn to review and critique research papers; re-implement and evaluate important existing systems; and gain experience in conducting research. Topics include input devices, computer-supported cooperative work, crowdsourcing, design tools, evaluation methods, search and mobile interfaces, usable security, help and tutorial systems.\n
\nHuman-Computer Interaction Research: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 160 recommended, or consent of instructor
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructor: Hartmann
\n
\n
\n
\nCOMPSCI\xa0261\nSecurity in Computer Systems\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2015, Fall 2013, Fall 2012
\nGraduate survey of modern topics in computer security, including protection, access control, distributed access security, firewalls, secure coding practices, safe languages, mobile code, and case studies from real-world systems. May also cover cryptographic protocols, privacy and anonymity, and/or other topics as time permits.\n
\nSecurity in Computer Systems: Read More [+]
\n
Rules & Requirements
Prerequisites: 162
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: D. Song, Wagner
\n
\n
\n
\nCOMPSCI\xa0261N\nInternet and Network Security\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Fall 2016, Spring 2015
\nDevelops a thorough grounding in Internet and network security suitable for those interested in conducting research in the area or those more broadly interested in security or networking. Potential topics include denial-of-service; capabilities; network intrusion detection/prevention; worms; forensics; scanning; traffic analysis; legal issues; web attacks; anonymity; wireless and networked devices; honeypots; botnets; scams; underground economy; attacker infrastructure; research pitfalls.\n
\nInternet and Network Security: Read More [+]
\n
Rules & Requirements
Prerequisites: Electrical Engineering 122 or equivalent; Computer Science 161 or familiarity with basic security concepts
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructor: Paxson
\n
\n
\n
\nCOMPSCI\xa0262A\nAdvanced Topics in Computer Systems\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Fall 2016, Spring 2016
\nGraduate survey of systems for managing computation and information, covering a breadth of topics: early systems; volatile memory management, including virtual memory and buffer management; persistent memory systems, including both file systems and transactional storage managers; storage metadata, physical vs. logical naming, schemas, process scheduling, threading and concurrency control; system support for networking, including remote procedure calls, transactional RPC, TCP, and active messages; security infrastructure; extensible systems and APIs; performance analysis and engineering of large software systems. Homework assignments, exam, and term paper or project required.\n
\nAdvanced Topics in Computer Systems: Read More [+]
\n
Rules & Requirements
Prerequisites: 162 and entrance exam
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Brewer, Hellerstein
Formerly known as: 262
\n
\n
\n
\nCOMPSCI\xa0262B\nAdvanced Topics in Computer Systems\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2009, Fall 2008, Spring 2006
\nContinued graduate survey of large-scale systems for managing information and computation. Topics include basic performance measurement; extensibility, with attention to protection, security, and management of abstract data types; index structures, including support for concurrency and recovery; parallelism, including parallel architectures, query processing and scheduling; distributed data management, including distributed and mobile file systems and databases; distributed caching; large-scale data analysis and search. Homework assignments, exam, and term paper or project required.\n
\nAdvanced Topics in Computer Systems: Read More [+]
\n
Rules & Requirements
Prerequisites: 262A
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Brewer, Culler, Hellerstein, Joseph
\n
\n
\n
\nCOMPSCI\xa0263\nDesign of Programming Languages\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2014, Fall 2012, Spring 2012
\nSelected topics from: analysis, comparison, and design of programming languages, formal description of syntax and semantics, advanced programming techniques, structured programming, debugging, verification of programs and compilers, and proofs of correctness.\n
\nDesign of Programming Languages: Read More [+]
\n
Rules & Requirements
Prerequisites: 164
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructor: Necula
\n
\n
\n
\nCOMPSCI\xa0264\nImplementation of Programming Languages\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2011, Spring 2010, Spring 2005
\nCompiler construction. Lexical analysis, syntax analysis. Semantic analysis code generation and optimization. Storage management. Run-time organization.\n
\nImplementation of Programming Languages: Read More [+]
\n
Rules & Requirements
Prerequisites: 164, 263 recommended
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture, 1 hour of discussion, and 6 hours of laboratory per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructor: Bodik
\n
\n
\n
\nCOMPSCI\xa0265\nCompiler Optimization and Code Generation\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2013, Fall 2009, Spring 2003
\nTable-driven and retargetable code generators. Register management. Flow analysis and global optimization methods. Code optimization for advanced languages and architectures. Local code improvement. Optimization by program transformation. Selected additional topics. A term paper or project is required.\n
\nCompiler Optimization and Code Generation: Read More [+]
\n
Rules & Requirements
Prerequisites: 164
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructor: Sen
\n
\n
\n
\nCOMPSCI\xa0C267\nApplications of Parallel Computers\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017, Spring 2016, Spring 2015
\nModels for parallel programming. Fundamental algorithms for linear algebra, sorting, FFT, etc. Survey of parallel machines and machine structures. Exiting parallel programming languages, vectorizing compilers, environments, libraries and toolboxes. Data partitioning techniques. Techniques for synchronization and load balancing. Detailed study and algorithm/program development of medium sized applications.\n
\nApplications of Parallel Computers: Read More [+]
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of laboratory per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Demmel, Yelick
Also listed as: ENGIN\xa0C233
\n
\n
\n
\nCOMPSCI\xa0268\nComputer Networks\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2016, Spring 2015, Spring 2014
\nDistributed systems, their notivations, applications, and organization. The network component. Network architectures. Local and long-haul networks, technologies, and topologies. Data link, network, and transport protocols. Point-to-point and broadcast networks. Routing and congestion control. Higher-level protocols. Naming. Internetworking. Examples and case studies.\n
\nComputer Networks: Read More [+]
\n
Rules & Requirements
Prerequisites: 162
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Joseph, Katz, Stoica
Formerly known as: 292V
\n
\n
\n
\nCOMPSCI\xa0270\nCombinatorial Algorithms and Data Structures\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017, Spring 2016, Spring 2015
\nDesign and analysis of efficient algorithms for combinatorial problems. Network flow theory, matching theory, matroid theory; augmenting-path algorithms; branch-and-bound algorithms; data structure techniques for efficient implementation of combinatorial algorithms; analysis of data structures; applications of data structure techniques to sorting, searching, and geometric problems.\n
\nCombinatorial Algorithms and Data Structures: Read More [+]
\n
Rules & Requirements
Prerequisites: 170
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Papadimitriou, Rao, Sinclair, Vazirani
\n
\n
\n
\nCOMPSCI\xa0271\nRandomness and Computation\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2011, Fall 2008, Fall 2005
\nComputational applications of randomness and computational theories of randomness. Approximate counting and uniform generation of combinatorial objects, rapid convergence of random walks on expander graphs, explicit construction of expander graphs, randomized reductions, Kolmogorov complexity, pseudo-random number generation, semi-random sources.\n
\nRandomness and Computation: Read More [+]
\n
Rules & Requirements
Prerequisites: 170 and at least one course numbered 270-279
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructor: Sinclair
\n
\n
\n
\nCOMPSCI\xa0273\nFoundations of Parallel Computation\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2012, Fall 2010, Spring 2009
\n. Fundamental theoretical issues in designing parallel algorithms and architectures. Shared memory models of parallel computation. Parallel algorithms for linear algegra, sorting, Fourier Transform, recurrence evaluation, and graph problems. Interconnection network based models. Algorithm design techniques for networks like hypercubes, shuffle-exchanges, threes, meshes and butterfly networks. Systolic arrays and techniques for generating them. Message routing.\n
\nFoundations of Parallel Computation: Read More [+]
\n
Rules & Requirements
Prerequisites: 170, or consent of instructor
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructor: Rao
\n
\n
\n
\nCOMPSCI\xa0274\nComputational Geometry\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017, Spring 2015, Spring 2013
\n. Constructive problems in computational geometry: convex hulls, triangulations, Voronoi diagrams, arrangements of hyperplanes; relationships among these problems. Search problems: advanced data structures; subdivision search; various kinds of range searches. Models of computation; lower bounds.\n
\nComputational Geometry: Read More [+]
\n
Rules & Requirements
Prerequisites: 170 or equivalent
Repeat rules: Course may be repeated for credit.
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructor: Shewchuk
\n
\n
\n
\nCOMPSCI\xa0276\nCryptography\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Fall 2016, Fall 2015
\nGraduate survey of modern topics on theory, foundations, and applications of modern cryptography. One-way functions; pseudorandomness; encryption; authentication; public-key cryptosystems; notions of security. May also cover zero-knowledge proofs, multi-party cryptographic protocols, practical applications, and/or other topics, as time permits.\n
\nCryptography: Read More [+]
\n
Rules & Requirements
Prerequisites: 170
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Trevisan, Wagner
\n
\n
\n
\nCOMPSCI\xa0C280\nComputer Vision\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017, Spring 2016, Spring 2015
\nParadigms for computational vision. Relation to human visual perception. Mathematical techniques for representing and reasoning, with curves, surfaces and volumes. Illumination and reflectance models. Color perception. Image segmentation and aggregation. Methods for bottom-up three dimensional shape recovery: Line drawing analysis, stereo, shading, motion, texture. Use of object models for prediction and recognition.\n
\nComputer Vision: Read More [+]
\n
Rules & Requirements
Prerequisites: Knowledge of linear algebra and calculus. Mathematics 1A-1B, 53, 54 or equivalent
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructor: Malik
Also listed as: VIS\xa0SCI\xa0C280
\n
\n
\n
\nCOMPSCI\xa0C281A\nStatistical Learning Theory\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Fall 2016, Fall 2015
\nClassification regression, clustering, dimensionality, reduction, and density estimation. Mixture models, hierarchical models, factorial models, hidden Markov, and state space models, Markov properties, and recursive algorithms for general probabilistic inference nonparametric methods including decision trees, kernal methods, neural networks, and wavelets. Ensemble methods.\n
\nStatistical Learning Theory: Read More [+]
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Bartlett, Jordan, Wainwright
Also listed as: STAT\xa0C241A
\n
\n
\n
\nCOMPSCI\xa0C281B\nAdvanced Topics in Learning and Decision Making\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017, Spring 2016, Spring 2014
\nRecent topics include: Graphical models and approximate inference algorithms. Markov chain Monte Carlo, mean field and probability propagation methods. Model selection and stochastic realization. Bayesian information theoretic and structural risk minimization approaches. Markov decision processes and partially observable Markov decision processes. Reinforcement learning.\n
\nAdvanced Topics in Learning and Decision Making: Read More [+]
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Bartlett, Jordan, Wainwright
Also listed as: STAT\xa0C241B
\n
Advanced Topics in Learning and Decision Making: Read Less [-]
\n
\n
\nCOMPSCI\xa0284A\nFoundations of Computer Graphics\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nTechniques 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.\n
\nFoundations of Computer Graphics: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 61B or 61BL; programming skills in C, C++, or Java; linear algebra and calculus; or consent of instructor
Credit Restrictions: Students will receive no credit for Computer Science 284A after taking 184.
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Agrawala, Barsky, O’Brien, Ramamoorthi, Sequin
\n
\n
\n
\nCOMPSCI\xa0284B\nAdvanced Computer Graphics Algorithms and Techniques\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2017
\nThis course provides a graduate-level introduction to advanced computer graphics algorithms and techniques. Students should already be familiar with basic concepts such as transformations, scan-conversion, scene graphs, shading, and light transport. Topics covered in this course include global illumination, mesh processing, subdivision surfaces, basic differential geometry, physically based animation, inverse kinematics, imaging and computational photography, and precomputed light transport.\n
\nAdvanced Computer Graphics Algorithms and Techniques: Read More [+]
\n
Rules & Requirements
Prerequisites: 184 or equivalent
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: O’Brien, Ramamoorthi
Formerly known as: Computer Science 283
\n
Advanced Computer Graphics Algorithms and Techniques: Read Less [-]
\n
\n
\nCOMPSCI\xa0286A\nIntroduction to Database Systems\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nAccess 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.\n
\nIntroduction to Database Systems: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 61B and 61C
Credit Restrictions: Students will receive no credit for CS 286A after taking CS 186.
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Franklin, Hellerstein
\n
\n
\n
\nCOMPSCI\xa0286B\nImplementation of Data Base Systems\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2014
\nImplementation of data base systems on modern hardware systems. Considerations concerning operating system design, including buffering, page size, prefetching, etc. Query processing algorithms, design of crash recovery and concurrency control systems. Implementation of distributed data bases and data base machines.\n
\nImplementation of Data Base Systems: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 162 and 186 or 286A
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Franklin, Hellerstein
\n
\n
\n
\nCOMPSCI\xa0287\nAdvanced Robotics\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2015, Spring 2015, Fall 2013
\nAdvanced topics related to current research in algorithms and artificial intelligence for robotics. Planning, control, and estimation for realistic robot systems, taking into account: dynamic constraints, control and sensing uncertainty, and non-holonomic motion constraints.\n
\nAdvanced Robotics: Read More [+]
\n
Rules & Requirements
Prerequisites: Instructor consent for undergraduate and masters students
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructor: Abbeel
\n
\n
\n
\nCOMPSCI\xa0288\nNatural Language Processing\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2014, Spring 2013, Spring 2011
\nMethods and models for the analysis of natural (human) language data. Topics include: language modeling, speech recognition, linguistic analysis (syntactic parsing, semantic analysis, reference resolution, discourse modeling), machine translation, information extraction, question answering, and computational linguistics techniques.\n
\nNatural Language Processing: Read More [+]
\n
Rules & Requirements
Prerequisites: CS188 required, CS170 recommended
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructor: Klein
\n
\n
\n
\nCOMPSCI\xa0289A\nIntroduction to Machine Learning\n4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nThis course provides an introduction to theoretical foundations, algorithms, and methodologies for machine learning, emphasizing the role of probability and optimization and exploring a variety of real-world applications. Students are expected to have a solid foundation in calculus and linear algebra as well as exposure to the basic tools of logic and probability, and should be familiar with at least one modern, high-level programming language.\n
\nIntroduction to Machine Learning: Read More [+]
\n
Rules & Requirements
Prerequisites: Mathematics 53, 54; Computer Science 70; Computer Science 188 or consent of instructor
Credit Restrictions: Students will receive no credit for Comp Sci 289A after taking Comp Sci 189.
\n
Hours & Format
Fall and/or spring: 15 weeks – 3 hours of lecture and 1 hour of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
Instructors: Abbeel, Bartlett, Darrell, El Ghaoui, Jordan, Klein, Malik, Russell
\n
\n
\n
\nCOMPSCI\xa0294\nSpecial Topics\n1 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nTopics will vary from semester to semester. See Computer Science Division announcements.\n
\nSpecial Topics: Read More [+]
\n
Rules & Requirements
Repeat rules: Course may be repeated for credit.
\n
Hours & Format
Fall and/or spring:
4 weeks – 3-15 hours of lecture per week
6 weeks – 3-9 hours of lecture per week
8 weeks – 2-6 hours of lecture per week
10 weeks – 2-5 hours of lecture per week
15 weeks – 1-3 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Letter grade.
\n
\n
\n
\nCOMPSCI\xa0297\nField Studies in Computer Science\n12.0 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Summer 2017 First 6 Week Session
\nSupervised experience in off-campus companies relevant to specific aspects and applications of electrical engineering and/or computer science. Written report required at the end of the semester.\n
\nField Studies in Computer Science: Read More [+]
\n
Rules & Requirements
Repeat rules: Course may be repeated for credit.
\n
Hours & Format
Fall and/or spring: 15 weeks – 1-12 hours of independent study per week
Summer:
6 weeks – 2.5-30 hours of independent study per week
8 weeks – 1.5-22.5 hours of independent study per week
10 weeks – 1.5-18 hours of independent study per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Offered for satisfactory/unsatisfactory grade only.
\n
\n
\n
\nCOMPSCI\xa0298\nGroup Studies Seminars, or Group Research\n1 – 4 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nAdvanced study in various subjects through seminars on topics to be selected each year, informal group studies of special problems, group participation in comprehensive design problems, or group research on complete problems for analysis and experimentation.\n
\nGroup Studies Seminars, or Group Research: Read More [+]
\n
Rules & Requirements
Repeat rules: Course may be repeated for credit.
\n
Hours & Format
Fall and/or spring: 15 weeks – 1-4 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: The grading option will be decided by the instructor when the class is offered.
\n
\n
\n
\nCOMPSCI\xa0299\nIndividual Research\n1 – 12 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Summer 2017 Second 6 Week Session
\nInvestigations of problems in computer science.\n
\nIndividual Research: Read More [+]
\n
Rules & Requirements
Repeat rules: Course may be repeated for credit.
\n
Hours & Format
Fall and/or spring: 15 weeks – 0-1 hours of independent study per week
Summer:
6 weeks – 8-30 hours of independent study per week
8 weeks – 6-22.5 hours of independent study per week
10 weeks – 1.5-18 hours of independent study per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate
Grading: Offered for satisfactory/unsatisfactory grade only.
\n
\n
\n
\nCOMPSCI\xa0300\nTeaching Practice\n1 – 6 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Summer 2016 8 Week Session, Summer 2015 8 Week Session, Summer 2014 8 Week Session
\nSupervised teaching practice, in either a one-on-one tutorial or classroom discussion setting.\n
\nTeaching Practice: Read More [+]
\n
Rules & Requirements
Repeat rules: Course may be repeated for credit.
\n
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
\n
Additional Details
Subject/Course Level: Computer Science/Professional course for teachers or prospective teachers
Grading: Offered for satisfactory/unsatisfactory grade only.
\n
\n
\n
\nCOMPSCI\xa0302\nDesigning Computer Science Education\n3 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Spring 2014, Spring 2012, Spring 2011
\nDiscussion and review of research and practice relating to the teaching of computer science: knowledge organization and misconceptions, curriculum and topic organization, evaluation, collaborative learning, technology use, and administrative issues. As part of a semester-long project to design a computer science course, participants invent and refine a variety of homework and exam activities, and evaluate alternatives for textbooks, grading and other administrative policies, and innovative uses of technology.\n
\nDesigning Computer Science Education: Read More [+]
\n
Rules & Requirements
Prerequisites: Computer Science 301 and two semesters of GSI experience
\n
Hours & Format
Fall and/or spring: 15 weeks – 2 hours of lecture per week
\n
Additional Details
Subject/Course Level: Computer Science/Professional course for teachers or prospective teachers
Grading: Letter grade.
Instructor: Garcia
\n
\n
\n
\nCOMPSCI\xa0375\nTeaching Techniques for Computer Science\n2 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Spring 2017, Fall 2016
\nDiscussion and practice of techniques for effective teaching, focusing on issues most relevant to teaching assistants in computer science courses.\n
\nTeaching Techniques for Computer Science: Read More [+]
\n
Rules & Requirements
Prerequisites: Consent of instructor
Repeat rules: Course may be repeated for credit.
\n
Hours & Format
Fall and/or spring: 10 weeks – 3 hours of discussion per week
Summer: 8 weeks – 4 hours of discussion per week
\n
Additional Details
Subject/Course Level: Computer Science/Professional course for teachers or prospective teachers
Grading: Offered for satisfactory/unsatisfactory grade only.
Instructors: Barsky, Garcia, Harvey
\n
\n
\n
\nCOMPSCI\xa0399\nProfessional Preparation: Supervised Teaching of Computer Science\n1 or 2 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Summer 2017 8 Week Session, Spring 2017
\nDiscussion, problem review and development, guidance of computer science laboratory sections, course development, supervised practice teaching.\n
\nProfessional Preparation: Supervised Teaching of Computer Science: Read More [+]
\n
Rules & Requirements
Prerequisites: Appointment as graduate student instructor
Repeat rules: Course may be repeated for credit.
\n
Hours & Format
Fall and/or spring: 15 weeks – 1-2 hours of independent study per week
Summer: 8 weeks – 1-2 hours of independent study per week
\n
Additional Details
Subject/Course Level: Computer Science/Professional course for teachers or prospective teachers
Grading: Offered for satisfactory/unsatisfactory grade only.
\n
Professional Preparation: Supervised Teaching of Computer Science: Read Less [-]
\n
\n
\nCOMPSCI\xa0602\nIndividual Study for Doctoral Students\n1 – 8 Units\n
\n
Offered through: Electrical Engin and Computer Sci
\nTerms offered: Fall 2017, Fall 2016, Summer 2016 8 Week Session
\nIndividual study in consultation with the major field adviser, intended to provide an opportunity for qualified students to prepare themselves for the various examinations required of candidates for the Ph.D. (and other doctoral degrees).\n
\nIndividual Study for Doctoral Students: Read More [+]
\n
Rules & Requirements
Credit Restrictions: Course does not satisfy unit or residence requirements for doctoral degree.
Repeat rules: Course may be repeated for credit.
\n
Hours & Format
Fall and/or spring: 15 weeks – 0 hours of independent study per week
Summer: 8 weeks – 6-45 hours of independent study per week
\n
Additional Details
Subject/Course Level: Computer Science/Graduate examination preparation
Grading: Offered for satisfactory/unsatisfactory grade only.
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n\nBack to Top\n
\n
\n
\nWhen you print this page, you are actually printing everything within the tabs on the page you are on: this may include all the Related Courses and Faculty, in addition to the Requirements or Overview. If you just want to print information on specific tabs, you’re better off downloading a PDF of the page, opening it, and then selecting the pages you really want to print.\n
\n
\n
The PDF will include all information unique to this page.
\n
\n
\n
\n\n\n
In [40]:
soup2 = BeautifulSoup(urllib2.urlopen(“http://guide.berkeley.edu/courses/aerospc/”), “lxml”)
In [41]:
for t in soup2.find_all(‘h3’, class_=”courseblocktitle”):
alls = t.find_all()
res.append(‘ ‘.join(x.string for x in alls).replace(u’\xa0’, ‘ ‘))
In [42]:
res
Out[42]:
[u’COMPSCI C8 Foundations of Data Science 4 Units’,
u’COMPSCI 9A Matlab for Programmers 2 Units’,
u’COMPSCI 9C C for Programmers 2 Units’,
u’COMPSCI 9D Scheme and Functional Programming for Programmers 2 Units’,
u’COMPSCI 9E Productive Use of the UNIX Environment 2 Units’,
u’COMPSCI 9F C++ for Programmers 2 Units’,
u’COMPSCI 9G JAVA for Programmers 2 Units’,
u’COMPSCI 9H Python for Programmers 2 Units’,
u’COMPSCI 10 The Beauty and Joy of Computing 4 Units’,
u’COMPSCI W10 The Beauty and Joy of Computing 4 Units’,
u’COMPSCI 39J Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 39K Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 39M Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 39N Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 39P Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 39Q Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 39R Freshman/Sophomore Seminar 1.5 – 4 Units’,
u’COMPSCI 47A Completion of Work in Computer Science 61A 1 Unit’,
u’COMPSCI 47B Completion of Work in Computer Science 61B 1 Unit’,
u’COMPSCI 47C Completion of Work in Computer Science 61C 1 Unit’,
u’COMPSCI 61A The Structure and Interpretation of Computer Programs 4 Units’,
u’COMPSCI 61AS The Structure and Interpretation of Computer Programs (Self-Paced) 1 – 4 Units’,
u’COMPSCI 61B Data Structures 4 Units’,
u’COMPSCI 61BL Data Structures and Programming Methodology 4 Units’,
u’COMPSCI 61C Machine Structures 4 Units’,
u’COMPSCI 61CL Machine Structures (Lab-Centric) 4 Units’,
u’COMPSCI 70 Discrete Mathematics and Probability Theory 4 Units’,
u’COMPSCI C79 Societal Risks and the Law 3 Units’,
u’COMPSCI 88 Computational Structures in Data Science 2 Units’,
u’COMPSCI 94 Special Topics 1 – 4 Units’,
u’COMPSCI 97 Field Study 1 – 4 Units’,
u’COMPSCI 98 Directed Group Study 1 – 4 Units’,
u’COMPSCI 99 Individual Study and Research for Undergraduates 1 – 2 Units’,
u’COMPSCI C100 Principles & Techniques of Data Science 4 Units’,
u’COMPSCI 146L Programmable Digital Systems Laboratory 2 Units’,
u’COMPSCI C149 Introduction to Embedded Systems 4 Units’,
u’COMPSCI 152 Computer Architecture and Engineering 4 Units’,
u’COMPSCI 160 User Interface Design and Development 4 Units’,
u’COMPSCI 161 Computer Security 4 Units’,
u’COMPSCI 162 Operating Systems and System Programming 4 Units’,
u’COMPSCI 164 Programming Languages and Compilers 4 Units’,
u’COMPSCI 168 Introduction to the Internet: Architecture and Protocols 4 Units’,
u’COMPSCI 169 Software Engineering 4 Units’,
u’COMPSCI 170 Efficient Algorithms and Intractable Problems 4 Units’,
u’COMPSCI 172 Computability and Complexity 4 Units’,
u’COMPSCI 174 Combinatorics and Discrete Probability 4 Units’,
u’COMPSCI 176 Algorithms for Computational Biology 4 Units’,
u’COMPSCI 184 Foundations of Computer Graphics 4 Units’,
u’COMPSCI 186 Introduction to Database Systems 4 Units’,
u’COMPSCI 188 Introduction to Artificial Intelligence 4 Units’,
u’COMPSCI 189 Introduction to Machine Learning 4 Units’,
u’COMPSCI C191 Quantum Information Science and Technology 3 Units’,
u’COMPSCI 194 Special Topics 1 – 4 Units’,
u’COMPSCI 195 Social Implications of Computer Technology 1 Unit’,
u’COMPSCI H195 Honors Social Implications of Computer Technology 3 Units’,
u’COMPSCI H196A Senior Honors Thesis Research 1 – 4 Units’,
u’COMPSCI H196B Senior Honors Thesis Research 1 – 4 Units’,
u’COMPSCI 197 Field Study 1 – 4 Units’,
u’COMPSCI 198 Directed Group Studies for Advanced Undergraduates 1 – 4 Units’,
u’COMPSCI 199 Supervised Independent Study 1 – 4 Units’,
u’COMPSCI C249A Introduction to Embedded Systems 4 Units’,
u’COMPSCI 250 VLSI Systems Design 4 Units’,
u’COMPSCI 252 Graduate Computer Architecture 4 Units’,
u’COMPSCI 260A User Interface Design and Development 4 Units’,
u’COMPSCI 260B Human-Computer Interaction Research 3 Units’,
u’COMPSCI 261 Security in Computer Systems 3 Units’,
u’COMPSCI 261N Internet and Network Security 4 Units’,
u’COMPSCI 262A Advanced Topics in Computer Systems 4 Units’,
u’COMPSCI 262B Advanced Topics in Computer Systems 3 Units’,
u’COMPSCI 263 Design of Programming Languages 3 Units’,
u’COMPSCI 264 Implementation of Programming Languages 4 Units’,
u’COMPSCI 265 Compiler Optimization and Code Generation 3 Units’,
u’COMPSCI C267 Applications of Parallel Computers 3 Units’,
u’COMPSCI 268 Computer Networks 3 Units’,
u’COMPSCI 270 Combinatorial Algorithms and Data Structures 3 Units’,
u’COMPSCI 271 Randomness and Computation 3 Units’,
u’COMPSCI 273 Foundations of Parallel Computation 3 Units’,
u’COMPSCI 274 Computational Geometry 3 Units’,
u’COMPSCI 276 Cryptography 3 Units’,
u’COMPSCI C280 Computer Vision 3 Units’,
u’COMPSCI C281A Statistical Learning Theory 3 Units’,
u’COMPSCI C281B Advanced Topics in Learning and Decision Making 3 Units’,
u’COMPSCI 284A Foundations of Computer Graphics 4 Units’,
u’COMPSCI 284B Advanced Computer Graphics Algorithms and Techniques 4 Units’,
u’COMPSCI 286A Introduction to Database Systems 4 Units’,
u’COMPSCI 286B Implementation of Data Base Systems 3 Units’,
u’COMPSCI 287 Advanced Robotics 3 Units’,
u’COMPSCI 288 Natural Language Processing 4 Units’,
u’COMPSCI 289A Introduction to Machine Learning 4 Units’,
u’COMPSCI 294 Special Topics 1 – 4 Units’,
u’COMPSCI 297 Field Studies in Computer Science 12.0 Units’,
u’COMPSCI 298 Group Studies Seminars, or Group Research 1 – 4 Units’,
u’COMPSCI 299 Individual Research 1 – 12 Units’,
u’COMPSCI 300 Teaching Practice 1 – 6 Units’,
u’COMPSCI 302 Designing Computer Science Education 3 Units’,
u’COMPSCI 375 Teaching Techniques for Computer Science 2 Units’,
u’COMPSCI 399 Professional Preparation: Supervised Teaching of Computer Science 1 or 2 Units’,
u’COMPSCI 602 Individual Study for Doctoral Students 1 – 8 Units’,
u’AEROSPC 1A Foundations of the U.S. Air Force 1 Unit’,
u’AEROSPC 1B Foundations of the U.S. Air Force 1 Unit’,
u’AEROSPC 2A The Evolution of U.S. Air Force Air and Space Power 1 Unit’,
u’AEROSPC 2B The Evolution of U.S. Air Force Air and Space Power 1 Unit’,
u’AEROSPC 100 Leadership Laboratory 0.0 Units’,
u’AEROSPC 135A Air Force Leadership Studies 3 Units’,
u’AEROSPC 135B Air Force Leadership Studies 3 Units’]
In [43]:
mainURL = ‘http://guide.berkeley.edu/courses/’
mainSoup = BeautifulSoup(urllib2.urlopen(mainURL), “lxml”)
In [52]:
baseURL = “http://guide.berkeley.edu”
links = mainSoup.find_all(‘a’)
allURLs = []
for link in links:
href = link[‘href’]
if(href.find(‘/courses’)!=0):
continue
allURLs.append(baseURL + href)
print(len(allURLs))
184
In [55]:
res = []
for url in allURLs:
soup = BeautifulSoup(urllib2.urlopen(url), “lxml”)
for t in soup.find_all(‘h3’, class_=”courseblocktitle”):
alls = t.find_all()
res.append(‘ ‘.join(x.string for x in alls).replace(u’\xa0’, ‘ ‘))
f = open(‘out.js’, ‘w’)
f.write(json.dumps(res))
f.close()
—————————————————————————
KeyboardInterrupt Traceback (most recent call last)
2
3 for url in allURLs:
—-> 4 soup = BeautifulSoup(urllib2.urlopen(url), “lxml”)
5
6 for t in soup.find_all(‘h3’, class_=”courseblocktitle”):
/Users/vagrant/anaconda42/anaconda/lib/python2.7/site-packages/bs4/__init__.pyc in __init__(self, markup, features, builder, parse_only, from_encoding, exclude_encodings, **kwargs)
189
190 if hasattr(markup, ‘read’): # It’s a file-type object.
–> 191 markup = markup.read()
192 elif len(markup) <= 256 and (
193 (isinstance(markup, bytes) and not b'<' in markup)
/Users/vagrant/anaconda42/anaconda/lib/python2.7/socket.pyc in read(self, size)
353 while True:
354 try:
--> 355 data = self._sock.recv(rbufsize)
356 except error, e:
357 if e.args[0] == EINTR:
/Users/vagrant/anaconda42/anaconda/lib/python2.7/httplib.pyc in read(self, amt)
610 # connection, and the user is reading more bytes than will be provided
611 # (for example, reading in 1k chunks)
–> 612 s = self.fp.read(amt)
613 if not s and amt:
614 # Ideally, we would raise IncompleteRead if the content-length
/Users/vagrant/anaconda42/anaconda/lib/python2.7/socket.pyc in read(self, size)
382 # fragmentation issues on many platforms.
383 try:
–> 384 data = self._sock.recv(left)
385 except error, e:
386 if e.args[0] == EINTR:
KeyboardInterrupt:
In [53]:
In [54]:
Out[54]:
[‘http://guide.berkeley.edu/courses/’,
‘http://guide.berkeley.edu/courses/aerospc/’]
In [ ]: