Courses UC San Diego Division of Extended Studies

Data Structures and Algorithms in C/C++

Learn fundamental algorithms and data structures using C/C++, focusing on scalable, high‑performance code, performance bottleneck analysis, recursion, pointers, dynamic memory, abstraction, and interview‑style algorithm problems applicable across languages.

Intermediate Level 24h 0m 🌐 EN

What you'll learn

  • Understand and analyze performance of fundamental algorithms and data structures
  • Use recursion, pointers, and dynamic memory allocation effectively in C/C++
  • Write scalable, high‑performance code for large data sets and real‑world scenarios
  • Identify and resolve hidden performance bottlenecks in existing software
  • Build foundational knowledge applicable to standard libraries in many languages
  • Prepare for common data structure and algorithm questions in programming interviews

Skills you'll gain

  • 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 programming languages
  • Respond appropriately to algorithm questions commonly asked in job interviews
  • Develop object‑oriented solutions using the C programming language
  • Apply advanced C programming techniques including generics with void pointers and callbacks using function pointers

Prerequisites

  • CSE-40476 C/C++ Programming II: Dynamic Memory and File I/O Concepts or equivalent knowledge and experience
  • Access to a standard C/C++ compiler

Who this course is for

  • Programmers looking to improve their C/C++ skills
  • Developers preparing for technical interviews focused on algorithms and data structures
  • Software engineers who need to write scalable, high‑performance code
  • Students pursuing the C/C++ Programming or Embedded Systems Engineering certificates at UC San Diego Extended Studies
USD 745.00
Go to Course

You'll be redirected to UC San Diego Division of Extended Studies

Provider

UC San Diego Division of Extended Studies

Related Courses

Python Bootcamp

Python Bootcamp covers fundamentals of Python programming, including control structures, advanced data types, functions, modules, packages, multithreading, exception handling, file handling, GUI design, and database connectivity, preparing learners for future work in data science and machine learning.

SYBGEN Inc.

Systems Engineering

This course introduces Systems Engineering principles across the lifecycle of complex systems, covering system design, architecture, requirements analysis, modeling, verification, lifecycle models (Waterfall, V-Model, Spiral, Agile), SysML, risk management, trade-off analysis, and a Smart Home Security System project.

Udacity

IT Systems Design and Analysis

Prepare to design, analyze, and evaluate IT systems using data flow diagrams, ERDs, UML, and feasibility analysis. Learn to assess existing systems, identify inefficiencies, compare solution alternatives, and deliver a digital transformation strategy through a hands-on final project.

Coursera ⭐ 4.70

Hands On FullStack Development Course with Infrastructure Management Product implementation

A 180-day, project-first full-stack infrastructure course where you build and operate production-grade services with CI/CD, testing, observability, and operational playbooks, aimed at taking you from toy projects to real-world deployment experience.

System Design Roadmap ⭐ 4.80

Learn Typescript

Hands-on introduction to TypeScript fundamentals and their application in real projects. Learn core typing concepts, advanced TypeScript features, and how to use TypeScript with React and Express while building safer, more maintainable JavaScript applications.

Coursera ⭐ 4.50

AI Engineering Course

Designed to help software engineers transition to AI engineering, with detailed breakdowns of vector databases, indexing, large language models, attention, and core optimizations so you can understand how LLMs work and use them to build real-world applications.

InterviewReady ⭐ 4.73