Presentation is loading. Please wait.

Presentation is loading. Please wait.

0 CS 130 A: Data Structures and Algorithms n Course webpage: n

Similar presentations


Presentation on theme: "0 CS 130 A: Data Structures and Algorithms n Course webpage: n"— Presentation transcript:

1 0 CS 130 A: Data Structures and Algorithms n Course webpage: www.cs.ucsb.edu/~suri/cs130a/cs130awww.cs.ucsb.edu/~suri/cs130a/cs130a n Email: suri@cs.ucsb.edusuri@cs.ucsb.edu n Office Hours: 11-12 Wed

2 1 CS 130A: Prerequisites n First upper division course n More in-depth coverage of data structures and algorithms n Prerequisites  CS 16: stacks, queues, lists, binary search trees, …  CS 40: functions, recurrence equations, proofs, …  Programming competence assumed  C, C++, and UNIX  Refresh your coding and debugging skills  Use TAs

3 2 Text Book n Data Structures & Algorithm Analysis in C++ by Mark Allen Weiss n Supplemental material from Introduction to Algorithms, by Cormen, Leiserson, Rivest, Stein [MIT book] n Lecture material primarily based on my notes n Lecture notes available on my webpage n See web page for lectures updates, assignments.

4 3 CS 130 A: Grade Composition n 2 Midterm exams (30% total) n 2 Programming assignments (30% total) n 1 Final exam (40%) n Homework assignments  They will not be graded: they are to help you practice problem solving and prepare for exams  Solving homework problems key to understanding.  Solutions will be made available, so you can self-assess your understanding and work with TAs to correct your mistakes. n Attend all lectures! n Schedule is tentative. n Unexpected changes in midterm/exam dates

5 4 Some Advice and Caution n Posted schedule of lectures, assignments, exams is tentative n Reviews unplanned n Unexpected events may change dates of midterms n No makeup exams, no extensions. n Attend all lectures. n Read lecture notes (material) before coming to class.

6 5 Teaching Assistants n Teaching Assistants:  Bay-Yuan Hsu (soulhsu@cs.ucsb.edu)soulhsu@cs.ucsb.edu  Discussion: Wed 6:30-7:200 (GIRV 1119)  TA hours: Mon 4-6 (Trailer 936)  Semih Yavuz (syavuz@cs.ucsb.edu)  Discussion: Tues 6:30-7:20 (GIRV 1116)  TA hours: Tues 3:30-5:30 (Trailer 936)

7 6 Discussion Sections n No discussion section this week n Discussion Format  No new material discussed  It is meant as a help session  Use them to go over homework assignments  Programming pointers  But TA are not there to help you write or debug code

8 7 What the course is about n The course is primarily about Data Structures  Algorithms covered in small part (20%)  CS 130B is the main algorithms course  Data structures will be motivated by applications although we won’t discuss them in any detail

9 8 What the course is about n This is a Theory course, not programming/systems  Primary focus on concepts, design, analysis, proofs  Includes 2 coding assignments, but no programming taught  C++, Unix competence expected n My teaching philosophy for 130A  Discovery and insights. Big picture.  Best understood in abstract form, with pen-paper  Alternative Style: learn by coding. ( If coding is your thing, feel free to program the data structures.)  Exams on conceptual understanding, not coding details.  Homework exercises model for exam questions.

10 9 Course Outline n Introduction and Algorithm Analysis (Ch. 2) n Hash Tables: dictionary data structure (Ch. 5, CLRS) n Heaps: priority queue data structures (Ch. 6) n Balanced Search Trees: general search structures (Ch. 4.1-4.5) n Union-Find data structure (Ch. 8.1–8.5, Notes) n Graphs: Representations and basic algorithms  Topological Sort (Ch. 9.1-9.2)  Minimum spanning trees (Ch. 9.5)  Shortest-path algorithms (Ch. 9.3.2) n B-Trees: External-Memory data structures (CLRS, Ch. 4.7) n kD-Trees: Multi-Dimensional data structures (Notes, Ch. 12.6) n Misc.: Streaming data, randomization (Notes)

11 10 What are your goals? n A step towards the BS degree n Just a required CS course n Becoming a well-rounded computer scientist n Intellectual (theory) aspects of CS n Clever ideas n Interview questions at elite software companies

12 11 My goals n Algorithms is my research expertise n A lively and enormously active area of research n Broad impact on almost every area of CS n My personal mission:  transmit some of the knowledge and enthusiasm  Win the best teacher award n Weekly Jokes  Send me your jokes!

13 12 Why Study Algorithms and Data Structures? n Intellectual Pursuit

14 13 Why Study Algorithms and Data Structures? n To become better computer scientist

15 14 Why Study Algorithms and Data Structures? n World domination

16 Algorithms are Everywhere Search Engines GPS navigation Self-Driving Cars E-commerce Banking Medical diagnosis Robotics Algorithmic trading and so on … 15

17 Emergence of Computational Thinking Computational X Physics: simulate big bang, analyze LHC data, quantum computing Biology: model life, brain, design drugs Chemistry: simulate complex chemical reactions Mathematics: non-linear systems, dynamics Engineering: nano materials, communication systems, robotics Economics: macro-economics, banking networks, auctions Aeronautics: new designs, structural integrity Social Sciences, Political Science, Law ….

18 Emergence of Computational Thinking

19 18 Modern World of Computing n Age of Big Data, birth of Data Science n Digitization, communication, sensing, imaging… n Entertainment, science, maps, health, environmental, banking… n Volume, variety, velocity, variability n What all happens in 1 Internet minute?

20 19

21 Intelligent Computational Systems 20

22 21 Why Data Structures? n Data is just the raw material for information, analytics, business intelligence, advertising, etc n Computational efficient ways of analyzing, storing, searching, modeling data n For the purpose of this course, need for efficient data structures comes down to:  Linear search does not scale for querying large databases  N 2 processing or N 2 storage infeasible  Smart data structures offer an intelligent tradeoff:  Perform near-linear preprocessing so that queries can be answered in much better than linear time


Download ppt "0 CS 130 A: Data Structures and Algorithms n Course webpage: n"

Similar presentations


Ads by Google