Data Structures and Algorithms in C/C++
CSE-40049
Looking to improve your programming skills?
Our course on fundamental algorithms and data structures can help you out. You'll learn how to write scalable code that performs well with large data sets, and also discover how to identify hidden performance bottlenecks. Although we use C/C++ in our course, the concepts taught apply to all programming languages and software development domains. After taking our course, you'll have the fundamental knowledge needed to answer algorithm and data structure questions that commonly come up in programming job interviews. Don't miss this opportunity to enhance your programming career - enroll now!
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 Materials: The instructor will provide students with a pdf copy of his custom course reader to be used for the duration of this course. There is no other textbook required for this course.
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 Information
Course sessions
Section ID:
Class type:
This course is entirely web-based and to be completed asynchronously between the published course start and end dates. Synchronous attendance is NOT required.
You will have access to your online course on the published start date OR 1 business day after your enrollment is confirmed if you enroll on or after the published start date.
Textbooks:
No textbook required.
Policies:
- No refunds after: 9/30/2024
Schedule:
Instructor: Raymond Mitchell III, B.S.
Software Engineer, Fairway Technologies
Raymond Mitchell, III has 10+ years of experience architecting and implementing C++, Java, and C# applications. He graduated from UC San Diego with a B.S. in computer science. Ray's industry experience ranges from telephony and retail control systems to web applications. He is currently a Software Engineering with Fairway Technologies.