class: title # Introduction ## CSC 213 – August 31, 2026 --- # Agenda for Today 1. Introductions 2. Course Information 3. Upcoming Work 4. Discussion 5. C Practice 6. Wrap Up --- class: section blue # Introductions --- # Hello... 1. My name is .blank[]. 2. I would like to be called .blank[]. 3. I use the pronouns .blank[]. .light[(they/them, she/her, he/him, ...)] --- class: section, blue # Course Information --- # Basic Information ## Course Website
## Textbook Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau ## Class Mentors - Owen Block (morning) - Jason Chigibatia (morning) - Alex Janeway (afternoon) - Judd Brau (afternoon) --- class: section, gray # Class Website Tour --- class: section, blue # Upcoming Work --- # Assignment 1: Ngram Generator **Due:** Tuesday, September 8th by 11:59pm Submit your work to Gradescope, which has an autograder configured for most assignments. You can submit as many times as you like up until the deadline. Let's look at the assignment instructions now. --- class: section, blue # Discussion --- # Discussion Format We'll follow a ***think, pair, share*** model for discussions in this class. I will ask questions, usually on a slide. For each question, you should: -- 1. Think about the question yourself and try to come up with an answer. -- 2. Discuss your idea with a neighbor(s), and try to reach some agreement. -- 3. Be prepared to share your thoughts when I call on you. -- I will let you know when to move on from each step. Please don't shout out answers, and make sure you're working respectfully with your partners. --- # Discussion: Course Details **Questions for think, pair, share:** -- 1. What should you do if you need to miss class? -- 2. What resources are you permitted to use for assignments and labs in this course? -- 3. One of your lab group members suggests using an AI tool to complete part of our first lab. What are the policies on AI use, and how should you respond? -- 4. This class includes a significant amount of group work. Based on your prior experience, what can you do (or avoid doing) to help your group be successful? -- *Start by thinking of answers on your own. I will let you know when to start discussion.* --- # Questions Do you have any questions about course policies before we move on? --- # Discussion: Operating Systems **Questions for think, pair, share:** -- 1. Why do we (usually) write programs to run on top of an operating system instead of directly on the hardware? -- 2. What does it mean to "virtualize" something like the CPU or memory, and why would we want this? -- 3. What do you think are the three most important responsibilities of an OS? -- *Start by thinking of answers on your own. I will let you know when to start discussion.* --- class: section, blue # Expertise --- # Discussion: Expertise The goal of this course is to help you develop expertise, but what does that actually look like? Let's consider something where you're probably already an expert: getting around campus. -- ## Challenge Imagine you are in Burling and you need to get to the Bear. What route will you take and why? *Start by thinking of a route on your own. I'll let you know when to start discussing with neighbors.* -- ## Change of Plans **Oh no!** It's raining and you don't have a jacket or umbrella. How will you get to the Bear without getting soaked? -- ## Expertise How would someone who isn't an expert at getting around campus solve this problem? Why don't you do the same thing a beginner would? --- class: section, green # C Practice --- # C Practice: The Problem We are going to write a C program called `charsort` together as a class (I will drive). The program should do the following: 1. The program must accept exactly one string as a command line argument. 2. The output should be all of the letters in the input string, but printed in sorted order. -- For example: ```shell $ ./charsort hello ehllo ``` -- Take a minute to consider how you might approach this problem and what you might need to look up to implement your approach. --- class: section, gray # C Practice: Live Coding We didn't get very far on the coding exercise today, so we'll resume at the start of our next class. --- class: section, blue # Wrap Up --- # Reminders ## Assignment The Ngram Generator assignment is due on Tuesday evening. Start early so you have time to get stuck. I will post office hours soon, so if you have questions we'll have time to meet. ## Reading - **Beej's Quick Guide to GDB**