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
F
rom 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

  1. Think: "step by step"
  2. Ask: "what are the steps?"
  3. Ask: "what is the order?"

My
Morning
Routine

Get Up

Eat Breakfast

Get Dressed

Computational Reasoning

Sequence

Decisions

Repetition

Abstraction

Decomposition

  1. Think: "step by step"
  2. Ask: "what are the steps?"
  3. Ask: "what is the order?"

My
Morning
Routine

Get Up

Eat Breakfast

Get Dressed

Computational Reasoning

Sequence

Decisions

Repetition

Abstraction

Decomposition

  1. Think: "alternatives"
  2. Ask: "when to decide?"
  3. Ask: "what are the options?"
  4. Ask: "what are the criteria?"

Mo, We, or Fr?

Make Protein Shake

Cereal

My
Morning
Routine

Computational Reasoning

Sequence

Decisions

Repetition

Abstraction

Decomposition

  1. Think: "alternatives"
  2. Ask: "when to decide?"
  3. Ask: "what are the options?"
  4. Ask: "what are the criteria?"

Mo, We, or Fr?

Make Protein Shake

Cereal

My
Morning
Routine

Computational Reasoning

Sequence

Decisions

Repetition

Abstraction

Decomposition

  1. Think: "repeat until done"
  2. Ask: "have we looked everywhere?"
  3. Ask: "are we getting closer?"
  4. Ask: "when do we stop?"

Eat spoonful of cereal

Bowl Empty?

My
Morning
Routine

Computational Reasoning

Sequence

Decisions

Repetition

Abstraction

Decomposition

  1. Think: "repeat until done"
  2. Ask: "have we looked everywhere?"
  3. Ask: "are we getting closer?"
  4. 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

  1. Think: "big problems contain smaller problems"
  2. 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

  1. Think: "big problems contain smaller problems"
  2. 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

  1. Think: "zoom in, zoom out, change levels, adjust focus"
  2. Ask: "can I ignore some detail?"
  3. 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

  1. Think: "zoom in, zoom out, change levels, adjust focus"
  2. Ask: "can I ignore some detail?"
  3. 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