Home /  Courses And Programs / Data Structures and Algorithms in C/C++

Gain an understanding of fundamental algortihms and data structures.

Learn to write code that scales well with large data sets and how to identify hidden performance bottlenecks. While concepts covered in the course are addressed in C/C++, they can be applied to all programming languages and software development domains. Participants will learn the fundamentals necessary to answer algorithm and data structures questions commonly asked of job candidates in programming interviews.

Course Highlights:

  • Performance Analysis of Algorithms
  • Recursion
  • Pointers
  • Dynamic Memory Allocation
  • Data Abstraction and Time-Space Trade Offs
  • Mutual Improvements

Course Learning Outcomes:

  • Write code that scales well in real-world situations by selecting appropriate data structures and algorithms
  • Identify and resolve bottlenecks to correct performance issues in existing software
  • Obtain foundational knowledge necessary to learn standard libraries across all programming languages
  • Prepare students to respond appropriately to algorithm questions commonly asked in job interviews
  • Acquire the ability to develop object-oriented solutions using the C programming language
  • Apply advanced C programming techniques including generics with void pointers and callbacks using function pointers

Hardware: Must have access to a standard C/C++ compiler.

Course Typically Offered: Online in Spring and Fall quarters.

Prerequisite: CSE-40476 C/C++ Programming II: Dynamic Memory and File I/O Concepts or equivalent knowledge and experience.

Next Step: Upon completion of this course, consider taking courses in our C/C++ Programming or Embedded Computer Engineering certificate programs.

Contact: For more information about this course, please email infotech@ucsd.edu.

Course Number: CSE-40049
Credit: 3.00 unit(s)
Related Certificate Programs: C/C++ Programming