MA/CSSE 473 Day 01 Course Intro Algorithms Intro

Slides:



Advertisements
Similar presentations
No calculators or notes can be used on this quiz.
Advertisements

CS150 Introduction to Computer Science 1 Professor: Chadd Williams.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
Today’s quiz on 8.2 A Graphing Worksheet 1 will be given at the end of class. You will have 12 minutes to complete this quiz, which will consist of one.
Today’s quiz on 8.2 B Graphing Worksheet 2 will be given at the end of class. You will have 12 minutes to complete this quiz, which will consist of one.
The Design and Analysis of Algorithms
Math 010 online work that was due today at the start of class:
Lesson 4: Percentage of Amounts.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
MA/CSSE 473 Day 03 Asymptotics A Closer Look at Arithmetic With another student, try to write a precise, formal definition of “t(n) is in O(g(n))”
MA/CSSE 473 Day 01 Course Intro Algorithms Intro Pick up a quiz from the back table.
CS223 Algorithms D-Term 2013 Instructor: Mohamed Eltabakh WPI, CS Introduction Slide 1.
MA/CSSE 473 Day 01 Course Intro Algorithms Intro Pick up a handout from the back table.
MA/CSSE 473 Day 13 Permutation Generation. MA/CSSE 473 Day 13 HW 6 due Monday, HW 7 next Thursday, Student Questions Tuesday’s exam Permutation generation.
How to Learn in This Course CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.1 © Mitchell Wand, This work is licensed under a Creative Commons.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
MA/CSSE 473 Day 02 Some Numeric Algorithms and their Analysis.
Chapter 3 Sec 3.3 With Question/Answer Animations 1.
The Initial Problem Chapter 1, Section 1.6 #71 x = 793 x needs to be isolated on the left. Therefore, 341 should be subtracted from both sides: x.
Session 4: PREPARE FOR TESTS Year 7 Life Skills Student Wall Planner and Study Guide.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
CS 312: Algorithm Analysis Lecture #1: Algorithms and Efficiency This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
MA/CSSE 473 Day 27 Hash table review Intro to string searching.
1. Finding your seat - grab your name tent from the basket 2. Match the number written on your name tent to the seat number in our class 3. Take out your.
MA/CSSE 473 Day 28 Dynamic Programming Binomial Coefficients Warshall's algorithm Student questions?
MA/CSSE 473 Day 23 Student questions Space-time tradeoffs Hash tables review String search algorithms intro.
1 Section 2.1 Algorithms. 2 Algorithm A finite set of precise instructions for performing a computation or for solving a problem.
MA/CSSE 473 Day 02 Some Numeric Algorithms and their Analysis.
Please CLOSE YOUR LAPTOPS, and turn off and put away your cell phones, and get out your note- taking materials.
CS 312: Algorithm Analysis Lecture #1: Algorithms and Efficiency This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.Creative.
Any questions on today’s homework? (Sections 1.6/1.7) Reminder: You should be doing this homework without using a calculator, because calculators can’t.
8.1 8 Algorithms Foundations of Computer Science  Cengage Learning.
CS112: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Blackboard – Piazza – Textbook Highlight.
Building Your Study Skills. Five tips for making the most out of studying: 1.Identify the time(s) of day when studying is the most effective, then schedule.
MA/CSSE 473 Day 12 Amortization (growable Array) Knuth interview Brute Force Examples.
The normal approximation for probability histograms.
MA/CSSE 473 Day 05 Factors and Primes Recursive division algorithm.
Day One Every Day per lb You will have 15 minutes to work with your partner to help me solve my problem. Then you will have another 10 minutes.
How to Learn in This Course
CS16: Introduction to Algorithms and Data Structures
Mr Barton’s Maths Notes
Advanced Algorithms Analysis and Design
MA/CSSE 473 Day 05 Factors and Primes Recursive division algorithm.
CLOSE Please YOUR LAPTOPS, and get out your note-taking materials.
Hexadecimal, Signed Numbers, and Arbitrariness
Algorithmic Problem Solving
The Design and Analysis of Algorithms
Analysis of Algorithms
eMINTS Parent Information Meeting
Mr F’s Maths Notes Number 7. Percentages.
MA/CSSE 473 Day 02 Some Numeric Algorithms and their Analysis
The Need for Algorithms 2 days
Course Description Algorithms are: Recipes for solving problems.
Using MyMathLab Features
We’ll be spending minutes talking about Quiz 1 that you’ll be taking at the next class session before you take the Gateway Quiz today.
We’ll be spending a few minutes talking about Quiz 2 on Sections that you’ll be taking the next class session, before you work on Practice Quiz.
Algorithms Chapter 3 With Question/Answer Animations
2008/12/03: Lecture 20 CMSC 104, Section 0101 John Y. Park
Objective of This Course
CDA 3100 Summer 2013.
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Friday Fun: A Riddle! Versatile teaching tool You already do it
Mr Barton’s Maths Notes
Homework Session 87S Jost_Ruddell
RECURSION Haskell.
CMSC201 Computer Science I for Majors Final Exam Information
Course Description Algorithms are: Recipes for solving problems.
Design and Analysis of Algorithms
Presentation transcript:

MA/CSSE 473 Day 01 Course Intro Algorithms Intro Pick up a handout from the back table

MA/CSSE 473 Day 01 In-class Quizzes (NOT) Roll Call/Instructor quick intro Questions about the Syllabus? The importance of Data Structures The importance of Algorithms Begin Algorithm Overview/Review Which will last a few days Pass around attendance sheet. Ask that it be returned to me after everyone signs it. What do I do with them?

No in-class quizzes in 473 By now, you know whether they help you. Many days, a “handout with fill-ins” instead. You will not usually need to have your computer in class. But if you want to follow along with the slides… Be careful about distractions!

