ACETry ACE ↗
← Back

CSE 29Systems Programming and Software Tools

4 units · CSE · UC San Diego

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.

Before you enroll

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 fits

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.)
What it opens up

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