Welcome

Course Trailer 2020 (6m44s)
I hear and I forget.
I see and I remember.
I do and I understand.
- Confucius
Agenda
HOW?
Logistics
Materials: books, readings, viewings
The Work & Its Assessment
Platforms
SLOW
Stepwise
Pseudocode
Notes (google drive)


PreCourse Survey
Survey
WHO?
WHO?


WHY?
George Forsythe cited Alan Perlis in his 1958 address for the Mathematical Association of America:
"Whereas we think we know something when we learn it, and are convinced we know it when we can teach it, the fact is that we don’t really know it until we can code it for an automatic computer!"
(Denning 2019, 180–81)
"A decade later, Forsythe echoed the claim that computing provides general-purpose mental tools that would serve a person for a lifetime. Both Perlis and Forsythe firmly believed that everyone in every field will benefit from learning computing’s procedural ways of doing things. They believed that computational models would be useful in all fields"
(Denning 2019, 180–81)
Where Will I Use This Stuff?
Your own continued training in things technical
Working with people who have serious tech chops
Work in organizations
Your role as a citizen considering policy options
Life in general
HOW?
Logistics
Materials: books, readings, viewings
The Work & Its Assessment
Platforms
LOGISTICS
Class held in-person on alternate weeks
Tu 10-12, Th 4-6
Class sessions recorded. Recordings available ASAP (24-48 hours)
LOGISTICS
Mo | Tu | We | Th | Fr |
---|---|---|---|---|
Introduce Topic 1 | ||||
INF 401 |
||||
Problem Set 1 DUE | Review Topic 1 | Introduce Topic 2 | ||
INF 401 |
||||
Problem Set 2 DUE | Review Topic 2 | Introduce Topic 3 | ||
INF 401 |
MATERIALS
Online Articles/Posts
Video Lectures, Tutorials, etc.
Encyclopedia Articles




From the publisher: Computer Science Distilled; Computer Science Unleashed
From the Indigo: Computer Science Distilled; Computer Science Unleashed
From the Amazon.CA: Computer Science Distilled; Computer Science Unleashed
The "yellow book," Eloquent JavaScript (3rd edition), has a website ( https://eloquentjavascript.net/) where they actually have a fully interactive digital version of it and it's a free, which is to say it's an open resource, but you can pay what you think it's worth to the author - we won't work through this whole book, but it will also serve as a good reference book should you decide to go further with JavaScript (also at Amazon, Indigo, ABE).
Books
required
required
required
THEWORK
Read/View
Review Questions
Problem Sets
Exams
Classroom
Problem Sets

THEWORK
Problem Sets

THEWORK
Course Grade
Component | Proportion |
---|---|
Participation | 5% |
Review Questions* (done/not) | 10% |
Problem Sets* (10) | 20% |
Exam 1 | 10% |
Exam 2 | 10% |
Exam 3 | 20% |
Exam 4 | 30% |
* by due date (late = 75% max)
PLATFORMS
View Slide Deck: https://slides.com/djjr/platforms
We'll do CodePen in Class
But if you'd like to get a head start...
You could work through the tutorial used for graduate version of this class.
WHAT?
2020 Course Visualizations
Today
S
D
R
A
D
The Components of
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Decomposition
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Decomposition
- Think: "step by step"
- Ask: "what are the steps?"
- Ask: "what is the order?"
My
Morning
Routine
Get Up
Eat Breakfast
Get Dressed
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Decomposition
- Think: "step by step"
- Ask: "what are the steps?"
- Ask: "what is the order?"
My
Morning
Routine
Get Up
Eat Breakfast
Get Dressed
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Decomposition
- Think: "alternatives"
- Ask: "when to decide?"
- Ask: "what are the options?"
- Ask: "what are the criteria?"
Mo, We, or Fr?
Make Protein Shake
Cereal
My
Morning
Routine
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Decomposition
- Think: "alternatives"
- Ask: "when to decide?"
- Ask: "what are the options?"
- Ask: "what are the criteria?"
Mo, We, or Fr?
Make Protein Shake
Cereal
My
Morning
Routine
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Decomposition
- Think: "repeat until done"
- Ask: "have we looked everywhere?"
- Ask: "are we getting closer?"
- Ask: "when do we stop?"
Eat spoonful of cereal
Bowl Empty?
My
Morning
Routine
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Decomposition
- Think: "repeat until done"
- Ask: "have we looked everywhere?"
- Ask: "are we getting closer?"
- Ask: "when do we stop?"
Eat spoonful of cereal
Bowl Empty?
My
Morning
Routine
Eating a bowl of cereal

S
L
O
W
S
L
O
W
S
L
O
W
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Decomposition
- Think: "big problems contain smaller problems"
- Ask: "can I solve the big problem by solving several little problems?"
Make Coffee
Make
Shake
Clean Blender
Drink, Eat
My
Morning
Routine
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Decomposition
- Think: "big problems contain smaller problems"
- Ask: "can I solve the big problem by solving several little problems?"
Make Coffee
Make
Shake
Clean Blender
Drink, Eat
My
Morning
Routine
Have breakfast
S
T
E
P
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Decomposition
- Think: "zoom in, zoom out, change levels, adjust focus"
- Ask: "can I ignore some detail?"
- Ask: "can I name a group of steps?"
vs.
Get Ready
Shower
Make bed
Get Dressed
Underwear
Pants/Shirt
Shoes
My
Morning
Routine
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Decomposition
- Think: "zoom in, zoom out, change levels, adjust focus"
- Ask: "can I ignore some detail?"
- Ask: "can I name a group of steps?"
vs.
Get Ready
Shower
Make bed
Get Dressed
Underwear
Pants/Shirt
Shoes
My
Morning
Routine
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Decomposition
decomposition breaks big problem into smaller parts
abstraction gathers parts into a higher level concept
vs.
I do and I understand.
Download slide deck from here
What's Next?
Get books
Inspect Quercus site, update profile
Confirm Piazza access
Readings/viewings (~90 m)
Review questions
finis
Outtakes
PSEUDOCODE
Pseudocode
def: pseudocode is a convention for using everyday language infused with a programing language sensibility for describing how to solve a problem.
pseudocode is used to help you think and to help you communicate your ideas to other humans.
pseudocode is iterative. version 0 is free form, version n is relatively formal (but you get to make up the rules)
Pseudocode
one convention: use indentation to show hierarchical logic
if hot day
go to pool
otherwise
go for bike ride
Pseudocode
To Make Tea for Someone
boil water obtain tea obtain cup ask milk & sugar if yes milk add milk if yes sugar add sugar stir serve
boil water obtain tea obtain cup ask milk & sugar if yes milk add milk if yes sugar add sugar stir serve
Pseudocode
Determine if number is even or odd
get number divide number by 2 record remainder if remainder = 0 print EVEN else print ODD
get number divide number by 2 record remainder if remainder = 0 print EVEN else print ODD
Pseudocode
Yes/No Decisions
Multiple Case Decisions
if expression action else other action
case expression value1 : action1 value2 : action2 ... valuen : actionn otherwise : defaultAction other action
Example and Assignment
Welcome to INF313
By Dan Ryan
Welcome to INF313
- 373