{"id":13472341,"url":"https://github.com/trifectatechfoundation/teach-rs","last_synced_at":"2025-04-10T18:09:39.082Z","repository":{"id":61964907,"uuid":"547270634","full_name":"trifectatechfoundation/teach-rs","owner":"trifectatechfoundation","description":"A modular, reusable university course for Rust","archived":false,"fork":false,"pushed_at":"2025-02-27T17:45:28.000Z","size":4043,"stargazers_count":3167,"open_issues_count":26,"forks_count":163,"subscribers_count":53,"default_branch":"main","last_synced_at":"2025-04-08T12:18:14.267Z","etag":null,"topics":["education","rust"],"latest_commit_sha":null,"homepage":"https://teach-rs.trifectatech.org","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trifectatechfoundation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["trifectatechfoundation"],"custom":["https://trifectatech.org/support/"]}},"created_at":"2022-10-07T12:08:59.000Z","updated_at":"2025-04-07T10:56:32.000Z","dependencies_parsed_at":"2024-05-13T16:17:15.575Z","dependency_job_id":"baa346e6-006f-42ae-8644-926aaf597de8","html_url":"https://github.com/trifectatechfoundation/teach-rs","commit_stats":null,"previous_names":["trifectatechfoundation/teach-rs","tweedegolf/101-rs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trifectatechfoundation%2Fteach-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trifectatechfoundation%2Fteach-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trifectatechfoundation%2Fteach-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trifectatechfoundation%2Fteach-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trifectatechfoundation","download_url":"https://codeload.github.com/trifectatechfoundation/teach-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248268062,"owners_count":21075505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["education","rust"],"created_at":"2024-07-31T16:00:53.916Z","updated_at":"2025-04-10T18:09:39.068Z","avatar_url":"https://github.com/trifectatechfoundation.png","language":"Rust","funding_links":["https://github.com/sponsors/trifectatechfoundation","https://trifectatech.org/support/"],"categories":["Rust"],"sub_categories":[],"readme":"# Teach-rs\n[![Matrix](https://img.shields.io/badge/Matrix-000?logo=matrix\u0026logoColor=fff)](https://matrix.to/#/#teach-rs:matrix.org)\n\n![Teach-rs](https://tweedegolf.nl/images/teach-rs-logo.png)\n\nTeach-rs is a university course for computer science students, introducing the Rust Programming Language, and is available for anyone who wants to teach Rust.\n\nWhy? Have a look at our [blog post](https://tweedegolf.nl/en/blog/127/want-more-rust-break-the-cycle) introducing the course.\n\nThis repo will contain everything that's needed to organize the course: slides, exercises, tools, setup instructions and more.\n\n*While all the available material is user-ready, this repo is not yet as exhaustive as we'd like, so feedback and [contributions](./CONTRIBUTING.md) are welcome! So is sponsorship; read more below or on our [Sponsorship page](https://github.com/sponsors/trifectatechfoundation).*\n\n**Need help? Have questions? Say hi in our Matrix channel: [![Matrix](https://img.shields.io/badge/Matrix-000?logo=matrix\u0026logoColor=fff)](https://matrix.to/#/#teach-rs:matrix.org)**\n\n## Usage\nThe teacher's guide can be found [here](./teachers_guide.md).\nHave a look at the [ModMod Readme](./modmod/README.md) for instructions on how to render the content of a track.\n\n## Structure\nThe actual content can be found in the [`content`](./content) directory.\nThe content is structured in a tree of Tracks, Modules, Units, and Topics.\nTracks define a single course, which consists of one or more Modules, which again combines one or more Units, which again is a set of Topics.\nUnits roughly correspond to one lecture+tutorial (or at least that is the idea, but TODO), and consist of several Topics. Related Units are combined in a Module.\nTopics are packages that cover a single topic, and include a small number of slides, some exercises, and an exercise descripion.\nTopics can define their learning objectives, further reading material, and how they should be summarized in a Unit introduction.\n\nTracks, Modules, Units, and Topics and the files they refer to are described in the several TOML files in the [`content`](./content) directory.\n[ModMod](./modmod/README.md) combines the content into a structure that can be directly published to your students in a Git repo, for instance.\n\n## Pre-defined tracks\n- [Rust Language Introduction](./content/rust-intro.track.toml) aims to introduce the basics to the Rust programming language, and to enable students to engineer their own applications and crates.\n- [Rust for the Web](./content/rust-for-web.track.toml) covers content that is needed to use Rust in web applications.\n- [Rust for Systems Programming](./content/rust-for-systems.track.toml) contains more low-level topics, to teach systems programming using Rust.\n- [Scientific Rust](./content/scientific-rust.track.toml) is about using Rust in scientific programming.\n- [Full](./content/full.track.toml) contains all available teach-rs content.\n\n*Note: although the outline of the tracks is mostly complete, the tracks may still contain TODOs. You're invited to contribute your own content to fix these!*\n\n## High-level goals\nTeach-rs aims to provide an open-source course, lectures, tutorials and exercises, that can be used by any higher education institution.\nUse one of the pre-defined tracks, or compose your own with the content we provide and your own.\n\n1. Provide a modular, resuable basis for live-taught Rust courses\n2. Provide students with practical, hands-on experience\n3. Provide students with background information of Rust features\n4. Provide students with ability to judge whether Rust fits a project\n5. Provide several specialized learning tracks that focus on different applications (e.g. systems, embedded, web)\n6. Enable teachers to contribute their material for others to use\n\n## Contributing\nIf you'd like to improve teach-rs, either by doing touchups, restructuring a module, or even adding a module, please refer to the [contributing guidelines](./CONTRIBUTING.md) before you get started.\n\n## About the project\n\nThe project was created by [Tweede golf](https://tweedegolf.nl), and has since moved to the [Trifecta Tech Foundation](https://trifectatech.org).\n\n### Our sponsors\n\n#### Founding sponsors\n\n\u003cimg style=\"margin: 1rem 5% 1rem 5%;\" src=\"./assets/STU_FIIT_logo_100_color.png\" alt=\"Logo STU FIIT\"  width=\"200px\" /\u003e\n\n\u003cimg style=\"margin: 1rem 5% 1rem 5%;\" src=\"https://tweedegolf.nl/images/tweedegolf-logo-2022-1.png\" alt=\"Logo TG\"  width=\"200px\" /\u003e\n\n\u003cimg style=\"margin: 1rem 5% 1rem 5%;\" src=\"./assets/rust-edu-banner_100.png\" alt=\"Logo Rust Edu\"  width=\"200px\" /\u003e\n\n\u003cimg style=\"margin: 1rem 5% 1rem 5%;\" src=\"./assets/Rust_Foundation_logo_100_color.png\" alt=\"Logo RF\"  width=\"200px\" /\u003e\n\n\nThe project's initial sponsor is the Faculty of Informatics and Information Technologies (FIIT) of the Slovak University of Technology (STU) in Bratislava, Slovakia. [FIIT](https://www.fiit.stuba.sk/en.html?page_id=749)'s contribution has enabled us to lay the groundwork for the course. [Tweede golf](https://tweedegolf.nl/en) and [Rust Edu](https://rust-edu.org/) have also contributed substantially to the creation of teach-rs.\n\nIn addition, one of our maintainers, [@hdoordt](https://github.com/hdoordt), received a grant from the [Rust Foundation](https://foundation.rust-lang.org/).\n\n#### Silver sponsors\n\nAnd a big thank you to our Silver sponsors:\n\n- [Gofore](https://gofore.com/en/)\n- [RustJobs.dev](https://rustjobs.dev/)\n\n### Support teach-rs\n\nContact us if you´re interested in financially supporting the maintenance and further development of the teach-rs resources. See [trifectatech.org/support](https://trifectatech.org/support/).\nYou can also sponsor our work through [GitHub sponsors](https://github.com/sponsors/trifectatechfoundation).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrifectatechfoundation%2Fteach-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrifectatechfoundation%2Fteach-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrifectatechfoundation%2Fteach-rs/lists"}