This preview shows page 1. Sign up to view the full content.
Unformatted text preview: Engineering 101 Engineering 101
Lecture 1 9/4/07
Introduction and Policies What will you get from this course? What will you get from this course? You will learn how to “think like an engineer” You will learn about algorithms and how to design/implement them You will learn programming in C++ and MATLAB You will have fun! Quote of the Day Quote of the Day
I hear and I forget, I see and I remember, I do and I understand.
Confucius What is an algorithm? What is an algorithm? A list of instructions for accomplishing a task that may be executed by a mechanism. Algorithm Algorithm
From our text A list of instructions that, when executed, transform information from input to output. The instructions are a finite set of steps that can be executed, in a definite order, by a deterministic mechanism. When these steps are actually executed, the execution must terminate after a finite time.
Key Point Web search: (Page Rank) Examples of “famous” Examples of “famous” algorithms Recommendations: (you want to buy…) Mp3 encoding: (and decoding) Other uses of algorithms Other uses of algorithms Air Traffic Control Magnetic Resonance Imaging Computer Numerical Control Question 1 – Is it an algorithm? Question 1 – Is it an algorithm?
1. 2. 3. 4. 5. a) b) c) Request a value for A Request a value for B Request a value for C Assign B×B4×A×C to D Return D No, it is not an algorithm Yes, it returns the solution to a quadratic equation Ax2+Bx+C=0. Yes, it returns the discriminant for a quadratic equation Ax2+Bx+C=0. Question 1 – Is it an algorithm? Question 1 – Is it an algorithm?
1. 2. 3. 4. 5. a) b) c) Request a value for A Request a value for B Request a value for C Assign B×B4×A×C to D Return D No, it is not an algorithm Yes, it returns the solution to a quadratic equation Ax2+Bx+C=0. Yes, it returns the discriminant for a quadratic equation Ax2+Bx+C=0. Question 2 – Is it an algorithm? Question 2 – Is it an algorithm?
1. 2. 3. 4. Request a value for A While A>0 Assign A/2 to A Return A No, it is not an algorithm Yes, it returns a value of onehalf A. Yes, it returns the smallest even divisor of A. a) b) c) Question 2 – Is it an algorithm? Question 2 – Is it an algorithm?
1. 2. 3. 4. Request a value for A While A>0 Assign A/2 to A Return A The algorithm will never end. No, it is not an algorithm Yes, it returns a value of onehalf A. Yes, it returns the smallest even divisor of A. a) b) c) Question 3 – Is it an algorithm? Question 3 – Is it an algorithm?
1. 2. 3. 4. 5. 6. Request a value for A Request a value for B While B>A Request a new value for B Assign B/A to C Return C No, it is not an algorithm Yes, it returns a value <= 1. Yes, it returns a value >= 1. Yes, it returns 1 a) b) c) d) Question 3 – Is it an algorithm? Question 3 – Is it an algorithm?
1. 2. 3. 4. 5. 6. Request a value for A Request a value for B While B>A Request a new value for B Assign B/A to C Return C No, it is not an algorithm Yes, it returns a value <= 1. Yes, it returns a value >= 1. Yes, it returns 1 a) b) c) d) Skills you will develop when mastering Skills you will develop when mastering algorithms Logical thinking Ability to analyze a process Capability to identify and troubleshoot problems Patience and persistence News Flash! News Flash! News Flash! News Flash! George Hotz, 17 years old Traded hacked phone to Terry Daidone, cofounder of CertiCell,for: Nissan 350Z 3 new, 8GB iPhones A consulting gig Blog: http://iphonejtag.blogspot.com/ http://www.youtube.com/watch?v=9HkOTqx8hQ And now for some administration… And now for some administration… Office Hours and GSIs Office Hours and GSIs
Tuesday and Wednesday 4:30pm – 6pm B505 Pierpont Commons Chad Ohlandt ([email protected]) Mike Lucas ([email protected]) Sections: 401, 404, 406 Sections: 402, 403, 405 The most useful tool for this class… The most useful tool for this class… CTools! http://ctools.umich.edu/ Contains useful information and discussions where you can ask questions of the professor, GSI’s and other students. Important notes about CTools Important notes about CTools
More details in the syllabus You are responsible for checking CTools regularly and obtaining assignments Lectures will be posted on CTools Questions regarding projects, exams and technical issues should be posted to the CTools discussion board and/or forums, not sent by email Main Textbooks Main Textbooks Intro to Engineering Programming by James Holloway John Wiley & Sons, 2004 ISBN: 0471202150 MATLAB: An Introduction with Applications, 2nd Ed by Amos Gilat John Wiley & Sons, 2005 ISBN: 0471694207 Another Textbook of Interest Another Textbook of Interest Practical Debugging in C++
by Toby J. Teorey, et. al. Pearson Custom Publishing ISBN: 0536438447 (new) ISBN: 0130653942 (old) NC bookstore has the new one, online is mostly old If you can, you should really read/buy this! More details in the syllabus Grading Grading No late submissions unless there is a valid (documented) emergency/problem. Project Submission Project Submission
More details in the syllabus Turn in to your Engin101 AFS directory Due at 9pm on the due date. Shortly after 9pm your account will be altered to prevent revisions. Altering your code after 9pm is considered an honor code violation. Work must be submitted to the proper directory with the correct name. Instructions will accompany each assignment. Improperly submitted work will not be counted. Collaboration / Cheating Collaboration / Cheating
More details in the syllabus All projects and exams are to be done individually Form groups to work on concepts. However, actual coding must be done by yourself. Beware the autogradercheatdetectingmagic machine! Regrade requests Regrade requests Submit a written request on a separate sheet of paper, stapled to your original unmarked project/exam paper, to your GSI in office hours. Make sure to write your name and lab section number on the request. Regrade requests must be submitted within one week after the project or exam is returned in lab. DO NOT write anything on the original graded project or exam. Tips for success Tips for success Attend lecture and lab regularly Get help when you need it Make use of office hours Sleep/eat regularly Be patient and persistent See you Thursday! See you Thursday! ...
View
Full
Document
This note was uploaded on 03/12/2010 for the course ENGIN 101 taught by Professor Jeffringenberg during the Fall '07 term at University of Michigan.
 Fall '07
 JeffRingenberg
 Algorithms

Click to edit the document details