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

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

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

Categories: None -- Permalink

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

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.