CS 326: Operating Systems. Lecture 1

Size: px
Start display at page:

Download "CS 326: Operating Systems. Lecture 1"

Transcription

1 CS 326: Operating Systems Lecture 1

2 Welcome to CS 326! Glad to have you all in class! Lecture Information: Time: T, Th 9:55 11:40am Lab: M 4:45 6:20pm Room: LS G12 Course website: 8/21/18 CS 326: Operating Systems 2

3 Staff Instructor: Matthew Malensek Office Hours: M, T, Th 3:30 4:30pm (or by appointment!) Research: distributed systems, big data TA: Marcus Chong Office Hours: T, Th 12:45 2:15pm TA: Rugved Mavidipalli Office Hours: TBA 8/21/18 CS 326: Operating Systems 3

4 Communication You ll receive a signup later today for Piazza to the instructor is fine too, but if your question could help others then please post on Piazza! All announcements will be posted on Piazza 8/21/18 CS 326: Operating Systems 4

5 Enrollment Status We currently have 30 students enrolled with several more on the waitlist If you re enrolled, great! If not, please make note of this on our Lab 0 assignment that we ll do today 8/21/18 CS 326: Operating Systems 5

6 Quick Note: Prerequisites CS 220 or CS 221 with a C or better CS 245 with a C or better 8/21/18 CS 326: Operating Systems 6

7 Today s Agenda Syllabus Our computing platform: the Raspberry Pi Introduction to Operating Systems 8/21/18 CS 326: Operating Systems 7

8 Today s Agenda Syllabus Our computing platform: the Raspberry Pi Introduction to Operating Systems 8/21/18 CS 326: Operating Systems 8

9 Staying up to Date Check the course website before class for: Syllabus Recent announcements Assignments Printable lecture notes Grades will be posted on Canvas Project submissions: GitHub 8/21/18 CS 326: Operating Systems 9

10 You Will Learn How to configure a Linux-based operating system and work from the shell Operating system components and implementations Threads, processes, synchronization, system calls, scheduling, virtual memory, and file systems How to develop UNIX system software, including concurrent programs Debugging complex systems and low-level software UNIX tools such as make and git 8/21/18 CS 326: Operating Systems 10

11 Books Operating Systems: Three Easy Pieces Remzi H. Arpaci-Dusseau and Andrea C. Arpaci- Dusseau Free online as a PDF. You can also buy a hard copy. The C Programming Language, 2nd Edition Brian W. Kernighan and Dennis M. Ritchie 8/21/18 CS 326: Operating Systems 11

12 Course Structure OS class is a bit unique: there s a decent amount of theory, but we ll get to apply it in practical situations We ll have small practice problems (homework/lab) as well as ~4 larger projects There s also a lab session on Mondays. Lab time gives you the opportunity to work on your homework/projects and get feedback right away We ll do interactive grading in the lab 8/21/18 CS 326: Operating Systems 12

13 Evaluation No midterm exams We ll have a quiz every 3 weeks; dates posted on the course schedule page Individual + Group component Final exam: not required If you don t do well on a quiz or miss one, then you can take the comprehensive final exam and replace up to two quiz scores 8/21/18 CS 326: Operating Systems 13

14 Grade Distribution Homework/Labs: 20% Quizzes: 30% Individual: 20% Group: 10% Projects: 50% 8/21/18 CS 326: Operating Systems 14

15 Grading Score Grade A A B B B C C C D D D F 8/21/18 CS 326: Operating Systems 15

16 Simplified Grading HW/Labs 10 A working solution. Functions are commented and code is formatted consistently. 9 A working solution with minor issues, or poor documentation/formatting. 5 Partial solution 0 Incorrect solution or no submission. 8/21/18 CS 326: Operating Systems 16

17 Policies Assignments are due at 11:59 pm on the due date Late homework/labs are not accepted Slip days: you get 4 slip days that you can use over the course of the semester Use them to turn in projects late, OR correct bugs in your graded project 8/21/18 CS 326: Operating Systems 17

18 Today s Agenda Syllabus Our computing platform: the Raspberry Pi Introduction to Operating Systems 8/21/18 CS 326: Operating Systems 18

19 Raspberry Pi Most of the work we ll be doing in class will be on the Raspberry Pi Specifically, the Raspberry Pi 3 Model B -or- Raspberry Pi 3 Model B+ Credit card sized singleboard computer Everyone will need to get a a Pi ~$36 + accessories 8/21/18 CS 326: Operating Systems 19

20 Pi Specs (Pi B 3+) 1.4GHz 64-bit quad-core ARMv8 CPU, 1 GB RAM n Wireless LAN, 10/100/1000Mbps LAN Bluetooth, 4 USB ports, 40 GPIO pins, Full HDMI port, Combined 3.5mm audio jack and composite video Camera interface (CSI), Display interface (DSI), VideoCore IV 3D graphics core 8/21/18 CS 326: Operating Systems 20

21 Why Pi? You ll get experience working with Linux without needing to virtualize or dual boot your laptop Freedom to break things: if you completely wipe out your OS, just reload it and start over The Pi is currently the de facto standard in single board computers Besides being a portable, simple platform for learning Operating Systems, the Pi is useful for tons of other applications! 8/21/18 CS 326: Operating Systems 21

