- Run-time Analysis
- Algorithms
- Hash Table
- Trees (Data Structures)
- Object-Oriented Programming (OOP)
Programa especializado: Accelerated Computer Science Fundamentals
Data Structures and Algorithms in C++. Learn fundamentals of computer science while implementing efficient data structures in C++.
ofrecido por


Qué aprenderás
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.
Habilidades que obtendrás
Acerca de este Programa Especializado
Proyecto de aprendizaje aplicado
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.
Learners should be able to write a program in a programming language (e.g. Python), and preferably have taken an introductory programming course.
Learners should be able to write a program in a programming language (e.g. Python), and preferably have taken an introductory programming course.
Cómo funciona el programa especializado
Toma cursos
Un programa especializado de Coursera es un conjunto de cursos que te ayudan a dominar una aptitud. Para comenzar, inscríbete en el programa especializado directamente o échale un vistazo a sus cursos y elige uno con el que te gustaría comenzar. Al suscribirte a un curso que forme parte de un programa especializado, quedarás suscrito de manera automática al programa especializado completo. Puedes completar solo un curso: puedes pausar tu aprendizaje o cancelar tu suscripción en cualquier momento. Visita el panel principal del estudiante para realizar un seguimiento de tus inscripciones a cursos y tu progreso.
Proyecto práctico
Cada programa especializado incluye un proyecto práctico. Necesitarás completar correctamente el proyecto para completar el programa especializado y obtener tu certificado. Si el programa especializado incluye un curso separado para el proyecto práctico, necesitarás completar cada uno de los otros cursos antes de poder comenzarlo.
Obtén un certificado
Cuando completes todos los cursos y el proyecto práctico, obtendrás un Certificado que puedes compartir con posibles empleadores y tu red profesional.

Hay 3 cursos en este Programa Especializado
Object-Oriented Data Structures in C++
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.
Ordered Data Structures
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.
Unordered Data Structures
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.
ofrecido por

Universidad de Illinois en Urbana-Champaign
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.
Preguntas Frecuentes
¿Cuál es la política de reembolsos?
¿Puedo inscribirme en un solo curso?
¿Hay ayuda económica disponible?
¿Puedo tomar este curso de manera gratuita?
¿Este curso es 100 % en línea? ¿Necesito asistir a alguna clase en persona?
¿Recibiré crédito universitario por completar el programa especializado?
What background knowledge is necessary?
Do I need to take the courses in a specific order?
¿Tienes más preguntas? Visita el Centro de Ayuda al Alumno.