A comprehensive repository of course materials for a university-level data structures and program representation class.
PDR is a GitHub repository containing the complete course materials for the University of Virginia's CS 2150: Program and Data Representation class. It provides slides, labs, exams, and tutorials to teach data structures and how programs and data are represented from high-level languages down to machine code. The course focuses on implementation in C++ while covering assembly, C, and other languages.
University computer science instructors and students taking or teaching a second-year data structures course, particularly those using a multi-language curriculum that includes C++ and low-level programming.
It offers a complete, open-source curriculum with structured labs and interactive slides, allowing educators to adopt or adapt the materials freely under a Creative Commons license. The repository is versioned by semester, providing historical reference and continuity.
A repo for a Program and Data Representation university-level course
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes slides, labs, exams, and tutorials for a full semester, detailed in the repository contents, providing a complete curriculum for educators.
Covers C++, x86 assembly, C, Objective C, shell scripting, and a custom machine language (IBCM), offering a broad perspective on program representation as described in the course objectives.
Each lab is split into pre-lab, in-lab, and post-lab sections with 11 full assignments, ensuring progressive learning and practical implementation.
Uses reveal.js for HTML-based slides, making lectures engaging and accessible online, as noted in the slides directory.
Only approved individuals can update the repository to prevent disruptions, limiting community contributions and requiring a formal fork-and-pull request process.
Requires pandoc, astyle, and source-highlight to run make commands for regenerating materials, adding setup complexity for users wanting to modify content.
The LaTeX-based textbook is only in beginnings, as mentioned in the book directory, so it's not a complete standalone learning resource.