1 Boot Camp Dave Eckhardt 1 This Is a Hard Class ● Traditional hazards – 410 letter grade one lower than other classes – All other.

Slides:



Advertisements
Similar presentations
Chapter 5 Errors Bjarne Stroustrup
Advertisements

Basic Time Management Principles
Time Management.
How to finish your project on time ?
Presented by Student Academic Success Center
Software Engineering Lab Session Session 1 – Introduction to the practicum © Jorge Aranda, 2005.
Intro to CIT 594
1 P3 CK2 (et al.) Dave Eckhardt
Time Management Skills and Defeating Procrastination Workshop Presented By The New Student Advisement and Retention Services (STARS) center.
15-410, F’ Debugging Sep. 17, 2004 Dave Eckhardt L08a_Debug “...and then it crashes!!!”
Test Taking Strategies
Hit the ground running Starting study: How to get going and time management skills.
Writing a website article to give advice
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
» Teaching an online class, what takes up most of your time?
Presented by: Louise Robichaux
Study Tips for COP 4531 Ashok Srinivasan Computer Science, Florida State University Aim: To suggest learning techniques that will help you do well in this.
EGR 105 Foundations of Engineering I Time Management Fall 2008.
Jun 16, 2014IAT 2651 Debugging. Dialectical Materialism  Dialectical materialism is a strand of Marxism, synthesizing Hegel's dialectics, which proposes.
Day 5- Test Taking Skills PPT Developed by Debra A. Wilson.
Test Taking Skills. Study in a comfortable place where you won’t be distracted. Schedule review time. Don’t leave it to the last minute. Write a study.
Mindsets and Intelligence AP Institute Irondale High School August 21, 2012.
Click to start... Click to start.... October/November? As soon as you get to Oxford Brookes? As soon as you get to Oxford Brookes? Semester two ( i.e.
“Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how.
Welcome to my conference! February th grade Guadalupe.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
Prof. Matthew Hertz WTC 207D /
KAREN PHELPS Spontaneous Sponsoring. Your Home Presentations “A Valuable Source for Recruits”
1 Project Information and Acceptance Testing Integrating Your Code Final Code Submission Acceptance Testing Other Advice and Reminders.
Win32 Programming Lesson 1: Why We’re All Here. Why We’re Here…  Okay, maybe that’s too grandiose  Windows – in particular Win32 Thirty-what?  What.
Last Minute Tips and Strategies
Errors And How to Handle Them. GIGO There is a saying in computer science: “Garbage in, garbage out.” Is this true, or is it just an excuse for bad programming?
(A radical interpretation) Tomo Lennox Bow Tie computer services Why Agile Works.
1 Debugging. 2 A Lot of Time is Spent Debugging Programs Debugging. Cyclic process of editing, compiling, and fixing errors. n Always a logical explanation.
How to Study for A&P (and almost anything else) Adapted from Lori K. Garrett.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
Session 4: PREPARE FOR TESTS Year 7 Life Skills Student Wall Planner and Study Guide.
A Few Reminders… LPChem1415  Unit 2 (ionic compounds)  Late Work Deadline is Thursday 9/18  (Because it was only a two day unit.)  Now that we all.
DEBUGGING. BUG A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
Optimistic Design 1. Guarded Methods Do something based on the fact that one or more objects have particular states  Make a set of purchases assuming.
12 Ways to Insure Failure in Mathematics Courses..or “I can’t balance a checkbook how am I going to solve differential equations?”
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
If It Was My Last Lecture.. By: Daisy Lozano. My Childhood Dreams.. When I was younger I had different dreams. I always wanted to be the pink power ranger.
1 Introduction to Dave Eckhardt
Introduction to Psychology What IS Psychology? Why should I care about it?
Debugging Computer Networks Sep. 26, 2007 Seunghwan Hong.
How Can I Manage My Time Better?. How Do You Spend Your Day??? school work, job, sports, clubs, hanging out with friends, watching tv, eating, sleeping,
Opening Slide You’re About to Discover the One Secret “__________” That Makes it Super- Easy to ____________________ That Allows You to __________________and.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Note-taking Skills. Why do we have to take notes? u To help you identify the main, important ideas in the lecture u To help you learn and remember the.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
1 P3, P4 Dave Eckhardt 1 Outline ● P3 grading approach ● Coping with P3 disasters ● P4.
___________________ 1 GradeBot School of Computing Copyright 2004, BYU Hawaii – All rights reserved. School of Computing Brigham Young University Hawaii.
By: Antonio Vazquez.  As far as this year goes, there were a lot of struggles that I had this year, I can’t really explain why, they just occurred. 
Genius Hour Answering Your Questions. Goals/Intentions of Genius Hour To learn something or achieve something Make a change in your life or in the world.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Alexandra Stefan University of Texas at Arlington 1.
May I Quote You? What’s the difference between a good quote and a quote that says nothing?
Academic Survival How to Make the Grades…..
TOTD “Do your daily habits match your expectations and goals?”
How college is different from high school
May I Quote You? What’s the difference between a good quote and a quote that says nothing?
PSP Class Practice 1 MARCIA begins work her program [10:00] by reviewing the requirements in the assignment package, including the test requirements, to.
Your most precious possession
Review and Q/A.
Microsoft Build /6/2018 4:22 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Alexandra Stefan University of Texas at Arlington.
Do Now: A Look Back... Think about this school year. Think about the things you have accomplished and the things you have struggled with. If you could.
CS a-spring-midterm2-survey
Presentation transcript:

1 Boot Camp Dave Eckhardt

1 This Is a Hard Class ● Traditional hazards – 410 letter grade one lower than other classes – All other classes this semester: one grade lower ● Aim – If you aim for a B you might not get one – If you aim for a C you might not get one – “I'll drop if I can't get an A” ● You must discuss this with your partner early

1 This is a Transformative Class ● Genuine achievement, available to you – What is an OS, really? – Mutual exclusion, synchronization, concurrency – Deadlock ● Design, planning ● Serious competence in debugging!

1 Work Flow – You may be used to... ● Assignment handout  code outline ● Compilation implies correctness ● Graded by a script ● All done! – Never use it again – Delete it at end of semester ● Total opposite of real life

1 Work Flow – 410 Additions ● Design ● Divide into parts ● Manage your partner ● Merge

1 Surprises ● “Code complete” means nothing – Merge can take three days – Then you find bugs. ● Code with “the right idea” will immediately crash – If you're lucky!

1 On Debugging As soon as we started programming, we found to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs. – Maurice Wilkes (1949)

1 Debugging ● Bugs aren't just last-minute glitches ● They are crucial learning experiences – Learning a lot can take a while

1 What Does A Bug Mean? ● “It tells me 'triple fault' – why??” – Research: 20 minutes – Think: 20 minutes – Debug: 2 hours. –...three times. ● May need to write code to trap a bad bug – Asserts or more-targeted debug module ● Then you will find your design was wrong! – Don't be shocked – this is part of 410 / life

1 “All Done”? ● Finally, when you're done... – You will use your code for next assignment – We will read it (goal: every line)

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

1 Interlude ● The purpose of code is for people to read – By a reviewer / security auditor – By your group – By your manager – By your successor – By you six months later (6 hours later if no sleep) ● Oh, yeah, the compiler reads it too

1 Confront the Material ● We are doing printf() all the way down – Subroutine linkage, how & why – Stub routine, IDT entry, trap handler wrapper – Output/input-echo interlock – Logical cursor vs. physical cursor – Video memory (what does scrolling mean?) ● Can't really gloss over anything

1 On Investing A week of coding can sometimes save an hour of thought. – Josh Bloch

1 Confront Debugging ● Real life: you will debug other people's code – Any bug could be yours, partner's, ours, or simics; you need to find it. ● Can't debug with only printf() – Learn the Simics debugger – Assertions, consistency checks – Debugging code

1 Confront Debugging ● ½ hour of studying the debugger – vs. 2 days of thrashing ● Papering over a problem – Re-ordering object files to avoid crash

1 How to Have Trouble ● How to get an R – Arrive unprepared (barely escape 113, 213) – Do everything at the last minute – Don't read the book or come to class – Hide from course staff no matter what ● How to get a D – Don't get the core of the kernel project working ● (There are other ways, but this one is popular)

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 Warning to Graduate Students ● This is an undergraduate class – There is typically a diversity of grades ● Getting “average grades on every assignment” may mean a C, not a B

1 Doing Well – Invest in Good Code ● Mentally commit to writing good code – Not just something kinda-ok – You will depend on your code ● Anand Thakker – Remind yourself that you love yourself – So you should wrote good code for yourself

1 Doing Well – Start Early ● Starting a week late on a 2-week project can be bad ● Not making “just one” checkpoint can be bad

1 Doing Well – Read Partner's Code ● You will need to read everything your partner wrote – (and maybe answer test questions) ● Set up a mechanism – Daily meeting? Careful reading of merge logs? ● Do “one of each” – Partner does N-1 stub routines, you do hardest

1 Doing Well – Time for Design ● “Design” means you may need to think overnight

1 How to get an A ● Understand everything – (consider 2-3 ways to do each thing, pick the best) ● Read all of your partner's code ● Work with your partner – (not: work alone for 4-5 weeks out of 6, then (fail to) merge)

1 How to get an A ● Write good code ● Do things which help you – asserts, good variable names, source control ● Document before coding ● Be “done” days early