Lower-Division

CSE 3 Computing Technology in a Changing Society

Introduction to computer hardware, software, and networking, with an emphasis on how these technologies impact society. Students learn key technical concepts and terminology and learn to modify and create programming code through making webpages and simple games. Students also gain hands-on experience using emerging technological tools such as 3D printing, laser-cutting, or 3D modeling software in virtual reality headsets. Course covers the history of computing, the early days of the internet, hardware fundamentals, accessibility tools, professional programming practices, open-source software, intellectual property concerns, networking, digital privacy, and cybersecurity. Designed for students with only basic, user-level computer experience. (Formerly offered as Personal Computer Concepts: Software and Hardware.)

Credits

5

General Education Code

PE-T

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 CSE 5C and CSE 5P cover similar concepts, but use different programming languages. Because CSE 5J followed by CSE 11 is a two-quarter alternative to the accelerated course CSE 12A and CSE 12L, engineering majors and students planning on continuing the programming sequence are encouraged to take CSE 5J rather than CSE 5C or CSE 5P. Students may not receive credit for CSE 5J taken concurrently or subsequently to CSE 12A, CSE 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

General Education Code

MF

CSE 12 Computer Systems and Assembly Language and Lab

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 the system software, and computer architecture. Course is 7 credits with integrated laboratories illustrating concepts covered in lecture. Note that CSE 12 assumes some programming experience. Students can show programming experience by taking one of the courses listed in the prerequisite list below or by taking the CSE python Test-out Exam: https://undergrad.soe.ucsc.edu/cse-20-testout-exam (Formerly CSE 12 and CSE 12L)

Credits

7

Requirements

Prerequisite(s): CSE 5J, or CSE 20, or CSE 30, or BME 160, or equivalent.

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

Requirements

Prerequisite(s): CSE 12 or BME 160.

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 programming experience are strongly recommended to take CSE 20 or CSE 30 before taking this course.

Credits

5

Requirements

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

General Education Code

MF

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. Students with prior programming experience (especially in Python) are encouraged to take CSE Testout Exam to be evaluated for their readiness to take CSE 30 directly: https://undergrad.soe.ucsc.edu/cse-20-testout-exam.

Credits

5

General Education Code

MF

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. Note that CSE 30 assumes some Python experience, students trained in a different language should self-study Python to prepare for CSE 30. See CSE Testout Exam for resources and further information.

Credits

7

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

CSE 40 Machine Learning Basics: Data Analysis and Empirical Methods

Introduction to the basic mathematical concepts and programming abstractions required for modern machine learning, data science, and empirical science. The mathematical foundations include basic probability, linear algebra, and optimization. The programming abstractions include data manipulation and visualization. The principles of empirical analysis, evaluation, critique and reproducibility are emphasized. Mathematical and programming abstractions are grounded in empirical studies including data-driven evidential reasoning, predictive modeling, and causal analysis.

Credits

5

Requirements

Prerequisite(s): MATH 19B or MATH 20B, and CSE 30.

General Education Code

SR

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

General Education Code

PE-T

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

General Education Code

SR

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 CSE 150 cannot receive credit for this course. (Formerly Computer Engineering 80N.)

Credits

5

General Education Code

PE-T

CSE 80S Social Networks

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

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

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

CSE 99 Tutorial

Students submit petition to sponsoring agency.

Credits

5

Repeatable for credit

Yes

CSE 99F Tutorial

Students submit petition to sponsoring agency.

Credits

2

Repeatable for credit

Yes

Cross-listed courses that are managed by another department are listed at the bottom.

Cross-listed Courses

CSE 185E Technical Writing for Computer Science and Engineering

Writing by engineers and computer scientists to technical audiences. Writing exercises include: cover letter and resume for job application, tutorial writing, grant proposal, document specification, literature review, and a final technical report. Two oral presentations are also required, an in-class presentation and a poster presentation. Students also receive instruction in the use of UC library and journal database resources, and in the writing of a statement of purpose for graduate school application. Also offered as CSE 185S. (Formerly Computer Engineering 185, Technical Writing for Computer Engineers.)

