Preliminaries CS 331: Data Structures and Algorithms Michael Lee - - PowerPoint PPT Presentation

preliminaries
SMART_READER_LITE
LIVE PREVIEW

Preliminaries CS 331: Data Structures and Algorithms Michael Lee - - PowerPoint PPT Presentation

Preliminaries CS 331: Data Structures and Algorithms Michael Lee <lee@iit.edu> Michael Lee - lee@iit.edu - http://moss.cs.iit.edu - Office: SB 226C - Hours: Wed/Fri 1-2PM (on Discord/Zoom) Agenda - Course overview & Administrivia


slide-1
SLIDE 1

Preliminaries

CS 331: Data Structures and Algorithms Michael Lee <lee@iit.edu>

slide-2
SLIDE 2
  • lee@iit.edu
  • http://moss.cs.iit.edu
  • Office: SB 226C
  • Hours: Wed/Fri 1-2PM (on Discord/Zoom)

Michael Lee

slide-3
SLIDE 3
  • Course overview & Administrivia
  • Prerequisites
  • Topics & Resources
  • Grading
  • Dev environment & Class procedures

Agenda

slide-4
SLIDE 4

Data Structures

  • How do we store, organize, and retrieve data on a computer?

& Algorithms

  • How can we efficiently (in space/time) carry out some typical data

processing operations?

  • How do we analyze and describe their performance?
slide-5
SLIDE 5
  • I assume you are …
  • fluent in some programming language
  • familiar with procedural & OO paradigms
  • comfortable with development processes:
  • compilation, debugging, testing

Prerequisites

slide-6
SLIDE 6

Python

  • We’ll use the Python programming language to explore data

structures & algorithms

  • Easy-to-learn, clean (“one obvious way to do” things), and

popular language

  • Ton of useful, powerful libraries
slide-7
SLIDE 7

Topics

  • Python crash course
  • Algorithmic analysis
  • Linear data structures (Lists, Stacks, Queues)
  • Hashing and Hashtables (aka Maps)
  • Recursion and Trees
slide-8
SLIDE 8
  • 1. Course website: moss.cs.iit.edu/cs331
  • static information
  • lecture calendar, slides,

external resources, etc.

Online resources

slide-9
SLIDE 9
  • 2. Learning platform: Mimir
  • interactive lab and lecture notebooks with built-in tests
  • quizzes and exams

Online resources

slide-10
SLIDE 10
  • 3. Blackboard
  • Collab Ultra (for labs)
  • Final gradebook

Online resources

slide-11
SLIDE 11
  • 4. Discord: discussion forum
  • text/voice chat + screen share
  • monitored by TAs and myself
  • all office hours here!

Online resources

slide-12
SLIDE 12

Teaching Assistants

  • Section 01: Ismael Lopez
  • Hours: TBA
  • Section 02: Benny Vazquez-Elvir
  • Hours: TBA
  • Section 03: TBA
  • Hours: TBA
  • Section 04: TBA
  • Hours: TBA
  • Section 05: Vincent Tran
  • Hours: TBA
slide-13
SLIDE 13

TA Lab & Office Hours

  • Labs will be run on Blackboard Collab Ultra
  • Demos + live QA
  • Office hours will be held on Discord
slide-14
SLIDE 14

Supplements

  • The Python Tutorial (docs.python.org/3/)
  • Problem Solving with Algorithms and

Data Structures Using Python

slide-15
SLIDE 15

Grading

  • 35% Machine Problems
  • 5% Quizzes / Self-evaluation
  • 60% Exams (3 total: 2 midterms + final)
slide-16
SLIDE 16

On Exams

  • Tentative midterm exam dates published on class website
  • Oct 8, Nov 12 — available for 24 hour period on Mimir
slide-17
SLIDE 17

Machine Problems

  • New programming assignment most weeks
  • All assignments are retrieved and submitted on Mimir
  • Provided codebase typically covered in preceding lectures
slide-18
SLIDE 18

Jupyter Notebook

  • In-browser Python development platform
  • “Cells” can contain plain text, code, output (and more)
  • All lecture notes, demos, and assignments will be distributed

as notebook files

slide-19
SLIDE 19

Jupyter Notebook

  • You can optionally install a notebook server on your own

computer for convenience

  • See http://jupyter.org/install.html — either JupyterLab &

“Classic” Jupyter Notebook are fine (with Python3)

slide-20
SLIDE 20

Interactive Lectures

  • Lecture notebooks released as 0-point “assignments”
  • Open on Mimir (or download into local notebook server) to

edit and follow along during class

  • Class is usually one long interactive demo. Bring your

laptop to follow along!

  • Completed notebooks will be posted on the class website
slide-21
SLIDE 21

§ Demo