University of Cambridge

Reino Unido · 2026-27

University of Cambridge

36 prácticas de laboratorio para el temario de Cambridge.

El Computer Science Tripos de Cambridge, Parts IA y IB: algoritmos, bases de datos, programación orientada a objetos, C y C++. Cada práctica está guiada paso a paso, se compila y se comprueba con una cadena de herramientas real en tu propio equipo: el modelo revisa tu código después, no decide si has aprobado.

Actualizado

Semestre a semestre

Programa: Computer Science Tripos. Plan: Course pages 2026–27. Abre una asignatura para ver sus unidades prácticas y la práctica de laboratorio que GroutCode incluye para cada una.

  1. Part IA

    4 asignaturas24 prácticasJavaSQL
    • ALGORITHM1Java

      Algorithms 1

      3

      prácticas

      • Sorting from quadratic to linear time — and finding the median without sorting
      • Divide and conquer, dynamic programming and greedy — one problem set, three strategies
      Ver las 3 prácticas
      1. 1Sorting from quadratic to linear time — and finding the median without sortingUnidad 1 · Sorting
      2. 2Divide and conquer, dynamic programming and greedy — one problem set, three strategiesUnidad 2 · Strategies for algorithm design
      3. 3Stacks to red-black trees — building Unit 3's data structures by handUnidad 3 · Data structures
    • ALGORITHM2Java

      Algorithms 2

      3

      prácticas

      • Graph search and shortest paths — BFS, DFS, Bellman-Ford, Dijkstra, Floyd-Warshall and Johnson
      • Spanning trees, topological order, max flow and bipartite matching
      Ver las 3 prácticas
      1. 1Graph search and shortest paths — BFS, DFS, Bellman-Ford, Dijkstra, Floyd-Warshall and JohnsonUnidad 1 · Graphs and path-finding algorithms
      2. 2Spanning trees, topological order, max flow and bipartite matchingUnidad 2 · Graphs and subgraphs
      3. 3Amortized analysis, binomial heaps, Fibonacci heaps and disjoint setsUnidad 3 · Advanced data structures
    • DATABASESSQL

      Databases

      8

      prácticas

      • From a key-value store and a flat file to a relational table
      • Designing a college database: keys, relationships and integrity
      Ver las 8 prácticas
      1. 1From a key-value store and a flat file to a relational tableUnidad 1 · Introduction
      2. 2Designing a college database: keys, relationships and integrityUnidad 2 · Relational databases
      3. 3Relational algebra in SQL: from selection to set differenceUnidad 3 · Relational queries
      4. 4NULLs, aggregation, transactions and normalising a sales tableUnidad 4 · Further SQL
      5. 5Storing and querying JSON documents in SQLUnidad 5 · Document-oriented data
      6. 6A property graph in SQL — vertices, edges and Cypher-style pattern matchingUnidad 6 · Graph-oriented data
      7. 7Recursive CTEs — walking an org chart and searching a flight networkUnidad 7 · Recursive queries
      8. 8Row stores vs column stores — OLTP and analytics on the same dataUnidad 8 · Database system trade-offs
    • OOPROGJava

      Object-Oriented Programming

      10

      prácticas

      • From functions to classes — static methods and an exact Fraction type
      • Designing classes — an encapsulated Account, immutable values and generic containers
      Ver las 10 prácticas
      1. 1From functions to classes — static methods and an exact Fraction typeUnidad 1 · Types, Objects and Classes
      2. 2Designing classes — an encapsulated Account, immutable values and generic containersUnidad 2 · Designing Classes
      3. 3References, the call stack and the heap — pass-by-value made visibleUnidad 3 · Pointers, References and Memory
      4. 4A shape hierarchy — inheritance, overriding, overloading, casting and shadowingUnidad 4 · Inheritance
      5. 5Polymorphism three ways — generic functions, interfaces and the diamondUnidad 5 · Polymorphism and Multiple Inheritance
      6. 6An object's life — constructor chains, clean-up and two garbage collectorsUnidad 6 · Lifecycle of an Object
      7. 7Comparing objects and working the Collections framework — Money, rankings and a RangeUnidad 7 · Java Collections and Object Comparison
      8. 8A bank account and a config loader — from return codes to exceptions and assertionsUnidad 8 · Error Handling
      9. 9Generics, type erasure, lambdas and streams — modern Java one feature at a timeUnidad 9 · Language evolution
      10. 10Six design patterns, built and tested — Singleton to ObserverUnidad 10 · Design Patterns
  2. Part IB

    1 asignatura12 prácticasCC++
    • PROGCCC++

      Programming in C and C++

      12

      prácticas

      • C from the ground up — integers, bits and hand-written string functions
      • Functions, linkage and the preprocessor across two compilation units
      Ver las 12 prácticas
      1. 1C from the ground up — integers, bits and hand-written string functionsUnidad 1 · Introduction to the C language
      2. 2Functions, linkage and the preprocessor across two compilation unitsUnidad 2 · Introduction to the C language (continued)
      3. 3Pointer ranges, callbacks, structs and a tagged unionUnidad 3 · Introduction to the C language (continued)
      4. 4Heap-backed strings, a growable vector and formatted I/OUnidad 4 · Introduction to the C language (continued)
      5. 5Overflow-proof arithmetic and bounded buffers without undefined behaviourUnidad 5 · C semantics and tools
      6. 6A bump-pointer arena, a malloc'd BST and shared expression DAGsUnidad 6 · Memory allocation, data structures and aliasing
      7. 7A reference-counted heap with a mark-and-sweep collector in CUnidad 7 · Further memory management
      8. 8Cache-aware C: struct layout, intrusive lists, SoA and loop blockingUnidad 8 · Memory hierarchy and cache optimization
      9. 9A debugging toolkit in C: test runner, invariants, trace buffer, bisect and shrinkUnidad 9 · Debugging
      10. 10From C to C++: references, overloading, default arguments and std::stringUnidad 10 · Introduction to C++
      11. 11C++ objects: a Fraction type, an RAII buffer, virtual shapes and a diamond of devicesUnidad 11 · Objects in C++
      12. 12C++ templates and meta-programming — from max_of to compile-time type listsUnidad 12 · Other C++ concepts

