Duke CPS 108 13. 1 Bumper sticker CS Jon Bentley, More Programming Pearls l Optimization ä The first rule: don’t do it ä The fastest algorithm can frequently.

Slides:



Advertisements
Similar presentations
Code Tuning Strategies and Techniques CS524 – Software Engineering Azusa Pacific University Dr. Sheldon X. Liang Mike Rickman.
Advertisements

University of Southern California Center for Systems and Software Engineering Risk Calculation Case Studies CS 510 Software Engineering Supannika Koolmanojwong.
The answer to “How many significant digits?” is usually“3.”
The Mythical Man-Month By: Zac Lippard CS 470. What is the “Man-Month”? This is the idea that men and months are interchangeable between each other. This.
Math Success while Reducing Anxiety Workshop 1. Workshop Outline 2 MathCounseling  Register Right  Learning Styles  Mathematical Mindset  Managing.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
Quicksort CS 3358 Data Structures. Sorting II/ Slide 2 Introduction Fastest known sorting algorithm in practice * Average case: O(N log N) * Worst case:
Search and Recursion CS221 – 2/23/09. List Search Algorithms Linear Search: Simple search through unsorted data. Time complexity = O(n) Binary Search:
27-Jun-15 Profiling code, Timing Methods. Optimization Optimization is the process of making a program as fast (or as small) as possible Here’s what the.
30-Jun-15 Profiling. Optimization Optimization is the process of making a program as fast (or as small) as possible Here’s what the experts say about.
Solving Systems with Matrices Can’t figure out how to solve systems using Elimination Method? Substitution Method? Graphing? Why not try…
Mobile Apps The current state of Telecom apps and GPC’s potential future.
Creating Your Electronic Catalog. What is a Catalog? eVA is Virginia’s online, electronic procurement system. This web-based vendor registration and purchasing.
7 things to boost productivity of your small business team.
Tricks of the Programming Trade Jon Bentley Bell Labs
Cory Foy St. Louis Code Camp May 6 th, 2005 Achieving Customer Zen with Fitnesse and.NET Fitnesse and.NET Achieving Customer.
/425 Declarative Methods - J. Eisner1 Encodings and reducibility.
Knife Skills Unit – Best Practices.  Always use sharp knives. Dull blades cause more accidents because they are harder to work with and require more.
EXtreme Programming: An Introduction Presentation by: Jon Banta.
Hosted File Backup Ensure that your data is kept safe with our cloud based data back-up service.
Lecture 1: Performance EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2013, Dr. Rozier.
CS Fall 2007 Dr. Barbara Boucher Owens. CS 2 Text –Main, Michael. Data Structures & Other Objects in Java Third Edition Objectives –Master building.
Creating Your Electronic Catalog. What is a Catalog? A list of products and/or services and their attributes published in the eMall, the shopping area.
Agile Methods Chapter 30. Agile Methods Key points ▫No method fits all projects or organizations ▫In General  A process to elicit, organize, document,
1 Software Process and Project Metrics. 2 Normalization for Metrics.
Memory Hierarchy and Cache Memory Jennifer Tsay CS 147 Section 3 October 8, 2009.
Chapter 25: Code-Tuning Strategies. Chapter 25  Code tuning is one way of improving a program’s performance, You can often find other ways to improve.
Computer Science 313 – Advanced Programming Topics.
Software component evaluation A developer’s perspective Sony Corporation’s presentation for the 6 th International Common Criteria Conference.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
CMSC 104, Version 8/061L17Top-DownDesign.ppt Top-Down Design Topics Top-Down Design Top-Down Design Examples The Function Concept Reading Sections 3.1.
CS 3500 L Performance l Code Complete 2 – Chapters 25/26 and Chapter 7 of K&P l Compare today to 44 years ago – The Burroughs B1700 – circa 1974.
The 3 R’s Recycling can sometimes be confusing and it can be difficult to know whether you are following all the right rules. Improve your recycling.
If You Like Money, General-Purpose Is for You Chris Hughes Parallel Computing Lab Intel.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
Repurpose, Compose, Profit— Next Generation SOA Infrastructure William Cox Cox Software Architects LLC Copyright 2008.
Welcome to Math Delta! What great things can I expect from you this school year? Ms. Lombardi.
RAID Disk Arrays Hank Levy. 212/5/2015 Basic Problems Disks are improving, but much less fast than CPUs We can use multiple disks for improving performance.
CS5103 Software Engineering Lecture 02 More on Software Process Models.
12/18/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Roy Campbell, Sam.
Operating Systems: Wrap-Up Questions answered in this lecture: What is an Operating System? Why are operating systems so interesting? What techniques can.
CSE 403 Lecture 27 Course Wrap-up Discussion slides created by Marty Stepp
PROGRAMMING I Lecture: Vladimir Viies Lab: Margit Aarna & co Location: ICT – 502 Nesting ground: ICT- 517 margit(at)ati.ttu.ee.
Shaping the Internet By: Marc Schaecher Jackie Ross.
The Need for Speed! Steve Nelson. Internet Startup Failure 2000 More Internet startups failed this year than ever before Why did this happen? How can.
Pre-School Test Pre-school children were asked the following question:   "In which direction is the bus pictured below traveling?"     Look carefully.
Software projects can be managed in terms of 4 variables ● Time ● Scope ● Resources ● Quality.
Chapter 14: Mass-Storage Systems Disk Structure. Disk Scheduling. RAID.
Computer Science Lecture 28, page 1 CS677: Distributed OS Today: Final Thoughts.
In this challenge we have to… (replace this with your class version from lesson 3) You also need to know that next lesson you will be showing your books.
In this challenge we have to… (replace this with your class version from last lesson)  To continue with our group project challenge, to make a red book.
Lesson our world Are Take good care of the hares, Because hares are so rare. Don’t scare away the hares. We have some food for them to share.
Has Brian Kernighan’s thoughts on prototype vs. production programming.
SUDOKU SOLVER Will Bazil, Ryan Covert, Ricky Parker.
By: Your Name ELEMENTS OF WEB DESIGN. VISUAL APPEAL Optimization of Graphics, for people to stay on your website, your pictures have to load out as soon.
Choose your own financial adventure By :Gwendolyn Jones.
Features to look for in a Work Management Software before choosing one.
Introduction to Agile Development Advanced Software Engineering Dr. Nuha El-Khalili.
The sharing of ideas allows us to stand on one another’s shoulders instead of on one another’s feet Jim Warren.
Plan for the week Working in groups/teams, horrible bosses?
Brooksisms And Other Nuggets of Programming Wisdom
I work hard in class..
5 MAJOR BENEFITS OF CLOUD TESTING. Cloud testing is a mode of testing web applications which use cloud computing and infrastructure. It includes both.
RAID Disk Arrays Hank Levy 1.
RAID Disk Arrays Hank Levy 1.
Why Object-oriented Programming?
MICROPROCESSOR MEMORY ORGANIZATION
Goldratt Research Labs
RAID Disk Arrays Hank Levy 1.
Intro to CIT 594
Presentation transcript:

