NEW: For a prettier blog interface, see the Wordpress version!

Tasks

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

Categories: None -- Permalink

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

- computer: fast, but stupid
- 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

- adding two numbers - 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

Resources

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

Categories: None -- Permalink

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... =)

### 4. Up the Down Staircase --- education : 14:52

Categories: None -- Permalink

Apparently, Sir Olpoc also loves this book. =) I figured as much by
the "Yo, teach!" quote on his website, but still...

### 5. ARGH! Left my power cord! : 19:42

Categories: None -- Permalink

Silly me. Well, I guess that means I'll be working on the CS21A
breakdown on the Mac and I'll be sleeping early tonight. I guess I
should make the most use of it, then. Since my CS21 curriculum review
notes are on the web (they are, aren't they?), all I have to do is
move the cs21a and cs21b into my public web hierarchy.

I'd love to hear about any questions, comments, suggestions or links that you might have. Your comments will not be posted on this website immediately, but will be e-mailed to me first. You can use this form to get in touch with me, or e-mail me at [email protected] .