1 / 23

Overview of the course

Overview of the course. Course homepage and discussion board. sign up at https://piazza.com/purdue/spring2014/cs58000/ It is recommended to ask questions on the Board instead of directly Emailing the teaching staffs. Grading. Grading will be done as follows: biweekly homework: 20%

edward
Télécharger la présentation

Overview of the course

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview of the course

  2. Course homepage and discussion board • sign up at https://piazza.com/purdue/spring2014/cs58000/ • It is recommended to ask questions on the Board instead of directly Emailing the teaching staffs.

  3. Grading Grading will be done as follows: • biweekly homework: 20% • midterm: 40% • final: 40% • class and piazza participation & bonus problem: adjust borderline scores

  4. Homework Policy • Written homeworks are due at the start of class on their due date. • If you do not know the answer of question, you will receive 15% of the grade for the problem if you admit it up-front by writing “I don’t know how to solve this problem” and nothing else. If your solution is wrong, you get a score of 0 for that problem. • You are encouraged to work in groups of 2 or 3.  On all assignments each person should hand-in their own writeup. That is, collaboration should be limited to talking about the problems, so that your writeup is written entirely by you alone, in your own words. 

  5. Homework Policy • We will not accept late submission. To offset this strict policy, • we will drop the lowest homework grade in the end so that the occasional absence won’t hurt you.  • each individual student has a single 48 hours pass. This pass can be used to extend the deadline for one homework by 48 hours. • We prefer that you type up your solutions (preferably using LaTeX). You may neatly hand-write your solutions, but if we have trouble reading them you will be required to type up future solutions. • If you find a solution from any other source, you must rewrite entirely using your own words and cite properly. • The TA rules when it comes to grading homework; their decisions are final. However, they will be available to listen to your explanations.

  6. Recommend Textbook for reading • Introduction to Algorithms, by Cormen, Leiserson, Rivest, and Stein (hereafter referred to as "CLRS"). • Algorithm Design by J. Kleinberg and E. Tardos (hereafter refererred as "KT").

  7. What is an algorithm? • Any well defined computational procedure that takes some value, of set of values, as input and produces some value, or set of values, as output for a well defined computation problem.

  8. Example Input:integer Output: then -th Fibonacci number

  9. What is the -th Fibonacci number? Definition of Fibonacci number.

  10. Alg 1. Function f(n) If n=0: return 1 If n =1: return 1 Return f(n-1)+f(n-2)

  11. Things we care about an algorithm • Performance • Running time • Space • Correctness

  12. Running time of the algorithm Function f(n) If n=0: return 1 If n =1: return 1 Return f(n-1)+f(n-2)

  13. Why is this a bad running time?

  14. Current State of Arts

  15. Moore’s law • Moore's law: the computing power doubles approximately every two years. 

  16. Algorithm 2. Function f(n) Create an array A[0] =1, A[1] =1 For (i= 2..n) A[i] = A[i-1]+A[i-2] Return A[n]

  17. Correctness?

  18. Running time?

  19. What will be covered in this course? • Data Structure • Algorithm Design Techniques • Algorithm Analysis Techniques

  20. Data structures: We assume you already know what is a binary tree, head, and linked list. • Treap • Binomial heap • Union find • hasing

  21. Design Techniques • Greedy algorithm • Dynamic programming • Divide and Conquer • FFT • Network Flow • Linear Programming • Randomized Algorithms • DFS and BFSReduction

  22. Tools for analyzing algorithms • Asymptotic Analysis • Amortized Analysis • Probabilistic Analysis

  23. Intractability and Complexity Theory • Complexity class such as NP, coNP, RP, • Reduction

More Related