Este curso es el sucesor natural de la Metodología de Programación y cubre temas de programación avanzada como la recursividad, el análisis algorítmico y la abstracción de datos utilizando el lenguaje de programación C++, que es similar tanto a C como a Java. Si has tomado el examen AP de Informática y lo has hecho bien (con una puntuación de 4 o 5) o has obtenido una buena nota en un curso universitario, Programming Abstractions puede ser un curso apropiado para que empieces, pero a menudo Programming Abstractions (Accelerated) es una mejor opción. Programming Abstractions supone que ya estás familiarizado con un buen estilo de programación y cuestiones de ingeniería de software (a nivel de Metodología de Programación), y que puedes utilizar esta comprensión como base para abordar nuevos temas en programación y abstracción de datos.
Temas: La abstracción y su relación con la programación. Principios de ingeniería de software de abstracción de datos y modularidad. Programación orientada a objetos, estructuras de datos fundamentales (como pilas, colas, conjuntos) y diseño dirigido por datos. Estructuras de datos recursivas y recursivas (listas de enlaces, árboles, gráficos). Introducción al análisis de la complejidad del tiempo y el espacio. Utiliza el lenguaje de programación C++ que cubre sus instalaciones básicas.
Prerrequisitos: Sólido desempeño en la Metodología de Programación y preparación para pasar a temas de programación avanzada. Un curso de introducción a la programación comparable (incluyendo cursos AP de secundaria) es a menudo un sustituto razonable para nuestro curso de Metodología de Programación.
Este curso de Stanford se impartió en el campus tres veces por semana en conferencias de 50 minutos para la Iniciativa de Ingeniería de Stanford en todas partes.