C Programming: The Basics You Need to Know
March 3, 2025
Article
Data Structures and Algorithms in C++. Learn fundamentals of computer science while implementing efficient data structures in C++.
Instructor: Wade Fagen-Ulmschneider
48,186 already enrolled
Included with
(2,545 reviews)
Recommended experience
Intermediate level
Learners should be able to write a program in a programming language (e.g. Python), and preferably have taken an introductory programming course.
(2,545 reviews)
Recommended experience
Intermediate level
Learners should be able to write a program in a programming language (e.g. Python), and preferably have taken an introductory programming course.
Design and implement an object-oriented program in the C++ language, including defining classes that encapsulate data structures and algorithms.
Select and implement appropriate data structures that best utilize resources to solve a computational problem.
Analyze the running time and space needs of an algorithm, asymptotically to ensure it is appropriate at scale, including for big data.
Prepare for advanced courses in CS with the foundational knowledge of object data structures needed to implement and call advanced library functions.
Add to your LinkedIn profile
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
Topics covered by this Specialization include basic object-oriented programming, the analysis of asymptotic algorithmic run times, and the implementation of basic data structures including arrays, hash tables, linked lists, trees, heaps and graphs, as well as algorithms for traversals, rebalancing and shortest paths.
This Specialization sequence is designed to help prospective applicants prepare for the flexible and affordable Online Master of Computer Science (MCS) and MCS in Data Science.
Applied Learning Project
Students will solve weekly “challenge problems” by implementing fragments of C++ code in a web-based interface. Each course also features two longer-format coding projects where students will follow instructions to complete a C++ program that performs tasks such as editing images, efficiently manipulating data structures, or solving a graph search problem.
This course teaches learners how to write a program in the C++ language, including how to set up a development environment for writing and debugging C++ code and how to implement data structures as C++ classes. It is the first course in the Accelerated CS Fundamentals specialization, and subsequent courses in this specialization will be using C++ as the language for implementing the data structures covered in class.
In this course, you will learn new data structures for efficiently storing and retrieving data that is structured in an ordered sequence. Such data includes an alphabetical list of names, a family tree, a calendar of events or an inventory organized by part numbers. The specific data structures covered by this course include arrays, linked lists, queues, stacks, trees, binary trees, AVL trees, B-trees and heaps. This course also shows, through algorithm complexity analysis, how these structures enable the fastest algorithms to search and sort data.
The Unordered Data Structures course covers the data structures and algorithms needed to implement hash tables, disjoint sets and graphs. These fundamental data structures are useful for unordered data. For example, a hash table provides immediate access to data indexed by an arbitrary key value, that could be a number (such as a memory address for cached memory), a URL (such as for a web cache) or a dictionary. Graphs are used to represent relationships between items, and this course covers several different data structures for representing graphs and several different algorithms for traversing graphs, including finding the shortest route from one node to another node. These graph algorithms will also depend on another concept called disjoint sets, so this course will also cover its data structure and associated algorithms.
The University of Illinois at Urbana-Champaign is a world leader in research, teaching and public engagement, distinguished by the breadth of its programs, broad academic excellence, and internationally renowned faculty and alumni. Illinois serves the world by creating knowledge, preparing students for lives of impact, and finding solutions to critical societal needs.
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Earn a degree from world-class universities - 100% online
Upskill your employees to excel in the digital economy
Basic working knowledge of computers and computer systems Familiarity with a common programming languages, such as Python.
It is recommended that the courses in the Specialization be taken in the order outlined.
This course is completely online, so there’s no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.
If you subscribed, you get a 7-day free trial during which you can cancel at no penalty. After that, we don’t give refunds, but you can cancel your subscription at any time. See our full refund policy.
Yes! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate, or you can audit it to view the course materials for free. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. If you only want to read and view the course content, you can audit the course for free. If you cannot afford the fee, you can apply for financial aid.
This Specialization doesn't carry university credit, but some universities may choose to accept Specialization Certificates for credit. Check with your institution to learn more.
Financial aid available,
Learn on your own time from top universities and businesses.
Already on Coursera?
Having trouble logging in? Learner help center
This site is protected by reCAPTCHA Enterprise and the Google Privacy Policy and Terms of Service apply.