Course Trailer 2020 (6m44s)
I hear and I forget.
I see and I remember.
I do and I understand.
- Confucius
HOW?
Logistics
Materials: books, readings, viewings
The Work & Its Assessment
Platforms
SLOW
Stepwise
Pseudocode
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)
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
Logistics
Materials: books, readings, viewings
The Work & Its Assessment
Platforms
Class held in-person on alternate weeks
Tu 10-12, Th 4-6
Class sessions recorded. Recordings available ASAP (24-48 hours)
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 |
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
Read/View
Review Questions
Problem Sets
Exams
Classroom
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)
View Slide Deck: https://slides.com/djjr/platforms
But if you'd like to get a head start...
You could work through the tutorial used for graduate version of this class.
Computational Reasoning
Decisions
Repetition
Abstraction
Decomposition
Get Up
Eat Breakfast
Get Dressed
Computational Reasoning
Decisions
Repetition
Abstraction
Decomposition
Get Up
Eat Breakfast
Get Dressed
Computational Reasoning
Sequence
Repetition
Abstraction
Decomposition
Mo, We, or Fr?
Make Protein Shake
Cereal
Computational Reasoning
Sequence
Repetition
Abstraction
Decomposition
Mo, We, or Fr?
Make Protein Shake
Cereal
Computational Reasoning
Sequence
Decisions
Abstraction
Decomposition
Eat spoonful of cereal
Bowl Empty?
Computational Reasoning
Sequence
Decisions
Abstraction
Decomposition
Eat spoonful of cereal
Bowl Empty?
Eating a bowl of cereal
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Make Coffee
Make
Shake
Clean Blender
Drink, Eat
Computational Reasoning
Sequence
Decisions
Repetition
Abstraction
Make Coffee
Make
Shake
Clean Blender
Drink, Eat
Have breakfast
Computational Reasoning
Sequence
Decisions
Repetition
Decomposition
Get Ready
Shower
Make bed
Get Dressed
Underwear
Pants/Shirt
Shoes
Computational Reasoning
Sequence
Decisions
Repetition
Decomposition
Get Ready
Shower
Make bed
Get Dressed
Underwear
Pants/Shirt
Shoes
Computational Reasoning
Sequence
Decisions
Repetition
decomposition breaks big problem into smaller parts
abstraction gathers parts into a higher level concept
Download slide deck from here
Get books
Inspect Quercus site, update profile
Confirm Piazza access
Readings/viewings (~90 m)
Review questions
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)
one convention: use indentation to show hierarchical logic
if hot day
go to pool
otherwise
go for bike ride
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
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
if expression action else other action
case expression value1 : action1 value2 : action2 ... valuen : actionn otherwise : defaultAction other action
Example and Assignment