Attendance sheet Please write the name you want me and other students to call you

Student Intros (hidden for 201310 because section 02 is so big) Your name (what you want people to call you)? What is the main thing you did this summer? Answer 2 or more of the following questions in 30 seconds or less. Other interesting summer activities? A favorite algorithm? Where were you? Were you helped by something from Rose courses/experiences? What was your role? For whom? Good tools that you used? What specifically did you work on? What was the environment like? What did you learn? Would you recommend this place to your peers? What was the main value that you added there? It feels strange doing intros in a 400-level class. Most of you probably know each other pretty well. But, amazingly, exactly half of you are folks whom I’ve never had in class. So this won’t be too boring for you, I tried to ask questions that are things you might not know about each other.

A Few Claude Facts Degrees: Caltech, Illinois, Indiana (MA, MA, CS) This is my 29th year at Rose Have taught about 22 different courses; favorites are … I have 9 children, ages 14-35) 9 grandchildren. I live very close to campus In 2010 I was diagnosed with a very rare connective tissue disease, scleromyxedema. 2-day infusions. Despite ugly prognosis, I still know that God's in control. I really like it when you put 473 as part of the subject line in your email to me.

Contact Info Claude Anderson, F-210, x8331 anderson@rose-hulman.edu http://exchange.rose- hulman.edu/owa/calendar/anderson@rose- hulman.edu/Calendar/calendar.html . "View by week" is probably best If you email me, please include 473 somewhere in the subject line (also include a real subject)

Where to find course materials Moodle: drop boxes, solutions, etc. Piazza: Announcements and discussions. Schedule page and things linked from it Notice the Hints to Exercises section that begins on p 497 of the textbook First try to do each problem without using the hint. But if you get stuck, by all means look at the hint. Sometimes I will post my PowerPoint slides after lectures, because they may contain spoilers. When I do post them before, I may repost a different version after. Sometimes my slides contain more than we actually get to in class. When that happens, I will usually move that material to the following day's class.

Questions about the Syllabus? … or the schedule page? … or other course details? You can ask now, or ask tomorrow

One detail before the course intro CSSE 230 previously discussed graph implementations So HW1 has a problem to "review" this. For some of you, it won't be review So we take 5 minutes to show two representations now.

Graph representations Vertex Edge Endpoints Adjacent Digraph Head, Tail Cycle, Loop Complete Connected

The Ideal and the Real Ideal Real Everyone comes to this course with the material from CSSE 230 and MA 375 fresh in their minds Real Only about 50% of you took 230 within the last year. We’ll do quite a bit of review/reinforcement in this course In many cases, you’ll understand things much better the second time you see them. Several of the early reading assignments discuss things you have probably seen before Sometimes treated at a higher level than what you saw before.

The Ideal and the Real, part 2 Everyone comes to this course with the same background Real You have taken a variety of courses that introduce common algorithms Not all versions of CSSE 230 and the Disco courses are the same And some people have taken Graph Theory, crypto, … Result For every algorithm we discuss, chances are good that someone in the class will have already seen it What to do about it? Live with it, or only discuss obscure algorithms? I choose the former

This is a very mathematical class More about ideas than implementations But there will be some implementation projects An occasional “regular” homework problem will require a small implementation (usually 50 lines of code or fewer)

An approach to this course Examine and/or analyze lots of algorithms. Look for similar approaches. Develop a toolbox. Some might call it a "bag of tricks" Internalize the common terminology and ways of talking about algorithms.

Ways of organizing algorithms By area of application (230 approach), e.g. Sorting algorithms Search algorithms Algorithms based on what data structure is used Tree algorithms Graph algorithms Heap algorithms By techniques used (473 approach), e.g. Brute Force Greedy Decrease and Conquer Divide and Conquer Dynamic Programming Both are reasonable approaches

Structuring Data Can Help a Lot If you have seen this problem before, please don’t speak up (so other students get a chance to think about it). Example is here. (Note: I am not putting the example on-line)

Algorithms are Important The next few slides are based on Chapter 0 of Algorithms by Dasgupta, Papadimitriou, and Vazirani (McGraw-Hill, 2008) Two enterprises have fueled the computer revolution: Rapidly-increasing hardware speeds Efficient Algorithms

A Big Idea That Changed the World Moveable type Gutenberg, 1448 (I saw a Gutenberg Bible in summer 2008 at the Library of Congress) According to Dasgupta, et. al Literacy spread The Dark Ages ended The human intellect was liberated Science and technology triumphed The Industrial Revolution happened Many historians say we owe all of this to typography For a great discussion of algorithms and typography See the interview with Donald Knuth in July-August CACM It’s assigned reading for this course. See Day 11 in schedule.

The Other Earth-Shaking Big Idea Algorithms First step: Replacing Roman Numerals by decimals (India, 7th century AD) Could now do arithmetic efficiently Codified by Al Khwarizimi (Baghdad, 9th cent.) Add, subtract, multiply, divide, square roots, digits of π. Precise, unambiguous, mechanical instructoins The word algorithm is derived from his name. The champion of algorithms in the West Leonardo of Pisa (a.k.a. Fibonacci) (early 13th century)

Do you agree with Dasgupta? Are moveable type and algorithms the biggest change motivators since the Dark Ages? What else would you include in the list?

Brainstorm What is an algorithm? In groups of three, try to come up with a good definition. Goal: Short but complete Two minutes Q1, Q2 Ingredients: Sequence of instructions For solving a problem Unambiguous (including order) Can depend on input Terminates in a finite amount of time

Write an algorithm … … based on the schedule page for this course Input: A session number (1 .. 40) Output: A number representing the day of the week. 0 represents M, 1 T, 2 R, 3 F. Write the algorithm (a function, actually) with your group.