Lower-Division

CSE 2 Computer Literacy

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.)

Credits

5

General Education Code

PE-T

CSE 3 Personal Computer Concepts: Software and Hardware

Provides an introduction to computers. Personal computing is emphasized, and students are introduced to word processing, spreadsheets, database management, graphics, and programming. Covers fundamentals of computing and current and future uses of computer technology, PC hardware, Windows operating system, applications software, networking and the Internet, and developments in the computer industry. Designed for students with little or no experience using computers. Students cannot receive credit for this course and Computer Science 2. (Formerly Computer Engineering 3.)

Credits

5

Instructor

Gerald Moulds

Quarter offered

Fall, Winter, Spring, Summer

CSE 5J Introduction to Programming in Java

Introduces programming in Java for students who have no prior programming experience. Students learn programming and documentation skills, as well as algorithmic problem-solving, and programming methodologies. Introduces computers, compilers, and editors. Students write small to medium-sized programs. This course and courses 5C and 5P cover similar concepts, but use different programming languages. Because 5J followed by course 11 is a two-quarter alternative to the accelerated course 12A/L, engineering majors and students planning on continuing the programming sequence are encouraged to take 5J rather than 5C or 5P. Students may not receive credit for 5J taken concurrently or subsequently to course 12A, 12B, or Computer Engineering 13. (Formerly CMPS 5J.)

Credits

5

General Education Code

MF

CSE 10 Introduction to Computer Science

An overview of the theory, foundations, and practice of computer science with emphasis on what computers can and cannot do, now and in the future. Topics include algorithms and data, correctness and efficiency of algorithms, hardware, programming languages, limitations of computation, applications, and social issues. No programming skills are required as a prerequisite. Major concepts and open problems in computer science are presented without reliance on sophisticated mathematical tools. Students cannot receive credit for this course after completing CSE 15. (Formerly CMPS 10.)

Credits

5

Instructor

The Staff, Patrick Tantalo, Demetrios Achlioptas, Marilyn Walker

General Education Code

MF

CSE 11 Intermediate Programming

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.)

Credits

5

Instructor

The Staff, Patrick Tantalo, Narges Norouzi

Requirements

Prerequisite(s): CSE 5J, and MATH 3 or MATH 11A or MATH 19A or AM 3 or AM 11A or ECON 11A or a score of 400 or higher on the mathematics placement examination (MPE).

CSE 12 Computer Systems and Assembly Language

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 course 3, Computer Science 5J, Computer Science 5P, Computer Science 10, or equivalent before taking this course. (Formerly Computer Engineering 12.)

Credits

5

Instructor

R. Rashkin, T. Larrabee, D. Long, J. Renau Ardevol, M. Guthaus, M. Dunne

Requirements

Prerequisite(s): previous or concurrent enrollment in CSE 12L is required.

Quarter offered

Fall, Winter, Spring, Summer

CSE 12L Computer Systems and Assembly Language Laboratory

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 course 3, Computer Science 5J, Computer Science 5P, Computer Science 10, or equivalent before taking this course. (Formerly Computer Engineering 12L.)

Credits

2

Instructor

R. Rashkin, T. Larrabee, D. Long, J. Renau Ardevol, M. Guthaus, M. Dunne

Requirements

Prerequisite(s): previous or concurrent enrollment in CSE 12 is required.

Quarter offered

Fall, Winter, Spring, Summer

CSE 13E Embedded Systems and C Programming

Introduction to the C programming language as a means for controlling embedded computing systems. Continuing the exploration begun in course 12, students move to higher levels of abstraction in the control of complex computer systems. Students cannot receive credit for both CSE 13E and CSE 13S. Course is 7 credits with integrated laboratory. (Formerly Computer Engineering 13, Computer Systems and C Programming, and Computer Engineering 13L, Computer Systems and C Programming Lab.)

Credits

7

Instructor

The Staff, Ethan Miller, Darrell Long, Gabriel Elkaim, Maxwell Dunne

Requirements

Prerequisite(s): CSE 12 and CSE 12L.