22 Pi Compute Cluster 8/21/18 CS 326: Operating Systems 22

23 GPIO Pins The Pi General Purpose IO (GPIO) pins can be used to add external devices such as sensors 8/21/18 CS 326: Operating Systems 23

24 Other Uses Home web server Streaming music server Home automation Etc Order your components ASAP, we ll set up the software next Tuesday: (I ll put this link on the website -> schedule page) 8/21/18 CS 326: Operating Systems 24

25 Minimum Hardware Requirements A Raspberry Pi 3 Model B USB TTL cable A USB power cable (recommended: with a switch) An 8GB (or higher) micro SD card (get high speed) Optional: case Optional: USB Ethernet adapter 8/21/18 CS 326: Operating Systems 25

26 Make Your Life Easier Get a good power supply. Often students can t get their Pi to work because their laptop can t power it! Get a good SD card. There are cheap, counterfeit cards available but they: Aren t actually as big as they say they are Fail in a couple days Explode into a fiery inferno, causing death and destruction Treat your Pi with the love and respect it deserves J 8/21/18 CS 326: Operating Systems 26

27 Today s Agenda Syllabus Our computing platform: the Raspberry Pi Introduction to Operating Systems 8/21/18 CS 326: Operating Systems 27

28 Operating Systems 8/21/18 CS 326: Operating Systems 28

29 Operating System So, what is an OS? An OS provides a layer of abstraction between your computer s hardware and software Computer science is all about layers of abstraction: Nobody wants to program in binary, so we have assembly Nobody wants to program in assembly, so we have C Nobody wants to manage their own memory, so there s Java Nobody wants to write another AbstractFactoryBuilderPattern, so there s Python 8/21/18 CS 326: Operating Systems 29

30 Virtualization The basic concept of OS is Virtualization Rather than exposing the hardware directly to programs, a nice set of virtual interfaces are provided Logitech MX Mouse à Mouse Samsung 1 TB SSD à Mass storage device Etc. Programs don t have to worry about what s going on in the system Appear to have their own CPU, memory, etc 8/21/18 CS 326: Operating Systems 30

31 OS Diagram Nice, Friendly Layer No need for apps to worry about the hardware 8/21/18 CS 326: Operating Systems 31

32 Before Operating Systems To understand the role of the OS, it s easier to think about how things were before we had them In ye olden times, running a program meant putting a giant floppy disk in your computer and booting it up After boot, the program then had complete control over the computer Must interface with the hardware directly 8/21/18 CS 326: Operating Systems 32

33 8/21/18 CS 326: Operating Systems 33

34 Program Execution Once the boot process is complete, your program has total control over the system hardware Great! But How do we support all the different types of hardware out there? It would be nice to not reinvent the wheel (graphics routines, I/O, etc) every time we write a new program What about multitasking? We need an Operating System! 8/21/18 CS 326: Operating Systems 34

35 Primitive Processes Early PC operating systems such as DOS provided a process abstraction: Instantiated state of a program: code, data, etc. This allowed the OS to provide hardware abstraction and execute different types of programs Each process has full control of the hardware Only one process runs at a time Eventually, cooperative multitasking allowed programs to run at the same time 8/21/18 CS 326: Operating Systems 35

36 CPU Scheduling 8/21/18 CS 326: Operating Systems 36

37 Modern Processes Today, processes are scheduled preemptively The process state or context is saved and swapped out with another OS scheduler decides which processes get to run Processes are given their own virtual memory space Not allowed to interfere with other processes or the operating system Resource limits keep rogue/runaway processes in check 8/21/18 CS 326: Operating Systems 37

38 Security and Resource Mgmt Isolating programs from one another helps enforce security constraints OS generally have support for multiple concurrent users and permissions The OS is also in charge of allocating resources Assigning memory, CPU usage 8/21/18 CS 326: Operating Systems 38

39 OS Components An operating system is composed of several different parts The main component is the kernel The kernel controls everything Hardware, software, resource allocation, privileged operations Linux itself isn t an OS: it s actually a Kernel This why it s often called GNU+Linux (GNU User space) 8/21/18 CS 326: Operating Systems 39

40 Our Focus This course will cover two domains: User space most OS include lots of bundled programs. These really aren t that much different than the programs we write on a day-to-day basis Kernel space provides all the functionality that makes virtualizing the hardware possible Exposes an API to the user space: system calls And we ll write code for both 8/21/18 CS 326: Operating Systems 40

41 Wrapping Up Welcome to class (again!) Ask questions, come to instructor/ta office hours. We re here to make sure you succeed! Next class: We ll define what OS responsibilities are and look at some examples C Review Last thing: please fill this out 8/21/18 CS 326: Operating Systems 41

Spring 2017 :: CSE 506. Introduction. Nima Honarmand

Spring 2017 :: CSE 506. Introduction. Nima Honarmand Introduction Nima Honarmand What is an Operating System? (1) App 1 App 2 App n Operating System Processor Disk Memory Network What are the main tasks of an OS? What is an Operating System? (2) What are

