Lec01 c0
Lec01 c0
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Logistics
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Logistics
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Logistics
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Development Environment
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Development Environment
Other setups are ok, but the more your setup differs, the less we’ll be
able to help you.
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Syllabus Review
Syllabus
https://cse.buffalo.edu/courses/cse250/2024-fa
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Syllabus Review
Grading
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Syllabus Review
Written Assignments
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Syllabus Review
Programming Assignments
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Syllabus Review
Programming Assignments
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Syllabus Review
Assignments
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Syllabus Review
Assignments
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Syllabus Review
Exams
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Syllabus Review
Attendance / Participation
Lecture
No recorded attendance
We’re here to answer questions (use the opportunity!)
Recitation
Attendance is mandatory after add/drop
Recitation next week is optional for tech support
Normal recitations begin the week of 9/9
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
Collaboration
Do...
... work together to brainstorm ideas
... explain concepts to each other
... include a list of collaborators on all submitted work
Do not...
... write solutions while working together
... describe the details of solutions or code
... leave your code in a place where someone else can see it
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
Resource Policy
Do...
... use materials provided by course staff (Piazza, Class, OH)
... use materials provided by textbooks, readings
... cite materials you reference for written work
... cite sources for all code you reference/copy
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
Resource Policy
Do not...
... reference random videos that “helped you solve the
problem”
... reference exact solutions found online
... use LLMs/Chatbots/etc...
... hire “private tutors”
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
Resource Policy
Do not...
... reference random videos that “helped you solve the
problem”
... reference exact solutions found online
... use LLMs/Chatbots/etc...
... hire “private tutors”
If you have an actual tutor, please contact course staff.
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
Why?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
Why?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
Amnesty Policy
Don’t cheat!
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
Amnesty Policy
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
Amnesty Policy
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
Amnesty Policy
Sincerely,
Name ([email protected])
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Collaboration
Life Lesson
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
How to ask questions?
1
Oliver’s slides always have small mistakes ‘to make sure that you’re paying
. . . . . . . . . . . . . . . . . . . .
attention’.
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
How to ask questions?
To ask a question...
Check if the answer already exists
(syllabus, Piazza, course site)
Frame your question carefully.
(Avoid phrases like “it’s not working”)
Let the SA/Instructor know what you tried.
(Try to solve the problem yourself before asking)
Copy and paste text error messages, and not screenshots
(Piazza can’t search images)
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
How to ask questions?
To ask a question...
Check if the answer already exists
(syllabus, Piazza, course site)
Frame your question carefully.
(Avoid phrases like “it’s not working”)
Let the SA/Instructor know what you tried.
(Try to solve the problem yourself before asking)
Copy and paste text error messages, and not screenshots
(Piazza can’t search images)
Often, if you follow the steps above, you’ll find that you can answer
your own question in the process!
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
What is a Data Structure?
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
What is a Data Structure?
Data
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
What is a Data Structure?
Data Container
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
What is a Data Structure?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
What is a Data Structure?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
What is a Data Structure?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
What is a Data Structure?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
What is a Data Structure?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Some Examples
Tactical Programming
Go from point A to point B
1 Move up 100 feet
2 Turn right, move forward
200 feet
3 Move north 10 feet then
turn left
4 Move forward 20 feet
5 Move south 50 feet
6 Move west 150 feet, then
turn left
7 Move forward 60 feet
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Some Examples
Tactical Programming
Go from point A to point B
1 Move up 100 feet
2 Turn right, move forward We can optimize each
200 feet individual step
3 Move north 10 feet then
turn left
4 Move forward 20 feet
5 Move south 50 feet
6 Move west 150 feet, then
turn left
7 Move forward 60 feet
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Some Examples
Tactical Programming
Go from point A to point B
1 Move up 100 feet
2 Turn right, move forward We can optimize each
200 feet individual step
3 Move north 10 feet then Taking a bike will speed up
turn left step 2 compared to walking.
4 Move forward 20 feet
5 Move south 50 feet
6 Move west 150 feet, then
turn left
7 Move forward 60 feet
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Some Examples
Tactical Programming
Go from point A to point B
1 Move up 100 feet
2 Turn right, move forward We can optimize each
200 feet individual step
3 Move north 10 feet then Taking a bike will speed up
turn left step 2 compared to walking.
4 Move forward 20 feet Installing an east/west
5 Move south 50 feet slip-and-slide will speed up
6 Move west 150 feet, then step 6.
turn left
7 Move forward 60 feet
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Some Examples
Strategic Programming
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Some Examples
Strategic Programming
× ×
× ×
Look at the big picture
× ×
Design an algorithm
Focus on “complexity” A B
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Some Examples
Strategic Programming
× ×
× ×
Look at the big picture
× ×
Design an algorithm
Focus on “complexity” A B
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Some Examples
Demo
Live Demo
(thanks to Prakshal Jain; 2021 TA for the suggestion/prototype)
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Know Arcane Lore, Amaze Your Friends
https://en.cppreference.com/w/cpp/container/unordered_map
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Know Arcane Lore, Amaze Your Friends
https://en.cppreference.com/w/cpp/container/unordered_map
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Know Arcane Lore, Amaze Your Friends
Java’s Util
https://docs.oracle.com/javase/7/docs/api/
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Know Arcane Lore, Amaze Your Friends
Complexity Lore
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Why should I care?
Know Arcane Lore, Amaze Your Friends
Complexity Lore
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Containers
Containers
We have
A list of cats
We want
To get the first cat in the list
To add a new cat to the front of the list
To get the nth cat in the list
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Containers
Containers
We have
A list of cats
We want
To get the first cat in the list
To add a new cat to the front of the list
To get the nth cat in the list
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Containers
Abstract Datatypes
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Containers
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Containers
Options
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Containers
Options
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Containers
Options
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Containers
Options
Which is best?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Containers
Options
Which is best?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Containers
It Depends!
No one option is always best!
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Containers
vs vs
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Course Roadmap
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Course Roadmap
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Next steps...
AI Quiz
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Next steps...
This project does not count for a grade, but you must get a 100%
to pass the class.
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Next steps...
Join Piazza
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .
CSE 250: Course Overview, Logistics
Course Overview
Next steps...
Questions?
. . . . . . . . . . . . . . . . . . . .
© 2023 Oliver Kennedy, Eric Mikida, The University at Buffalo, SUNY
. . . . . . . . . . . . . . . . . . . .