CS 4284 Systems & Networking Capstone

Slides:



Advertisements
Similar presentations
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
Advertisements

Fall 2004 WWW IS112 Prof. Dwyer Intro1: Overview and Syllabus Professor Catherine Dwyer.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
CS 3204 Operating Systems Godmar Back Lecture 1. Why study operating systems?
Cpt S 471/571: Computational Genomics Spring 2015, 3 cr. Where: Sloan 9 When: M WF 11:10-12:00 Instructor weekly office hour for Spring 2015: Tuesdays.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
Introduction to Data Structures
Course Information Sarah Diesburg Operating Systems COP 4610.
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
CS 3214 Computer Systems Godmar Back Lecture 1. CS 3214 Fall 2010 About Me Undergraduate Work at Humboldt and Technical University Berlin PhD University.
CS Welcome to CS 5383, Topics in Software Assurance, Toward Zero-defect Programming Spring 2007.
CS 3214 Computer Systems Godmar Back Lecture 1. CS 3214 Fall 2011 About Me Undergraduate Work at Humboldt and Technical University Berlin PhD University.
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
Dr. Jeff Cummings MIS323 Business Telecommunications.
Welcome to CSCI 230 Computing I Dale Roberts, Lecturer Department of Computer and Information Science IUPUI.
COP4610 Principles of Operating Systems Prof. Robert van Engelen Department of Computer Science Florida State University.
Lecture 4 Page 1 CS 111 Online Modularity and Memory Clearly, programs must have access to memory We need abstractions that give them the required access.
A Flipped Classroom: A Case Study Integrating MyITlab in a Technology Literacy Course: Lessons Learned Deanna Gordon, Professor Maryann Gallant, Professor.
W4118 Operating Systems Junfeng Yang. What this course is about  Fundamental OS concepts  OS: one of the most crucial, almost everything thru OS  What?
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
CSc 120 Introduction to Computer Programing II
Networking CS 3470, Section 1 Sarah Diesburg
CSE 489/589 Modern Networking Concepts
Welcome to CSE 502 Introduction.
Course Overview - Database Systems
Welcome to SSE3044 Operating Systems!
Andy Wang Object Oriented Programming in C++ COP 3330
Networking CS 3470, Section 1 Sarah Diesburg
CS101 Computer Programming I
Welcome to AP Stats!.
CS 3214 Computer Systems Course Introduction Godmar Back.
GAD: UTCS Graduate Student Advising Day Asking and Answering Interview Questions Kathryn S McKinley.
Course Introduction – Fall 2014
MIS323 Business Telecommunications
Course Information Mark Stanovich Principles of Operating Systems
Introduction CS 111 On-Line MS Program Operating Systems Peter Reiher
Modularity and Memory Clearly, programs must have access to memory
Computer Science 102 Data Structures CSCI-UA
MGT 3823: Responsible leadership
CS 4284 Systems & Networking Capstone
Cpt S 471/571: Computational Genomics
Online Composition with Georgie Ziff
CS 5565 Network Architecture and Protocols
Course Overview - Database Systems
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Object Oriented Programming in C++ COP 3330
CS 1302 Programming Principles II
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Cpt S 471/571: Computational Genomics
Critical Thinking with Georgie Ziff
CS 5204 Operating Systems Fall 2005
Andy Wang Operating Systems COP 4610 / CGS 5765
MIS323 Business Telecommunications
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Version Control CS169 Lecture 7 Prof. Aiken CS 169 Lecture 7 1.
First Semester 1439/1440 Welcome 
Andy Wang Operating Systems COP 4610 / CGS 5765
Welcome to CSE 502 Introduction.
CS 2530 Intermediate Computing Dr. Schafer
Lecture 1- Introduction
CS 5565 Network Architecture and Protocols
Andy Wang Operating Systems COP 4610 / CGS 5765
EECE.4810/EECE.5730 Operating Systems
Lecture 1a- Introduction
Sarah Diesburg Operating Systems CS 3430
CS201 – Course Expectations
Presentation transcript:

CS 4284 Systems & Networking Capstone Godmar Back

Why study operating systems?

CS 4284 Spring 2013 9/22/2018

CS 4284 Spring 2013 9/22/2018

High-level Objectives Learn how an OS works OS are essential to everything we do with computers Get an inside view (“internal perspective”) Look at design & implementation Learn by doing (“concrete approach”) You’ll code a substantial part of an actual OS CS 4284 Spring 2013 9/22/2018

A bit of history Joined department in 2004 Revised core OS course in 2005, taught as CS 3204 from 2005-2009 2009 Revision of undergrad curriculum, creation of CS 3214 Computer System (required course) CS 4284 S&N Capstone (elective) CS 4284 Spring 2013 9/22/2018

