CSE 29Systems Programming and Software Tools
A programmer’s view of how computer systems execute programs, store information, and communicate. Emphasis on understanding the details of how a single computer program executes on a computer. Hands-on systems programming using the C programming language and software tools (e.g., gdb, valgrind, make) in the UNIX environment. Builds foundation for courses on computer organization, operating systems, networks, and compilers.
Prerequisites
From the catalog: “CSE 11 or CSE 8B or ECE 15; two units of credit offered for CSE 29 if CSE 15L taken previously.”
Where it sits in degree plans
Suggested plans most often put it in Year 2 · Fall (4 programs).
One of the options in (5)
- Artificial Intelligence
- Computer Engineering
- Computer Engineering (B.S.)
- Computer Science (B.S.)
- Computer Science with Specialization in Bioinformatics (B.S.)
Courses that list CSE 29 as a prerequisite (18)
- CSE 100 Advanced Data Structures
- CSE 100R Advanced Data Structures
- CSE 109 Introduction to Programming Contests
- CSE 120 Operating Systems Principles
- CSE 123 Computer Networks
- CSE 124 Networked Services
- CSE 150A Introduction to Artificial Intelligence: Probabilistic Reasoning and Decision-Making
- CSE 150B Introduction to Artificial Intelligence: Search and Reasoning
- CSE 151A Machine Learning: Learning Algorithms
- CSE 152A Introduction to Computer Vision I
- CSE 153 Machine Learning for Music
- CSE 153R Machine Learning for Music
- CSE 156 Statistical Natural Language Processing
- CSE 158 Recommender Systems and Web Mining
- CSE 158R Recommender Systems and Web Mining
- CSE 30 Computer Organization
- CSE 55 Foundations of Artificial Intelligence and Machine Learning
- DSC 148 Introduction to Data Mining