Computer Science and Engineering Programming Sequence

The CSE Department has restructured the entire lower division programming sequence, shifting from Java to Python, and changing the prerequisite structure to give students a stronger programming foundation. The Department is phasing out current introductory programming courses and introducing new courses.

Review the list of new courses, including a short description and prerequisites:


CSE 15/L Data Structures (offered in Fall 2019 only)


(Formerly CMPS 12B/M) This offering of the former CMPS 12B/M will have a greater emphasis on C programming so that students are prepared for the new CSE 101 in Winter 2020.


CSE 20 Beginning Programming in Python


Formerly CMPS 5P

Prerequisites: No prior programming experience is required. 
Course Description: The course provides students with Python programming skills and ability to design programs and read Python code. 


CSE 30 Programming Abstractions in Python


Prerequisites: CSE 20 (formerly CMPS 5P) and Math 3 or 11A or 19A or AM 3 or AM/Econ 11A or 400 or higher on the math placement exam.

Course Description: Introduction to software development in Python focusing on structuring software in terms of objects endowed with primitive operations.


CSE 12/L Machine Organization Assembly


Formerly CMPE 12/L

Prerequisites: Students are strongly recommended to have prior programming experience before taking this course.

Course Description: Introduction to computer systems and assembly language and how computers compute in hardware and software.


CSE 13E Embedded Systems and C Programming


Revised CMPE 13/L

Prerequisites: CSE 12/L

Course Description: Introduction to the C programming language as a means for controlling embedded computing systems.


CSE 13S Computer Systems and C Programming


Prerequisites: CSE 12/L or BME 160/L

Course Description: C programming, command line, shell programming, editors, debuggers, source code control, and other tools. Basic computer systems, algorithm design and development, data types, program structures.


CSE 101 Data Structures and Algorithms (Starting Winter 2020)


Prerequisites: CSE 13E or CSE 13S; CSE 16; CSE 30 and MATH 11B, 19B or 20B or AM 11B 

Course Description: Introduction to data types and basics of algorithms. All assignments will be in C/C++ .
** In Fall 2019, CSE 101 will have the prerequisites and course content of the current CMPS 101.


CSE 102 Introduction to Analysis of Algorithms


Prerequisites: CSE 101

Course Description: Methods for the systematic construction and mathematical analysis of algorithms.