Introduction To Computer Science (getting started)
1. COMPUTER SCIENCE
Original date of
this
presentation:
Tuesday,
June 15,
2021
Welcome To Computer Science
MR. WACHS’ CLASS
mrwachs.wordpress.com
www.youtube.com/user/MrLWachs
mrLWachs@gmail.com
3. MR. LAWRENCE PATRICK WACHS
Born – August 23rd, 1969 (Winnipeg – Grace Hospital)
Went to University of Manitoba, University of Winnipeg,
and Memorial University (Newfoundland) with degrees in:
Arts (History – major, Philosophy / Sociology – minor)
Science (Computer Science – major,
Math – minor)
Education
As well as program certificates in web design,
creative writing, journalism (U of W) and I.B.
international training in Computer Science and Theory
of Knowledge
And is currently working on his Masters of education with a
focus on Computer Science
Before teaching in the late 90s, Mr. Wachs worked:
As a freelance artist
With special needs children
As a computer programmer
4. COURSES TAUGHT
So what does Mr. Wachs teach (or has taught) :
Computer Science 20S (grade 10), 30S (grade 11), 40S (grade 12)
I.B. Computer Science 32SIB, and 42SIB (standard and higher level)
I.B. Theory of Knowledge (Philosophy) 32SIB, and 42SIB
Mathematics (grade 9, 10, 11, RTI and math numeracy)
Information Technology (grades 9 – 12)
Social Studies (grade 9 and Peace and Conflict option)
Photography (grades 9 – 10)
Visual Arts 10G
Alternative Education
In other words – lots of stuff: from core courses to options, from
vocational to I.B., and sciences to humanities
5. PERSONAL LIFE
Mr. Wachs has none, he’s a teacher! (he does have a wife, two children, and
a cat!)
8. “COMPUTER SCIENCE” (CONT’D)
“Science” is often though of as a purely
“academic” study and “engineering” as
a “practical” career choice
I will attempt to argue that “Computer
Science” is a bit of both…
And how does this type of study of
technology help you in your lives?
9. “COMPUTER SCIENCE” (CONT’D)
You live in an age now that has access to more information than
at any other time in human history – but is more information
really “better”?
For example, have you ever even looked through all the photos
you have? (have you even looked through all the photos you took
this summer?) – a lot of information is just “garbage”
Sorting through this “garbage” and making something meaningful
is a task we could do – but technology can
do it better!
Artist M.C. Escher said “we adore chaos
because we love to produce order”
I would argue that Computer Science takes
information chaos and turns it into order
10. “COMPUTER SCIENCE” (CONT’D)
The people creating (or “serving”) this tech to us often have
not met the needs of their consumers
There can be a disconnect from what people want to
“consume” and what is being “served” to us
One example was “New Coke” where the Coke company
redesigned the formula in 1985 (ask your parents about it!)
The backlash was intense on forced the company to do a
complete turn around and return to the
original formula
Tech has often also been stereotypically
seen to “serve” a certain demographic
(i.e. male geeks!)
11. “COMPUTER SCIENCE” (CONT’D)
I doubt anyone in this room would doubt the impact of technology in the modern world, for
example, how many “computers” have you used just today?
From checking an app for a bus, to changing the temperature of the room, to playing a game!
And youth today (that’s you!) are the mass consumers of new tech
12. “COMPUTER SCIENCE” (CONT’D)
With tech, you can stay a consumer (on the outside), or be a
part of it (on the inside)
It is a lot more fun to be on the “inside” and “serve” rather than
just “eat”
So when someone says “Computer Science is for geeks”, you
can use a counter analogy
by saying “do you like
having someone else
chew your food for you?”
You can become a
technology “insider”
14. WHAT ABOUT THE TERMS “COMPUTER” AND “SCIENCE” ?
As an “older” person, my use of language may not “match” with the language
that you students current use – so when I use the word “computer” it may
draw up images like these:
But for your generation, the word itself may
not even have a specific image it draws up
In other words, the word is too “big” to
apply to any one thing
15. WHAT ABOUT THE TERMS “COMPUTER” AND “SCIENCE” ? (CONT’D)
For you now, technology, computers, etc. are integrated into your
lives in multiple ways from the mobile phones, TVs, cars, banking,
shopping, … - literally everything!
The word “computer” came from “compute” (in the 1600s) from
Latin words “com” (to come together) and “putare” (to settle an
account) – so the terms were originally about settling accounts
The first use of the word “computers” was applied to people
meaning “one who calculates” (in the 1600s up to the 1900s)
Only around 1946 was the word
“computer” actually applied to a
device that did calculations for
humans (so the word isn’t really
that old) “computers” was first a job title
(by mostly women) as seen here
16. WHAT ABOUT THE TERMS “COMPUTER” AND “SCIENCE” ? (CONT’D)
If we imagine a lightbulb connected to an on/off switch…
17. WHAT ABOUT THE TERMS “COMPUTER” AND “SCIENCE” ? (CONT’D)
Then imagine one switch which controls other switches in a
specific way
18. WHAT ABOUT THE TERMS “COMPUTER” AND “SCIENCE” ? (CONT’D)
Now imagine a whole room, where one wall is all lightbulbs, the
other is all switches, and the third wall is less switches
19. WHAT ABOUT THE TERMS “COMPUTER” AND “SCIENCE” ? (CONT’D)
This is essentially what a computer is
Hitting the “master” switches is like typing on a
keyboard which triggers the correct switches to
light up the correct bulbs (like the monitor) to
make the words “HELLO WORLD” appear in
lights on the wall
It’s creating the logic behind how
the master switches work where
we step in as Computer
“Scientists”
20. WHAT ABOUT THE TERMS “COMPUTER” AND “SCIENCE” ? (CONT’D)
The word “science” is a little easier as you have been
using this term for a long time in a school setting
This word comes from the Latin word “scientia” (and
before that “scire”) and it meant “what is known” and
was often synonymous with the word “knowledge”
So the origins of the words translate to
“people who
do
calculations
and know
things”
21. WHAT IS COMPUTER SCIENCE?
So can we finally answer the question…
22. Make
Video
Games
WHAT IS COMPUTER SCIENCE?
A lot of students come in with this expectation…
?
Take
Computer
Science
But we need to explore the ? In the middle by
examining Computer Science in terms of:
Definitions of the terms
What that means?
How we will learn it?
23. WHAT IS COMPUTER SCIENCE? (CONT’D)
“Computer Science”
What does it mean?
“Computer”
The “computer” or
computing device (we now
use Mac/PC, tablets,
phones, etc.) is the major
TOOL used (like a
calculator in math, and a
microscope in biology)
“Science”
It is related to traditional
science in the way it uses
a METHOD (like the
scientific method) – this
means it uses a step-by-
step procedure
“Programming”
(or code)
This is how the tool and
the method come together
to accomplish the major
goal of the course which is
to SOLVE
PROBLEMS
Definitions… Other than the words
“Computer” or “Science”
what word off the top of
your head do you associate
with this course?
24. WHAT IS COMPUTER SCIENCE? (CONT’D)
So lets re-write the course name…
A method:
Scientific?
Mathematical?
Typed (coded)?
So we will use the word:
METHODOLOGICAL PROBLEM SOLVING
Using a computing
device this will be
programmed (or
coded)
electronically
DIGITAL
But this didn`t work well in the course handbook!
So even simpler it could be described as:
“Step by step problem solving on the computer
using code”
25. WHAT IS COMPUTER SCIENCE? (CONT’D)
How?
Identify a problem:
I will do this for you for most of the course by presenting them to you
as assignments, in the final project, you will identify your own problem
(e.g. making a game like Pacman)
Decompose (break down) the problem:
Using logic (e.g. in Pacman the problem of ghosts, the problem of
walls, dots, etc.)
Solve the problem using a method:
This is what we study, the code, devising a method, etc.
Test:
This is where you get immediate feedback by running it (did it work?)
Revise (this is not done in our course but happens in the “real world”
when software is updated in what is called the software life cycle)
27. IS COMPUTER SCIENCE HARD?
Pablo Picasso was out for lunch with a friend when he
drew this on a lunch plate in one stoke, what is it?
28. IS COMPUTER SCIENCE HARD? (CONT’D)
Can you guess what
kind of dog it is?
This was later sold
for $90,000
When he was asked “how long did it take you
to learn to draw like that?”
He answered “all my life”
Can you try to do this?
29. IS COMPUTER SCIENCE HARD? (CONT’D)
Ok, now try to draw a camel
We all have a natural
tendency to say to ourselves
“I can do that!”
Some have described this
type of art as “elegant simplicity”
Technology is often this way, we all
seem to think it is elegant and
simple, but behind it is a
complexity and practice to create
the elegant simplicity we
experience
30. IS COMPUTER SCIENCE HARD? (CONT’D)
So the answer is yes
Computer Science is hard!
Isn’t everything worth doing hard?
Think about it, many things in life worth doing have been
hard to master, for example:
Learning another language
Playing music
Being good at a sport
Riding a bike, learning to swim, etc. the list goes on
and on!
But…
32. Computer Science isn’t a traditional “Science” course like chemistry, physics, or biology
– but it does use a broad “scientific” type of thinking, sometimes called
“Computational Thinking”
Also called “algorithmically” or “programmatically” thinking, it trains the mind to “think”
more like a machine (the computer) and solve problems that way
This “method” is similar to the “scientific
method” and can be expressed several
ways, but generally involves:
1. Breaking down a problem by
understanding it in a deeper way
(decomposing it) - Decomposition
2. Finding a way to give instructions
(often using code) to properly
remember information (data) and
manipulate the data in steps (an
algorithm) – Algorithm Design
Then expressing the problem’s solution in
some format
COMPUTATIONAL THINKING
33. COMPUTATIONAL THINKING (CONT’D)
As the problems get more complex, Computational thinking also involves:
3. Looking for patterns by analyzing results and seeing if your algorithms
design can be improved – Pattern Recognition
4. Taking a solution to one problem and seeing if it can also be applied to
other problems, as well as
“modelling” a solution after
solutions that are not
“computer like” in nature –
Abstraction
These ideas of Computational
thinking will be reflected in the
various “units” (or modules) of this
course as well as in the progression
of Computer Science courses you
can take
35. COMPUTER SCIENCE CONTENT
In order to move towards learning the study of Computer
Science, I will teach concepts that apply which can formulate:
1. A body of knowledge (a collection of Computer Science “facts”)
2. A method (a “process” of solving Computer Science problems)
3. And use of specific tools
The body of knowledge follows a general order I will outline
involves “units” (or modules) that can be encompassed in a
course, or across multiple courses (this will of course depend
on your pace and which courses you decide to pursue)
It will also lead towards further study or further specification
The order is sequential as each unit builds of the previous unit
and leads towards the next (although there are certainly
exceptions to this)
36. COMPUTER SCIENCE CONTENT (CONT’D)
The method of study will involve problem solving techniques, and
programmatic thinking
Generally the course will involve a presentation, discussion, and
examples that show a concept in action and then a series of problems
to work on (which will be assessed) and conclude with some type of
final assessment to check for content mastery
The tools of a Computer Scientist involve “coding” which means
typing on a device, using and adapting software for that purpose (an
IDE), and learning how to
present and share solutions
(e.g. a repository)
Practically this means you will
be using a computer in the room,
or your own laptop, all through
this course
37. COMPUTER SCIENCE CONTENT (CONT’D)
All three of these will be improved, evolve, and advance with further study (as well as
connect to other scientific methodologies like the scientific method, game theory, etc.)
CONTENT LAYER
Methods (Control)
Arrays (Memory)
Variables (Memory)
Conditional Statements (Control)
Loops (Control)
User Interactions (Graphics)
Classes (Memory and Control)
User Interfaces (Graphics)
Recursion (Control)
Advanced Classes (Memory and Control)
Grade 10 level Grade 11 level Grade 12 level
Collections (Memory)
File handling (Memory)
Searching and sorting (Control)
PROGRAMMING PRACTICES LAYER
Problem solving (Programmatic thinking) Unit testing Design paradigms (MVC, MVVM, etc.)
Grade 10 level Grade 11 level Grade 12 level
TOOLS LAYER
Programming language IDE tools Code repositories
Grade 10 level Grade 11 level Grade 12 level
38. COMPUTER SCIENCE CONTENT (CONT’D)
The general learning outcomes (GLO) of Computer Science includes:
A. Problem Solving and Design: which includes the actual problem to be
solved, the innovation shown in solving, the user interaction and experience
with the solution, and how the solution responds to user errors
B. Knowledge and Understanding: which includes how the solution is divided
up logically, the way information is stored, and the structural logical tools used
C. Language, Style, and Standards: which includes how the solution is
documented and the style of the language the solution is written in
D. Communication and Collaboration: which
includes how the solution is
presented for assessment
These GLOs are not evenly
distributed but help build a skill
set of methods and a knowledge
base in Computer Science
Problem Solving and
Design
40%
Knowledge and Understanding
30%
Language, Style, and
Standards
20%
Communication and
Collaboration
10%
39. COMPUTER SCIENCE CONTENT (CONT’D)
So we have found with Computer Science:
Involves people who do calculations and know things
Is both theoretical (academic) and practical (vocational)
Turns information chaos into order
Is step by step problem solving on a computer using code
Uses elegant simplicity
Allows you to serve technology
and not just consume it
Is hard (but what isn’t?)
Is used to make video games
So let’s do this!
40. COMPUTER SCIENCE
Please
move on
to today’s
activity…
Original date of this presentation: Tuesday, June 15, 2021
MR. WACHS’ CLASS
mrwachs.wordpress.com
www.youtube.com/user/MrLWachs
mrLWachs@gmail.com