Credits

5

Cross Listed Courses

CSE 185S

Requirements

Prerequisite(s): satisfaction of Entry Level Writing and Composition requirements; and CSE 12 or CSE 15 or CSE 30 or BME 160 or by permission of the instructor. Enrollment is restricted to computer engineering, bioengineering, bioinformatics, biomolecular engineering and bioinformatics, or network and digital technology majors.

ECE 253 Introduction to Information Theory

An introduction to information theory including topics such as entropy, relative entropy, mutual information, asymptotic equipartition property, channel capacity, differential entropy, rate distortion theory, and universal source coding. (Formerly EE 253 and CMPS 250.)

Credits

5

Cross Listed Courses

CSE 208

Requirements

Enrollment is restricted to graduate students.

ECON 166B Game Theory and Applications II

Explores research frontiers in game theory, emphasizing applications in social science, biology, and engineering. Each interdisciplinary team develops a topic, and presents it to the class in oral and written reports and demonstrations. Students must have shown a strong performance in course 166A or equivalent. Students cannot receive credit for this course and ECON 272, CSE 209, or BIOE 274.

Credits

5

Cross Listed Courses

CSE 166B

Instructor

The Staff

Requirements

Prerequisite(s): ECON 166A or CSE 166A; satisfaction of the Entry Level Writing and Composition requirements. Enrollment is restricted to juniors and seniors.

ECON 272 Evolutionary Game Theory

Reviews static equilibrium concepts, games of incomplete information, and the traditional theory of dynamic games in discrete time. Develops recent evolutionary game models, including replicator and best reply dynamics, and applications to economics, computer science, and biology. Prerequisite(s): upper-division math courses in probability theory are strongly recommended. Cannot receive credit for this course and ECON 166B or CSE 166B.

Credits

5

Cross Listed Courses

BIOE 274, CSE 209

Instructor

The Staff

PHYS 150 Quantum Computing

Review of linear algebra. Includes basic concepts in quantum mechanics including quantum states, measurements, operators, entanglement, entanglement entropy, "no cloning" theorem, and density matrices; classical gates, reversible computing, and quantum gates; several quantum algorithms including Deutsch's algorithm, Simon's algorithm, Shor's algorithm, and the Grover algorithm; quantum error correction; and quantum key distribution and teleportation.

Credits

5

Cross Listed Courses

CSE 109

Instructor

Peter Young

Requirements

PHYS 116A or MATH 21 or AM 10. Enrollment is restricted to juniors and seniors.

Quarter offered

Spring

STAT 266A Data Visualization and Statistical Programming in R

Introduces students to data visualization and statistical programming techniques using the R language. Covers the basics of the language, descriptive statistics, visual analytics, and applied linear regression. Enrollment is by permission of the instructor. (Formerly Applied Math and Statistics 266A and Computer Science 266A.)

Credits

3

Cross Listed Courses

CSE 266A

STAT 266B Advanced Statistical Programming in R

Teaches students already familiar with the R language advanced tools such as interactive graphics, interfacing with low-level languages, package construction, debugging, profiling, and parallel computation. (Formerly Applied Math and Statistics 266B and Computer Science 266B.)

Credits

3

Cross Listed Courses

CSE 266B

Requirements

Prerequisite(s): STAT 266A or CSE 266A.

STAT 266C Introduction to Data Wrangling

Introduces students to concepts and tools associated with data collection, curation, manipulation, and cleaning including an introduction to relational databases and SQL, regular expressions, API usage, and web scraping using Python. (Formerly Applied Math and Statistics 266C and Computer Science 266C.)

Credits

3

Cross Listed Courses

CSE 266C

Requirements

Prerequisite(s): STAT 266A or CSE 266A.