.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#999;color:#444;background-color:#F7FDFA;} Tools for load balancing, performance analysis, debugging. Units: 4.0, Catalog Description: Techniques of modeling objects for the purpose of computer rendering: boundary representations, constructive solids geometry, hierarchical scene descriptions. Units: 2.0, Catalog Description: This lab covers the design of modern digital systems with Field-Programmable Gate Array (FPGA) platforms. This course is taught from a programmatic perspective using C, with special topics in both Java and Python. If a course is cross listed as both a computer science course and a course in another department then it counts even if you took the course under its other number (e.g., STAT 121a or AC 209a is considered the same as CS109a). Logic, infinity, and induction; applications include undecidability and stable marriage problem. Registration Information: Must register for lecture and laboratory. Units: 2.0, Catalog Description: An introductory course for students with minimal prior exposure to computer science. EECS for All: Social Justice in EECS, CS 195. Database services including protection, integrity control, and alternative views of data. Units: 1-4, Catalog Description: Fundamental dynamic data structures, including linear lists, queues, trees, and other linked structures; arrays strings, and hash tables. CS20, Discrete Mathematics for Computer Science, teaches the mathematics Students should already be familiar with basic concepts such as transformations, scan-conversion, scene graphs, shading, and light transport. Advanced Topics in Computer Systems, CS 262B. Machine architecture, support for high-level languages (logic, arithmetic, instruction sequencing) and operating systems (I/O, interrupts, memory management, process switching). Units: 4.0, Catalog Description: Broad introduction to systems for storing, querying, updating and managing large databases. VLSI design tools. Lower Division. Physical limits. Class is discussion based, and covers theoretical and practical pedagogical aspects to teaching in STEM. The calculus requirement can be fulfilled by one of Math 21a/22a/23b/23c/25b/55b or AM 21a. needed for later computer science courses that is not covered in the CS 325 - PROFESSIONAL & COMPUTG ETHICS. Term paper or project is required. Units: 3.0, Catalog Description: Implementation of data base systems on modern hardware systems. It focuses on concrete algorithms and combines principled theoretical thinking with real applications. Introduction to Software Engineering, CS 169L. Introduction to Digital Design and Integrated Circuits, EECS 251LA. Units: 2.0, Catalog Description: Self-paced course in functional programming, using the Scheme programming language, for students who already know how to program. Relevance of computing to the student and society will be emphasized. Interconnection network based models. There are no biology prerequisites for this course, but a strong quantitative background will be essential. Units: 1.0, Catalog Description: Computer Science 36 is a seminar for CS Scholars who are concurrently taking CS61A: The Structure and Interpretation of Computer Programs. The following table summarizes some course substitutions that are allowed. Some courses are open to all Faculty of Math students, but most are restricted to Computer Science students only. (Note: As of fall 2018, AM 106 will no longer satisfy the theory requirement.) Download PDF of the entire Catalog. Usability inspection and evaluation methods. Capstone Courses. Lighting models for reflection, refraction, transparency. We will also cover active perception guided manipulation, as well as the who are starting from scratch and students with prior programming Project design component â example, a full processor implementation with peripherals. Units: 1-4, Catalog Description: Seminars for group study of selected topics, which will vary from year to year. Students learn how to integrate computation with physical processes to meet a desired specification. The second concerns the impacts of computer technologies on society. Students will also be exposed to the basic pillars of network security (IA) and protecting individual privacy. Heaps. Law of large numbers. Geometrical transformations such as rotation, scaling, translation, and their matrix representations. manipulation of non-rigid objects. Algorithms for sorting and searching. Foundations of Computer Graphics, CS 284B. Streams and iterators. 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. 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. Robotic Manipulation and Interaction, EECS 126. Undecidable, exponential, and polynomial-time problems. Units: 3.0, Catalog Description: Distributed systems, their notivations, applications, and organization. Non Harvard CS courses: Some non-CS, MIT, or study-abroad courses might count for the breadth requirement on a case-by-case basis. Applications of Parallel Computers, CS 270. How high level applications are built (eg climate modeling). Introduction to Database Systems, CS 188. Important Note for Non-CS/CE Students Regarding Registration: We welcome the opportunity to have Non-CS/CE majors in our courses. Courses and requirements change, and you should not assume that a course will count even if you know it did so in the past. These are the questions we will investigate in this course. Units: 3.0, Catalog Description: Graduate survey of modern topics on theory, foundations, and applications of modern cryptography. Bayesian information theoretic and structural risk minimization approaches. Array and matrix operations, functions and function handles, control flow, plotting and image manipulation, cell arrays and structures, and the Symbolic Mathematics toolbox. Use of object models for prediction and recognition. 3 Credits. The course covers forward and inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics, and control. Applications chosen from … Emphasizes the use of computation to gain insight about quantitative problems with real data. Units: 4.0, Catalog Description: This course is a broad introduction to conducting research in Human-Computer Interaction. Prepares students for future computer science courses and empowers them to utilize programming to solve problems in their field of study. Units: 4.0, Catalog Description: Permutations, combinations, principle of inclusion and exclusion, generating functions, Ramsey theory. Large digital-system design concepts. Modeling is emphasized in a way that deepens mathematical maturity, and in both labs and homework, students will engage computationally, physically, and visually with the concepts being introduced in addition to traditional paper exercises. Ensemble methods. Specification and documentation. A series of lab exercises provide the background and practice of digital design using a modern FPGA design tool flow. Homework assignments, exam, and term paper or project required. 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. Computation, input and output, flow of control, functions, arrays, and pointers, linked structures, use of dynamic storage, and implementation of abstract data types. Secondary: The requirements for a CS secondary are rather light (only four courses) but these have to be Harvard CS courses numbered 100 and higher, or CS 50/51/61. Units: 1-4, Catalog Description: Supervised independent study. 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. The Structure and Interpretation of Computer Programs, CS 61AS. The underlying CMOS devices and manufacturing technologies are introduced, but quickly abstracted to higher levels to focus the class on design of larger digital modules for both FPGAs (field programmable gate arrays) and ASICs (application specific integrated circuits). 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. Units: 2.0. Catalog Description: Self-paced course in the C programming language for students who already know how to program. Machine Learning and Statistics Meet Biology & Chemistry, CS 294-176. Units: 1.0-3.0, Catalog Description: This course allows students who have had a linear algebra and/or basic circuit theory course to complete the work in EE16B. Students will program in Snap! The computer science program offers BA and BS degrees, as well as combined BA/MS and BS/MS degrees. Models of computation; lower bounds. Note Summer CPT or OPT students: written report required. Network modeling, stability, and fidelity in teleoperation and medical applications of robotics. Mathematical techniques for curve and surface representation. This course focuses on fundamental data structures needed to design and implement systems applications and continues with an introduction to the Unix Application Programming Interface, signals, threads, and interprocess communications. Elementary principles of software engineering. As more non-CS majors enroll in computer science classes, the department is adding courses specifically designed to make computer science accessible to the wider student population. Units: 4.0, Catalog Description: Development of Computer Science topics appearing in Foundations of Data Science (C8); expands computational concepts and techniques of abstraction. Techniques include procedural abstraction; control abstraction using recursion, higher-order functions, generators, and streams; data abstraction using interfaces, objects, classes, and generic operators; and language abstraction using interpreters and macros. Research Methods in Mathematics and Sciences. Implementation of Data Base Systems, CS 287H. Polynomial-time equivalence of all reasonable models of computation. Contributing as a team to an open-source project; tools and workflows associated with open source collaboration, including fork-and-pull, rebase, upstream merge, continuous deployment & integration. Covers selected topics in computational logic and automata theory including modeling and specification formalisms, temporal logics, satisfiability solving, model checking, synthesis, learning, and theorem proving. You can filter the “catalog” entry to CS to see only Computer Science courses. Science. Important Course Related Links: OFFICE HOURS; Course Descriptions - CS Website; Course Pre-Requisites; UCSB CS General Catalog Page UCSB Course Schedules - All courses (by quarter) CS 291, 292 and 293 Area and Topic List; Graduate Seminars and Special Topics; 2019-2020 CS Courses 2020-2021 CS courses; Waitlist Information Units: 4.0, Catalog Description: Deep Networks have revolutionized computer vision, language technology, robotics and control. Register management. Introduction to Embedded Systems, CS 260A. BMath (Data Science) students are eligible to take all CS courses listed as required or elective for their plan, as detailed in individual course … Greetings, and welcome to the 2020-21 General Catalog for UC Santa Barbara. Units: 4.0, Catalog Description: Basic concepts of operating systems and system programming. They have growing impact in many other areas of science and engineering. Together with 9D, 47A constitutes an abbreviated, self-paced version of 61A for students who have already taken a course equivalent to 61B. The network component. Implementation of distributed data bases and data base machines. They do not however, follow a closed or compact set of theoretical principles. Completion of work in Electrical Engineering 16A, EECS 47E. It provides pedagogical training by introducing the Big Ideas of Teaching and Learning, and illustrating how to put them into practice. calculus and linear algebra sequence in Mathematics and Applied Probability including sample spaces, independence, random variables, law of large numbers; examples include load balancing, existence arguments, Bayesian inference. Course Search Guide to Course Numbering Current Term Offerings Historical Course Record # Given data arising from some real-world phenomenon, how does one analyze that data so as to understand that phenomenon? The design is mapped to simulation and layout specification. This catalog is a list of courses that the department may offer in a given year. Other courses: Some MIT course 6 courses can be used as technical electives: consult the DUS before enrolling. CS 468W. Network architectures. Units: 4.0, Catalog Description: The same material as in 61C but in a lab-centric format. The lab exercises culminate with a project design, e.g. Verification and validation. Credit not allowed for both CS 110 and BUS 150. Applications to software and hardware design, cyber-physical systems, robotics, computer security, and other areas will be explored as time permits. Foundations of Parallel Computation, CS 278-001. Optimization by program transformation. Units: 4.0, Catalog Description: This course meets the programming prerequisite for 61A. Students will work in teams on a substantial programming project. Embedding query languages in programming languages. INDEPENDENT STUDY BASE CS 2011. Prerequisite: Either a minimum grade of 2.5 in MATH 098, a minimum grade of 3.0 in MATH 103, a … Cost and quality metrics and estimation. Hierarchical, network, relational, and object-oriented data models. Graduate course descriptions are also available in the GSAS Bulletin catalog . Units: 4.0, Catalog Description: Introduction to computer security. Introduction to Computational Thinking with Data, CS 9D. Considerations concerning operating system design, including buffering, page size, prefetching, etc. Tradeoffs involved in fundamental architectural design decisions. Fundamental theoretical issues in designing parallel algorithms and architectures. Units: 3.0, Catalog Description: Recent topics include: Graphical models and approximate inference algorithms. User Interface Design and Development, CS 260B. Course Fees: IUCS $45; LRS1 $45; STSI $21. Designing Information Devices and Systems I, EECS 16B. Introduction to Digital Design and Integrated Circuits Lab. Distribution, density functions. Director of Undergraduate Studies. The underlying CMOS devices and manufacturing technologies are introduced, but quickly abstracted to higher-levels to focus the class on design of larger digital modules for both FPGAs (field programmable gate arrays) and ASICs (application specific integrated circuits). Units: 3.0, Catalog Description: Selected 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. Units: 3.0, Catalog Description: This lab lays the foundation of modern digital design by first presenting the scripting and hardware description language base for specification of digital systems and interactions with tool flows. Students must complete a mimimum of two units during their first semester of 61AS. Units: 4.0, Catalog Description: Methods and models for the analysis of natural (human) language data.