The CSE Department is restructuring the entire lower division programming sequence. They are 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. We expect that students watch the short video created by C. (Sesh) Seshadhri Comandur below on the new curriculum. Also, included below is a listing of the new courses, including a short description and prerequisites. For assistance with selecting the appropriate courses for your major please visit the Major Specific Programming site.
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.