Introduction to how computers work and how to use them. Topics covered include network information systems, text editors, formatting, file and directory system, spreadsheets and databases. Computers as symbol manipulation devices. Introduction to programming concepts and computer languages. Impact of computers on society. Designed for students with little or no experience using computers. Preference is given to students who have not taken other computer engineering or computer science courses. Students cannot receive credit for this course and Computer Engineering 3. (Formerly Computer Science 2.)
General Education Code
PE-T
Continuation of course 5J. Covers basic object-oriented programming, event-driven programming, graphical user interface (GUI) creation, recursion, two-dimensional arrays. The two-quarter sequence courses 5J and 11 cover in two quarters the same material as the accelerated introductory course and lab 12A/L cover in one quarter. Students cannot receive credit this course and course 12A. (Formerly CMPS 11.)
Instructor
The Staff, Patrick Tantalo, Narges Norouzi
General Education Code
MF
Introduction to computer systems and assembly language and how computers compute in hardware and software. Topics include digital logic, number systems, data structures, compiling/assembly process, basics of system software, and computer architecture. May include C language. Students with no prior programming experience are strongly recommended to take CSE 3, Computer Science 5J, Computer Science 5P, Computer Science 10, or equivalent before taking this course. (Formerly Computer Engineering 12L.)
Instructor
The Staff, Tracy Larrabee, Darrell Long, Jose Renau Ardevol, Matthew Guthaus, Max Dunne
Quarter offered
Fall, Winter, Spring, Summer
Accelerated introduction to programming. Students write medium-sized programs. Topics include: functions; conditionals and loops; classes; event-driven programming and graphic user interfaces (GUIs); recursion; and arrays. Students who have no or very limited programming experience should consider courses 5J and 11 which cover the same material in two quarters. Students may not receive credit for both this course and course 11. Some prior programming experience in a language such as C, C++, Java, or C# strongly recommended. (Formerly CMPS 12A.)
Instructor
The Staff, Delbert Bailey, Wesley Mackey, Darrell Long, Cormac Flanagan, Alex Pang, David Helmbold, Narges Norouzi
Laboratory sequence complementing topics taught in course 12A by providing training and exposure to several software development tools and practices not covered in course 14. In addition, the lab provides an initial exposure to a second programming language to reinforce concepts from course 14. (Formerly CMPS 12L.)
Instructor
The Staff, Delbert Bailey, Wesley Mackey, Darrell Long, Cormac Flanagan, Alex Pang, David Helmbold
Teaches students to implement common data structures and the algorithms associated with each data structure, through progressively difficult exercises. Topics include big O notation; pointers, recursion (induction), and dynamic allocation; linked lists and list processing; stacks, queues, binary trees and binary search trees; simple sorting techniques and simple search techniques. Students will gain a working knowledge of the elements of the Java and C programming languages. Prior experience with Unix is assumed. (Formerly Computer Science 12B.)
Instructor
The Staff, Patrick Tantalo, Wesley Mackey, Darrell Long, Seshadhri Comandur
General Education Code
MF
Complements course 12B, gaining additional competence with a number of important software development tools, languages, and techniques. Included are advanced Unix features and utilities such as grep, find, diff, the shell, and pipes; C programs utilizing I/O, arrays, pointers, and structures; a scripting language to perform simple text and file manipulation; and the make utility. (Formerly CMPS 12M.)
Instructor
The Staff, Patrick Tantalo, Wesley Mackey, Darrell Long, Seshadhri Comandur
Basic concepts from calculus visualized using Matlab and Maple; plotting data and functions, integration, differentiation, limits; solving systems of equation; linear regression; and example applications from science and engineering. (Formerly Computer Science 60M.)
Instructor
Manfred Warmuth
Disciplinary Communication (DC) course to be taken concurrently with course 132. Students satisfy the DC requirement by writing a survey paper on a topic related to computability and computational complexity. Possible topics include: an overview of a different model of computation (e.g., quantum computing); an overview of a major complexity class; a critical analysis of the Church-Turing thesis. Prerequisite(s): CSE 130; satisfaction of the Entry Level Writing and Composition requirements.Concurrent enrollment in CSE 132 required. Enrollment by permission of instructor.(Formerly CMPS 132W.)
Instructor
Delbert Bailey, Manfred Warmuth, Allen Van Gelder, Phokion Kolaitis, David Helmbold
Laboratory sequence illustrating topics covered in CSE 121. Two 2-hour laboratory sessions per week. Students design, build, program, debug, document, and demonstrate a microprocessor-based system. Students are billed a materials fee. (Formerly Computer Engineering 121L.)
Instructor
Anujan Varma, David Harrison
Quarter offered
Fall, Spring
Laboratory sequence illustrating topics covered in course 125. Two 2-hour laboratory sessions per week.
Instructor
Jose Renau Ardevol, Matthew Guthaus, Heiner Litz
Fundamental principles of operating systems: process synchronization, deadlocks, memory management, resource allocation, scheduling, storage systems, and study of several operating systems. A major programming project will be required. (Formerly Computer Science 111.)
Instructor
The Staff, Ethan Miller, Wesley Mackey, Darrell Long, Peter Alvaro, Faisal Nawab
Covers all aspects of storage systems technology from magnetic media up through system software, including principles of magnetic recording, hard drive technology and evolution, performance measurement, file systems, storage networking, disk arrays, network-attached storage, and alternative storage technologies. (Formerly CMPS 129.)
Instructor
Ethan Miller, Scott Brandt, Darrell Long
Disciplinary Communication (DC) course to be taken concurrently with course 180. Students satisfy the DC requirement by producing a database design document, a document with comments on the source code for complex queries, and a literature survey or systems survey. (Formerly CMPS 180W.)
Instructor
Phokion Kolaitis
Addresses technological, strategic, marketing, financial methods, and analytical tools for management of technology in an integrated manner that enables the cost-effective and rapid development of profitable and high quality technologies. Includes case studies and a comprehensive project. (Formerly TIM 205.)
High technology enterprises must understand and operate effectively within their technology-business value chains in order to maximize profitability. Course develops and applies methods and tools for the design, optimization, selection, and management of these value chain networks. (Formerly TIM 225.)
Surveys structure of modern information technology, the relation of that structure to structure of the industry that creates it, and the economic forces that drive the players in the industry. Building on these technological and economic concepts, studies how firms can craft a technology and business strategy to create and capture value in the information technology product and/or services sectors. (Formerly TIM 211.)
Instructor
John Musacchio
Quantum information theory and theory of quantum computation. Quantum circuits. Algorithms for database search, integer factorization, and order finding. Quantum coding and error correction. Quantum teleportation. Shannon and von Neumann entropies. Quantum communication and cryptography. See instructor to discuss course requirements before enrolling. Enrollment restricted to graduate students. Seniors may enroll with the consent of the instructor. (Formerly Computer Science 290Y.)