More information

Operating Systems, Spring 2015 Course Syllabus

Operating Systems, Spring 2015 Course Syllabus Operating Systems, Spring 2015 Course Syllabus Instructor: Dr. Rafael Ubal Email: ubal@ece.neu.edu Office: 140 The Fenway, 3rd floor (see detailed directions below) Phone: 617-373-3895 Office hours: Wednesday

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Web Page http://pdinda.org/ics Syllabus See the web page for more information. Class discussions are on Piazza We will make only minimal use of Canvas (grade reports, perhaps

More information

Syllabus CSCI 405 Operating Systems Fall 2018

Syllabus CSCI 405 Operating Systems Fall 2018 Syllabus CSCI 405 Operating Systems Fall 2018 1.0 General Information Class Time: Monday/Wednesday/Friday 11:00 AM - 11:50 AM Class Location: 317 Thompson Instructor: Dr. Deepti Joshi; Office: 224 Thompson;

More information

CS240: Programming in C

CS240: Programming in C CS240: Programming in C Lecture 1: Class overview. Cristina Nita-Rotaru Lecture 1/ Fall 2013 1 WELCOME to CS240 Cristina Nita-Rotaru Lecture 1/ Fall 2013 2 240 Team Instructor: Cristina Nita-Rotaru Special

More information

Artificial Intelligence in the World. Prof. Levy Fromm Institute Spring Session, 2017

Artificial Intelligence in the World. Prof. Levy Fromm Institute Spring Session, 2017 Artificial Intelligence in the World Prof. Levy Fromm Institute Spring Session, 2017 Lecture 2 agenda What is software and how is it made? History of computing 1945 1965 Key people John von Neumann, John

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Syllabus Web Page http://www.cs.northwestern.edu/~pdinda/icsclass Instructor Peter A. Dinda 1890 Maple Avenue, Room 338 847-467-7859 pdinda@cs.northwestern.edu Office hours:

More information

SWE3004: Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

SWE3004: Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University SWE3004: Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Introduction Schedule 16:30 17:45 (Monday), 13:30 14:45 (Wednesday) Lecture

More information

CS 241 Data Organization. August 21, 2018

CS 241 Data Organization. August 21, 2018 CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/

More information

CS 241 Data Organization using C

CS 241 Data Organization using C CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am

More information

CSci Introduction to Operating Systems. Administrivia, Intro

CSci Introduction to Operating Systems. Administrivia, Intro CSci 4061 Introduction to Operating Systems Administrivia, Intro Me: Welcome to 4061! Jon Weissman CS Professor circa 1999 Call me Jon TAs: Zach Leidall, Francis Liu, Fei Wu, Parag Panda, Gaurav Khandelwal

More information

18-447: Computer Architecture Lecture 16: Virtual Memory

18-447: Computer Architecture Lecture 16: Virtual Memory 18-447: Computer Architecture Lecture 16: Virtual Memory Justin Meza Carnegie Mellon University (with material from Onur Mutlu, Michael Papamichael, and Vivek Seshadri) 1 Notes HW 2 and Lab 2 grades will

More information

[301] Introduction. Tyler Caraza-Harter

