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
A1XCall ISO (CS21A.Syllabus)
A2XInstall the JRE

1. Lesson plan --- education

Categories: None -- Permalink
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

- 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
  • 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

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

3. Scrabble : 10:38

Categories: None -- Permalink
Where is Sir Olpoc?

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.