CSE 332 Data Structures and Parallelism Overview

welcome to cse 332 n.w
1 / 15
Embed
Share

Dive into CSE 332 with Robbie Weber for a deep exploration of fundamental data structures, algorithms, and parallel code writing. Gain insight into course mechanics, staff, curriculum, and logistics to prepare for a comprehensive learning experience over 9 weeks. Projects, exercises, and assessments will challenge you to think like a computer scientist and implement complex concepts.

  • CSE 332
  • Data Structures
  • Parallelism
  • Algorithms
  • Robbie Weber

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Welcome to CSE 332 Data Structures and Parallelism CSE 332 SU 18 -- ROBBIE WEBER 1

  2. Welcome We have 9 weeks to learn a lot! -Fundamental data structures and algorithms. -And their analysis -Writing Parallel Code CSE 332 SU 18 -- ROBBIE WEBER 2

  3. Outline Introductions Course Mechanics Start of content -Review of queues and stacks CSE 332 SU 18 -- ROBBIE WEBER 3

  4. Course Staff Instructor: Robbie Weber -PhD student in CSE -Research in algorithm design TAs Caitlin Schaefer Alon Milchgrub CSE 332 SU 18 -- ROBBIE WEBER 4

  5. Whats in this course? Data Structures and Parallelism Data structures and Algorithms (about 80% of the course) -Starting to really think like a computer scientist. -Make design decisions, think about trade-offs. -Core data structures and algorithms. -Mathematically analyze those structures and algorithms. -Implement them Implement them Parallelism -First serious treatment of programming with multiple threads CSE 332 SU 18 -- ROBBIE WEBER 5

  6. Logistics Textbook: Weiss, Data Structures and Algorithm Analysis in Java OPTIONAL (useful if you want more info, or an alternative presentation) Piazza (message board) please sign up. Gradescope Midterm: Friday July 13th (in lecture) Final: Split over the last two days of classes: -Thursday August 16th (in section) -Friday August 17th (in lecture) Email Robbie ASAP if you have a conflict with any of these dates. Email Robbie ASAP if you have a conflict with any of these dates. CSE 332 SU 18 -- ROBBIE WEBER 6

  7. Logistics Projects We have a lot to cover - in less time than usual. 3 Programming Projects -Done with a partner -Split over multiple weeks - Checkpoints along the way Your first project comes out Wednesday There is a partner form on the webpage, fill it out by Tuesday afternoon. In the meantime: update your Java and Eclipse installs. CSE 332 SU 18 -- ROBBIE WEBER 7

  8. Logistics Exercises Assigned throughout the quarter. More frequent (about 10-12). Not as significant time investment as programming projects. Starting earlier is better (they can take some thought). Practice the theoretical aspects of the course. Individual Individual CSE 332 SU 18 -- ROBBIE WEBER 8

  9. Academic Honesty Partners can obviously talk about every aspect of your code in the projects -And you should, pair programming is highly highly recommended. In all other cases, high level discussion is fine. But you must: -Not take any written notes away from your discussion. -List everyone you collaborated with on your assignment. Goal is for you to learn the material. More details in syllabus. CSE 332 SU 18 -- ROBBIE WEBER 9

  10. Abstract Data Type An Abstract Data Type (ADT) Abstract Data Type (ADT) is a set of expected behaviors for a set of operations. Queue ADT state state Set of elements Stack ADT state state Set of elements behavior behavior insert(element) insert(element) add a new element to the collection. behavior behavior insert(element) insert(element) add a new element to the collection. remove () remove () returns the element that has been in the collection the shortest, and removes it. peek () peek () find, but do not remove the element that has been in the collection the shortest. remove () remove () returns the element that has been in the collection the longest, and removes it. peek () peek () find, but do not remove the element that has been in the collection the longest. CSE 332 SU 18 -- ROBBIE WEBER 10

  11. Data Structure A clever way of organizing data points -A data structure is an implementation of an ADT. Ways to implement a queue Array 17 3 4 13 10 15 LinkedList head tail 7 23 15 14 CSE 332 SU 18 -- ROBBIE WEBER 11

  12. Circular Array A different queue implementation Removing elements is expensive. What if we just remember where the next element is? front back 17 3 4 13 10 15 CSE 332 SU 18 -- ROBBIE WEBER 12

  13. Circular Array What about insertions? We can wrap around front back 17 3 4 13 23 10 5 15 At least until the array is completely full. CSE 332 SU 18 -- ROBBIE WEBER 13

  14. Tradeoffs With a doubly-linked list, you can get ?(1) insertions and removals as well. If they re both ?(1) why would you choose one over the other? Updating all those pointers is a constant, but it s a larger constant than array lookups. If you know the size in advance a circular array has less overhead But if you don t a linked list easily handles growing. The circular array would be annoying to grow. CSE 332 SU 18 -- ROBBIE WEBER 14

  15. Things To Do Now is a great time to find a partner I ll be up here if you have questions Things to do: Survey Sign up for Piazza Fill out partner form by tomorrow Get your programming environment ready. CSE 332 SU 18 -- ROBBIE WEBER 15

Related


More Related Content