
Concurrency and Memory Safe System Software Development Course Introduction
Explore the course CSE 542S on Concurrency and Memory Safe System Software Development at Washington University in St. Louis. Learn about Rust language features, memory safety, and concurrency guarantees. The course environment includes lectures, studio/lab sessions, and expectations for students. Dive into hands-on assignments, textbook readings, and group work to enhance understanding of system software development.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
E81 CSE 542S: Concurrency and Memory Safe System Software Development Course Introduction Department of Computer Science & Engineering Washington University, St. Louis MO Chris Gill cdgill@wustl.edu 1
What is this class about? 1. How different Rust language and library features support system software development 2. The semantics of those features, including memory safety and concurrency safety guarantees 3. How to combine those features as you design and implement solutions to assigned studios and labs 2 CSE 542S Concurrency and Memory Safe System Software Development
Course Environment Lectures & studio/lab time will be in Urbauer 216 Bring a laptop and/or use the machines in that lab space We will compile, test, run programs using ssh, Rust tools, and Linux on the Linux Lab machines Widely available and open-source tools/environments We will use other tools available there as well 3 CSE 542S Concurrency and Memory Safe System Software Development
Expectations This course revisits foundations introduced in earlier systems software courses Students are required to have taken CSE 422S or a comparable hands-on OS course or be a graduate student and proficient in memory management and concurrency semantics We will cover lots of material (~50 pages/wk) and will build rapidly from topic to topic as we go If you have concerns about keeping up please ask 4 CSE 542S Concurrency and Memory Safe System Software Development
A Typical Class About 20 minutes of lecture discussing that day s readings and the topic for that studio session If a lab is assigned that day as well, covering it too may take a bit longer In-class office hours and studio/lab time Studios Short assignments that offer hands-on experience with the day s topics Graded for completion Reading assignments are typically helpful for competing studios! Complete studios early. Don t fall behind! Studio feedback is also typically relevant for exams and lab assignments Please work in groups of up to 3 students 5 CSE 542S Concurrency and Memory Safe System Software Development
Textbook for Reading Assignments Programming Rust, Second Edition by Blandy, Orendorff, and Tindall A fairly comprehensive coverage of programming in Rust The course s topics will proceed in the order they appear in this textbook 6 CSE 542S Concurrency and Memory Safe System Software Development
Optional Textbook for Enrichment The Rust Programming Language, Second Edition by Klabnik and Nichols Another solid book on programming in Rust, with some additional perspectives and emphasis Selected readings in this optional textbook will be suggested as well 7 CSE 542S Concurrency and Memory Safe System Software Development
Labs and Exams There will be 3 lab assignments this semester Labs will increase in length, complexity and value as the semester proceeds Two in-semester exams will cover lecture and reading materials, studios and labs Exams are not comprehensive, except where later topics depend on earlier ones 8 CSE 542S Concurrency and Memory Safe System Software Development
Grading Your grade will be determined as follows, where 90% is at least an A-, 80% at least a B-, and 70% at least a C- (and a passing grade if P/F) Activity Grade Percentage Exam 0 15% Exam 1 15% Studios 20% Lab 1 10% Lab 2 15% Lab 3 25% 9 CSE 542S Concurrency and Memory Safe System Software Development