[301] Introduction. Tyler Caraza-Harter [301] Introduction Tyler Caraza-Harter Welcome to Data Programming! Data is exploding in many fields Biology, physics, chemistry Psychology, sociology, economics, business Engineering (mechanical, electrical,

More information

CSC Operating Systems Fall Lecture - I Introduction. Tevfik Ko!ar. Louisiana State University. August 25 th, Contact Information

CSC Operating Systems Fall Lecture - I Introduction. Tevfik Ko!ar. Louisiana State University. August 25 th, Contact Information CSC 4103 - Operating Systems Fall 2009 Lecture - I Introduction Tevfik Ko!ar Louisiana State University August 25 th, 2009 1 Contact Information Instructor: Prof. Tevfik Kosar Office: 292 Coates (also

More information

Raspberry Pi Introduction

Raspberry Pi Introduction ECE 1160/2160 Embedded Systems Design Raspberry Pi Introduction Wei Gao ECE 1160/2160 Embedded Systems Design 1 Raspberry Pi Classic embedded computer Single board computer Size of a credit card ECE 1160/2160

More information

Welcome to Solving Problems with Computers I

Welcome to Solving Problems with Computers I Welcome to Solving Problems with Computers I CS 16: Solving Problems with Computers I Lecture #1 Ziad Matni Dept. of Computer Science, UCSB Image from agorolabs on slideshare.com A Word About Registration

More information

CS 240 Fall 2015 Section 004. Alvin Chao, Professor

CS 240 Fall 2015 Section 004. Alvin Chao, Professor CS 240 Fall 2015 Section 004 Alvin Chao, Professor Today Course overview Data Structures / Algorithms Course policies The C language Motivation Computers are digital Data is stored in binary format (1's

More information

CSci 5103 Operating Systems. Jon Weissman. Administrivia

CSci 5103 Operating Systems. Jon Weissman. Administrivia CSci 5103 Operating Systems Jon Weissman Administrivia Greetings Welcome to CSci 5103! me: Jon Weissman, Professor CS office hours M 1-2pm, 4-225F KH or when I am around interests: distributed and parallel

More information

COMPSCI: Principles of Operating Systems. Lecture 1: Introduction. Anton Burtsev January, 2017

COMPSCI: Principles of Operating Systems. Lecture 1: Introduction. Anton Burtsev January, 2017 COMPSCI: Principles of Operating Systems Lecture 1: Introduction Anton Burtsev January, 2017 Class details Undergraduate 22 students Instructor: Anton Burtsev Meeting time: 9:00-9:50am (M, W, F) Discussions:

More information

Operating System Labs. Yuanbin Wu

Operating System Labs. Yuanbin Wu Operating System Labs Yuanbin Wu cs@ecnu Operating System Labs Introduction to Unix (*nix) Course Overview Operating System Labs Introduction to Unix (*nix) Course Overview Unix / *nix What A family of

More information

CMSC433 - Programming Language Technologies and Paradigms. Introduction

CMSC433 - Programming Language Technologies and Paradigms. Introduction CMSC433 - Programming Language Technologies and Paradigms Introduction Course Goal To help you become a better programmer Introduce advanced programming technologies Deconstruct relevant programming problems

More information

SSE3044: Operating Systems

SSE3044: Operating Systems SSE3044: Operating Systems Spring 2018 Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu)

More information

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Dr. Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Spring 2016 Course Goals: Look under the hood Help you learn what happens under the hood of computer systems

More information

CSE 153 Design of Operating Systems

CSE 153 Design of Operating Systems CSE 153 Design of Operating Systems Winter 2019 Lecture 4: Processes Administrivia If you have not already, please make sure to enroll in piazza ~20 students have not yet Lab 1: please check the hints

More information

Welcome to COMPSCI111/111G!

Welcome to COMPSCI111/111G! Welcome to COMPSCI111/111G! Today s class Introduction to COMPSCI111/111G People Assessment Labs Test and exam Introduction to computer hardware https://www.cs.auckland.ac.nz/courses/compsci111s1c/ Lecturers

More information

CS 378 (Spring 2003) Linux Kernel Programming. Yongguang Zhang. Copyright 2003, Yongguang Zhang

CS 378 (Spring 2003) Linux Kernel Programming. Yongguang Zhang. Copyright 2003, Yongguang Zhang Department of Computer Sciences THE UNIVERSITY OF TEXAS AT AUSTIN CS 378 (Spring 2003) Linux Kernel Programming Yongguang Zhang (ygz@cs.utexas.edu) Copyright 2003, Yongguang Zhang Read Me First Everything

More information

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017 CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Introduction o Instructor of Section 002 Dr. Yue Cheng (web: cs.gmu.edu/~yuecheng) Email: yuecheng@gmu.edu Office: 5324 Engineering

More information

Welcome to CS 241 Systems Programming at Illinois

Welcome to CS 241 Systems Programming at Illinois Welcome to CS 241 Systems Programming at Illinois Marco Caccamo & Brighten Godfrey Copyright : University of Illinois CS 241 Staff 1 The Team Marco Caccamo Office: 4118 SC (office hours: Friday 11.50-12.50)

More information

CS 326: Operating Systems. CPU Scheduling. Lecture 6

CS 326: Operating Systems. CPU Scheduling. Lecture 6 CS 326: Operating Systems CPU Scheduling Lecture 6 Today s Schedule Agenda? Context Switches and Interrupts Basic Scheduling Algorithms Scheduling with I/O Symmetric multiprocessing 2/7/18 CS 326: Operating

More information

Announcements. 1. Forms to return today after class:

Announcements. 1. Forms to return today after class: Announcements Handouts (3) to pick up 1. Forms to return today after class: Pretest (take during class later) Laptop information form (fill out during class later) Academic honesty form (must sign) 2.

More information

CS510 Operating System Foundations. Jonathan Walpole

CS510 Operating System Foundations. Jonathan Walpole CS510 Operating System Foundations Jonathan Walpole Course Overview Who am I? Jonathan Walpole Professor at PSU since 2004, OGI 1989 2004 Research Interests: Operating System Design, Parallel and Distributed

More information

CIS*1500 Introduction to Programming

CIS*1500 Introduction to Programming CIS*1500 Introduction to Programming CIS*1500 Learning to program The basic constructs of programming Programming in the C language Solving real problems Not just about coding! About me??? Some basic things...

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

CS 140e. Opera&ng Systems from the Ground Up

CS 140e. Opera&ng Systems from the Ground Up CS 140e Opera&ng Systems from the Ground Up CS 140e Goals Learn OS fundamentals. Disks, File systems, I/O Threads & Processes Scheduling Virtual Memory Protection & Security Interrupts Concurrency & Synchronization

More information

COMP 321: Introduction to Computer Systems

COMP 321: Introduction to Computer Systems COMP 321: Introduction to Computer Systems Alan L. Cox alc@rice.edu Michael Fagan mfagan@rice.edu Goals Understand programming better Linking Exceptions Memory I/O Networking Prepare for systems classes

More information

Operating System Labs. Yuanbin Wu

Operating System Labs. Yuanbin Wu Operating System Labs Yuanbin Wu cs@ecnu Operating System Labs Introduction to Unix (*nix) Course Overview Operating System Labs Introduction to Unix (*nix) Course Overview Unix / *nix What An familiy

More information

Welcome to CSE 4300! Spring 2018

Welcome to CSE 4300! Spring 2018 Welcome to CSE 4300! Spring 2018 Today, we will see. Course information Personnel Policy Schedule Grading Course overview Instructor and TA Instructor: Song Han Instructor email: song.han@uconn.edu Office:

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Intro to CSC116 Instructors Course Instructor:

More information

Compilers for Modern Architectures Course Syllabus, Spring 2015

Compilers for Modern Architectures Course Syllabus, Spring 2015 Compilers for Modern Architectures Course Syllabus, Spring 2015 Instructor: Dr. Rafael Ubal Email: ubal@ece.neu.edu Office: 140 The Fenway, 3rd floor (see detailed directions below) Phone: 617-373-3895

More information

COS 318: Operating Systems. Introduction

COS 318: Operating Systems. Introduction COS 318: Operating Systems Introduction Kai Li Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cs318/) Today Course staff and logistics What is operating system? Evolution

More information

CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I

CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I Lecture 1: Class Introduction DR. BO TANG ASSISTANT PROFESSOR HOFSTRA UNIVERSITY 1 9/7/16 CSC15 - Python OUTLINE What is Computer Science? What is this Class

More information

WELCOME TO CS 16! Enrollment status: 117/ Problem Solving with Computers-I

WELCOME TO CS 16! Enrollment status: 117/ Problem Solving with Computers-I WELCOME TO CS 16! Problem Solving with Computers-I https://ucsb-cs16-s18-mirza.github.io/ Enrollment status: 117/105 2 About me Diba Mirza (diba@ucsb.edu) PhD (Computer Engineering, UCSD) First year as

More information

Chris Riesbeck, Fall Introduction to Computer Systems

Chris Riesbeck, Fall Introduction to Computer Systems Chris Riesbeck, Fall 2011 Introduction to Computer Systems Welcome to Intro. to Computer Systems Everything you need to know http://www.cs.northwestern.edu/academics/courses/213/ Instructor: Chris Riesbeck

More information

Operating Systems. Minati De. Lecture 1: Introduction. Department of Mathematics, Indian Institute of Technology Delhi, India.

Operating Systems. Minati De. Lecture 1: Introduction. Department of Mathematics, Indian Institute of Technology Delhi, India. Operating Systems Minati De Department of Mathematics, Indian Institute of Technology Delhi, India. Lecture 1: Introduction Course Logistics Text Books: Operating Systems: Principles and Practice 2nd Edition

More information

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018 San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018 Course and Contact Information Instructor: Vidya Rangasayee Office Location: MH 213 Telephone:

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

CS120 Computer Science I. Instructor: Jia Song

CS120 Computer Science I. Instructor: Jia Song CS120 Computer Science I Instructor: Jia Song Instructor Contact Information Instructor: Dr. Jia Song Email: jsong@uidaho.edu (Preferred) Phone: (208) 885-1710 Office: JEB 240 (CSDS Security Lab) JEB 340

More information

CS 0449 Intro to Systems Software Fall Term: 2181

CS 0449 Intro to Systems Software Fall Term: 2181 CS 0449 Intro to Systems Software Fall Term: 2181 Class Recitation Recitation Recitation Time: 11:00am 12:15pm 03:00pm 03:50pm 10:00am 10:50am 09:00am 09:50am Days: TH T W F Number 19730 20024 19731 27127

More information

About Me. Office Hours: Tu 4-5, W 1-2, or by appointment Office: 346A IST Bldg

About Me. Office Hours: Tu 4-5, W 1-2, or by appointment Office: 346A IST Bldg 1 About Me Trent Jaeger (PhD, University of Michigan) Associate Professor, CSE -- after 9 years at IBM Research Research: Operating System Security Example Projects L4 Microkernel -- minimal, high performance

More information

EECS150 Lab Lecture 5 Introduction to the Project

EECS150 Lab Lecture 5 Introduction to the Project EECS150 Lab Lecture 5 Introduction to the Project Ian Juch Electrical Engineering and Computer Sciences University of California, Berkeley 9/28/2012 1 Note on Lab4 You should augment the testbenches we

More information

COSC 115A: Introduction to Web Authoring Fall 2014

COSC 115A: Introduction to Web Authoring Fall 2014 COSC 115A: Introduction to Web Authoring Fall 2014 Instructor: David. A. Sykes Class meetings: TR 1:00-2:20PM in Daniel Building, Room 102 Office / Hours: Olin 204E / TR 8:00-10:45AM, MWF 9:00 10:20AM,

More information

Getting Started Guide XC9010 Raspberry Pi Starter Kit

Getting Started Guide XC9010 Raspberry Pi Starter Kit Getting Started Guide XC9010 Raspberry Pi Starter Kit The Raspberry Pi has been designed as a computer that anyone can use. If you want to get started with a Raspberry Pi, but don t know where to start,

More information

Developing on DragonBoard

Developing on DragonBoard Developing on DragonBoard Getting Started with APQ8060 and Pragmatux+Android Bill Gatliff bgat@billgatliff.com Ryan Kuester rkuester@insymbols.com 1 2 CPU Daughterboard APQ8060 ARMv7 Dual core 1.5 GHz

More information

Overview of the Raspberry Pi Models 3B & 2B

Overview of the Raspberry Pi Models 3B & 2B Overview of the Raspberry Pi Models 3B & 2B (Let's look at the hardware!) Rick Commo, K7LOG Max Vaughan, KF7MAX What's really different between the original 2B and the 3B? Parameter Architecture CPU

More information

Operating Systems Course Overview

Operating Systems Course Overview Operating Systems Course Overview Instructor: Kartik Gopalan Class website: http://oscourse.github.io Interfaces in a Computer System (1) User-level processes (2) (3) Libraries Operating System (4) (5)

More information

AE Computer Programming for Aerospace Engineers

AE Computer Programming for Aerospace Engineers AE 030 - Computer Programming for Aerospace Engineers Instructor Information: Credit: Professor Long Lu Long.Lu@sjsu.edu 2 units Class Times & Locations: Section 01 (Lecture): M 16:30-17:20 in CL 226 Section

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Intro to CSC116 Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Course Instructor: Instructors

More information

Advanced Operating Systems (CS 202)

Advanced Operating Systems (CS 202) Advanced Operating Systems (CS 202) Presenter today: Khaled N. Khasawneh Instructor: Nael Abu-Ghazaleh Jan, 9, 2016 Today Course organization and mechanics Introduction to OS 2 What is this course about?

More information

CSC 172 Data Structures and Algorithms. Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium

CSC 172 Data Structures and Algorithms. Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium CSC 172 Data Structures and Algorithms Fall 2017 TuTh 3:25 pm 4:40 pm Aug 30- Dec 22 Hoyt Auditorium Agenda Administrative aspects Brief overview of the course Hello world in Java CSC 172, Fall 2017, UR

More information

CSE 504: Compiler Design

CSE 504: Compiler Design http://xkcd.com/303/ Compiler Design Course Organization CSE 504 1 / 20 CSE 504: Compiler Design http://www.cs.stonybrook.edu/~cse504/ Mon., Wed. 2:30pm 3:50pm Harriman Hall 116 C. R. Ramakrishnan e-mail:

More information

CSCI455: Introduction to Programming System Design

CSCI455: Introduction to Programming System Design CSCI455: Introduction to Programming System Design Claire Bono bono@usc.edu Spring 2019 http://bytes.usc.edu/cs455/ 455 Intro [Bono] 1 Today s topics Course overview and logistics Academic integrity Java

More information

Introduction to the Raspberry Pi AND LINUX FOR DUMMIES

Introduction to the Raspberry Pi AND LINUX FOR DUMMIES Introduction to the Raspberry Pi AND LINUX FOR DUMMIES 700Mhz ARM v6 Broadcomm CPU+GPU 512 MB RAM (256MB on Model A) Boots off SD card for filesystem USB, Audio out, LAN (Model B only) HDMI + Composite

More information

Welcome to CS 241 Systems Programming at Illinois

Welcome to CS 241 Systems Programming at Illinois Welcome to CS 241 Systems Programming at Illinois Robin Kravets Copyright : University of Illinois CS 241 Staff 1 The Team Robin Kravets Office: 3114 SC rhk@illinois.edu TAs Wade Fagen, Farhana Ashraf,

More information

CS 300. Data Structures

CS 300. Data Structures CS 300 Data Structures Start VirtualBox Search or Windows Run C:\CS300 Launches CS 300/360 Virtual Machine (Eventually) Logon with Zeus password Syllabus http://zeus.cs.pacificu.edu/chadd/cs300f18/syllabus.html

More information

CS 113: Introduction to

CS 113: Introduction to CS 113: Introduction to Course information MWF 12:20-1:10pm 1/21-2/15, 306 Hollister Hall Add/drop deadline: 1/28 C Instructor: David Crandall See website for office hours and contact information Prerequisites

More information

CSE 333 Lecture 1 - Systems programming

CSE 333 Lecture 1 - Systems programming CSE 333 Lecture 1 - Systems programming Hal Perkins Department of Computer Science & Engineering University of Washington Welcome! Today s goals: - introductions - big picture - course syllabus - setting

More information

CSC 261/461 Database Systems. Fall 2017 MW 12:30 pm 1:45 pm CSB 601

CSC 261/461 Database Systems. Fall 2017 MW 12:30 pm 1:45 pm CSB 601 CSC 261/461 Database Systems Fall 2017 MW 12:30 pm 1:45 pm CSB 601 Agenda Administrative aspects Brief overview of the course Introduction to databases and SQL ADMINISTRATIVE ASPECTS Teaching Staff Instructor:

More information

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018 San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018 Course and Contact Information Instructor: Office Location: Telephone: Email: Office Hours:

More information

ECE Object-Oriented Programming using C++ and Java

ECE Object-Oriented Programming using C++ and Java 1 ECE 30862 - Object-Oriented Programming using C++ and Java Instructor Information Name: Sam Midkiff Website: https://engineering.purdue.edu/~smidkiff Office: EE 310 Office hours: Tuesday, 2:30 to 4:00

More information

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus Instruction Division. SECOND SEMESTER Course Handout Part II

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus Instruction Division. SECOND SEMESTER Course Handout Part II SECOND SEMESTER 2016-2017 Course Handout Part II In addition to part-i (General Handout for all courses appended to the time table) this portion gives further specific details regarding the course. Course

More information

Introduction to Computer Systems

Introduction to Computer Systems CS-213 Introduction to Computer Systems Yan Chen Topics: Staff, text, and policies Lecture topics and assignments Lab rationale CS 213 F 06 Teaching staff Instructor TA Prof. Yan Chen (Thu 2-4pm, Tech

More information

Today. An Animated Introduction to Programming. Prerequisites. Computer programming

Today. An Animated Introduction to Programming. Prerequisites. Computer programming Today 1 2 3 4 Computer programming What is this course about? We re making several assumptions about you as a student. In particular, we assume that you have: Never taken a programming course before. Have

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Today:! Welcome to EECS 213! Lecture topics and assignments Next time:! Bits & bytes! and some Boolean algebra Fabián E. Bustamante, 2007 Welcome to Intro. to Computer

More information

Syllabus -- CIS Computer Maintenance / A+ Certification

Syllabus -- CIS Computer Maintenance / A+ Certification Syllabus -- CIS 120 -- Computer Maintenance / A+ Certification Cuyamaca College: Spring 2016 Tim Phillips Adapt and overcome USMC proverb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

More information

Syllabus of ENPM 691: Secure Programming in C

Syllabus of ENPM 691: Secure Programming in C Syllabus of ENPM 691: Secure Programming in C Spring Semester 2018 Instructor: Dharmalingam Ganesan, PhD Contact: dganesan@umd.edu Class hours: Thursday 7:00 PM to 9:40 PM Class location: TBA Course Description:

More information

CS 550 Operating Systems Spring Operating Systems Overview

CS 550 Operating Systems Spring Operating Systems Overview 1 CS 550 Operating Systems Spring 2018 Operating Systems Overview 2 What is an OS? Applications OS Hardware A software layer between the hardware and the application programs/users which provides a virtualization

More information

INF 315E Introduction to Databases School of Information Fall 2015

INF 315E Introduction to Databases School of Information Fall 2015 INF 315E Introduction to Databases School of Information Fall 2015 Class Hours: Tuesday & Thursday10:30 am-12:00 pm Instructor: Eunyoung Moon Email: eymoon@utexas.edu Course Description Almost every website

More information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Winter 2018 Baris Kasikci barisk@umich.edu (Thanks, Harsha Madhyastha for the slides!) 1 About Me Prof. Kasikci (Prof. K.), Prof. Baris (Prof. Barish) Assistant

More information

Introduction to Parallel Computing

Introduction to Parallel Computing Introduction to Parallel Computing Chris Kauffman CS 499: Spring 2016 GMU Goals Motivate: Parallel Programming Overview concepts a bit Discuss course mechanics Moore s Law Smaller transistors closer together

More information

CSE506: Operating Systems CSE 506: Operating Systems

CSE506: Operating Systems CSE 506: Operating Systems CSE 506: Operating Systems Introduction Today s Lecture Course Overview Course Topics Grading Logistics Academic Integrity Policy Key concepts from Undergrad Operating Systems Course Overview (1/3) Caveat

More information

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques 1 CPSC2620 Advanced Programming Spring 2003 Instructor: Dr. Shahadat Hossain 2 Today s Agenda Administrative Matters Course Information Introduction to Programming Techniques 3 Course Assessment Lectures:

More information

Object-Oriented Programming CSCI-UA

Object-Oriented Programming CSCI-UA Object-Oriented Programming CSCI-UA 0470-001 Instructor: Thomas Wies Spring 2017 Class 1 - Introduction Object-oriented programming is an exceptionally bad idea which could only have originated in California.

More information

IoE Workshop. Marc Khayat, CCIE #41288, Leonard Janer Technical Managers. June 16

IoE Workshop. Marc Khayat, CCIE #41288, Leonard Janer Technical Managers. June 16 IoE Workshop Marc Khayat, CCIE #41288, makhayat@cisco.com Leonard Janer ljaner@inlea.com Technical Managers June 16 2015 Cisco and/or its affiliates. All rights reserved. Cisco Public 2 2016 Cisco and/or

More information

Advanced Programming Concepts. CIS 15 : Spring 2007

Advanced Programming Concepts. CIS 15 : Spring 2007 Advanced Programming Concepts CIS 15 : Spring 2007 Mondays and Thursdays 12:15 pm to 1:30 pm 232 Ingersoll Extension Instructor: Chipp Jansen (not Tennenbaum as listed) E-mail: chipp@sci.brooklyn.cuny.edu

More information

Kernels & Processes The Structure of the Operating System

Kernels & Processes The Structure of the Operating System COMP 111: Operating Systems (Fall 2013) Kernels & Processes The Structure of the Operating System Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Based on a

More information

Raspberry Pi 3 Model B

Raspberry Pi 3 Model B Raspberry Pi 3 Model B Product Name Raspberry Pi 3 Product Description The Raspberry Pi 3 Model B is the third generation Raspberry Pi. This powerful credit-card sized single board computer can be used

More information

CS 3030 Scripting Languages Syllabus

CS 3030 Scripting Languages Syllabus General Information CS 3030 Scripting Languages Semester: Fall 2017 Textbook: Location: Instructor Info: None. We will use freely available resources from the Internet. Online Ted Cowan tedcowan@weber.edu

More information

Operating Systems CS 571

Operating Systems CS 571 Operating Systems CS 571 Prof. Sanjeev Setia Fall 2003 1 Prerequisites Overview Computer Architecture (CS 365) Data structures and programming (CS 310) (C++/C/Java progamming) Textbooks Modern Operating

More information

CFRS : Kernel Forensics and Analysis

CFRS : Kernel Forensics and Analysis CFRS 775-001: Kernel Forensics and Analysis Computer Forensics Program (http://cfrs.gmu.edu) Department of Electrical and Computer Engineering (https://ece.gmu.edu/) Volgenau School of Engineering (http://volgenau.gmu.edu/)

More information

Operating Systems. Fall Dongkun Shin, SKKU

Operating Systems. Fall Dongkun Shin, SKKU Operating Systems Fall 2017 1 Syllabus Instructors: Dongkun Shin Office : Room 85470 E-mail : dongkun@skku.edu Office Hours: Wed. 15:00-17:30 or by appointment Lecture notes nyx.skku.ac.kr Courses Operation

More information

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015 Lecture Course in Autumn Term 2015 University of Birmingham September 22, 2015 Course Details Overview Course Details What is an Operating System? OS Definition and Structure Lecture notes and resources:

More information

COSC 2P95. Introduction. Week 1. Brock University. Brock University (Week 1) Introduction 1 / 18

COSC 2P95. Introduction. Week 1. Brock University. Brock University (Week 1) Introduction 1 / 18 COSC 2P95 Introduction Week 1 Brock University Brock University (Week 1) Introduction 1 / 18 Lectures and Labs Lectures are Thursdays, from 3pm 5pm (AS/STH 217) There are two lab sections Lab 1 is Mondays,

More information

Operating Systems CMPSC 473. Introduction January 15, Lecture 1 Instructor: Trent Jaeger

Operating Systems CMPSC 473. Introduction January 15, Lecture 1 Instructor: Trent Jaeger Operating Systems CMPSC 473 Introduction January 15, 2008 - Lecture 1 Instructor: Trent Jaeger About Me Trent Jaeger (PhD, University of Michigan) Associate Professor, CSE -- after 9 years at IBM Research

More information

Welcome to Computer Organization and Design Logic

Welcome to Computer Organization and Design Logic Welcome to Computer Organization and Design Logic CS 64: Computer Organization and Design Logic Lecture #1 Fall 2018 Ziad Matni, Ph.D. Dept. of Computer Science, UCSB A Word About Registration for CS64

More information

TA hours and labs start today. First lab is out and due next Wednesday, 1/31. Getting started lab is also out

TA hours and labs start today. First lab is out and due next Wednesday, 1/31. Getting started lab is also out Announcements TA hours and labs start today. First lab is out and due next Wednesday, 1/31. Getting started lab is also out Get you setup for project/lab work. We ll check it with the first lab. Stars

More information

CSE506: Operating Systems CSE 506: Operating Systems

CSE506: Operating Systems CSE 506: Operating Systems CSE 506: Operating Systems Introduction Today s Lecture Course Overview Course Topics Grading Logistics Academic Integrity Policy Homework #1 (of 1) Quiz #1 (of 1) Key concepts from Undergrad Operating

More information

OS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure

OS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure CSE 451: Operating Systems Spring 2012 Module 3 Operating System Components and Structure Ed Lazowska lazowska@cs.washington.edu Allen Center 570 The OS sits between application programs and the it mediates

More information

61A LECTURE 1 FUNCTIONS, VALUES. Steven Tang and Eric Tzeng June 24, 2013

61A LECTURE 1 FUNCTIONS, VALUES. Steven Tang and Eric Tzeng June 24, 2013 61A LECTURE 1 FUNCTIONS, VALUES Steven Tang and Eric Tzeng June 24, 2013 Welcome to CS61A! The Course Staff - Lecturers Steven Tang Graduated L&S CS from Cal Back for a PhD in Education Eric Tzeng Graduated

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Today: Welcome to EECS 213 Lecture topics and assignments Next time: Bits & bytes and some Boolean algebra Fabián E. Bustamante, Spring 2010 Welcome to Intro. to Computer

More information

CS/SE3SH3 Operating Systems

CS/SE3SH3 Operating Systems CS/SE3SH3 Operating Systems Sanzheng Qiao Department of Computing and Software November, 2012 Course web page My home page: www.cas.mcmaster.ca/ qiao announcements my address, office hours TA emails lecture

More information