<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Assignments on CS 110L: Safety in Systems Programming</title>
    <link>//web.stanford.edu/class/cs110l/assignments/</link>
    <description>Recent content in Assignments on CS 110L: Safety in Systems Programming</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 17 Feb 2022 20:42:49 -0700</lastBuildDate><atom:link href="//web.stanford.edu/class/cs110l/assignments/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Project 2: Balancebeam</title>
      <link>//web.stanford.edu/class/cs110l/assignments/project-2-2022/</link>
      <pubDate>Thu, 17 Feb 2022 20:42:49 -0700</pubDate>
      
      <guid>//web.stanford.edu/class/cs110l/assignments/project-2-2022/</guid>
      <description>Networked services are everywhere, and keeping them running is a critical task: communications, credit card processing, the power grid, and much more all depend on networking infrastructure. Load balancers are a crucial component for providing scalability and availability to networked services, and in this assignment, you&amp;rsquo;ll feel out the internals of load balancers and learn what makes them tick!
Conceptually, there is a lot of overlap between this assignment and the CS 110 proxy assignment (which is the last assignment this quarter), so you&amp;rsquo;ll get a good chance to compare and contrast similar C++ and Rust code.</description>
    </item>
    
    <item>
      <title>Week 7 Exercises: Farm meets multithreading</title>
      <link>//web.stanford.edu/class/cs110l/assignments/week-7-exercises/</link>
      <pubDate>Wed, 16 Feb 2022 01:00:53 -0700</pubDate>
      
      <guid>//web.stanford.edu/class/cs110l/assignments/week-7-exercises/</guid>
      <description>Excellent job on making it well past the halfway point of the quarter! I&amp;rsquo;m so proud of all of your progress, and I hope you feel accomplished as well!
The goal of this week&amp;rsquo;s exercise is to get you thinking about multithreading material and to help you ask questions about lecture material that still feels confusing. Please ask questions! The exercise is designed to be light in order to give you time to focus on Project 1.</description>
    </item>
    
    <item>
      <title>Project 1: The DEET Debugger</title>
      <link>//web.stanford.edu/class/cs110l/assignments/project-1/</link>
      <pubDate>Sat, 05 Feb 2022 15:05:11 -0700</pubDate>
      
      <guid>//web.stanford.edu/class/cs110l/assignments/project-1/</guid>
      <description>In this project, you&amp;rsquo;ll implement the DEET debugger (Dodgy Eliminator of Errors and Tragedies) to get the deets on those pesky bugs in your code.
This project will give you practice with multiprocessing in Rust, and will give you a better sense of how processes are managed by the operating system as well as how ptrace can be used to circumvent process boundaries. While DEET is simpler and less powerful than GDB, you&amp;rsquo;ll experience the mechanics that all debuggers are based on.</description>
    </item>
    
    <item>
      <title>Week 5 exercises: Traits and Generics</title>
      <link>//web.stanford.edu/class/cs110l/assignments/week-5-exercises/</link>
      <pubDate>Wed, 02 Feb 2022 00:00:00 +0000</pubDate>
      
      <guid>//web.stanford.edu/class/cs110l/assignments/week-5-exercises/</guid>
      <description>You&amp;rsquo;re now past the halfway point of the quarter!! 🎉🎉🎉 By this point, you&amp;rsquo;ve learned so much about Rust, memory safety, and code organization paradigms. You&amp;rsquo;re now more than capable of writing some pretty sophisticated code!
Purpose This week, we will be working through some traits and generics syntax, which is handy for writing clean and well-organized code. This is a bit difficult to exercise in a one-week assignment, because it&amp;rsquo;s most handy in a large codebase, and we don&amp;rsquo;t want to have you sift through one.</description>
    </item>
    
    <item>
      <title>Week 3 (and 4) Exercises: Error handling and I/O</title>
      <link>//web.stanford.edu/class/cs110l/assignments/week-3-exercises/</link>
      <pubDate>Wed, 19 Jan 2022 15:05:11 -0700</pubDate>
      
      <guid>//web.stanford.edu/class/cs110l/assignments/week-3-exercises/</guid>
      <description>Great job making it so far in the quarter! It has only been three weeks, but we&amp;rsquo;ve covered a lot of ground. You&amp;rsquo;ve now learned enough to build useful and practical programs!
Purpose In these exercises, you&amp;rsquo;ll work through implementing a tool for inspecting file descriptors that you can use to debug your CS 110 assignments. You&amp;rsquo;ll get some practice with handling ownership/references and working with Option and Result, and you&amp;rsquo;ll also get some (very light) exposure to object-oriented programming in Rust!</description>
    </item>
    
    <item>
      <title>Week 2 Exercises: Hello world</title>
      <link>//web.stanford.edu/class/cs110l/assignments/week-2-exercises/</link>
      <pubDate>Thu, 08 Apr 2021 10:21:16 -0700</pubDate>
      
      <guid>//web.stanford.edu/class/cs110l/assignments/week-2-exercises/</guid>
      <description>Congratulations on making it to week 2!
Purpose This week&amp;rsquo;s exercises are designed to get you comfortable compiling/running Rust code and using basic Rust syntax. The best way to learn any language (human, computer, or otherwise) is through immersion, so you can consider this your study abroad in Rustland. We hope that this exercise will get some of the boring stuff out of the way and let us hit the ground running next week when we discuss concepts that you may not have encountered yet in the languages you&amp;rsquo;ve studied.</description>
    </item>
    
    <item>
      <title>Week 1 Exercises</title>
      <link>//web.stanford.edu/class/cs110l/assignments/week-1-exercises/</link>
      <pubDate>Thu, 01 Apr 2021 16:08:15 -0700</pubDate>
      
      <guid>//web.stanford.edu/class/cs110l/assignments/week-1-exercises/</guid>
      <description>Welcome to CS 110L! I&amp;rsquo;m so glad you&amp;rsquo;re here.
Purpose This week&amp;rsquo;s exercises are designed to help you get familiar with common C/C++ program analysis tools. Static and dynamic analyzers are extremely helpful, but they have major limitations and excel in different ways. These exercises will help you get a feel for the kind of errors that analyzers can detect, as well as those that are harder to find.
Please ask questions, answer each others&#39; questions, and discuss on Slack!</description>
    </item>
    
  </channel>
</rss>
