1 Introduction to 15-410 Dave Eckhardt

Slides:



Advertisements
Similar presentations
Welcome to the seminar course
Advertisements

Intro to CIT 594
Slide 01-1COMP 7370, Auburn University COMP 7370 Advanced Computer and Network Security Dr. Xiao Qin Auburn University
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
General information CSE 230 : Introduction to Software Engineering
CMSC 132: Object-Oriented Programming II
CSCD 555 Research Methods for Computer Science
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Statistical Methods in Computer Science Course Introduction Ido Dagan.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
CSE 322: Software Reliability Engineering Topics covered: Course outline and schedule Introduction, Motivation and Basic Concepts.
Introduction to Course Content. Computer Center, CS, NCTU 2 Outline  What SA Should do.  What You can expect to learn from this course.  What attitude.
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.
COMPUTER SCIENCE 10: INTRODUCTION TO COMPUTER SCIENCE Dr. Natalie Linnell with credit to Cay Horstmann and Marty Stepp.
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
SE 204, IES 506 – Human Computer Interaction Lecture 1: Introduction Lecturer: Gazihan Alankuş Please look at the last two slides for assignments (marked.
How to Create a Research PowerPoint
Course Overview Sarah Diesburg  Bobby Roy COP 5641 / CIS 4930.
COMP Introduction to Programming Yi Hong May 13, 2015.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Chapter Eight Academic Survival Skills. Study Skills  For most students time is the greatest issue.  The first rule to follow is to allow two or three.
Jim Graham, Humboldt State University Geospatial Research Methods Instructor: Jim Graham
1 COMS 261 Computer Science I Title: Course Introduction Date: August 25, 2004 Lecture Number: 01.
Prof. Matthew Hertz SH 1029F /
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
Computer Networks Lecture 1: Logistics Based on slides from D. Choffnes Northeastern U. and P. Gill from StonyBrook University Revised Autumn 2015 by S.
1 Boot Camp Dave Eckhardt 1 This Is a Hard Class ● Traditional hazards – 410 letter grade one lower than other classes – All other.
Course Introduction Software Engineering
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
Prof. Matthew Hertz WTC 207D /
1 Introduction to CS 438 Nathaniel Wesley Filardo (Slides lovingly stolen from Dave Eckhardt
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Course Information Sarah Diesburg Operating Systems COP 4610.
Course Introduction CSE250. Course Overview This course will be difficult Work hard and start early You are adults and I will treat you as such – I won’t.
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
Lecture 1 Page 1 CS 111 Summer 2013 Introduction CS 111 Operating System Principles Peter Reiher.
1 Introduction to Bruce Maggs Dave Eckhardt
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
IST 210: Organization of Data
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 Mark Stanovich COP 5641 / CIS 4930.
Parallel and Distributed Computing Overview and Syllabus Professor Johnnie Baker Guest Lecturer: Robert Walker.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CS112: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Blackboard – Piazza – Textbook Highlight.
Data Structures and Algorithms in Java AlaaEddin 2012.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
1 P3, P4 Dave Eckhardt 1 Outline ● P3 grading approach ● Coping with P3 disasters ● P4.
1 Netprog Course Information Network Programming Instructor: Dave Hollinger Home Page:
PROBLEM SOLVING AND PROGRAMMING ISMAIL ABUMUHFOUZ | CS 170.
IMS 4212: Course Introduction 1 Dr. Lawrence West, Management Dept., University of Central Florida ISM 4212 Dr. Larry West
Course Overview - Database Systems
Course Information and Introductions
English 1301 Joe Dornich.
CMSC 611 Advanced Computer Arch.
Course Information Mark Stanovich Principles of Operating Systems
Welcome to CS 1010! Algorithmic Problem Solving.
Geospatial Research Methods
Welcome to CS 1010! Algorithmic Problem Solving.
CS 179 Project Intro.
Andy Wang Operating Systems COP 4610 / CGS 5765
Introduction to Programming Using C++
COMS 161 Introduction to Computing
Welcome to Physics 5305!!.
Instructors Antonio Torralba & Bill Freeman
Presentation transcript:

1 Introduction to Dave Eckhardt

1 Outline ● People – Me, us, you ● Administrative information – Academic conduct ● Class goals ● Reading material

1 Dave Eckhardt ● Buzzword compliance – Ph.D., Computer Science, CMU, May 2002 – “An Internet-style Approach to Managing Wireless Link Errors” ● Building Unix kernels since ~1985 – PDP-11, Version 7 Unix – Not really a BSD bigot ● Don't go here –

1 Tadashi Okoshi ● Ph.D. Candidate, CS ● Background – Real-time operating systems – Network protocols – Smart cards – Mobile and ubiquitous computing

1 Undergraduate TA's ● Jonathan Giloni – Took from me in the spring ● Joey Echeverria, Brian Railing – Had from Greg Kesden ● As a team – Strong background – Recommended by past 412 TA's

1 Y'all - Background ● Junior/Senior/other? ● CS/ECE/INI/other? ● Group programming before? ● Done a branch merge before?

1 Y'all - Reading ● Read a Ph.D. thesis? ● Academic journal article? ● Attended an academic conference? ● Read a non-class CS book last semester?

1 Y'all – Career plans ● Industry ● Graduate school ● Mountain top?

1 Information sources ● Web site ● Q: Can I use a linked list for...? – A: academic.cs qa – Reading this will be to your benefit ● Q: Important announcements from us – A: academic.cs announce – You are responsible for reading this often

1 Information sources ● Q: I have a final exam conflict... ● Q: The license server is down... ● Q: AFS says “no such device”... – A:

1 Academic honesty ● See syllabus ● Learning is good –...practices which avoid learning are double-plus ungood ● Plagiarism is bad –...credit must be given where due

1 Academic conduct ● Being a partner – Responsible ● I am writing three grad school applications next week – Irresponsible ● [vanish for 1 week, drop class]

1 The deadline disaster ● “If you wait until the last minute, it takes only a minute!” -- Vince Cate ● Small problem – Your grade will probably suffer ● Big problem – Learning and retention require sleep

1 Course Goals ● Operating Systems – What they are – Design decisions – Actual construction ● Team programming – Design, documentation – Source control – People skills

1 Course Plan ● Lectures – Many topics will be covered by text – Skipping every lecture will challenge your grade ● The map is not the terrain, the slides are not the lecture ● How will you ask questions?

1 Course Plan ● Projects – Bare-machine video game [1-person project] – Thread library – OS kernel – Kernel extension ● Project environment – Virtutech Simics™ PC simulator – Can also run on real PC hardware

1 Course plan ● Homework assignments – ~3, to deepen understanding of selected topics ● Reading assignment – Pick something fun, write a brief report ● Mid-term, Final exam – Closed-book

1 Team programming ● Why? – Not for instructor's convenience! – Allows attacking larger problems – Teaches job skills you will need ● Very few “individual contributor” jobs, even academia ● Not “software engineering” – No requirement analysis – No release staging, design for growth,... – Not a complete “life cycle”

1 Team programming – Styles ● Waterfall model ● Spiral model ● “Extreme Programming” ● “Pair Programming” – Williams & Kessler, Pair Programming

1 Interlude ● What is source code “for”? – What do we do with it?

1 Team programming - Design ● Decomposition into modules – (Yes, even in C) ● Design for team implementation – Parallel effort may require adjustment

1 Team programming - Documentation ● For the non-compiler consumers of source code ● Doxygen documentation extraction system – Embed documentation in comments – Generate HTML index – Generate LaTeX –... ● We intend to read your documentation ● We intend to read your code

1 Team programming - Source control ● Other buzzwords – Revision control, configuration management ● Goals – Re-create past builds – Compare stable states – Control inter-developer interference – [Manage multiple shipped product versions]

1 Team programming - Source control ● Even for “small” projects? – “It worked 3 hours ago, now it dies on start-up” – “I thought I fixed that already!” ● Survey of students, – Q: What should we do differently about source control? – A: “Make it mandatory”

1 Team programming - People skills ● Working with other people is hard – People think differently – People plan differently ● Pre-planning – Work style, arrangements ● Setting milestones ● Pre-scheduled common time slots ● Handling problems – Involving “management” before it's too late

1 Warning about ● It's an important class ● We expect you to know – Byte, word, register, 1<<2 – Thread, stack – malloc(), free() (when & why) ● Trouble with 213? – Expect to spend extra effort on 410

1 Grading philosophy ● C – all parts of problem addressed ● B – solution is complete, stable, robust ● A – excellent – Somebody might want to re-use some of your code ● Numbers – A %, B 80-90%,... (roughly) ● “Curving” – Lots of A's would be fine with me

1 Closing ● comp.risks – Developers should read this – Managers should read this – Journalists should read this ● Textbook – Chapters 1, 2, 3 – Chapter 13.1, 13.2, ● Start choosing a partner for P2