Course Overview Mark Stanovich COP 5641 / CIS 4930.

Slides:



Advertisements
Similar presentations
CSc 2310 Principles of Programming (Java)
Advertisements

ITCS 3181 Logic and Computer Systems
COP3330 Object Oriented Programming in C++ Syllabus
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
ITCS 3181 Logic and Computer Systems
Intro to CIT 594
COMP 14 Introduction to Programming Miguel A. Otaduy Summer Session I, 2004 MTWRF 9:45-11:15 am Sitterson Hall 014.
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
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.
Intro to CIT 594
CPSC 100 – Personal Computers & Their Uses Fall 2010 Dongsheng Che Department of Computer Science East Stroudsburg University.
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
CSCI 1301 Principles of Computer Science I
Spring 2008 Mark Fontenot CSE Honors Principles of Computer Science I Note Set 1 1.
Course Overview Sarah Diesburg  Bobby Roy COP 5641 / CIS 4930.
COMP Introduction to Programming Yi Hong May 13, 2015.
How to be an online student. How does it work? An online course follows a schedule and syllabus with due dates for assignments (just like an on-campus.
Software Requirements Southern Methodist University CSE 5316/7316.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
Data Structures, Algorithms, and Generic Programming Breno de Medeiros COP 4530 / CGS 5425 (Fall 2006)
Welcome to Physics 1D03.
MIS 3200 Networking Fundamentals Abdou Illia, Ph.D School of Business Eastern Illinois University (Monday 8/24/2015)
COP3502: Introduction to Computer Science Yashas Shankar.
CSE 1340 Introduction to Computing Concepts Class 1 ~ Intro.
1 [CMP001 Computer Orientation I] Course Guide Ms. Wesal Abdalfattah office#: 357 Ext#: 8612 Prince Sultan University,
Programming In Perl CSCI-2230 Thursday, 2pm-3:50pm Paul Lalli - Instructor.
Course Information Sarah Diesburg Operating Systems COP 4610.
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
Course Introduction Andy Wang COP 4530 / CGS 5425 Fall 2003, Section 4.
CSNB334 Advanced Operating Systems Course Introduction Lecturer: Abdul Rahim Ahmad.
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
June 19, Liang-Jun Zhang MTWRF 9:45-11:15 am Sitterson Hall 011 Comp 110 Introduction to Programming.
IST 210: Organization of Data
SE-2030 Software Engineering Tools and Practices SE-2030 Dr. Mark L. Hornick 1.
Orientation Spring 2011 Denise Coffey MSN, RN.  Concepts covered will include alterations in cellular regulation and cellular metabolism.  Course material.
Florida State UniversityCOP5570 – Advanced Unix Programming COP 5570 Advanced Unix Programming Instructor: Xin Yuan.
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
Course Overview 1 FCM 710 Architecture of Secure Operating Systems Prof. Shamik Sengupta Office 4210 N
Course Introduction David Ferry, Chris Gill Department of Computer Science and Engineering Washington University, St. Louis MO 1E81.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
CSE 1340 Introduction to Computing Concepts Class 1 ~ Intro.
COP4610 Principles of Operating Systems Prof. Robert van Engelen Department of Computer Science Florida State University.
Course Information and Introductions Intro to Computer Science CS1510 Dr. Sarah Diesburg University of Northern Iowa 1.
Course Information CSE 2031 Fall Instructor U.T. Nguyen Office: CSE Home page:
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
Syllabus and Class Policies MATH 130: Summer 2016.
Networking CS 3470, Section 1 Sarah Diesburg
Andy Wang Object Oriented Programming in C++ COP 3330
Computer Engineering Department Islamic University of Gaza
IST256 : Applications Programming for Information Systems
Networking CS 3470, Section 1 Sarah Diesburg
Course Information and Introductions
Course Information and Introductions
Software Requirements
CIS5930 Software Defined Networking
Course Information Mark Stanovich Principles of Operating Systems
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Object Oriented Programming in C++ COP 3330
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
CIS5930: Advanced Topics in Parallel and Distributed Systems
Computer Engineering Department Islamic University of Gaza
Andy Wang Operating Systems COP 4610 / CGS 5765
EECE.4810/EECE.5730 Operating Systems
Sarah Diesburg Operating Systems CS 3430
CS201 – Course Expectations
Presentation transcript:

Course Overview Mark Stanovich COP 5641 / CIS 4930

Instructors Lead Instructor: Mark Stanovich  Office: 105-E Love Building  Office hours After class and by appointment ( ) TA: Muye Liu  Office hours: TBA Class Websites   Blackboard

Meeting Place and Times Tuesday/Thursday: 9:30am – 10:45am  LOV 103 (sometimes at MCH 202) You will work in lab MCH 202  You will spend lots of time on projects  Projects will need to be done in the lab, unless you have a PC that you:  Don't mind corrupting  Can bring into the lab for demos

Course Objectives Make yourself into a Linux kernel “hacker”, who can:  Configure, compile, and install a Linux kernel  Do the same for a kernel module  Understand and make changes to the sources  Use internal kernel services  Design and implement a kernel module  Modify/design and implement a device driver  Measure the performance of your implementation

Applicability of Kernel Hacking Skills Software engineering Concurrent programming Thesis and dissertation Employment  Final project can be added to your portfolio

Prerequisites COP 4610  Undergraduate Operating Systems or, COP 5570  Concurrent, Parallel, and Distributed Programming (old Advanced Unix Programming) or,  Proficiency in Unix environment and C, and  General knowledge of operating systems design principles

Course Material Lecture notes (posted at the class website) Required textbook  Linux Kernel Development (3 rd Ed)  ISBN:

Course Material Recommended additional textbook  Linux Device Drivers, 3 rd Edition  ISBN: Online version (free) 

Class Grading Assignment 1 (individual): 10% Assignment 2 (prob. individual): 5% Assignment 3 (individual): 15% Assignment 4 (individual): 15% Assignment 5 (team + report): 30% Quizzes:25%

Assignments Reading Programming  You will be provided access to a PC (MCH 202) It may need to be shared  First four assignments: lab exercises  Last assignment: team projects Each member will evaluate the contribution of the other team members  Warning: they get more difficult, exponentially

Some Possible Team Projects Device drivers  Raspberry pi  Cellular phone sensors  Virtual devices (virtual machine pass-through)  Solid-state storage (e.g., flash)  Future course lab project  Add functionality to an existing device driver May partially include upgrading to a recent version of the kernel

Some Possible Team Projects New kernel features/optimizations  Optimize storage management routines  Security  Assist with ongoing research projects  Scheduling (CPU, block layer) Your ideas?

BEWARE Assignments may be very time consuming  Non-deterministic error  Obscure error symptoms May not have much information about where/when an error occurred Fewer and more difficult to setup debugging tools  Need frequent reboots and OS reinstallations Implications  Start your projects early  You are responsible for backing up your work

BEWARE If you plan to use your own computer  You will need to bring in your machine to demonstrate your code  You might trash your hard drives

Some Useful Tools Good editor, IDE (search code) Git (backup, versions) General knowledge of Linux logging subsystem Knowledge of grub usage Kernel debugging tools  Kdb, gdb (on modules)  “Kernel hacking” configuration menu items  “Magic SysRq”

Quizzes Several short quizzes  Not necessarily announced in advance Will throw out one quiz (worst score) Missed quizzes  For excused absences or lateness No make-ups for missed quizzes For excused absences or lateness  The missing quizzes will be dropped

Class Grading 91% - 100%A 89% - 90%A- 85% - 88%B+ 81% - 84%B 79% - 80%B- 75% - 78%C+ 71% - 74%C 69% - 70%C- 64% - 68%D+ 61% - 63%D 59% - 60%D- 0% - 58%F

Computer Accounts, etc. Blackboard account  Grade posting via Blackboard Card activation for MCH 202 lab  Fill out survey  Need your FSU card number Your choice of a 4 digit PIN #

Course Policies Attendance mandatory Honor code: read your student handbook Students with disabilities  Report to Student Disability Resource Center  Bring me a letter within the first week of class

Things for you to do Fill out survey form and turn in at the beginning of Thursday’s class Reading  Syllabus  Start with LKD Chapters 1 and 2 (quick overview)  Then read LDD Chapters 1 and 2 for more depth Familiarize yourself with Assignment 1