Quarter offered

Winter, Spring

CSE 13S Computer Systems and C Programming

Focuses on C programming, command line, shell programming, editors, debuggers, source code control, and other tools. Examines basic computer systems, algorithm design, and development, data types, and program structures. Develops understanding of process model, compile-link-execute build cycle, language-machine interface, memory, and data representation. Students cannot receive credit for both CSE 13S and CSE 13E. Course is 7 credits with integrated laboratory.

Credits

7

Instructor

Darrell Long, Peter Alvaro, Faisal Nawab

Requirements

Prerequisite(s): CSE 12 and CSE 12L, or BME 160.

Quarter offered

Fall, Winter

CSE 14 Introduction to Programming (Accelerated)

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.)

Credits

5

Instructor

The Staff, Delbert Bailey, Wesley Mackey, Darrell Long, Cormac Flanagan, Alex Pang, David Helmbold, Narges Norouzi

Requirements

Prerequisite(s): MATH 3, MATH 11A, MATH 19A, AM 3, AM 11A or ECON 11A, or a score of 400 or higher on the mathematics placement examination (MPE). Concurrent enrollment in CSE 14L is required.

CSE 14L Computer Programming Laboratory

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.)

Credits

2

Instructor

The Staff, Delbert Bailey, Wesley Mackey, Darrell Long, Cormac Flanagan, Alex Pang, David Helmbold

Requirements

Prerequisite(s): Concurrent enrollment in CSE 14 is required.

CSE 15 Introduction to Data Structures

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.)

Credits

5

Instructor

The Staff, Patrick Tantalo, Wesley Mackey, Darrell Long, Seshadhri Comandur

Requirements

Prerequisite(s): CSE 11 or CSE 14 or CSE 13E or CSE 13S. Concurrent enrollment in CSE 15L is required.

General Education Code

MF

Quarter offered

Fall

CSE 15L Data Structures Laboratory

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.)

Credits

2

Instructor

The Staff, Patrick Tantalo, Wesley Mackey, Darrell Long, Seshadhri Comandur

Requirements

Concurrent enrollment in CSE 15 is required.

Quarter offered

Fall

CSE 16 Applied Discrete Mathematics

Introduction to applications of discrete mathematical systems. Topics include sets, functions, relations, graphs, predicate calculus, mathematical proof methods (induction, contraposition, contradiction), counting methods (permutations, combinations), and recurrences. Examples are drawn from computer science and computer engineering. Knowledge of computer programming is useful before taking this course. Students who do not have prior programing experience are strongly recommended to take Computer Science 5C, 5J, or 5P before taking this course. (Formerly Computer Engineering 16.)

Credits

5

Instructor

Tracy Larrabee, Martine Schlag, William Dunbar, Chen Qian, A. Cardenas

Requirements

Prerequisite(s): MATH 19A or MATH 11B or AM 11B or AM 15B or ECON 11B.

General Education Code

MF

Quarter offered

Fall, Winter, Spring, Summer

CSE 20 Beginning Programming in Python

Provides students with Python programming skills and the ability to design programs and read Python code. Topics include data types, control flow, methods and advanced functions, built-in data structures, and introduction to OOP. No prior programming experience is required. Students may not receive credit for CSE 20 after receiving credit for CSE 30. (Formerly CMPS 5P, Introduction to Programming in Python.)

Credits

5

Instructor

P. Alvaro, N. Norouzi, T. Larrabee, F. Nawab, P. Tantalo, B. Paten

General Education Code

MF

Quarter offered

Fall, Winter, Spring

CSE 30 Programming Abstractions: Python

Introduction to software development in Python focusing on structuring software in terms of objects endowed with primitive operations. Introduces concepts and techniques via a sequence of concrete case studies. Coursework consists of programming assignments and a final examination.

Credits

7

Instructor

L. De Alfaro, P. Alvaro, D. Bailey, L. Kuper, A. Pang

Requirements

