1 / 20

RAIK 283 Data Structures and Algorithms

RAIK 283 Data Structures and Algorithms. Dr. Ying Lu ylu@cse.unl.edu Schorr Center 104 472-5793 Aug 28, 2012. http://www.cse.unl.edu/~ylu/raik283. Lecture. Data Structures and Algorithms TuTh 1:30-3:20pm Kauffman 112 Instructor: Dr. Ying Lu

bian
Download Presentation

RAIK 283 Data Structures and Algorithms

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. RAIK 283Data Structures and Algorithms Dr. Ying Lu ylu@cse.unl.edu Schorr Center 104 472-5793 Aug 28, 2012 http://www.cse.unl.edu/~ylu/raik283

  2. Lecture • Data Structures and Algorithms • TuTh 1:30-3:20pm • Kauffman 112 • Instructor: Dr. Ying Lu • Office hours: TuTh 12:20-1:20pm and by appointment • Office: Schorr Center 104, 472-5793 • e-mail: ylu AT cse dot unl dot edu

  3. TAs • David Stephens • Office hours: W 8:00-9:00pm and by appointment • Office: Kauffman 302 • e-mail: davidstephens92 AT gmail dot com • Jordan Degner • Office hours: M 8:00-9:00pm and by appointment • Office: Kauffman 307A • e-mail: jdegner0129 AT gmail dot com

  4. Textbook • Introduction to the Design and Analysis of Algorithms (3nd Edition),by Anany Levitin, Addison Wesley

  5. Course Theme • Data structure • a way of storing data in a computer so that it can be retrieved efficiently when required • An algorithm • a set of instructions that, when followed, solve a specific problem • Programs • implementations of algorithms that are executed by computers • Better algorithms •  huge performance improvement in resultant programs

  6. Course Objectives • Study classic data structures and algorithms that solve common problems • Learn standard approaches to solving new problems • Follow a rigorous approach to analyze and compare algorithms • When needed, some discrete mathematics will be covered, since it forms the foundation for rigorous analysis

  7. Broader Objectives • Learn critical thinking • Learn how to learn (on your own) • These objectives will be met through • interactive classroom discussions • challenging assignments • regular quizzes • progress assessment test (PAT) • final exam

  8. Topics Covered (I) • The basics of algorithm analysis • Algorithmic techniques • Brute Force • Divide-and-Conquer (Decrease-and-Conquer, and Transform-and-Conquer) • Space and Time Tradeoffs • Dynamic Programming • Greedy Techniques

  9. Topics Covered (II) • Theory of computing • Finite state machines • Halting problem • Tractable and in-tractable problems • Complexity classes, like P, NP & NP-Complete • Advanced topic: linear programming

  10. Prerequisite:CSCE /RAIK 184H • Mastery of data structures including list, stack, queue, tree, and graph • Familiarity with recursion • Exposure to complexity analysis

  11. Grading • Class Participation 6% • Assignments 50% • Quizzes 24% • PAT 2% • Final 18%

  12. Letter Grade • No incomplete (I) will be given

  13. Class Participation • Attend classes • Participate in class discussions • Volunteer to solve in-class problems on the white board • Do not use laptop, ipad, iphone, or any device that pull your attention away from the class! • Check your email regularly, of course outside of the classroom 

  14. Assignments • Homework will be assigned about every three weeks • Totally, 4 assignments • Each assignment • includes analytical (pen and paper) problems and a programming exercise • will be due at the beginning of the class on the given due date

  15. Late Homework • Late homework is “OK” but... • Only if it’s not too late • You’re not late too often • All homework submitted after its deadline is considered late • Assignments • submitted within 24 hours after the original deadline are considered to be “one day late”, • within 48 hours, “two days late”, etc.

  16. Late Homework Details • A late homework assignment will be accepted without penalty if • the total “lateness” of all homework assignments received to date (including the current assignment) does not exceed 3 days • The penalty for late assignments is 25% per day they are late • Weekends count in evaluating the lateness of an assignment

  17. Quizzes • Quizzes, will be given in-class approximately every two weeks (MAY NOT be announced in advance) • Format: • Problems based on the materials covered in the immediate past

  18. Course Conduct • You may work in groups in • understanding assignments • developing approaches and strategies • learning to use programming tools • You may not • develop joint solutions with other students • share code with other students • copy anything • All assignments, except for the last programming exercise, constitute a team of size one!

  19. Announcement To build our class roster Send our TA David Stephens (davidstephens92 AT gmail dot com) an email with subject “RAIK283 roster”, your photo (<2MB) and your name by this Thursday Class roster example Count toward your class participation

  20. Announcement • Next, we will begin to study chapter1 in the textbook • Reading List of the Week • Chapter 1, Chapter 2.1, Chapter 2.2

More Related