Duke CPS Bumper sticker CS Jon Bentley, More Programming Pearls l Optimization ä The first rule: don’t do it ä The fastest algorithm can frequently be replaced by one that is almost as fast and much easier to understand -- Douglas Jones, U. Iowa ä premature optimization is the downfall of many programs/designs -- William Wulf, UVA ä the fastest I/O is no I/O, cf. The cheapest, fastest and most reliable components of a system are those that aren’t there -- Nils-Peter Nelson, Gordon Bell

Duke CPS Managing Software l The first 90% of the code accounts for 90% of the development time, the remaining 10% of the code accounts for the other 90% of the development time-- Tom Cargill, Bell Labs l Plan to throw one away, you will anyhow -- Fred Brooks l If you plan to throw one away, you will throw away two -- Craig Zerouni l Prototyping cuts the work to produce a system by 40% -- Larry Bernstein, Bell Communications l Furious activity is no substitute for understanding l It’s faster to make a four-inch mirror, then a six-inch mirror than to make a six-inch mirror -- Bill McKeeman

Duke CPS Writing programs l Always do the hard part first. If the hard part is impossible, why waste time on the easy part? Once the hard part is done, you’re home free. l Always do the easy part first. What you think at first is the easy part often turns out to be the hard part. Once the easy part is done, you can concentrate all your efforts on the hard part. l Whenever possible, steal code