Industry Feedback on old CS3204 We've hired a few students and interns recently from Tech. During the interview process, and during conversations with faculty and students, it became apparent that CS3204 Operating systems, and specially the project oriented version had a great impact in our interest in a candidate. We consistently could distinguish between systems oriented students/graduates applying for internships or full time positions based on how they described their experiences in that class. We also believe that they learnt a lot through this course, giving them a distinct edge over candidates from some of the other schools we recruit from, ranging from scheduling primitives and memory management to file system basics and IPC. CS 4284 Spring 2013 9/22/2018

Class Format Lectures No exams No homeworks 4 Structured Projects 1 Open-ended project Presentation Poster CS 4284 Spring 2013 9/22/2018

Prerequisites Willingness to master an intellectually challenging subject Solid knowledge of C Formal prerequisite: C or better in CS 3214 Informal prereq: B or better CS 4284 Spring 2013 9/22/2018

Programming Projects 4 Projects: 1, 2, 3, and 4. Projects 1-4 will use the Pintos operating system developed at Stanford. Project dependency graph P3 Open Ended P1 P2 P4 CS 4284 Spring 2013 9/22/2018

Project Difference #1 The Pintos projects have reputation for being hard But you’ve been through CS 3214! Expect a stimulating challenge About 2,500 lines of code (over the entire semester) to write We will help: Provide tools, answer questions Although Pintos is a true OS, we run it in a simulator or emulator (Bochs or Qemu)  reproducibility! Also possible: Run Pintos on actual hardware! Ask lots of questions! CS 4284 Spring 2013 9/22/2018

Project Difference #2 The projects are group projects Working in a group more closely resembles what you do outside of academia Can design together, code together Practice group collaboration tools Group members must contribute equally 2-3 students per group All project-related policies are identical. CS 4284 Spring 2013 9/22/2018

Project Difference #3 Read before you code We can’t build an OS from scratch in a semester Start with very primitive baseline code You must read a substantial amount of (well-written, well-documented) code before starting the projects All of Pintos is about 7,000 lines Must intimately understand probably 500-1000 lines, will be introduced gradually Welcome to read all nitty-gritty details CS 4284 Spring 2013 9/22/2018

Project Difference #4 Only 75% of your grade comes from test cases All test cases are public 25% is given for design & documentation Will grade both design and code quality Explain your design rationale Better designs will yield generally more credit Flawed design will incur deductions Bugs that become apparent from your description will lead to deduction Create maintainable code, of “peer review” quality Don’t be fooled: this doesn’t mean your implementation counts for only 75% - we don’t give credit for descriptions of unimplemented designs, or designs where tests show you didn’t implement them correctly CS 4284 Spring 2013 9/22/2018

Open Ended Project Extend Pintos in an interesting way! Multi-threading Networking IPC Shared memory Sbrk() CFS … CS 4284 Spring 2013 9/22/2018

Late Policy No late submissions will be accepted. Instead, you have 4 late days for projects 1-4: Self-granted extensions, no need to ask for permission Contact instructor in extraordinary circumstances only Job interviews do not count CS 4284 Spring 2013 9/22/2018

Grading Tentative breakdown (subject to change): 50% Projects 1-4 20% Poster & Presentation 30% Open Ended Project Not bound to any curve in this capstone class Grades will depend on performance Good performance -> good grade “Auto-Fail Rules”, borrowed from old CS 3204 Must pass 90% of tests included in Project 2 by end of semester Must show “strong effort” in open-ended project CS 4284 Spring 2013 9/22/2018

Forum Rules (aka Lex skottie) Not allowed: Posting of any code that is part of your solution to the forum (*) Posting the answers to design document questions Posting detailed descriptions of your group’s design Uncivil behavior (*) Exception: “1-line-rule” Can post 1 line iff it causes a compile-time error Ok to post: Backtraces, debugging output, debugger messages Illustrating example for a technique Questions & explanations relating to concept Questions & answers relating to Pintos in general If in doubt, ask before posting! CS 4284 Spring 2013 9/22/2018

Honor Code Will be strictly enforced in this class Do not cheat Will not give warning or engage in discussions before filing honor code cases where I believe they are warranted Do not cheat Observe collaboration policy outlined in syllabus Will use MOSS for software cheating detection Do not borrow code from other offerings Follow collaboration policy Read all policies posted on the website “I was not aware…” is no excuse If in doubt, ask! CS 4284 Spring 2013 9/22/2018

Acknowledgements Will draw in lectures from Silberschatz et al’s book (“Dinosaur book”) And other texts, in particular Stalling’s book and Tannenbaum’s Modern Operating Systems Course material created in other courses using Pintos E.g., CS140 @ Stanford, CS 326 @ U San Francisco Course material created by McQuain & other VT instructors And other sources CS 4284 Spring 2013 9/22/2018

Reading Material Optional Textbook Silberschatz, Galvin, Gagne: Operating Systems Concepts (9th Edition), 2012 CS 4284 Spring 2013 9/22/2018