Priorities - A: high, B: medium, C: low; Status - _: unfinished, X: finished, C: cancelled, P: pending, o: in progress, >: delegated. Covey quadrants - Q1 & Q3: urgent, Q1 & Q2: important
 A1 X Call ISO (CS21A.Syllabus) A2 X Install the JRE
Schedule
Notes

### 1. Lesson plan --- education

Objectives
```At the end of the lesson, students should be able to:

- describe CS21A and list its objectives

- understand and agree to classroom policies and grading schemes

- appreciate and practice algorithmic thinking

```
Procedure
```- Introduce myself and welcome the class.
- Discuss CS21A description and objectives, misconceptions about computing. Give them the URL for the course website.
- Discuss class policies and grading schemes.
- Discuss algorithmic thinking and everyday processes.

Spaghetti
Searching
Sorting
- Do a demonstration of algorithms.
Searching

Ask five students to line up in front.
Ask the class how they would find out who is the youngest among the five.
Walk through the algorithm.

Sorting

Ask the class how they would arrange the students in alphabetical order according to last name and then first name.
Walk through the algorithm.
Formalize both algorithms.
- Define computer science as the study of algorithms. Define 'algorithm'.

a list of instructions for accomplishing some task; a well-defined procedure for solving a problem (wikipedia)
Algorithms and computers: how to take advantage of the computer's strengths

computer: fast, but stupid

human: smart, but slow

sometimes we need to use different ways
- Strategy

Define input and output
Break down problem into subproblems until it seems manageable.
Come up with test cases by solving the problems by hand. This will often give you insights.
For each unsolved problem

Think of how to solve it.
Express your solution in plain language.
Refine your solution and make it more precise.
Test your solution to see if it seems to work. If it passes the tests, then move on to the next problem.
- Applying the strategy

- More exercises
Subtraction
Division
Square root
Anagrams
Palindromes
- Summarize
- Reminders
distribute getting-to-know-you questionnaire.
seat plan will be prepared tomorrow (Apr 24, 2003)
keep your eyes open for other algorithms!
```
Evaluation and follow-up
```- Give a short algorithmic problem as a 5 point quiz during the next class session.

0.5: identifying input
0.5: identifying output
1: giving a test case.
3: describing the algorithm
```

### 2. Teaching was so much fun! --- education : 10:36

The spaghetti exercise was a big success, as it underscored real-life application of algorithmic thinking. Adding two numbers took a fair amount of time, but was somewhat effective. Note: tomorrow, assign a beadle, prepare a seat plan, prepare history notes, prepare questions about piracy, DRM, reliability, industry/academe... =)