Quotables
Fun
https://www.youtube.com/watch?v=hqKafI7Amd8
Tutoring buses begin sometime after Oct 15th....which is great! Because tennis doesn't end until another week or so after that!
The red zone is for unloading…
If you want a process to go faster, it's tempting to focus on the straightaways.
Get your delivery drivers to go faster on the highway. Get your development team to take fewer breaks during a sprint. Push for everyone to get out of the way of the moving object. Faster processors!
Actually, you'll get far more productivity if you focus on your loading and unloading instead. How many meetings does it take to get something approved for delivery or development? How many false starts are there? When work is done, does it sit for a long time before it gets used?
You don't win races based on your top speed.
- Seth Godin
MEME’d UP Monday Be an appropriate Meme Your theme must have some sort of “evidence”
BACK UP Tuesday Dress as your favorite Decade---before 2000!
WALT’d UP Wednesday Dress as your favorite Disney Character… or Marvel…or PIXAR… or Star Wars, but NO masks
GROWING UP Thursday
Freshman- Babies & Toddlers
Sophomores- College years…FraterniT’s, SororiT’s, CollegeT’s
Juniors- Moms & Dads…be the best soccer mom or coach dad
Seniors- Senior Citizens T’d UP
Friday- Everyone can be a COWBOY/GIRL…but if you do not quite have the gear… CLASS
COLORS WAR…shirts must be obviously school appropriate, jeans OK
Freshman- Grey
Sophomores- Green
Juniors- White
Seniors- Black
GLOW UP HOMECOMING NIGHT- Let’s see the NEON at the game!!
MARKETING
-----------------l
2.03 Vocab - Test on Thursday, Oct 4
2.03 Selling Policy Activity - Due Friday....YOu will be able to do in class, but please, look it over before then.
2.03_study guide 2.01-2.03 - WIll give you Friday
2.03 LAP - Making Mad Glad - Due on Friday, Oct 5 - Will give time in class for you to complete on Friday
2.03/2.05 Making Mad Glad LAP Quiz (20 Q)
Obj 1.00 - For Fun! For You!
Marketing Overview
Unit 1.00 Marketing
http://www.quia.com/quiz/5691395.html
http://www.quia.com/quiz/5691395.html
2.06/2.07 combo Vocab
Customer Service
Stew Leonards
Powerpoint (Review):
Handle difficult customers (CR:009)
a. Define the following terms: disagreeable customer, domineering/ superior customers, dishonest customers.
b. Identify types of difficult customers.
c. Describe categories of disagreeable customers.
d. Discuss categories of domineering/superior customers.
e. Describe ways in which customers are dishonest.
f. Identify situations in which customers become difficult.
g. Explain reasons for handling difficult customers.
h. Describe general guidelines for handling difficult customers.
i. Explain specific guidelines for handling types of difficult customers.
j. Demonstrate procedures for handling difficult customers.
Handle customer/client complaints (CR:010)
a. Define the term complaint.
b. Identify the costs associated with customer complaints.
c. Identify reasons for customer complaints.
d. Describe the benefits of customer complaints.
e. Explain the importance of appropriately handling customer complaints.
f. Explain procedures for handling customer complaints.
g. Demonstrate procedures for handling customer complaints.
Given a company, students will find the return policies and compare to other companies.
AP COMPUTER SCIENCE PRINCIPLES
http://stylesuxx.github.io/steganography/
Let's Play!!!
-----
3.2 The Need for Algorithms - Blogspot
- Activity 2 (30 mins)
- The "Human Machine" Language
We have just identified a set of primitive commands that we can use to operate on a set of cards.
To be very concrete let's formalize this into a language...
Distribute Activity Guide - Human Machine Language - Activity Guide
Introduce Human Machine Language
Students Execute the Example Programs
Review the example programs and answer questions (murphy has the key)
This problem we identified with the last example speaks to the art and science of algorithm
design and what can make it so interesting.
The question is: can we fix the problem without adding more commands to the language? Yes
. (see examples of fixes)
If we can fix a problem without extending the language, that's a good thing. We can focus our
attention on designing algorithms given these constraints.
Let's try to write FindMin using the Human Machine Language...
- Challenge: Find Min with the Human Machine Language
First identify what's different about the problem setup for the Human Machine Language:
All cards are face up
Card positions have numbers
Don't need to pick up cards or put them down
There is actually no way to move cards at all - only hands
The ending state is well defined - left hand touching the min card.
Now use the Human Machine Language to write the algorithm for finding the min card.
NOTE: Students can just write the code, or you can use the cutout strips of the
commands and write values into the boxes.
Give students time to work things out with their partners.
It may take some time to get oriented and understand the task.
- Share solutions to Find Min with the Human Machine Languagehttps://docs.google.com/document/d/1mgOGWhAmR8WXIduX-pEI2pVC0sX06MmrUWd4dzWZINg/edit
- Wrap Up (10 mins)
- Discuss - The "Art" of Programming
Connect algorithms to programming.
Yesterday we discussed the need for a programming language
Today we came up with our own programming language and used it to implement an
algorithm.
The CSP definition of algorithm is: “a precise sequence of instructions for processes
that can be executed by a computer and are implemented using programming
languages."
Notice two things about algorithms and programming...
Different algorithms can be developed to solve the same problem
Different code can be written to implement the same algorithm
These two facts - Different algorithms can be developed to solve the same problem and
different code can be written to implement the same algorithm - embody art of programming
and what makes programming so fun, engaging and creative.
In programming, just like art, we strive to make beautiful things:
A beautiful algorithm is an elegant and clever idea for how to solve a problem.
A beautiful program is an elegant use of whatever language structures are provided
to make the algorithm actually work on a computer.
Foreshadow: tomorrow we'll try some other algorithms in the human machine language.
1.00
---------------------------------
3.3 Creativity in Algorithms - Blogspot
Objectives
Students will be able to:
Develop an algorithm to solve a new problem with playing cards
Express an algorithm in the Human Machine Language
Identify Sequencing, Selection and Iteration in a program written the Human Machine Language
Describe the properties of the Human Machine Language that make it a "low level" language.
Vocabulary
Algorithm - A precise sequence of instructions for processes that can be executed by a computer
Iterate - To repeat in order to achieve, or get closer to, a desired goal.
Selection - A generic term for a type of programming statement (usually an if-statement) that uses a
Boolean condition to determine, or select, whether or not to run a certain block of statements.
Sequencing - Putting commands in correct order so computers can read the commands.
The findMin problem and the other problems we solved with the Human Machine Language also have sequencing, selection, and iteration. Here's what they mean:
Selection: also known as "branching" most commonly seen in if-statements -- The JUMP...IF
command in the Human Machine Language is a form of selection. It gives us a way to
compare two things (numbers) and take action if one thing was true.
Iteration: also known as "looping" -- The JUMP command in the Human Machine Language
allows us to move to a different point in the program and start executing from there. This
allows us to re-use lines of code, and this is a form of iteration or looping.
Sequencing: From the framework: "4.1.1B - Sequencing is the application of each step of an
algorithm in the order in which the statements are given." Sequencing is so fundamental to
programming it sometimes goes without saying. In our lesson, the sequencing is simply
implied by the fact that we number the instructions with the intent to execute them in order.
Sequencing - >
x = 2
x = 5
x = x + 1
x = 5
x = x + 1
What is “x”?
Agenda
- Getting Started (5 mins)
- Conclusions from Find Min
If you didn't finish FindMin wrap up from the previous lesson, do it now.
Before moving on to the activity students should all have some solution to FindMin written in the Human Machine Language.
- Creativity in Algorithms
One thing about algorithms is that once you know a few, and know how
they work, you can combine them (or slightly modify them) to solve new
problems. Creativity in algorithms comes from figuring out clever ways to
solve problems by developing a process that could be executed by a
machine.
We study algorithms and care about them because in programming the techniques and
mechanics of certain processes come up over and over and over again. So it's worth knowing
a few so you don't have to reinvent the wheel.
For example, you just wrote an algorithm to find the smallest card in a row of cards. Is it hard
to modify that exact same strategy to find the max card? (no).
Today we'll challenge you with a few more problems that will require you to get creative!
This is almost verbatim a line from the CSP Framework.
4.1.1E Algorithms can be combined to make new algorithms.
4.1.1F Using existing correct algorithms as building blocks for constructing a new algorithm helps ensure the new algorithm is correct.
- Activity (25 mins)
- Adding SWAP to Human Machine Language
Distribute: Activity guide - Human Machine Language - Part 2: Min To Front - Activity Guide
Review the first page of the activity guide and the addition of the "swap" command.
Do the example program
Review the example
Here's what the example program does:
END STATE: the order of the cards has been reversed
It does this by first moving the right hand to the end of the list, then
shifting each hand progressively toward the middle of the row,
swapping cards each time.
The program stops once the hands have crossed over each other
(by checking if RHPos < LHPos)
- Challenge: Min-to-Front
The challenge is to find the min card and swap it to the front of the list, keeping the order of the rest of the cards the same.
As students work encourage them and challenge them to solve the problem in pieces.
Here are some suggestions you can make along the way:
- IDEA: Solve move-to-front first
Remember: "Algorithms can be combined to make new algorithms"
Students should know a solution to find min, so they can put that out of mind for a minute.
So, start by assuming that you've found the min card, and writing a procedure to move some card to the front of the list, by swapping.
Once you've got that you can tack the two together
- IDEA: Don't be afraid to invent a completely new algorithm
get creative - they might need or want to invent a whole new algorithm
- Wrap Up (15-20 mins)
- Review Min-to-Front Solutions
Put groups together to have students compare Min-to-Front solutions
You can also have groups trade algorithms to test out each others' solutions
If necessary, show or reveal one or more of the solutions from the answer key.
Make sure students see that it is possible to design a program to do Min-to-Front with the human machine language.
- Identify Sequencing, Selection, Iteration in Human Machine programs
- Discussion
- Video: You Should Learn to Program: Christian Genco at TEDxSMU - Video
The CSP Framework states:
4.1.1A Sequencing, selection, and iteration are building blocks of algorithms.
4.1.2G Every algorithm can be constructed using only sequencing, selection, and iteration.
If these statements are true then we should be able to identify these elements of sequencing, selection
and iteration in our Find-Min and Min-to-Front algorithms.
I'll give you a quick definition of each and you tell me if or where we saw it in our Human Machine
Language programs...
Prompt:
- "4.1.1B Sequencing is the application of each step of an algorithm in the order in which the statements
- are given." -- Does our human machine language have sequencing?
Prompt:
- "4.1.1C Selection uses a [true-false] condition to determine which of two parts of an algorithm is used."
- -- Where did we see "selection" in our human machine language programs?
Prompt:
- "4.1.1D Iteration is the repetition of part of an algorithm until a condition is met or for a
- specified number of times." -- Where did we see iteration in our human machine language
- programs?
Discussion
Algorithms can be combined to make new algorithms
Low-Level languages exist
From the CSP Framework: 2.2.3C Code in a programming language is often
translated into code in another (lower level) language to be executed on a
Computer.
Learning to program is really learning how to think in terms of algorithms and processes. And it can be
really fun and addicting. It also can make you feel like you have magical powers.
In the next lesson we'll start writing programs that a real machine (not a human machine) will execute.
But since programming is really about thinking and problem solving your "human machine" skills will
come in handy - reasoning about program is also about reasoning about what a computer can and
cannot do, and what the given language you're using let's you and doesn't let you do.
If you didn't want to learn how to program before, perhaps this video will change your mind...
- Extended Learning
- Coming Soon
- Assessment
Write a human machine language program that: Repeatedly shifts the left hand to the right until
it finds a 5 or 6 The program should stop when the left hand is at (or past) the end of the list, or it finds
a 5, or it finds a 6.
Here is an example of a simple program written in IBM Assembly Language.
11
No comments:
Post a Comment