{"id":3389,"date":"2021-05-11T08:31:06","date_gmt":"2021-05-11T07:31:06","guid":{"rendered":"https:\/\/cyberschool.univ-rennes.fr\/?page_id=3389"},"modified":"2025-06-24T15:40:14","modified_gmt":"2025-06-24T14:40:14","slug":"rust-programming","status":"publish","type":"page","link":"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/masters-cybersecurity-science-of-software-and-hardware-security\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\/rust-programming\/","title":{"rendered":"Rust Programming"},"content":{"rendered":"\n<section class=\"txt\">\n    <div class=\"container\">\n        <div class=\"bloc-txt\">\n                            <h2><span class=\"elipse\"><\/span><span class=\"trait\"><\/span>Teaching goals<\/h2>\n                        <p>The main goal of this course is to teach basic Rust programming and to highlight security features such as its particular type system that ensures memory safety.<\/p>\n\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section class=\"txt\">\n    <div class=\"container\">\n        <div class=\"bloc-txt\">\n                            <h2><span class=\"elipse\"><\/span><span class=\"trait\"><\/span>Course description<\/h2>\n                        <div class=\"contain-txt\">\n<p>Rust is an up-and-coming programming language that reached in a few years a targeted but fair adoption in the software industry heavyweights, such as Microsoft, Google or Amazon. The main use of Rust is as a replacement for C and C++ in so-called \u201csystems programming.\u201d The main incentive to switch to Rust is the promise of memory safety which solves 70% of discovered security bugs in both Microsoft products and the Google-lead Chromium project. To achieve this, Rust is fairly different from most existing languages in particular from C and C++.<\/p>\n<\/div>\n\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section class=\"txt\">\n    <div class=\"container\">\n        <div class=\"bloc-txt\">\n                            <h2><span class=\"elipse\"><\/span><span class=\"trait\"><\/span>Course content<\/h2>\n                        <ul>\n<li>Basic Rust programming<\/li>\n<li>Type system: ownership, borrowing and lifetimes<\/li>\n<li>Abstraction: traits and generic parameters<\/li>\n<li>Functional programming: closures and iterators<\/li>\n<li>Concurrency and parallelism<\/li>\n<li>Unsafe code and FFI<\/li>\n<\/ul>\n\n        <\/div>\n    <\/div>\n<\/section>\n\n\n<section class=\"tuiles\">\n    <div class=\"container\">\n                <div class=\"bloc\">\n            <h2><span class=\"elipse\"><\/span><span class=\"trait\"><\/span>Keywords<\/h2>\n            <p>Rust language, programming language, systems programming, type system, memory safety.<\/p>\n\n                    <\/div>\n                <div class=\"bloc\">\n            <h2><span class=\"elipse\"><\/span><span class=\"trait\"><\/span>Prerequisite<\/h2>\n            <p>C language.<\/p>\n\n                    <\/div>\n            <\/div>\n<\/section>\n\n\n\n<section class=\"txt\">\n    <div class=\"container\">\n        <div class=\"bloc-txt\">\n                            <h2><span class=\"elipse\"><\/span><span class=\"trait\"><\/span>Bibliography<\/h2>\n                        <div class=\"contain-txt\">\n<ul>\n<li aria-level=\"1\">The Rust Programming Language, by Steve Klabnik and Carol Nichols, 2018<\/li>\n<li aria-level=\"1\">Programming Rules to Develop Secure Applications With Rust, by Agence nationale de la s\u00e9curit\u00e9 des syst\u00e8mes d\u2019information (ANSSI), 2020<\/li>\n<li aria-level=\"1\">Types and Programming Languages, by Benjamin C. Pierce, 2002<\/li>\n<\/ul>\n<\/div>\n\n        <\/div>\n    <\/div>\n<\/section>\n\n\n\n<section class=\"txt\">\n    <div class=\"container\">\n        <div class=\"bloc-txt\">\n                            <h2><span class=\"elipse\"><\/span><span class=\"trait\"><\/span>Biographie<\/h2>\n                        <div class=\"contain-txt\">\n<p><strong>Micka\u00ebl Delahaye<\/strong> is a senior software security expert at DGA as well as an external research collaborator at INRIA. Micka\u00ebl Delahaye\u2019s research focuses on securing programming through the use of formal methods in particular at the frontier between multiple programming languages. At DGA Micka\u00ebl Delahaye heads a laboratory dedicated to checking source code for security issues with a particular focus on issues raising from the programming language itself. Micka\u00ebl Delahaye also contributed to ANSSI secure coding practices for Rust.<\/p>\n<\/div>\n\n        <\/div>\n    <\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":11707,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-3389","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Rust Programming - CyberSchool<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/masters-cybersecurity-science-of-software-and-hardware-security\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\/rust-programming\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rust Programming - CyberSchool\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/masters-cybersecurity-science-of-software-and-hardware-security\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\/rust-programming\/\" \/>\n<meta property=\"og:site_name\" content=\"CyberSchool\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/CSchoolRennes\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-24T14:40:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cyberschool.univ-rennes.fr\/app\/uploads\/2021\/02\/cover-social-network.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1500\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@CSchoolRennes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/education\\\/masters-and-postgraduate-programmes\\\/masters-cybersecurity-science-of-software-and-hardware-security\\\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\\\/rust-programming\\\/\",\"url\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/education\\\/masters-and-postgraduate-programmes\\\/masters-cybersecurity-science-of-software-and-hardware-security\\\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\\\/rust-programming\\\/\",\"name\":\"Rust Programming - CyberSchool\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/#website\"},\"datePublished\":\"2021-05-11T07:31:06+00:00\",\"dateModified\":\"2025-06-24T14:40:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/education\\\/masters-and-postgraduate-programmes\\\/masters-cybersecurity-science-of-software-and-hardware-security\\\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\\\/rust-programming\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/education\\\/masters-and-postgraduate-programmes\\\/masters-cybersecurity-science-of-software-and-hardware-security\\\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\\\/rust-programming\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/education\\\/masters-and-postgraduate-programmes\\\/masters-cybersecurity-science-of-software-and-hardware-security\\\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\\\/rust-programming\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Education\",\"item\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/education\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Master\u2019s and postgraduate programmes\",\"item\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/education\\\/masters-and-postgraduate-programmes\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Master\u2019s Cybersecurity, Science of Software and Hardware Security\",\"item\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/education\\\/masters-and-postgraduate-programmes\\\/masters-cybersecurity-science-of-software-and-hardware-security\\\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Study programme of the Master\u2019s Cybersecurity, Science of Software and Hardware Security\",\"item\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/education\\\/masters-and-postgraduate-programmes\\\/masters-cybersecurity-science-of-software-and-hardware-security\\\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\\\/\"},{\"@type\":\"ListItem\",\"position\":6,\"name\":\"Rust Programming\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/\",\"name\":\"CyberSchool\",\"description\":\"Just another WordPress site\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cyberschool.univ-rennes.fr\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Rust Programming - CyberSchool","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/masters-cybersecurity-science-of-software-and-hardware-security\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\/rust-programming\/","og_locale":"en_US","og_type":"article","og_title":"Rust Programming - CyberSchool","og_url":"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/masters-cybersecurity-science-of-software-and-hardware-security\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\/rust-programming\/","og_site_name":"CyberSchool","article_publisher":"https:\/\/www.facebook.com\/CSchoolRennes\/","article_modified_time":"2025-06-24T14:40:14+00:00","og_image":[{"width":1500,"height":500,"url":"https:\/\/cyberschool.univ-rennes.fr\/app\/uploads\/2021\/02\/cover-social-network.jpeg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@CSchoolRennes","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/masters-cybersecurity-science-of-software-and-hardware-security\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\/rust-programming\/","url":"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/masters-cybersecurity-science-of-software-and-hardware-security\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\/rust-programming\/","name":"Rust Programming - CyberSchool","isPartOf":{"@id":"https:\/\/cyberschool.univ-rennes.fr\/en\/#website"},"datePublished":"2021-05-11T07:31:06+00:00","dateModified":"2025-06-24T14:40:14+00:00","breadcrumb":{"@id":"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/masters-cybersecurity-science-of-software-and-hardware-security\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\/rust-programming\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/masters-cybersecurity-science-of-software-and-hardware-security\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\/rust-programming\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/masters-cybersecurity-science-of-software-and-hardware-security\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\/rust-programming\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cyberschool.univ-rennes.fr\/en\/"},{"@type":"ListItem","position":2,"name":"Education","item":"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/"},{"@type":"ListItem","position":3,"name":"Master\u2019s and postgraduate programmes","item":"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/"},{"@type":"ListItem","position":4,"name":"Master\u2019s Cybersecurity, Science of Software and Hardware Security","item":"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/masters-cybersecurity-science-of-software-and-hardware-security\/"},{"@type":"ListItem","position":5,"name":"Study programme of the Master\u2019s Cybersecurity, Science of Software and Hardware Security","item":"https:\/\/cyberschool.univ-rennes.fr\/en\/education\/masters-and-postgraduate-programmes\/masters-cybersecurity-science-of-software-and-hardware-security\/study-programme-of-the-masters-cybersecurity-science-of-software-and-hardware-security\/"},{"@type":"ListItem","position":6,"name":"Rust Programming"}]},{"@type":"WebSite","@id":"https:\/\/cyberschool.univ-rennes.fr\/en\/#website","url":"https:\/\/cyberschool.univ-rennes.fr\/en\/","name":"CyberSchool","description":"Just another WordPress site","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cyberschool.univ-rennes.fr\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/cyberschool.univ-rennes.fr\/en\/wp-json\/wp\/v2\/pages\/3389","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cyberschool.univ-rennes.fr\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cyberschool.univ-rennes.fr\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cyberschool.univ-rennes.fr\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cyberschool.univ-rennes.fr\/en\/wp-json\/wp\/v2\/comments?post=3389"}],"version-history":[{"count":16,"href":"https:\/\/cyberschool.univ-rennes.fr\/en\/wp-json\/wp\/v2\/pages\/3389\/revisions"}],"predecessor-version":[{"id":17174,"href":"https:\/\/cyberschool.univ-rennes.fr\/en\/wp-json\/wp\/v2\/pages\/3389\/revisions\/17174"}],"up":[{"embeddable":true,"href":"https:\/\/cyberschool.univ-rennes.fr\/en\/wp-json\/wp\/v2\/pages\/11707"}],"wp:attachment":[{"href":"https:\/\/cyberschool.univ-rennes.fr\/en\/wp-json\/wp\/v2\/media?parent=3389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}