Prerequisite(s): CSE 20 or BME 160; and MATH 3 or MATH 11A or MATH 19A or AM 3 or AM 11A or ECON 11A, or a score of 400 or higher on the mathematics placement examination (MPE).

Quarter offered

Fall, Winter, Spring

CSE 50 Business Information Systems

Addresses the use of information systems (IS) within a business enterprise. Subjects include computer hardware and software concepts, system design and implementation, telecommunications, data management, transaction-based systems, management information systems, and the use of IS to compete. Intended for technology and information management and business management economics majors. (Formerly TIM 50.)

Credits

5

Instructor

Ramakrishna Akella, John Musacchio, Yunfei Chen

Quarter offered

Fall, Winter, Spring

CSE 58 Systems Analysis and Design

Students learn how information technology is used to deal with business requirements and/or solve business problems. Provides an understanding of structured computer systems analysis and design methodologies and techniques and their application to business information systems. Intended for technology and information management and business management economics majors. (Formerly TIM 58.)

Credits

5

Instructor

Yi Zhang

Requirements

Prerequisite(s): CSE 50.

Quarter offered

Winter

CSE 80A Universal Access: Disability, Technology, and Society

Overview of human-centered technology and of its potential for increasing the quality of life and independence of disabled individuals. A substantial portion of the course is devoted to studying physical, psychological, and psychosocial aspects of disability. Topics include: diversity and integration, legislation, accessibility, and universal design. (Formerly Computer Engineering 80A.)

Credits

5

Instructor

Roberto Manduchi, Sri Kurniawan

General Education Code

PE-T

Quarter offered

Fall

CSE 80C Starting a New Technology Company

Focuses on the creation and management of technology start-ups and small companies, using case studies and team projects as the basis for learning and applying the course materials. (Formerly TIM 80C.)

Credits

5

Instructor

Subhas Desa, David Lee

Quarter offered

Winter

CSE 80L Social Data Analytics and Visualization

Course examines: social data analytics--veracity, consistency, uncertainty, volume; statistical computation--misuse, bias, dispersion, correlation, regressions, differential scales, normal distributions, factor and cluster analysis, extrapolation, inference, simple programming; visual representations--communication, critique and design of infographics; applications--environment, energy, economics, education, empowerment. (Formerly Computer Science 80L.)

Credits

5

Instructor

Suresh Lodha

General Education Code

SR

Quarter offered

Winter

CSE 80N Introduction to Networking and the Internet

Introduction to the evolution, technological basis, and services of the Internet, with descriptions of its underlying communications structure, routing algorithms, peer-to-peer hierarchy, reliability, and packet switching. Network security, mail, multimedia and data compression issues, HTML, and digital images. Students who have completed course 150 cannot receive credit for this course. (Formerly Computer Engineering 80N.)

Credits

5

Instructor

C. Parsa, T. Larrabee, P. Mantey

General Education Code

PE-T

Quarter offered

Fall, Winter, Spring

CSE 80S SocialNetworks

Introduction to social networks and game theory. Topics include the structure of social networks; the world wide web; the flow of information and behavior through networks; and the principles behind modern web search and search-ad placement. (Formerly Computer Science 17.)

Credits

5

Instructor

Phokion Kolaitis, Demetrios Achlioptas, Lise Getoor

Requirements

Prerequisite(s): MATH 3 or MATH 11A; or AM 3 or AM 6 or AM 11A or AM 15A; or ECON 11A; or score on math placement exam of 300 or higher.

General Education Code

SR

CSE 94 Group Tutorial

Provides a means for a small group of students to study a particular topic in consultation with a faculty sponsor. Students submit petition to sponsoring agency.

Credits

5

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 94F Group Tutorial

Provides a means for a small group of students to study a particular topic in consultation with a faculty sponsor. Students submit petition to sponsoring agency.

Credits

2

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 99 Tutorial

Students submit petition to sponsoring agency.

Credits

5

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring

CSE 99F Tutorial

Students submit petition to sponsoring agency.

Credits

2

Repeatable for credit

Yes

Quarter offered

Fall, Winter, Spring