El temario completo de 77 asignaturas está transcrito en la aplicación, incluidas las asignaturas teóricas. Las prácticas están elaboradas siguiendo los códigos de asignatura que tienen trabajo de laboratorio, y la lista crece con cada versión.

GroutCode no está afiliado a University of Cambridge ni cuenta con su respaldo. Los códigos y nombres de las asignaturas se han transcrito de los documentos del plan publicados por la institución.

Cómo se hace una práctica

Los mismos cinco pasos en todas las prácticas y en todos los lenguajes.

  1. 1

    Elige tu temario

    Selecciona tu universidad o consejería y el semestre o curso en el que estás. La lista de asignaturas es el plan oficial transcrito, no una aproximación.

  2. 2

    Abre una práctica

    Cada práctica está guiada paso a paso para una asignatura concreta, con un archivo inicial que editas tú y un archivo de pruebas que no debes tocar.

  3. 3

    Escribe tú el código

    El archivo inicial trae las firmas y los TODO. Tú los implementas en el editor, en el lenguaje que se usa realmente en tu asignatura.

  4. 4

    Ejecuta las comprobaciones

    La cadena de herramientas compila y ejecuta las pruebas: entre 8 y 15 a lo largo de la práctica, una por paso, para que descubras qué cambio ha roto qué.

  5. 5

    Recibe la revisión

    Cuando las pruebas pasan, el modelo lee tu implementación y te dice con qué entrada se rompe. Nunca es él quien dicta el aprobado o el suspenso.

Por qué corrige el compilador y no el modelo

La forma obvia de construir una herramienta de laboratorio con IA es dejar que el modelo lea el código del estudiante y diga si es correcto. Es también la forma de acabar con una herramienta en la que nadie puede confiar. Un modelo te dirá que tu código funciona cuando el compilador dice lo contrario, y te suspenderá por un estilo que resulta que no le gusta.

Por eso los dos trabajos están separados:

  • El modelo diseña la práctica, escribe el archivo inicial y las pruebas y, una vez que las pruebas pasan, lee lo que has escrito de verdad y te dice con qué entrada se rompe.
  • La cadena de herramientas decide si compila y si cada paso pasa. Ese veredicto no se negocia y el modelo nunca lo emite.

Y por qué pasos en lugar de una única tarea grande

Una práctica de 40 a 60 minutos con un solo Run al final le da a alguien que empieza un bit de información por hora, y llega cuando ya ha tomado todas las decisiones. Aquí cada práctica tiene entre 8 y 15 pasos, cada uno con su propia instrucción y su propia comprobación, para que descubras qué cambio ha roto qué mientras todavía recuerdas haberlo hecho.

Preguntas frecuentes

¿GroutCode cubre el plan 2026-27 de Cambridge?

Sí. GroutCode incluye el plan 2026-27 de Cambridge transcrito para Computer Science Tripos —77 asignaturas— con 36 prácticas de laboratorio elaboradas y asociadas a códigos de asignatura concretos. El temario se transcribió a partir de los documentos oficiales, y en la aplicación queda registrada la fuente y la suma de verificación de cada uno.

¿Qué lenguajes se usan en las prácticas de Cambridge?

Java (16 prácticas), C (9 prácticas), SQL (8 prácticas), C++ (3 prácticas). El lenguaje se fija por código de asignatura en lugar de deducirlo del título, porque la misma materia se imparte en lenguajes distintos según la institución.

¿La IA me hace la práctica directamente?

No. El archivo inicial trae las firmas y los TODO; los implementas tú. Es la cadena de herramientas, y no el modelo, la que decide si tu código compila y si cada paso pasa, de modo que la IA no puede decirte que tu código funciona cuando el compilador opina lo contrario. Lo que sí hace después es leer tu implementación y señalarte la entrada con la que se rompe.

¿Las prácticas funcionan sin conexión?

Las prácticas, el temario y el ejecutor de pruebas van incluidos en la aplicación y se ejecutan en local, así que el ciclo de compilar y comprobar funciona sin conexión. El paso final de revisión usa un modelo, que puede ser local o en la nube con tu propia clave.

¿Qué necesito tener instalado?

GroutCode detecta qué cadenas de herramientas hay en tu equipo y te indica qué falta y cómo solucionarlo. Necesitas el compilador o intérprete del lenguaje que use tu asignatura: un compilador de C, un JDK, Python, Node o SQLite.

Haz tus prácticas de Cambridge con las comprobaciones incluidas

GroutCode va incluido en todas las licencias de Grout Suite. Descarga gratuita para Windows y macOS.

Descargar GroutCode