Welcome
Course Trailer 2020 (6m44s)
Welcome

Agenda

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



PreCourse Survey
Survey
WHO?
WHO?




YOU
Go to the PEOPLE menu, click on F21 Groups Tab
Take note of what group you are in
When we create breakouts, move yourself to the assigned group
Introduce yourselves
5 minutes
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
MONDAY ZOOM
Recordings available by Wednesday AM
TUTORIALS in person W 1-4 Th 6-9
Th 8pm tutorial will be remote
Remote tutorial recordings possible but not guaranteed
MATERIALS
Online Articles/Posts
Video Lectures, Tutorials, etc.
Encyclopedia Articles




Books

required



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).
required
required
THEWORK
Read/View
Review Questions
Problem Sets
Exams
Classroom & Tutorial
Problem Sets

THEWORK
Problem Sets

THEWORK
Course Grade
Component | Proportion |
---|---|
Tutorial Participation | 15% |
Review Questions (done/not) | 5% |
Problem Sets (10) | 20% |
Exam 1 | 10% |
Exam 2 | 20% |
Exam 3 | 30% |
PLATFORMS
View Slide Deck: https://slides.com/djjr/platforms
We'll do CodePen in Tutorial #1
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
(https://bit.ly/DJR_CT-SDASD-EX)
What's Next?
Get books
Inspect Quercus site, update profile
Confirm Piazza access
Attend tutorial (CodePen setup there)
Week 1 readings/viewings (~90 m)
Week 1 review questions
Numbers (binary, hexadecimal)
Modularity
Flowcharts
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 INF1339
By Dan Ryan
Welcome to INF1339
- 1,048