September 2003

Unofficial APT sources

September 1, 2003 - Categories: -Uncategorized

SSH Tunnelling

September 1, 2003 - Categories: -Uncategorized

Still no breakthrough. I'm trying to automatically set up SSH tunnels. Because sysads doesn't like passphrases, I have to use expect to automate the password. I want the tunnels to be automatically brought up when and only when the interface is up and the school profile is selected. I'm using laptop-net to manage different network configurations - I'm a laptop user, so I tend to move around a fair bit.

I need this to work in order to have tunnelled secure SMTP out to, as firewalls prevent me from making a direct connection. Any ideas? I've been playing around with expect, but so far, no joy.

Slashdot Trolling Phenomena

September 1, 2003 - Categories: -Uncategorized

Apparently, someone has written a fairly long description of common Slashdot trolls on WikiPedia#Slashdot_trolling_phenomena. Strange, strange.

Array ideas

September 1, 2003 - Categories: -Uncategorized

- The meaning of String[] args - Maybe some kind of game or the Caesar cipher. - Declaring, creating and using arrays - Arrays can't be mixed - Multidimensional arrays - Role-playing? Some sort of contest? 20 students in class. 4 groups of same or different lengths, with a script? - Minesweeper! - Hangman - Tictactoe - Memory - Die rolling and frequency statistics

Resources: - : basic, doesn't show arrays as essential - : cool

Top Ten ways to combine fun and substance

September 1, 2003 - Categories: -Uncategorized


10. Use gimmicks

Provide a piece of Java code with a few syntax errors; finding and fixing these errors becomes an "adventure game" when all the Java syntax is not yet fully explained.

Provide a piece of badly-styled Java code; make fixing the style into a contest. This can be done before Java syntax is fully explained.

9. Use the Internet for enrichment projects

Sample projects:

- Make a presentation about a computer or Internet pioneer - Go online to learn how Fibonacci numbers occur in nature - Find out about a collaborative web-based project

for discovering Mersenne numbers - Find some cool Java applets that illustrate lessons from math, physics, and chemistry - Use search engines to find sounds and images for your Java projects - Find Java resources and documentation online - Make a presentation about an issue of ethics in computer use

8. Introduce bits of trivia and random knowledge from other fields

Two technicians wiring the right side of ENIAC (Courtesy of U.S. Army Research Laboratory)

The term "bug" was popularized by Grace Hopper, a legendary computer pioneer, who was the first to come up with the idea of a compiler and who created COBOL. One of Hopper's favorite stories was the story of a moth that was found trapped between the points of a relay, which caused a malfunction of the Mark II Aiken Relay Calculator (Harvard University, 1945). Technicians removed the moth and affixed it to the log shown on the photograph.

Many people mistakenly believe that the mouse was invented by Apple. Others believe that idea came from Xerox, where the mouse was used on an early office PC called the Star. But in truth, the mouse was first conceived of by Doug Engelbart in the early 1960's, then a scientist at the Stanford Research Institute, in Menlo Park, California.

The Dance Studio applet teaches basic dance steps for Rumba, Cha-Cha, Salsa, Swing, and Waltz

7. Use role playing for discussing OOP designs; make students enact standard algorithms

Determine the responsibilities of various objects within an application by assigning the roles of objects to students and playing it out.

Stage popular algorithms such as sorting algorithms and Binary Search.

6. Let students personalize their projects: let them choose the details and add "bells and whistles"

Sample projects:

The Poll applet implements voting for a school president. Students enjoy choosing the candidates' names and colors in this applet.

Fill in the blanks in the code for the Fortune Teller applet, adding an array of "fortunes" (strings) and the statements necessary for randomly choosing and displaying them.

Create a picture of your choice for the puzzle. For instance you can draw circles, polygons, or letters of different sizes and colors that intersect the grid.

5. Assign projects with intermediate steps that are fun and rewarding

Example 1: Rainbow

Example 2: Ramblecs

4. Encourage students by making "hard" projects easy

- "Fill-in-the-blanks" projects — most of the code is provided - "Paint-by-number" projects — detailed instructions for each step are provided - "Cut-and-paste" projects — reuse Java classes from previous projects in a new one

Fill in the blanks in the applet's code, adding an array of a few "fortunes" (strings) and the code to randomly choose and display one of them. Recall that the static Math.random method returns a random double value 0 x < 1.

3. Use entertaining case studies that illustrate fundamental concepts
2. Facilitate student-teacher (or student-textbook) team development using the "model-view" approach

- The teacher (or the textbook) supplies the "front end" (GUI, a.k.a. the "view" or the "view" + "controller") - The student supplies the "back end" (processing / calculations, a.k.a. the "model")

1. Get a textbook that supports it

(I think; I've already closed the PDF...)


September 1, 2003 - Categories: -Uncategorized

Andy Sy posted a link to .

今日 — 日本語

September 1, 2003 - Categories: -Uncategorized

アコースティックギターを一寸習いました。エリクさんは教えます。つまびで が楽しかったです。チョロヅが難しかったです。ギターより歌が好きです。でも、 習ってが良いです。

一昨日が妙です。 二人とスクラブルをしました。双方は私が好きでしょう。愛 しい一人と言いました。私は、あの事が未定です。

Funky binder

September 1, 2003 - Categories: -Uncategorized

I have printed out hard copies of some of the things I'm working on in school. Time to see how useful binders really are...


September 2, 2003 - Categories: -Uncategorized

Rainy days invite one to slumber.
If the sun does not wake, why should I?
So it happens this morn in September:
*I* would rather stay dry.

programming kata

September 2, 2003 - Categories: -Uncategorized

Miguel Paraz said:

No surprise. About your journal entry for today, I think this is applicable:,v

I'm currently practicing the Katas to learn Ruby.

I have issues with "Bells and Whistles though" - I think too many programmers are enamored with flashy technology and equate it with proper work.

Migrating from Solaris to Linux

September 2, 2003 - Categories: -Uncategorized

Message IDs on Mom’s mail

September 2, 2003 - Categories: -Uncategorized

For some reason, the internal IP address is getting out. I thought Eudora was supposed to automatically handle that...

Disabling automatic typeahead find

September 2, 2003 - Categories: -Uncategorized
// If you set this pret to true, typing can automatically start Find As You Type.
// If false (default), you must hit / (find text) or ' (find links) before your search.
user_pref("accessibility.typeaheadfind.autostart", true);

Mozilla Firebird

September 2, 2003 - Categories: -Uncategorized

- - What's "Caret Browsing"?

What “Finding Nemo” Character Are You?

September 2, 2003 - Categories: -Uncategorized

More about life, the universe, and everything

September 2, 2003 - Categories: -Uncategorized

Jerome seems to have been rather busy. He was here just yesterday, (errata: Saturday, it turns out, so things aren't that bad) and if I had not joined the other teachers at The Grind, I might have met him. I usually eat at Eyrie by myself, anyway.

I suppose it's for the best. If I were there, it would have been somewhat awkward. They planned to review, after all. It would probably be hard for them to leave me eating alone, and it would be hard for me to eat alone, but...

Sometimes I don't like being on the JITSE board. What did I do? I just submitted a short list of questions, and that was it. Nothing else from them, nothing else from me. I don't even feel very much like a board member. I've lost an opportunity to study with friends and test myself in friendly competition. (Darn it! Next time, I'll probably turn them down. ;) )

I know that this is wise. I might want to be more a part of his life, but I know that the way things are now is for the best. I did have fun last night. I learned a little bit about playing the guitar. But still... I read about his life and I miss him. I know why he didn't get in touch with me, and I'm happy that he's getting to meet other people. He started mixing with his old batchmates - he's certainly not the introvert he thought he used to be. So - voice of reason - this is good.

Yes, this is good. Part of me might not like it, but it's good, and I won't get in his way. I shouldn't dwell on it or feel bad. I should continue living, learning, and having fun. That way, when we reconnect - if we will, if it'll still be all right - I'll have stories to share and lessons to pass on. I need to remember that.

(Errata: Apparently, they were there on Saturday. I suppose that's somewhat better, but still... <mildly put out> ;) )

Created WearableComputingPlans

September 2, 2003 - Categories: -Uncategorized

WearableComputing contains the general public stuff. =)

Open content textbooks

September 2, 2003 - Categories: -Uncategorized

Array review — cs21a, education

September 2, 2003 - Categories: -Uncategorized

Drew from ACM problems today - used a simplified Lights Out! for their array game tomorrow.

Communication problems

September 2, 2003 - Categories: -Uncategorized

I talked to 1 today because he and 2 aren't getting along very well and I feel that something must be done.

He said that he had taken a part-time job. He also said that 3 pressed 1 for details, but he didn't want to say where he worked. (This may have been a good move, as after all, 2 seem to be under the impression that 1 name-drops a little too much.)

The reason 1 gave for not wanting to say where 1 worked, however, was the "crab mentality" of other people, and that he didn't want to say until "the air was clear" (memory fuzzy). I noted that that statement could be taken to imply that 3 had "crab mentality", and

1. confirmed that that was what he meant.

I was concerned about that. I did not agree that these miscommunications are the product of "crab mentality". I said that the way we act toward others shapes the way they act toward us, and personally, I find the department very supportive. I find it hard to believe that 3 has crab mentality, as 3 has accomplished much on his own, actively helps other people learn, and has no need to put other people down in order to raise himself.

(Note to self: must ask 4 for the transcript)

I suspect that he1 needs to think about what he implies.

More thoughts about it sometime. I should probably send him a summary of points to confirm/deny/elaborate.

More about caret browsing

September 3, 2003 - Categories: -Uncategorized
Page: 2003.09.02
Updated: 2003-09-02
Name: Jeff Linwood
Caret Browsing?  I don't think caret browsing is the most essential feature in Mozilla, but it's basically useful if you need to copy text out of a web page.

(Awwww, someone reads referers too.)

I tried out caret browsing yesterday, and yay - more fun ways to stay away from the mouse! =)

Alternative career?

September 3, 2003 - Categories: -Uncategorized

One of my students has this to say:

thank you so much for all you help. sobra. you'd make a great midwife, seriously, the way you extract what we know from us and show us that we do know how to do it. i wouldn't have half as much confidence in my code, otherwise. :) thanks for having so much patience with me. heehee. i really, really appreciate it. me and mau both. :)

So I guess if this CS thing doesn't pan out, I have an alternative career... ;)

Jacqueline Antonio or Roselyn Santos

September 3, 2003 - Categories: -Uncategorized

Telefax: (02) 426-9592 DL: (02) 920-1495 TL: (02) 920-5301 Local: 7973 email:

using ghostview to be a printer driver for cups

September 4, 2003 - Categories: -Uncategorized

scheduler not responding Doc Gerrald

CS faculty meeting over chips

September 4, 2003 - Categories: -Uncategorized

- students who get a low or high score on the first test - intro courses, later courses, and preferences - proctoring

Niff music display applet

September 4, 2003 - Categories: -Uncategorized

From the webpage: Niffty is a Java applet which allows a composer to display NIFF formatted music notation on a web page. The user can format the page and print it using the browser's own Print function and, with the right Java version, play it as MIDI.

Compare notes with Dr. Sarmenta and Fanny

September 4, 2003 - Categories: -Uncategorized


Bouncing ball act method, Actor interface 5 ball version of the pong game


object array and casting?

luis: bouncing ball thing, projectile thing, convenience method, today - searching, lastIndexOf, indexOf, break, convenience method

0.5 of the class 30 minutes for find nth occurrence, other people longer find all indices, return them as an array that is exactly as long as the number of indices. two approaches. space vs time. next - sorting and searching of grade records

fanny - arrays pa rin.


cs21a - basics, arrays, vectors cs21b - style

Feedback on — cs21a, education

September 4, 2003 - Categories: -Uncategorized

From Miguel Paraz:

Yup. It reinforces the idea of attributes and minimizes the problem
with same-named parameters and local variables.


(They should know that they can omit this. most of the time, but it's
still a good idea.)

Just be careful with constructors that set the field from a parameter, as in:

Just finished the [[CS21AFirst03#Exercises.Aquarium][Aquarium]] exercise

September 4, 2003 - Categories: -Uncategorized

So that's two lab exercises written today, yay! I'd have settled for 5x5, but Dr. Sarmenta did loop() and I guess I need to go over 1-d arrays a bit more before going into 2-d ones. I'll still go through with the quiz tomorrow, though; I want to check what they know about declaring, creating and using arrays. How will I do it? Ah.

Wrote the quiz, too

September 4, 2003 - Categories: -Uncategorized

Teaching reflections — education

September 4, 2003 - Categories: -Uncategorized

May I please drop the pronoun "I" from my entries? Darn thing's making me feel quite self-conscious. Which is not necessarily a bad thing, but still, "I" is way overused. (I just said I is! Meep.)

Do forgive if suddenly writing style is abrupt. For some reason, am hearing Renee Zellweger as Bridget Jones in head.

Starting to shape up as a teacher. Very good. Having a lot of fun compiling exercises and writing them up neatly. In fact, spent all afternoon cleaning up CS21AFirst03#Exercises.FiveByFive, only to have Dr. Sarmenta suggest focusing on single-dimensional arrays for now. Ah well. Less work to do in future. Took off from work to spend time with mom, but still managed to finish CS21AFirst03#Exercises.Aquarium at relatively decent hour and with (in own opinion) good quality work. Looking forward to fun and student appreciation, as some students had expressed desire to see "fishies swimming about" or something like that.

Bought some useful books at the fair and shared some stuff from "The First Year Teacher's Survival Kit" over lunch earlier. For that matter, went to the canteen _thrice_ today as highly value conversations with other faculty members.

Also, am slowly resuming CS123 duties. Have e-mailed C++ experts hello world exercise to be disseminated to everyone else. Will follow up with more on Tuesday. Somewhat better. Have a bit more structure.

Accreditation re-review soon. Not certain what fuss is about, but am keen on being observed if observer plans to be in school when am organized teacher with funky lesson plans. Not good if will have one of those off days. Must not plan any off days, then.


September 5, 2003 - Categories: -Uncategorized$1116

New news sources

September 5, 2003 - Categories: -Uncategorized
First Monday ( Social tech articles Gadgets, wireless Some wearable news


September 5, 2003 - Categories: -Uncategorized

A really wearable input device "FingeRing" is developed for coming wearable PDAs. By attaching ring shaped sensors on each finger, many commands or characters can be input by finger-tip typing action. "FingeRing" can be used on any typing surface such as a knee or desk, so quick operation is realized in any situation while standing or walking. To improve wearability, a very small, ultra low power wireless transmitter is developed that uses the human body as part of an electric circuit. "Direct Coupling" method enables stable communication even when body contacts any grounded surface. A new symbol coding method that combines order and chord typing is also proposed, and useful typing patterns are chosen by typing speed evaluations. Expert users of musical keyboards can input 52 different symbols at speeds of over 200 symbols per minute by using the combination of FingeRing and the new coding method.

Cheese-frank wrap-ups — recipes

September 7, 2003 - Categories: -Uncategorized

- Assembling time: 15 minutes - Cooking time: 15 minutes

4 pita breat rounds
  bottlede barbecue sauce
1/4 cup chopped pitted ripe olives
1 1-pound package (8) frankfurters
4 ounces pepper cheese, cut into 16 strips
  Sourc cream dip with French onion
8 ripe olives

- Split pita bread in half horizontally to make 8 rounds. Brush cut side of each pita half with some barbecue sauce. Sprinkle with chopped olives. Make a lengthwise cut in each frankfurter that is almost, but not all the way, through the frankfurter.

- Place 2 strips of pepper cheese inside each frankfurter. Place a filled frankfurter on each pita round; roll pita around frankfurter. Secure with a wooden pick. Place on a baking sheet.

- Cover baking sheet with foil. Bake in a 375' oven about 15 minutes or till cheese is melted and frankfurters are heated through. Remove wooden picks; dollop each with sour cream dip and top with a ripe olive. Makes 4 servings.

Pocket bread appetizers — recipes

September 7, 2003 - Categories: -Uncategorized
Assembling time 5 minutes
Cooking time 8 minutes
2 pita bread rounds
3/4 cup shredded caraway cheese or hickory smoke-flavor cheese

- Cut pita bread rounds into half horizontally. Cut each pita half

into 8 wedges. Place on greased baking sheet. Sprinkle with shredded chees. Bake in a 375' oven for 8 minutes or until cheese melts. Serve warm. Makes 32.

Quick warm-up cocoa — recipes

September 7, 2003 - Categories: -Uncategorized
Assembling time 13 minutes
2 1/2 cups water
2 cups milk
6 envelopes instant cocoa mix
6 tablespoons rum or brandy (optional)
  Pressurized dessert topping
6 cinnamon sticks or peppermint sticks (optional)

- In a large saucepan combine water and milk. Heat to almost boiling.

In a large pitcher, empty the cocoa mix; add hot milk mixture. Stir till cocoa is dissolved.

- Pour cocoa mixture into 6 mugs. Stir 1 tablespoon rum or brandy into

mug, if desired. Top with dessert toping; add a cinnamon stick or peppermint stick, if desired. Makes 6 (6-ounce) servings.

Pizza patties — recipes

September 7, 2003 - Categories: -Uncategorized
Assembling time 8 minutes
Cooking time 30 minutes
1 8-ounce can tomato sauce
3/4 teaspoon dried tarragon, crushed
3/4 teaspoon dried basil, crushed
1/8 teaspon garlic powder
1 beaten egg
1/4 cup fine dry bread crumbs
1 pound ground beef or pork
1/2 cup shredded mozzarella cheese

- Combine first 4 ingredients and 1/8 teaspoon pepper. Combine 1/3 cup of tomato mixture, the egg, bread crumbs, and 3/4 teaspon salt. Add meat; mix well. Shape into five 1/2-inch-think patties.

- Place patties in a shallow baking pan. Bake, uncovered, in a 350' oven for 20 to 25 minutes. Drain off fat. Spoon remaining tomato mixture atop. Sprinkle with cheese. Bake 3 minutes more. Serves 5.


September 7, 2003 - Categories: -Uncategorized

Conversations with others

September 7, 2003 - Categories: -Uncategorized

Lessons from Jerome: More pragmatic, more concrete examples. It's really different. Still trying to figure out what the good thing there is.

Lab idea: etch-a-sketc

September 8, 2003 - Categories: -Uncategorized

power problem

September 8, 2003 - Categories: -Uncategorized

So that's what the beeping was - Eric's UPS giving out. Something burst in one of the outlets earlier, so now none of the wallsockets in the department work. Hadn't noticed - was on a laptop!

quiz-a-day — cs21a, education

September 8, 2003 - Categories: -Uncategorized

I've started the past two classes with a 5-minute quiz. This is actually a good thing. It's short, so I can check it easily. It provides me an opportunity to call people up to the board to write down the correct answers, and I try to use this to involve people who hadn't spoken in front of class before. It also gives me valuable feedback on how the class is handling arrays. From the results, it looks like I'll need to spend one class day on exercises before we move on to searching and sorting.

I print the quizzes beforehand. I used frames in to put several quizzes on one piece of paper, and then I print out enough copies for the whole class. I cut them with scissors or tear the paper neatly - I have a hard time with the paper cutter. =) After the quiz is finished, I collect the papers, flip through them quickly, and ask several people to write their answers on the board. After the class, I tabulate it using Emacs' forms mode, noting their nicknames, total score, and any incorrect answers to questions. That will allow me to review mistakes even after I return the papers.

I don't know whether it's because of the quizzes or because of the activities I'd planned, but the past few classes have been very lively. The quizzes seem to put everyone in the mood to start working, and it accustoms the students to time pressure.

The extra load is actually quite manageable - it takes me around 5 to 10 minutes to prepare the quiz (I do this the night before), a few minutes to print and cut the quizzes, and another 5 to 10 to check all of them.

CS faculty are generally averse to taking attendance. Daily quizzes offer a way to do that while providing useful feedback on class progress.

Intertwingularity — research

September 8, 2003 - Categories: -Uncategorized

Elevator realization

September 8, 2003 - Categories: -Uncategorized

I've just had a thinko about elevator design. Instead of storing state in the elevators, why shouldn't we store state in the floor instead?

Mozilla plugin notes — linuxhelp

September 8, 2003 - Categories: -Uncategorized

searching and sorting meeting

September 8, 2003 - Categories: -Uncategorized

collections, please project ideas life as a teacher

Squid access controls

September 9, 2003 - Categories: -Uncategorized

Interesting conversation on SIGCSE — education

September 9, 2003 - Categories: -Uncategorized
At 23:45 -0400 9/7/03, Jeffrey Forbes wrote:

>Hello all,
>For students who do most of their programming assignments
>on their own computers, I am struggling to stumble upon
>an appropriate method for helping the students with their
>Instead of a "go to a computer lab for help" model, I would like to
>employ some sort of a "virtual helper hours" model where students
>could ask the course staff questions wherever the students
>or the staff happens to be.
>I'd like to hear any advice or comments about how you have used
>systems for this purpose. Some initial questions:
>- Instant messaging systems (e.g AIM, Jabber, ICQ, etc.): are they
>    effective and appropriate? How should they be tailored for
>    virtual helper hours.
>- Anyone had positive experiences using chat rooms for teaching
>    and consulting purposes?
>- How about using a software package particularly for this purpose?
>    Does one exist? Is it any good?
>Please send any comments to me and I will summarize the results
>for this list.

I've used a lot of these things with different kinds of success for each.

One of the most effective tools is a mailing list to which everyone
is subscribed. Everyone gets to ask questions. Everyone gets to see
the answers. Most important, everyone gets to answer. This way
questions can be answered 24 by 7 even if no instructor/lab assistant
is available. You need to correct errors quickly, of course.

I use the chat facility in AOL/IM to hold periodic chats in some
courses and occasional/emergency chats in others.  For example, I was
ill once and missed a lecture, but held a "virtual" lecture using
chat.  You have to get used to running simultaneous multiple threads
of discussion, though. Some find it hard to do. When I have a chat, I
capture the entire chat as html and then publish it for the benefit
of those who could not "attend."  They are also helpful in adding a
"personal" touch to an internet based course: where are you from --
what is that like...

Finally, you should investigate a wiki, which is an interactive web
site. Every visitor can edit any page. I spoke about this in a tips
session at ITiCSE in Denmark a year ago. It is more permanent than
either of the above and some things you do in one term can be easily
carried to the next. Two features of my wikis (I have one for each
course I teach) are AnonymousFeedback which is a page on which you
can rant if you like, and other students can reply if they like, and
a GrowYourOwnFAQ where you can ask questions that will be answered in
a growing list. There are different wikis. I use a simple one (source
code available from my front page) written in Java. There are others
in perl, smalltalk, ... The original is the virtual home of the
Patterns community If you want to have a
private wiki, however, keep it private and don't link to it.
Otherwise you will get spam. We had this problem only once. My wiki
has anti-crawler meta tags to help prevent this and it has been
effective. BTW, you can also run a wiki at localhost and just use it
as a personal multi-page note pad.

Finally, information from the mailing list and the chats can be
transferred to the wiki and really important stuff can be moved from
the wiki to less volatile web pages, though you can make wiki pages
read only as well.

Hope this helps.

Knuth quote

September 9, 2003 - Categories: -Uncategorized

computer science, cs21a, education

When I speak about computer programming as an art, I am thinking primarily of it as an art form, in an aesthetic sense. The chief goal of my work as an educator and author is to help people learn how to write beautiful programs...My feeling is that when we prepare a program, the experience can be just like composing poetry or music...Some programs are elegant, some are exquisite, some are sparkling. My claim is that it is possible to write grand programs, noble programs, truly magnificent ones! programming is an art, because it applies accumulated knowledge to the world, because it requires skill and ingenuity, and especially because it produces objects of beauty. Programmers who subconsciously view themselves as artists will enjoy what they do and will do it better. - D. Knuth (Computer Programming as an Art. Turing Award Speech 1974)


The strength of Java user groups

September 9, 2003 - Categories: -Uncategorized

Caimlas, artificial intelligence

September 9, 2003 - Categories: -Uncategorized

Caimlas is thinking of working on a conversation bot that can learn. He found .

XGoogle? IRC search engine

September 9, 2003 - Categories: -Uncategorized

Ran across it while searching for Undernet #linuxhelp (

USB Watch

September 9, 2003 - Categories: -Uncategorized

That is, like, _so_ cooooool. That is, like, waaay cool.

CS21A array exercises ideas

September 9, 2003 - Categories: -Uncategorized


I'll need to give another quiz on arrays - make sure they know how to declare, create and use arrays. They also need to pay attention to the length part.

They also need to practice using loops to go over an array.

- Reverse an array - Check if something is a palindrome. - Add a number to the end of an array. - Insert a number into the middle of an array. - Print out every other item in an array.

l33t people skillz

September 9, 2003 - Categories: -Uncategorized
 heh, openwhatever is back in #linux, and nice and humble too.
 so "it" worked.
 * Coma clears a few bans then
 * sachac whistles innocently.
 you again, heh
 * Revenger hands sachac a red rose.
 * sachac hugs Revenger.
 sachac: you talked to him or what?
 OmiKrOn: thats our sachac allright.
 sachac: so, you're a hot teacher and a hot linux chick... neat!
 sachac is a chixqu0r?
 *** ZEA ( has joined channel #linuxhelp
 cool, /me makes a note.

Human bingo!

September 9, 2003 - Categories: -Uncategorized

I can have the freshmen do this for tomorrow! =)

Aforementioned #linuxhelp weirdness

September 9, 2003 - Categories: -Uncategorized

(good karma)

(person) are you a Psycologist? No. I'm a computer science geek. (person) because I'm an arrogant self-righteous bastard and you've calmed me down a LOT quicker than anyone is usually able to. You have amazing people skills (person) If you need a job, let me know, my company a has center in Manilla (person) If that's still where you are....anyway, thanks a lot

Alternative career? =)

USB mouse plus disk

September 9, 2003 - Categories: -Uncategorized

Tell dominique

September 9, 2003 - Categories: -Uncategorized

not websphere 5 for william, already downloaded. How's article doing?

Linuxjournal assignment

September 9, 2003 - Categories: emacs

Take a look at the Linuxjournal assignment and maybe think of writing about planner


September 9, 2003 - Categories: -Uncategorized

Cross-platform Quake Lite thing Not open source.

Had dinner with Dominique, Eric and Andrei

September 9, 2003 - Categories: -Uncategorized

Tried singing. Stage fright. New project: learn shamelessness. ;) Am quite amazed by fact that Andrei and Eric can... you know... just...

Human bingo — cs21a, education

September 10, 2003 - Categories: -Uncategorized


Hah! My students let me get away with human bingo! Took longer than I thought - adjusting time estimates accordingly - but it was fun and I learned something about the class. I also encouraged cooperation, and they figured out what I wanted them to do with the bonus.

September 10, 2003 - Categories: -Uncategorized


A collection of student comments and advice on first year teaching. This is probably the page that Dominique Cimafranca mentioned.

- make the class interesting. Variety and surprise are key elements

I'm getting the hang of writing fun and interesting exercises. My class seems animated, and even the other CS21A classes try out my exercises and have fun.

- true enthusiasm and a sense of pride for who and what one is teaching

I noticed this in student feedback from summer and from my talks. They pick up on the fact that I'm passionately into computer science and teaching, and even if they don't understand everything I talk about, the fact that I talk about it enthusiastically cheers them up.

- the importance of relating things to the real world.

I love doing this. Heck, I relate computer science to the unlikeliest of things - cooking spaghetti, giving directions, analyzing how things interact...

- be organized and clear

I need to work on this a bit more. I list the objectives for each activity and I have follow-up questions. That's a good thing - I didn't really state them clearly before.

- It is important to remember where students are coming from

I think I'm doing this pretty well. I know people in the introductory course come from wildly different backgrounds, and I take that into account when I help them. I must keep the academic ending point in mind, though. Next time, it would be nice to clearly post the ending point on the course webpage - the objectives of the course, essentially.

- Stress and repeat key points.

Stress and repeat key points. Yup. I tend to say things several times, and I follow up with questions.

- I think that you will find that the chemistry of your classes will be much better if you share something about yourself, and learn something about your students.

I don't try to be "one of the gang", but I like answering my students' e-mail and sharing what I've learned.

Maybe I should go to class in borg gear sometime. =) Research.

- need for genuine empathy

I need to remember to be somewhat demanding. But yeah, I know they're doing a lot, and I help them catch up outside class time as well.

- make adequate time for your students

A number of students feel comfortable with dropping by the department to ask for help. There are some I have not yet met outside class, though.

- Be sure that tests, assignments, etc. are fair, valid, consistent and explicitly described.

I need to improve the clarity of my assigments, or I'll risk some students giving up because the questions are confusing.

- professors too seldom seek meaningful feedback.

Should incorporate more feedback opportunities. I love how they give me feedback through their journals; it helps me improve as a teacher and it allows me to find ways to better address their needs.

Research on Successful New Faculty

September 10, 2003 - Categories: -Uncategorized


Identifies three aspects for new-teacher success

- Collegial support.

I experience a lot of collegial support. I regularly swap stories and ideas with the other new teachers, and I occasionally learn from the senior faculty. They don't expect me to have to make all the mistakes again, and they share encouraging stories and advice.

- Teaching support.

I believe that students must actively learn. Our Teacher Formation Institute (TFI) training emphasized the importance of student-centered learning, and that's how I approached school as a student as well. I feel that my main task as a teacher is forming attitudes and skills, not just delivering content. My faculty evaluation last summer was above average. Out of 9 teachers, I was number 3, but there's still a long way to go! =)

My students can handle challenging content - I just have to find ways to present it well. I like experimenting with alternative teaching styles, although I need to make sure that my class doesn't suffer because of it. It looks like they're learning and having fun, though.

- Preparation Time vs. Research and Writing Time.

I spend more time preparing exercises than I do preparing lectures. I would rather guide students with questions and exercises than tell them answers. I feel that exercises have to be well-prepared. When I do lectures, however, I can do them with less preparation. I prefer board-work and program-writing over slides because I can adapt to the students more that way. Slides have to be prepared well in advance and the order is not flexible. I don't know how to use slides to elicit and incorporate student feedback; maybe I should learn how to do that.

Other notes:

Seven Attributes of Successful New Faculty

- superior investment in time spent on scholarly and grant writing;

Meep. I need to work on this more. Right now, I feel that the time I invest in preparing exercises is worth it especially as my research interests include computer science education. Other teachers use my exercises as well, and I want to put together a collection of lab exercises and project ideas.

Advice from the page:

Advice to New Faculty . The most obvious advice is for new faculty is to follow the model set by quick starters. Finding balance in time expenditure is critical. Boice suggests new faculty keep daily records of how they spend their time and decrease classroom preparation to a maximum of one and a half hours per classroom lecture hour. With regard to teaching, Boice directs new faculty to seek advice on how to interpret student ratings, and to improve teaching accordingly. Further, he suggests that new faculty attend to social networking, spend time on scholarly writing each day, and integrate research and scholarly writing interests into lectures.

I should keep track of my preparation and checking time, then. =)

(Oooh. I love social networking. =) )

What to expect your first year of teaching

September 10, 2003 - Categories: -Uncategorized

Setting up an Internet gateway

September 10, 2003 - Categories: -Uncategorized

Helped with iptables problem

September 10, 2003 - Categories: -Uncategorized

Helped `Chance (or Chance), X person.

Nobody asked me, but…

September 10, 2003 - Categories: -Uncategorized


Eric contributed this education link:

It's someone's very strong opinions about teaching. Funny read.

Faculty meeting

September 10, 2003 - Categories: -Uncategorized


- PAASCU revisit will be either end of this month or in October. - List of recommendations - Show interaction - Fine arts. aesthetics / technical - Merienda with philo: September 17, ethics discussion, mis hour? - Playstation. SCPH-30001 or SCPH-30001-R or SCPH-35001-GT - Lounge party. promotions, video games - Updates re phd program, master's, and mis - Video cards, Geforce 4 MX - Network computers for Sir Marco - Inventory of Microsoft stuff

No glamour in teaching?

September 10, 2003 - Categories: -Uncategorized


The problem is, there's no glamour in being a professor. People don't think of us as powerful and important, like politicians and corporate executives; or as practicing a noble and beneficial profession, like doctors; or as pulling down a bundle for a few minutes work, like doctors, lawyers, and corporate executives; or as romantically unprincipled and somewhat sinister, like politicians, lawyers, and televangelists. In fact, people don't think of us at all. We get no crowds pointing us out and whispering to one another as we walk by; no fathers telling their children that some day they may grow up to be like us; no groupies.

Is too! I have fun teaching, and I'm rather glad I am.

Funny column, though.

Great way to learn Japanese

September 10, 2003 - Categories: -Uncategorized

From Mario:

The forest is in danger of being overrun by evil slime! The only way to defeat them is to study japanese!

Really. Its a CRPG which teaches you the basic kana and 200 kanji characters. Hehe. What a fun way to learn.

Quick ideas for in-class activities

September 10, 2003 - Categories: -Uncategorized

The one-minute paper looks like a good idea. - What are the two most important points brought out in class today (this week, in the chapter we just finished covering)? - What were the two muddiest points in today's class (this week's classes, this section of the course)? - What would make this material clearer to you? - # Make up a question about an everyday phenomenon that could be answered using material presented in class today (this week). (Optional:) One or two of your questions will show up on the next test.


September 10, 2003 - Categories: -Uncategorized


- What do you like best about this course and/or the instructor? (List up to three things.) - What do you like least about the course and/or instructor? (List up to three things.) - If you were the instructor, what would you do to improve the course?

Plan for Friday:

- English-level description of sorting and searching. Give them the

weekend to think about how to translate that into code.

- Individual student evaluations. Emphasize need for comments.

Things I wish they had told me

September 10, 2003 - Categories: -Uncategorized



Find one or more research mentors and one or more teaching mentors, and work closely with them for at least two years. I'm looking for a teaching mentor. I like Dr. Queena Lee-Chua's style of teaching a lot. I've asked, but I'm not sure if anyone in our department has been awarded for teaching. I'll check Metrobank and other foundations. Find research collaborators who are strong in the areas in which you are weakest. If I focus on wearable computing, then I should probably find someone who's good at hardware. If computer science education, then analysis and assessment... Grade tough on homework, easier on time-bound tests. Ouch. My bad. Get copies of McKeachie1 and Wankat and Oreovicz2. W.J. McKeachie, Teaching Tips: A Guidebook for the Beginning College Teacher, 8th Edn., Lexington, MA, D.C. Heath & Co., 1986. The second book's for engineering.

Any questions?

September 10, 2003 - Categories: -Uncategorized


Ways to engage your students

- Define a concept in your own words - Explain familiar phenomena in terms of course concepts - Predict system behavior before calculating it - Think about what you've calculated - Brainstorm - Formulate questions

Make this group work. Promise to put some of them in the tests.

Meeting for CS21A earlier

September 10, 2003 - Categories: -Uncategorized

Have promised to do lab for searching and sorting by Monday

Teaching meeting now

September 10, 2003 - Categories: -Uncategorized

Sir Olpoc, Eric, Fanny, Andrei and me

- talking about faculty rank, outstanding teachers - performance monitoring for CS161 MIS people


September 10, 2003 - Categories: -Uncategorized

Forgot to go to the faculty forum. Had been talking to Dr. Sarmenta about CS21A.

More education links

September 10, 2003 - Categories: -Uncategorized


September 11, 2003 - Categories: teaching
  • Encourage students to come to tutorial sessions with a list of prepared questions. Tutorials are not mini-lectures, but rather opportunities for students to clarify things they don't fully understand.
  • Help students prepare for the tutorial session by asking them to each divide a sheet of paper into three columns - "I know", "I want to know", and "I learned". Ask your students to fill the first two columns at the start of the tutoring session. At the end of the session, students can summarize what they learned in the third column.
  • Attitude is as important as knowledge. As a tutor, your job is also to help students build confidence. Reassure your students that they can understand the material. Try to determine what's holding students back. How do students feel about the subject? Do students perceive it as irrelevant? Are students intimidated by the complexity of the material or by other classmates? Consider students' current attitude when tutoring, and help students develop a more positive attitude toward the subject.
  • You're not there just to teach the language. You can also help students develop problem-solving skills and the ability to learn independently. Don't just demonstrate what you know, but talk about how you learned and share your strategies for learning.
  • Particularly for programming: If students are having a hard time with writing programs, ask them to express their solutions in English first, and then help them translate it step-by-step.
  • Try to link new topics to previous knowledge. Show how new concepts are related to old ones. Introduce new topics in a step-by-step manner, building on previous material. This helps students review past lessons. It also helps students build confidence because you proceed from something students are familiar with.
  • Listen more than you speak. As much as possible, try to guide students to the right answer without dictating it.
  • You may need to demonstrate the solution of a problem if students are stuck. However, do not let students passively listen. After demonstrating the solution, for example, you can hide your solution and ask students to do it from scratch. You can ask students to rephrase it in their own words. You can ask students to highlight important points and then solve a slightly different problem.
  • Ask questions and give exercises. You need to test your students' understanding. Students may have a hard time estimating their understanding of a topic. They might understand something while you're explaining it, but when they're on their own, they get confused. Ask lots of questions and give exercises so that students practice what they learned.
  • Make sure you have follow-up work or exercises so that students can continue practicing at home. If you're familiar with the textbook or have a bank of exercise ideas to draw on, you can quickly prepare a personalized study plan with suggested exercises and readings.
  • Group sessions can be very effective, especially if you get the students to answer each other. I particularly like doing this, as it has a number of benefits. Students build confidence, make friends, and learn that they're not the only ones having problems. They can help each other review , too!
  • Keep your eyes open for good examples, analogies, and exercises. Write your ideas down in a notebook or blog someplace. (Shameless plug: I put a lot on my blog, and I love swapping ideas with others.)
  • - Smile.
  • - Enjoy tutoring. You also gain a lot from tutoring. Tutoring develops patience and communication skills. It also forces you to gain a deeper understanding of the subject matter. From time to time, you'll also learn something new from your students. Plus, you get that incredibly warm and fuzzy feeling when your students understand something (or are at least get somewhat closer to feeling they can).

On the benefits of my far-out exercises

September 11, 2003 - Categories: -Uncategorized

From one of my students:

>> Do you like exercises like this, or should we just stick to the stuff in
>> the books?
> Both. But I like exercises like these more because stuff that's in the
> book, I can do on my own when I have the time. Stuff like this is
> different, and interesting.

I should keep that in mind. =) Stuff that's in the book I can suggest for practice, but in class, let's do something unusual and useful.

Gnus funkiness – reply to multiple posts

September 11, 2003 - Categories: -Uncategorized

I just discovered something funky about Gnus. If I mark several messages for processing (# in the summary buffer) and then hit r to reply, Gnus ever so helpfully puts the messages in one article buffer. Wow. =)

IOApplet o Drawing Objects o GraphicsIOApplet o Declaring and Initializing Arrays: Single and 2D o Searching and Sorting Arrays

CS21A review project

September 11, 2003 - Categories: -Uncategorized


Quoting speedstorm25 <>:

Hi, Jaime and I are conducting a quick pulse to determine which
topics you are not familiar with or are having problems with so

What an excellent idea! =)

In fact, let's take it even further. I'll make it an extra-credit project that everyone can participate in.

Here's a rough list of what we've taken up so far. - Variables and data types - Expressions - Input and output (including converting from Strings to int) - Boolean logic - If and if/else - While loops - For loops - Loops within loops - Classes and objects - Attributes - Methods - Constructors - IOApplet - Interfaces - Drawing objects - GraphicsIOApplet - 1-d arrays - 2-d arrays - Arrays of objects - Searching - Sorting

I want the class to make review materials for the different topics. You can make flashcards, notes, or tutorials. You can write poetry or draw pictures - please scan them or use a computer graphics program so that we can easily share the pics. You can collect and organize programs that demonstrate your concept. Anything goes!

This is how we'll do it. Tomorrow, you'll volunteer for the topic you'd most like to do by writing your name and e-mail address on the board. If you want to prepare review materials for a topic not listed, no problem - just tell me and I'll add it to the list! We'll arrange it so that people are working on different topics. If you really, really want to pick a certain topic, come early! First come first serve.

Over the weekend, you'll make the review materials. Be as creative as you want. Remember, your classmates are going to use your review materials! Also, suggest at least three questions (and their answers, of course) based on your topic. We'll see if we can include some of the questions from the class in our final exam. =) Be sure to include credits - you can be proud of your work!

If you have any ideas that might help your classmates who are working on different topics, feel free to e-mail them or call them up and talk to them. Go ahead - share your notes and your sample programs. =)

On Monday, submit your work to me on a diskette or through e-mail ( Provide instructions for your classmates so that they know how to use your review material. If you want to earn even more extra credit, you can volunteer to organize all your classmates' submissions into a nice website and/or directory tree. By the end of next week, we might even have a CD that you can take home and use to review.

Sounds like a good idea? I'm sure you can do it! This is going to be fun _and_ educational, and it will help you review for the finals as well. I'm looking forward to seeing your work!

Pisay considering open source

September 11, 2003 - Categories: -Uncategorized

But sysad not familiar with it. Plan: Teach Computron, get them into Linux. UP LUG kinda busy educating UP. Minimal support from department.

Linked lists for people

September 11, 2003 - Categories: -Uncategorized

- Inserting - Reinforce stacks, queues - Searching, deleting - Iterator - Garbage collection


Other stuff - Problem: Might get bored? - Problem dealing with bonuses. - Procrastination

Slashdot story?

September 11, 2003 - Categories: -Uncategorized

More people having platonic relationships? Two, three weeks ago.

Sorting animations

September 12, 2003 - Categories: -Uncategorized

From Christine:

This is an interesting site Fanny found that illustrates the sorting algorithms, including a step-by-step animation! It is a java applet that displays the sorting algos in java code. You can demo it to your classes or just send them the link so they could understand sorting better.

Eric is trying to memorize pi

September 12, 2003 - Categories: -Uncategorized

Geek power and all of that.

MimerDesk press release

September 12, 2003 - Categories: emacs
Espoo, Finland — September 11, 2003 — The new stable release of MimerDesk introduces Type sets for the freedom of choice in pedagogical methodologies, a better structured and more intuitive user interface and new tools to further enhance effective collaboration. MimerDesk takes one step closer towards pedagogical independence in the sense that it is not limited to specific learning process methodologies, but instead provides the possibility for the user to create Type sets for different types of learning processes like Problem Based Learning.

The Project Manager in MimerDesk 2.0 is specifically designed to provide more efficient manner of carrying out projects asynchronously. This tool is ideal for group assignments and projects because of its illustrative nature. The Project Manager includes a dynamic tree structure with unlimited levels of tasks, participant specific task lists, task dependencies, milestones and enhanced GANTT charts.

MimerDesk 2.0 also delivers an enhancement to the Calendar in the form of a new tool, the Meeting Planner. The main objective of this tool is to ease the process of arranging meetings with three or more people, be it for a school project or a board meeting. The Meeting Planner is integrated with the Calendar so that all meetings that are agreed upon are directly sent to the participants' Calendars. MimerDesk 2.0 introduces a more intuitive and easy-to-use structure in the form of top-level tabs that separate Personal, Groups and Administration tools to form their own wholes. An individual user and group administrators can dynamically select the desired set of tools to work with and this freedom makes the environment more flexible and suitable for different types of communities, groups and individuals.

As is to be expected, the MimerDesk 2.0 release fixes numerous bugs and inconsistencies found in previous versions.

MimerDesk is a Free/Open Source web-based collaborative learning and groupwork environment software. MimerDesk is published under the GNU GPL license ( The license protects the user's rights to use, change and distribute the MimerDesk software. The MimerDesk software can be downloaded from the project website (

Ionstream Oy is the main developer of the MimerDesk environment and has a long history of expertise in Internet communities, teaching and web-based collaborative learning. Ionstream Oy is focused on designing, implementing and delivering customer-specific collaborative learning and groupware solutions.

Argh. ;)

“Reasons to Avoid Microsoft”

September 12, 2003 - Categories: -Uncategorized

From the author:

The little icons across the top act as filters. e.g., click the little school-house icon to see how MS has screwed schools. Click the little IIS icon to see the IIS-related issues (which could include holes, monopolistic actions, etc. :^) )

Instructional software design

September 12, 2003 - Categories: -Uncategorized

Jops’s thesis is on Filipino text-to-speech

September 12, 2003 - Categories: geek text preprocessing for Filipino text-to-speech synthesis

Removing messages from the postfix mail queue

September 12, 2003 - Categories: -Uncategorized

Helped bronaugh with this problem today.

postsuper -d queue_id

Dr. Garcia needs help with Epson stylus c43sx

September 12, 2003 - Categories: -Uncategorized

He's having problems compiling CVS source of gimp-print.

TeachingReflections and BlueJ

September 12, 2003 - Categories: -Uncategorized

"Mr. Dee" wrote in with this:

I think BlueJ ( is a good Java teaching environment. And there's a simple class diagram feature. They use this in Meralco foundation btw (and also a broadcast software called NetOp for the blackboard/guide stuff.)

mount –bind

September 13, 2003 - Categories: -Uncategorized

Whoa, funky. mount —bind olddir newdir allows us to make contents available elsewhere.

CS education weblog

September 13, 2003 - Categories: -Uncategorized proposed an interesting question - how do you compile? I notice that students tend to write lots of (buggy) code and then get frustrated by the number of errors that crop up, but that's because javac is awfully slow. Personally, I use jikes - it feels a lot more responsive.

By the way, the blog has some nice diagrams. I wonder how...

Blogging as an educator

September 13, 2003 - Categories: -Uncategorized


I haven't ever blogged as an educator, I must admit. This is, I think, a failing in my blogging practice. In particular, I really like the idea of weblogging about my practice in a place where my students can see what I'm thinking. This is because I (Matt) personally think there are too many guessing games between me as an instructor and my students. If they can see where I think the educational process is breaking down, and why, they can actually take part in the solution. Or, what might be even cooler, would be...

I find that I blog a lot as an educator. I write for myself because I need to reflect on each day - to note what worked and what I can improve on. I write for other teachers so that they can check out resources I've come across, avoid whatever mistakes I made, learn from whatever insights I had, and maybe even share their own thoughts. I write for my students so that they know I value their feedback and that I'm looking for ways to make learning more fun, interesting and effective. They can see my thoughts on what worked and what didn't.

I've received a lot of positive feedback. Some people have suggested websites to visit. Other people have asked questions that spawned new blog entries. Yet others have shared what they learned. I have learned so much from the people who've written in with their comments, and I look forward to learning from you.

CS education dissertations

September 13, 2003 - Categories: -Uncategorized

At the University of Texas at Austin, Roger Louis Priebe earned a doctorate in Science Education in 1997 with a dissertation on The effects of cooperative learning on content comprehension and logical reasoning in a second-semester university computer science course. This is the abstract:

Attrition rates in the computer science major are quite high. Many students who struggle through the first few courses ultimately drop out of the major when the coursework becomes too complex, mostly because of the increased amount of logic and abstraction that the coursework requires.

This study compared content comprehension, logical reasoning ability, and attendance in two groups of second-semester university computer science students. In a quasi-experimental, pretest/posttest, control-group design, the control group (n=25) received instruction in a traditional lecture/discussion learning environment three days a week for nine weeks. The treatment group (n=24) met in a cooperative learning environment for the same number of hours as the control group. Each group was given the pretest and posttest for the Burton Comprehension Instrument (BCI) and a pretest and posttest for the Propositional Logic Test (PLT) to measure levels of content comprehension and logical reasoning ability. A head-count was taken daily to determine if the cooperative learning environment might promote better attendance.

The null hypotheses investigated in this study were. (1) There will be no difference between the cooperative learning and control groups in concept comprehension. (2) There will be no difference between the cooperative learning and control groups in the improvement of logical thinking skills. (3) There will be no difference between the cooperative learning and control groups in attendance. The collected data were analyzed by the use of Analysis of Covariance (ANCOVA), Multivariate Analysis of Variance (MANOVA) with Repeated Measures, and one-way ANOVA.

The results of the analysis revealed no difference between the cooperative learning and lecture groups in the areas of content comprehension or logical reasoning ability. However, the cooperative learning group did have significantly better attendance (p<.03).

Further research is recommended in the use of cooperative learning in university-level computer science courses. Of special interest is the use of cooperative learning tactics in large lecture-based courses and the effect of cooperative learning on gender equity in computer science.

Copyright (c) 1997 by Roger Louis Priebe. Presentation of this material by the Department of Computer Sciences at the University of Texas at Austin was made possible under a limited license grant from the author, who has retained all copyrights in the works.

I should look into doing research like this even now.

Naive tools for studying compilation history

September 13, 2003 - Categories: -Uncategorized

Full text available at

First paragraph:

We are interested in assessing the impact of pedagogic programming environments in the teaching of programming to novices. As part of this work, we are interested in studying student compilation histories—a sequence of snapshots of a student's program taken each time they compile. Much like a sequence of moving pictures imply motion, we believe there is merit in studying the evolution of a student's program. A compilation history represents one aspect of a solution trajectory, a sequence of observable (external) and mental (internal) states that define a student's path from problem start to completion.

The 14-page paper raises the question about the delta between compiles - what students change in between compilations. They use source substitution to ignore minor changes in variable naming, and they try to look at structural and type changes. They hope to be able to use this to analyze how students rewrite programs.

Some questions:

- How can one measure the growing complexity of a program solution?

- How can one record the kind of bugs students encounter?

- Maybe it would be nice to record not only compilation bugs but also

logical ones...

Nifty Assignments

September 13, 2003 - Categories: -Uncategorized

I should develop things like this, and maybe see about using some of these assignments in my class.

Filipino speech corpus

September 15, 2003 - Categories: -Uncategorized

From Ramil Sagum:

the link for is wrong. =) whoever updated the site preffered .htm's rather than .html's.

The Filipino speech corpus has been given funding na nga pala. In fact, I'm using one of the new computers they bought for the project. However, it'll still take 2-3 years for a usable system.

canna-chasendic — a Japanese dictionary for ChaSen derived from Canna dictionary

September 15, 2003 - Categories: -Uncategorized
 * Package name    : canna-chasendic
   Version         : 0.94h
   Upstream Author : NOKUBI Takatsugu 
 * URL             :
 * License         : GPL
   Description     : a Japanese dictionary for ChaSen derived from Canna dictionary

ChaSen is a Japanese morphological analysys system. It usually use
with ipadic dictionary. But it is DFSG-nonfree, so the package provides
yet another dictionary on DFSG-free environment.
The dictionary is based on cannadic.

Debian pre-installed laptops

September 15, 2003 - Categories: -Uncategorized
Doh! already has a page that lists vendors that will pre-install Debian here:


September 15, 2003 - Categories: -Uncategorized

Apparently, there _is_ SSH for DOS:

Hyper in Emacs

September 15, 2003 - Categories: emacs

Apparently, hyper in Emacs is C-x @ h if you haven't bound a key to it. To wit, C-h c C-x @ h a will tell you what's bound to H-a.

Hare Race

September 16, 2003 - Categories: -Uncategorized

That didn't go too well; not polished enough. The exercise is at HareRace-20030916.jar just in case.

Interesting words

September 16, 2003 - Categories: -Uncategorized

CS1 site

September 16, 2003 - Categories: -Uncategorized

- has a lot of examples,

and it has an overarching project. Hmm. Stuff seems to come from the Java Gently textbook. Must get that, then.

Plans for CS21A tomorrow

September 16, 2003 - Categories: -Uncategorized

I think we'll have fun. =) A lecture on searching and sorting - modified slides, whiz through most of it and get to the Arrays.sort part - and then a (+1 Insightful, +1 Funny? ;) ) mini-lecture on, well, lecturing.

Linux in Education links

September 16, 2003 - Categories: -Uncategorized

Dr. Queena Lee-Chua’s Metrobank Outstanding Teacher acceptance speech

September 17, 2003 - Categories: education
Proud to be Teachers By: Queena N. Lee-Chua, Ph.D. Ateneo de Manila University

(Response during the 2003 Metrobank Outstanding Teachers Awards, Sept. 5, 2003)

Former President Corazon Aquino, Senator Ramon Magsaysay, Jr., Secretary Edilberto de Jesus, Chairman Rolando Dizon,Chairman Bayani Fernando, Mayor Jose Atienza, Jr., Mayor Feliciano Belmonte, Mayor Maria Lourdes Fernando, other members of the boards of judges, Dr. Ronald Post, Chairman George Ty, Dr. Placido Mapa, Jr., Mr. Antonio Abacan, Jr., ladies and gentlemen: Good evening.

I never dreamed of becoming a teacher.

In elementary school, I wanted to follow in my parents’ footsteps and grow up to be a doctor. But in high school, shocked with the dissection of my first frog in biology, I vowed to make money, and where else would the path lead but to business—preferably, as the boss of my own enterprise.

I have always loved math and English, the sciences and the humanities, equally, and at the college crossroads, I had an excruciating time debating upon which to expend my energies. A counselor remarked that not possessing a literature degree would not stop me from immersing myself in great works, but that the abstractions of advanced math would probably require mentorship. Of course at the back of my mind there was always the thought that math would open doors to multinational corporations, banks, and ultimately—my own business. To ensure that I did not lose my enthusiasm for the arts, I chose Ateneo, and happily immersed myself in philosophy, theology, and the classics, amidst abstract algebra, number theory, and finite geometry. I decided to join a transnational firm after graduation, work there for a couple of years, and set up my own company.

But fate—God!—intervened. In senior year, during my theology oral exam, Fr. Asandas Balchand, S. J. bluntly inquired as to my plans. Then he urged, "I think you should teach for a bit. Give back to the school." My next class happened to be graph theory, and after an oral presentation, Dr. Marijo Ruiz, herself a Metrobank Outstanding Teacher awardee, smilingly said, “Your discussion was clear and thorough. You should think about teaching.”

Two invitations to teach in a day! Yes, God often works in mysterious ways, but sometimes it does not take a genius to figure out His call. Fine—I would teach in Ateneo for a year—and after that, start earning!

During the final judging phase of the Metrobank Search last July, I was struck by Education Secretary de Jesus’ question: "Why do you think teachers today are not as respected?" At that time I argued that never in my career did I meet with disrespect. On the contrary, I claimed, every time I gave a seminar or spoke on air, my ideas seemed to be taken seriously, and parents, businesspeople, and students alike would seek my advice. However, after much reflection, I realized that there was truth to the query. When I first decided to teach, some people wondered why I was wasting my efforts on such an inglorious profession.

BUT...students’ eyes would light up after a difficult—albeit rewarding—calculus session. They would ask for exercises beyond homework requirements, and exclaim that math was after all, quite enjoyable. At the end of the semester computer science majors serenaded me with melodies of thanks, accompanied by guitars and flutes. Moreover, kids poured out their heartaches—about parents on the verge of separation, sweethearts caught in betrayal, lives seemingly without purpose. More often than not I could only remain silent, for what these not-quite-children-not-quite-adults needed most was empathy, and concern, and time.

So how could I leave after a year? After two years? After five years? That was 1987, and I am still here. All 12 of us are still here. Because in teaching we have received so much. We have been rewarded more than we have given away. In a world where finance and power rule, our lives have oft been plagued with frustration and doubt; but in this same world sorely lacking in ideals and compassion, our lives have also been illumined by faith, hope and love.

Where else but in teaching would we continually be astounded by the creativity of our charges? When Mrs. Salvacion Calabucal noticed her visually-impaired students shaking bottles aimlessly, she placed beans inside empty containers, asked the kids to follow her 1 – 2 – shake-up – shake-down instructions, and formed a band. Soon they were performing musical renditions in Hard Rock Café, Shangrila, and Makati City Hall. When narra trees shed their leaves, Mrs. Lilia Ramos’ class would catch the falling leaves and all of them would make a wish. The kids would place the leaves under their pillows at night so their wish would come true. Other grade levels joined in, and now their school in Iloilo has an official “Make-a-Wish Day.”

Where else but in teaching would we learn to be creative ourselves? Not content to specialize solely in Filipino, Mrs. Marilou Yogyog designs indigenized instructional materials in folk dance, and trains athletes in table tennis, track and field, and softball, who have won honors for her school. Venturing beyond the classroom, Dr. Samuel Soliven, once dubbed the “Batang Kaingero” because of his humble origins, took his class to the airwaves, hosting a School-on-the-Air at DWRN Bayombong, where he taught science and technology in the vernacular. Though the subject Rizal is often deemed trite and boring, Dr. Sonia Daquila analyzed philosophical, psychological, and social contexts, and changed students’ and educators’ perceptions in Bacolod.

Where else but in teaching could we make a difference in young people’s lives? When Mrs. Ma. Luisa Gibraltar’s pupil feared going home to a father who beat him, she welcomed him into her own home, and had a heart-to-heart talk with the parents, lovingly advising them to care for their son and to treat him with respect. Though her specialty was research, Dr. Evelyn Sorolla founded the “Balik-Paaralan Para sa Out of School Adults Program,” and inspired less privileged adults to return to the academe, finish high school, uplift their dignity and become productive members of the community. As for Dr. Jaime An Lim, who declared, “I did not choose teaching; teaching chose me,” he was destined to be a teacher. First and Second grades in his old school used to share the same classroom, the same teacher, the same class period. While the teacher was handling the first graders, he would teach his classmates how to read. He says, “An open book on my lap, a finger moving from word to word, I patiently guided them through a reading passage.” Dr. An-Lim was seven years old then.

Most of all, where else but in teaching, could we have received so much unconditional affection, respect and love in return? When Mrs. Lourma Poculan’s former Grade 3 student got married, she was the emcee during the reception. The bride’s mother confided that all these years her daughter had been admiring the way her teacher spoke. Another little boy wanted to marry her when he grew up. When Mrs. Dahlia Fabillar witnesses her former students, among them a mayor of their town, a professor at a university, and a vice-president of a big firm, she cannot help but feel pride, for they are proof of the success of her mission.

Perhaps Mr. Renato Carvajal, with whom I am proud to share the same campus, sums it up best. He was a barefoot schoolboy from La Union, the son of a janitor. He was a pandesal vendor at 6, a shoe shine boy at 8, a sacristan at 10, and a teacher at 19. He says, “There is no wasted time in teaching. I always go home tired but not burned out, spent but not weighted down, emptied but still looking forward to giving more the next day. All my school days give me a good night’s sleep, and I would not exchange teaching for any other job in the world. Every school day, well spent, is already a reward in itself.”

Past Metrobank Awardees would humbly state that they accept this honor on behalf of the unsung public and private school heroes of our land. And they would be right. They would also acknowledge that they were the lucky ones—we were the lucky ones—the ones with supportive administrations, encouraging colleagues, motivated students. In the words of my friend Dr. Ricky Abad, Awardee two years ago, “We are blessed that we come from schools and homes that keep the torches of our teaching flame aglow in our increasingly naughty, naughty world.” And again they would be right.

These heroes exist. I know, for I have met one of them. Let us call her Zeny.

Zeny was a high school math teacher down south, and a scholar of the Department of Education. She never dreamed of setting foot in the Ateneo, and when confronted by state-of-the-art computers and laboratories, at first she feared even touching them, so awed was she by such display.

For Zeny came from a place impoverished. In our psychology of teaching class, we discussed Maslow’s hierarchy of needs and what teachers could do to address them. But unlike the textbook, we could not take the most basic needs for granted, for Zeny’s students often came to school hungry and tired, having worked alongside their parents most of the night without nary a snack. How could they even concentrate on algebra? In class when we harnessed the power of multimedia, Zeny would dutifully participate, but the most advanced equipment her school had was one single microscope—kept behind hallowed glass panes in the principal’s office, to be taken down only for the benefit of visitors. Blackouts were frequent, and Zeny believed that even if computer donations would come (as they were promised), these would be useless unless electric flow was unimpeded. Worst of all, often there would only be less than 5 math books in a class of 80 students. How could children learn without books?

So Zeny did what she had to do. Out of her salary, she would pay for the xeroxing of exercises for the whole class. Out of what remained she would buy pan de sal and margarine for her starving students. In a country where everything was publicized, where every construction project had emblazoned on it the names of officials and every building the names of donors, Zeny did her good work anonymously. Not even her own students knew that their snacks and practice sets came out of her pocket.

I asked her how she could afford to do so. "I am single," she smiled, "and my parents are no longer here. My siblings are married. I don’t need a lot. How can I teach if my students are hungry and have no books?"

I wanted to write about Zeny in my column, but after some thought, she told me not to do so. Having such poor facilities would embarrass her school, and she didn’t want to cause any trouble. She was also certain that hers were not the only heroic deeds, and that many teachers across the nation were creatively coping in their own ways. I am sure she is right. And—if her school could command such loyalty from its teachers, then maybe it was also doing something right.

I promised Zeny not to reveal her real name or the name of her school, and I have kept that promise. But tonight, of all nights, with outstanding teachers as the theme, how could we not honor her? This award is for you, Zeny, and all other teachers like you.

Our heartfelt thanks to the Metrobank Foundation, and to Metropolitan Bank and Trust Company itself, especially Chairman George Ty, who by making possible this recognition, has inspired and continues to inspire teachers to do their best. To the judges, in the preliminary, semi-final and final rounds, who painstakingly pored over documents and patiently listened to what we had to say, thank you for making the process memorable—and I daresay—quite fun. Our gratitude to our schools, mentors, and colleagues—in my case, Immaculate Conception Academy in elementary and high school, and now the institution in which I have spent half my life—the Ateneo de Manila, especially the mathematics and psychology community, serendipitously enough represented here tonight by our school’s top officers—Fr. Ben Nebres, S. J. and Dr. Miren Intal, who are not only my bosses, but advisers and friends as well—Fr. Ben whose problem solving abilities I learned from and put to good use during the semifinal teaching demo, and Dr. Miren whose whole-hearted encouragement supported me throughout this entire process. I would also like to thank Fr. Dan McNamara, Dr. Jose Marasigan, Dr. Honey Carandang, and the late Dr. Doreen Fernandez – all great teachers, great colleagues, great friends.

To our students, thank you and may you continue in your journey with us in critical thinking, perseverance, and service to others. We promise to be there for you, and to guide you the best we can. Our never-ending thanks go to our families and friends—my father William, my husband Smith, my brother Garrick, my sister Portia, my son Scott—whose sacrifices have made it possible for us to stay in a profession we love. And to Almighty God, to You, as always, be the glory.

In return, all of us promise that we will continue to nurture every student we are privileged to have been given, to guide them to discover and uncover their potential, to shape them as citizens our nation will be proud of. We recognize that to us, much has been given, and from us, much more is expected. Is it fruitless to be “just a teacher”? Not according to the one whom I hold dearest in the world—my five-year-old boy, who would introduce me to friends as, “My mommy is a teacher! I am so proud of Mommy!” We are all proud—so proud and honored—to be teachers.

Earlier I confessed that I had never dreamed of becoming a teacher. But that might not be totally true. My mother Dr. Anita Ngo graduated at the top of her class in UP medical school, and to the consternation of her batchmates, after volunteer work in PGH, she decided not to pursue a career and instead devote her efforts to her family. What a waste of talent, they said. Sounds familiar? But what everyone did not realize was that she was my first—and my best—teacher, and subconsciously, her example, her brilliance, her dedication throughout the formative decades of my life must have molded me in ways I was not aware of. Without my mother, I would not be in front of you now. Mom, I miss you a lot, but tonight, I know you are here. I dedicate my award to you.

Thank you. Good evening.

Lecturing on lecturing

September 17, 2003 - Categories: -Uncategorized

We recently did student evaluations. I must be the only teacher in my department whose students want more lectures... ;) In any case, I touched on that humorously in a short lecture on, well, lecturing.

You can find the slides at ( 1.1) or . The OO.o version has annoying animations, but is otherwise the same as the PDF version.

Nodding and smiling from class. I guess that means they got the point...

More warm and fuzzy feelings

September 19, 2003 - Categories: -Uncategorized

(education, cs21a, good karma)

hi ate sacha! thank you for always being available for consultation. when i came home last wednesday, i did applets on bubble sort and selection sort...feel free to check it out in my portfolios if you like =)

Automatic UPDATE on INSERT

September 19, 2003 - Categories: -Uncategorized

MySQL 4.1 (in alpha) now supports automatic UPDATE if INSERTing on existing row

Whee! That will make coding _way_ simpler.

Encouragement =)

September 19, 2003 - Categories: -Uncategorized

(good karma)

Date: Wed Sep 17 14:24:33 2003 +0800

Dear Sacha,

First of all, thank you for your presentation at PSITE's first national IT Student Congress. As a member and officer of the PSITE national Board, I believe we were privileged to have you.

Second: I think that perhaps when you and I were born, someone had wished for us the traditional "May you live in interesting times." My life has been very interesting so far, fascinating even. Presentations like yours add to that fascination. To quote you —- "So far, I've explored it as a possible direction for student projects, with some project suggestions along the lines of accessible technology and Filipino speech synthesis. Personally, however, I don't feel that I've learned enough about it to give researchers and policy-makers a useful idea of wearable computing." Many teachers serve as inspirations or advisers to their students. Many teachers are on the lookout for and are very interested in new project ideas. They are no less interested in project suggestions as students are. Industry, on the other hand, has always been interested in opportunities for involvement with students, for opportunities to have students accustomed or acclimatized to industry's products and practices. If your presentation could provide the representatives of academe and industry with ideas for collaboration to support student learning, I believe your presentation would already be well worth attending. As for the policy-makers, if your presentation could highlight the benefits of allowing students to delve into projects which may seem, at first glance, impractical or even outrightly fantastic, and still allow them the possibility of a passing grade at the end, your presentation would already have served a worthwhile purpose.

This is the era when we should all be extremely excited about being different, about being new, about being unique. We should not be afraid to break out of the confines of tradition. We should certainly not be punished for our willingness to take on the risks of adventure and exploration. I think that your presentation will provide our audience with an initial dose of "risk-taking vitamins" —- a supplement that is much required in this day and age.

We will be very pleased to have you among our presentors.

Thank you.


Peach Tinio Director-in-Charge, IT Education Committee Philippine Computer Society

CS21A today

September 19, 2003 - Categories: teaching

(education, cs21a)

We had a particularly fun CS21A session today. I wanted them to learn how to grow an array and how to guarantee uniqueness. Instead of giving them a well-prepared step-by-step lab, I wanted to help them practice understanding oral instructions and gathering requirements. The exercise was this:

I'm a teacher. I want a program that helps me keep track of attendance. I also want to be able to pick random students for recitation. I'll add the nicknames of the students as they enter. During the class, I'll ask the computer for random names to call. At the end of the class, I want a sorted list of nicknames so that I can enter the names into my record. Deletion was optional.

I had them go through the problem-solving process

Some guide questions were:

- What is the problem?

- What do I already know how to do?

- What do I need to learn in order to solve the problem?

- How do I go about learning what I need to learn?

- How do I solve the problem?

- How do I check if the problem is solved?

It was very fun to see them break into lively discussion, although I'm still a little worried about some students who don't really join the others during the discussion. I should find a way to draw them into it.

The exercise was a good way to introduce the problem of resizing arrays and it will help them better appreciate Vectors. We'll discuss those on Monday, but I've assigned the slides and the book as reading.


September 19, 2003 - Categories: emacs

C-u M-x align-regexp RET \(\s-*\)| RET RET RET y RET will align planner tables beautifully.

Tracking people’s history

September 19, 2003 - Categories: linux


4.10.9 Hand-made user auditing

If you are paranoid you might want to add a system-wide /etc/profile that sets the environment in a way such that they cannot remove audit capabilities from the shell (commands are dumped to $HISTFILE. The /etc/profile could be set as follows:

       readonly HISTFILE
       readonly HISTSIZE
       readonly HISTFILESIZE

Zippy USB Mini-Keyboard

September 20, 2003 - Categories: -Uncategorized

From debian-laptop: It's small, has a two-port USB hub, and a bunch of multimedia keys.

CSS Zen Garden

September 20, 2003 - Categories: -Uncategorized

Nice demonstration - using CSS to radically alter the look of the site while maintaining the same content.

The Second Coming

September 20, 2003 - Categories: -Uncategorized

[William Butler Yeats (1920, 1921)]

Turning and turning in the widening gyre
The falcon cannot hear the falconer;
Things fall apart; the centre cannot hold;
Mere anarchy is loosed upon the world,
The blood-dimmed tide is loosed, and everywhere
The ceremony of innocence is drowned;
The best lack all conviction, while the worst
Are full of passionate intensity.


Surely some revelation is at hand;
Surely the Second Coming is at hand.
The Second Coming! Hardly are those words out
When a vast image out of Spiritus Mundi
Troubles my sight: somewhere in sands of the desert
A shape with lion body and the head of a man,
A gaze blank and pitiless as the sun,
Is moving its slow thighs, while all about it
Reel shadows of the indignant desert birds.
The darkness drops again; but now I know
That twenty centuries of stony sleep
Were vexed to nightmare by a rocking cradle,
And what rough beast, its hour come round at last,
Slouches towards Bethlehem to be born?

SOLEDAD by Angela Manalang Gloria

It was a sacrilege, the neighbors cried,
The way she shattered every mullioned pane
To let a firebrand in. They tried in vain
To understand how one so carved from pride
And glassed in dream could have so flung aside
Her graven days, or why she dared profane
The bread and wine of life for some insane
Moment with him. The scandal never died.


But no one guessed that loveliness would claim
Her soul's cathedral burned by his desires
Or that he left her aureoled in flame…
And seeing nothing but her blackened spires,
The town condemned this girl who loved too well
and found her heaven in the depths of hell.

e. e. cummings - pity this busy monster,manunkind (XIV)

pity this busy monster,manunkind,


not. Progress is a comfortable disease:
your victum(death and life safely beyond)


plays with the bigness of his littleness
-electrons deify one razorblade
into a mountainrange;lenses extend


unwish through curving wherewhen until unwish
returns on its unself.
A world of made
is not a world of born-pity poor flesh


and trees,poor stars and stones,but never this
fine specimen of hypermagical


ultraomnipotence. We doctors know


a hopeless case if-listen:there's a hell
of a good universe next door;let's go


Do not go gentle into that good night,
        Old age should burn and rave at close of day;
        Rage, rage against the dying of the light.


        Though wise men at their end know dark is right,
        Because their words had forked no lightning they
        Do not go gentle into that good night.


        Good men, the last wave by, crying how bright
        Their frail deeds might have danced in a green bay,
        Rage, rage against the dying of the light.


        Wild men who caught and sang the sun in flight,
        And learn, too late, they grieved it on its way,
        Do not go gentle into that good night.


        Grave men, near death, who see with blinding sight
        Blind eyes could blaze like meteors and be gay,
        Rage, rage against the dying of the light.


        And you, my father, there on the sad height,
        Curse, bless me now with your fierce tears, I pray.
        Do not go gentle into that good night.
        Rage, rage against the dying of the light.


September 22, 2003 - Categories: -Uncategorized

I was rather unbrilliant in class today. I had hoped to be able to work with a list of questions... I resolve to do better on Wednesday. Vectors, right? Mmkay. Must find nice animations and creative exercises.

Vector exercises

September 22, 2003 - Categories: -Uncategorized

Text Twist exercise

September 23, 2003 - Categories: -Uncategorized

- Demonstrates IO, Exceptions, Vectors

- Given: the WordTester class - explanation of algorithm to follow, can be treated as black box for now, and an Applet which does KeyListener and whatnot - Description of algorithm in English

  • a brief look at how we solve things like this: human way versus computer way
  • reading through a file - File reading part of the exercise
  • description of file-reading
  • description of exceptions - Vector part of the exercise
  • They need to define a class that returns a vector of the words

Education sites

September 23, 2003 - Categories: -Uncategorized

Open source in education

September 23, 2003 - Categories: -Uncategorized

Sharing the Code -

More colleges and universities see open-source software as an alternative to commercial products.

Projects listed:

- Comprehensive collaborative framework, TBA - dSpace: digital archive - ePortfolio, TBA - Globus: grid - Shibboleth: inter-university data sharing - campus-wide portal

The call for open resources in education

September 23, 2003 - Categories: -Uncategorized

Proceedings of the Fourth National Technology Leadership Summit: Open Resources in Education
(Edited by Glenn Bull and Joe Garofalo, University of Virginia, USA)


September 23, 2003 - Categories: -Uncategorized

Obstacle course?

September 23, 2003 - Categories: -Uncategorized has an interesting idea. Not filled out yet, but maybe...

Notes in [[Writings.ComputerScienceEducation]]

September 23, 2003 - Categories: -Uncategorized

Partial list of topics:

- What is a good first programming language? - Computer science education in small colleges - Mentoring women and ethnic minorities in computer science - Supporting undergraduate research projects - Detecting plagiarism - Teaching writing skills to computer science undergraduates - Constructivist learning in computer science - International perspectives on computer science education - Interdisciplinary curriculum for computer science majors - Enriching computer science education with internships and co-ops - Distance learning in computer science - The use of Open Source Software and Linux in schools - Practical research efforts that enhance classroom learning - The role of mathematics and critical thinking skills in computer science

Articles should include a basic description of the kinds of problems being worked on, the state of the art of research, the state of the art of commercial applications, open problems, or future research/commercial development trends. Interviews with researchers; reviews of related books, software, videos, or conferences; and opinion columns on related issues are also welcome.

Feature articles should be between 1500 and 6000 words. Reviews should be between 800 and 2000 words. Opinion columns should be between 800 and 3000 words.

Guidelines at

All hail John Wiegley

September 23, 2003 - Categories: -Uncategorized

He also did eshell.el . Wow.

Open WinCE?

September 23, 2003 - Categories: -Uncategorized

On the introductory sequence

September 23, 2003 - Categories: teaching

Andrei reminded me about the long e-mail messages I used to send to the mailing list. I'd been keeping some reflections on my wiki (, but yes, I do miss posting to the list and reading through the insightful replies. (Hint, hint. Please reply. I have much to learn from you!)

Today's reflection is on the introductory sequence. Now, I know I write long e-mail (this is actually medium-ish, so don't worry about it) but I would rather have replies than (+1 Insightful) moderations. ;)


While Abbey and I kept Bong (stifled snicker; must still get used to calling my former teachers by their first names) company last Monday, we talked about school stuff. In particular, I brought up my interest in the introductory sequence - CS21A/CS21B in our school and CS1/CS2 in computer science education literature.


- I like the introductory sequence. - I think it's worth working on, so I want to do research and develop material. - But people advise me to plan to grow out of it.

Why I like the introductory sequence

I like the introductory sequence. I would probably not mind teaching it, well, forever. I love showing how computer science concepts can be applied to real life. I delight in finding or making up creative exercises and ways of explaining things. I suspect I'm more suited to the introductory course than, say, to senior-level or highly technical courses. I make an effort to be warm and approachable, and I want to get students excited about the course. (Of course, it's awfully hard to do so at 7:30 in the morning. Note to world: I am not a morning person!)

(That said, I have my unbrilliant days. Eep. Last Monday occasioned an emergency hot chocolate.)

Why I think it's worth working on

CS21A: It's not about Java

Small talk during the Teacher Formation Institute (TFI) usually centers around what department you're with and what subjects you teach. Whenever people learned I was teaching CS21A, they'd nod and go, "That's the Java course, right?"

On the other hand, I have come to believe that one of the most important things we can help students develop in an introductory course is the right attitude. Students need to feel that they can learn how to do this and that it can be interesting. We also need to help them develop the skills they need for independent learning. I want students to realize that CS21A isn't just about Java - it's about learning how to solve problems and learning how to learn. (Or something like that. Need some help here.)

Goal: Reach people on the attitude level, not just the knowledge level. (Make sure they pick up the requisite skills along the way.)

Reusable learning objects

I shared a few of my exercises and ideas with teachers not only here but in other schools as well. I've had some feedback (linked list game was fun, 5x5 was cool).

I've come across some learning object repositories on the Internet (see one of my recent wiki posts), and they're really cool. I'll browse through the site soon and pick out particularly useful resources you might be interested in.

I doubt I'm the first person who wanted to collect all of these little CS lab exercises, presentations and animations in one place. There's probably a treasure trove of interesting exercises and reflections just waiting to be discovered. I remember seeing a site for algorithm animations before. What about the other concepts? What about the skills that _aren't_ taught in books or tutorials?

Goal: Organize CS1 resources so that other people can exchange ideas, exercises, and even notes on how to teach (or at least what mistakes to avoid)

Active learning
<insert TFI thing on student-centered learning>

It makes sense. Some students need a bit more scaffolding, though. I want to find little improvements that can help students help themselves.

Goal: Engage students in learning. Help them develop independent learning skills.

Pragmatic considerations (or why I should grow out of it)

New faculty teach CS21A

Bong raised an important point. New faculty are expected to teach the CS1/2 sequence because that's what they're most familiar with and probably most qualified to teach. That's what teaching assistants in other universities do - they handle the recitation sessions for the introductory courses.

There are only two blocks of ~17 students each in this year's CS freshmen batch. If I stayed in CS21A/B forever, what would new faculty teach? They'd be forced to deal with a higher-level course right away.


I know this is logistically impractical. What would I do - teach just one class? Maybe if I worked part-time - maybe at two schools - but then there's commuting, preparing not only for two classes but possibly even for two ways of teaching, and dealing with all the paperwork...

(Maybe I should just find someone really rich. Yeah, right. ;) )

Developing other talents

Bong also said that I should look into developing my other talents. I'm also into algorithms, although Doc Mana, Marco, and Jon seem to have dibs on that. Again, I like showing real-world applications for the things we learn in class. I had a lot of fun showing some of the 4th year students that the merge sort algorithm they had taken up in CS110 could actually be used to quickly sort large piles - regcards, paper, whatever. Then of course there's Linux or maybe even that wearable computing thing (for which I seem to have reluctantly become a resource person). Logically speaking, I should explore my potential, develop other talents, and try to do what most people find difficult or intimidating instead of the "easy stuff."

I intend to maintain interest in a somewhat more complicated area because that keeps me excited about computer science and it allows me to show new students something cool. That said, I really, really like intro.


On the seriousness of research

It's easy to tell me that it's impractical for me to think about focusing on CS1 and CS2 for research. =) After all, it doesn't seem to be a serious-sounding area of research. We're teachers! We do that everyday!

I just have a nagging feeling that we're not asking questions we probably should be asking. When we do ask them, we don't write the answers down. <laugh>

So. Yes, I know, I should probably go into some funky cool high-tech field of computer science instead (grid computing? ;) ), but...

Preparing the way

After some thinking about it, I realized that just because new teachers teach the introductory courses doesn't mean that I have to leave the courses behind. Every batch there might be new teachers who need to do CS21A, and I want to make sure that they not only have a rich archive of material to draw on - lectures, exercises, animations, whatnot - but also notes that will help them survive their first year of teaching (that is, if I manage to do so myself). Not all of this will come from me. In fact, I hope that most of it will come from you and the other teachers I know - you know so much more!

Baby step forward

We're already a large part of the way there, mostly thanks to the old slides from Dr. Sarmenta, Dr. Vergara, and the other teachers. We have ideas for projects. We have a way to engage the advanced students - we've already got the contests going, and this batch looks quite promising. Baby step forward...

Sharing the wealth

I don't want to just work on CS21A in Ateneo. There are lots of CS or IT schools in the country. I want to share resources with the others. I'm doing it really, really, really informally now - chatting with my friends in other schools doesn't count as formal collaboration! <laugh> I don't know enough about teaching to tell people that This Is The Right Way To Do Things - in fact, I highly doubt there _is_ one right way to do things - but I want to help people exchange notes and ideas. Not a top-down approach, but a bottom-up one open to anyone who wants to join.

Where I am right now
  • I keep a journal on my wiki. I reflect a lot even on things that might seem like common sense to the senior faculty (and probably most of the junior faculty too).
  • I encourage people to blog their reflections on computer science education. (So far, no one here has really taken to the idea. :( Still, I like reading other people's education blogs.)
  • I try to think of exercises. I write them down and share them on the Net.
  • I write down what other people have learned.
  • I've made a few short Flash animations for some CS21A concepts.
  • The class website and mailing list is open to everyone, and I get occasional comments from outsiders.
  • I occasionally swap notes with people from other schools. The general consensus is that we're doing quite well and the experiments are good.

Short-term plan (but longer than surviving this year ;) )

I want to

  • find out what you think
  • meet people with other teaching styles
  • learn how to do research
  • be able to credibly present questions and findings to the scientific community

A PhD seems like the logical next step. That, and talking to people, of course.

I decided to spend one to two years teaching first. That will give me a feel of the problems and help me identify some questions I want to explore. Next step - identify the universities I want to earn a doctorate from. In particular, look for universities with teachers who are legendary for cool teaching or computer science education research. (Very few. Quite strange.)

Long-term plan

I would like to teach for, like, forever. <grin> It's fun, despite the occasional unbrilliant days/weeks/whatever. (And yes, I'm young and idealistic, so you can take that statement with a grain of salt if you wish. We'll see what happens in a few decades. =) )

I see myself eventually

  • trading notes with many CS1/CS2 teachers all over the world
  • maintaining or contributing to a repository of learning objects for computer science
  • teaching a few intro or general CS courses at a university
  • mentoring other teachers - it's a great way to say thank you to people who had helped along the way (but of course it's not the only way. Reply with an insightful comment and get a cookie/chocolate bar/whatever! ;) )
  • watching at least one person get at least one Aha! moment everyday, if I can help it ;)

Questions and things to think about

  • Have you reflected on teaching lately? What insights can you share with people who are still on the way to where you are now?
  • Do you know people in other schools/companies who are passionately into helping people learn? Please introduce me to them! I want to learn from them. =)

I haven't really polished this - it's around 10:30 pm - but I'd like your comments anyway.

info links from Emacs

September 24, 2003 - Categories: emacs
;; The following functions to insert info-links into a buffer were originaly
;; posted on gnu.emacs.gnus by Reiner Steib, August 2003.
;; Message-ID: 

(defvar jk/info-goto-node-string "info" ; "Info-goto-node"
  ;; Stefan Monnier suggested to use `info' instead of `Info-goto-node', but
  ;; this doesn't work for XEmacs.  OTOH, Reiner says he submitted a patch for
  ;; XEmacs, so "info" should be okay.
  "Command string to insert with `jk/insert-current-info-node'")

(defun jk/current-info-node (&optional arg)
  "Insert reference to current Info node in buffer.

If ARG is...
- nil:	Insert `\(info \"\(file\)node\"\)'.
- 4 (\\[universal-argument]):	Add a note about `C-x C-e', too.
- 16 (2 \\[universal-argument]'s):	Insert `'
- the symbol `string':	Only return the string, don't insert.

In emacs-lisp-mode a custom link is inserted."
  (interactive "p")
  (let ((what
	  ((eq major-mode 'emacs-lisp-mode)
	  ((numberp arg)
	    ((= arg 4) 'gnus-url)
	    ((= arg (* 4 4)) 'info-press)
	    (t 'info)))
	  ((eq arg 'string)
	  (t 'info)))
	(buffer (buffer-name))
	(ret ""))
    ;; The next lines are borrowed from Karl Pflaesterer's code in
    ;; .
    (set-buffer "*info*")
    (let* ((node Info-current-node)
	   (nodeurl (jk/replace-in-string node " " "+"))
	   (file Info-current-file)
	   (fileurl (file-name-nondirectory file))
	   (fileurl (jk/replace-in-string fileurl "\\.gz$" ""))
	   (fileurl (jk/replace-in-string fileurl "\\.info$" "")))
      (set-buffer buffer)
      (setq ret
	     ((eq what 'lisp)
	      (insert ":link '(custom-manual \"(" fileurl ")" node "\")")
	     ((eq what 'gnus-url)
	      (concat ""))
	     (t ;; (or (eq what 'info) (eq what 'info-press))
	      (concat "(" jk/info-goto-node-string
		      " \"(" fileurl ")" node "\")"
		      (if (eq what 'info-press)
			  "; <== Press C-x C-e here!"
      (if (or (eq what 'string) (eq what 'lisp))
	(insert ret)))))

(defun jk/boxquote-info ()
  "Boxquote current yank-buffer and put current info node in title"
  (boxquote-title (jk/current-info-node 'string)))

CS21A today and Monday

September 24, 2003 - Categories: teaching
(education) The files mentioned can be found at . Looks like my thinking out loud does have its uses, so I'll resume posting my reflections both on the CS mailing list and on my wiki. =) At the very least, it may give someone something to laugh about.


What went well

  • Preparing Flash modules for self-paced learning.
  • The Text Twist exercise.
  • Being observed and swapping ideas. Feedback is useful.

What needs work

  • I have unbrilliant days. Lack of preparation, unconducive class mood, whatever - I need to learn how to deal with unbrilliant class days effectively.
  • Fewer answers, more questions. Should help students develop independent learning things. Am trying to focus on preparing Flash stuff for things that aren't in the book or are hard to explain, but I should help people get used to learning from experimentation, API docs, and cool Java sites...

On unbrilliant days

Last Monday, I had an unbrilliant day. It was one of those blank-faces day when all the examples one had thought about just fall flat. The words just felt thick in my mouth. I saw blank, sleepy, not-quite-getting it faces everywhere. Eep. After the class ended, I fled to my cubicle and hid under my desk. (Hehe.) Having decided this was not a particularly productive way to deal with the stress, I went to Starbucks for some emergency hot chocolate. (Note: It helps to know what helps you cheer up.) I met one of my friends there, and he reassured me that although people occasionally have unbrilliant days, I could try to make up for it on Wednesday. He let me sulk a little more over my hot chocolate, though. That was actually kinda fun. Recharged, I went back to the department and started (somewhat guiltily) preparing for the next class. We had gone over growing arrays in class, but not everyone understood how and why it worked. I spent the afternoon learning Macromedia Flash and making a presentation that demonstrated the steps. (It was my very first real Flash movie! Achievement!)

On different ways to learn

A few of my students dropped by that afternoon for some consultation. One needed help with bubble sorting (an algorithm I have come to terms with - it may suck, but it's much easier to teach). I lent her a few coins and asked her to sort them by date. Without further input from me, she figured out that she was missing the outer loop. I like asking students to walk through an algorithm using whatever physical objects are handy. I need to have things that are more sortable, though, and I need to keep ideas for other topics. (Creative ways to explain ...) Some students needed help with growing the array and with sorting Strings. We dealt with sorting strings first - clarified the behavior of compareTo. I pointed out to the students that they needed to compare against 0, not against 1, and they figured everything out from there. They were able to sort ascending and descending, too. Yay! It was a quick bugfix, but maybe I should've helped them develop the habit of checking against API documentation instead of relying on someone else to point out the error. Next time, I'll provide fewer answers (or maybe none at all!). I had just finished my Flash presentation on growing arrays, so I uploaded it to the course mailing list and pointed them to it. They went through the tutorial more passively than I'd planned (note to self: find ways to make modules more engaging!), but they absorbed the main points. I think it helped that they controlled the pace. They were helping each other learn. I was around to observe them and suggest exercises. I think it worked well even though the Flash presentation was basic. Although they ended up rapidly clicking through the slides instead of doing the suggested exercises (which was not a bad thing given the environment, I suppose - they can do that when they're home), the graphics helped them understand what was happening behind the scene. I felt more comfortable with the quantity of text on my "slides" because students could go through the Flash show at their own pace and they didn't have to divide their attention between me and the slides.

On consultation

I'm glad that my students drop by for consultation. Well, hmm. Actually, that's kind of strange. If I were a Really Good Teacher, they might not have to drop by for consultation because they'd understand class lessons right away. Then again, people learn at different rates, and I don't think it's realistic to expect people who have never programmed before to be able to grasp all the concepts right away. I feel it's a very good thing that students feel comfortable enough to drop by and ask questions, and I actually look forward to these consultations. (That said, there are a few I haven't seen in the department yet!)

Flash module preparation

I spent Tuesday preparing more Flash modules for my CS21A class. I'm still treating it like a Microsoft Powerpoint substitute, and I'd like to learn how to use it more effectively. (For example, that drag-and-drop thing looks _really_ tempting for arrays.) I prepared modules on file reading, args[], and exceptions. They're on the course site at if anyone wants to look. I've probably missed most of the guidelines for computer aided instruction (), but the source is available so that anyone who wants to modify it can (and is indeed strongly encouraged to do so).

Today's class: fun!

I was very pleased with class today. I had several points I wanted to make:
  • The human way of solving things may be different from the computer way of solving things. We need to learn how to take advantage of the computer's strengths - lots of memory, fast processing - while dealing with its weaknesses (not very creative).
  • Files are useful. =) Reading data from a file saves you from having to type it in again and again and again and again.
What made this fun was the choice of the example: Text Twist. <grin> A familiar game, and something I personally like. Their task was to print a list of all the words with 3 or more letters that could be found in the jumbled letters given. They also needed to sort this list by length to match the Text Twist game and to make it easier to find the longest word.

Human way

Pick random letters and see if that's a word. I know I tend to hit Twist a lot in order to get that all-important longest word... ;) But how many possible arrangements of letters are there in a 7-letter game with no repeated letters? (All together now, or our discrete math teachers will be very unhappy) 7! possible 7-letter words! Only 5040 possible permutations, but still, you'll have to either
  • teach students how to do permutations
  • swap letters randomly and pray ;)

Computer way

Go through every word in the dictionary. Check if it's contained in the puzzle string. Print out the ones that are.


I provided, a utility class with a method to check if one word is contained within another. Because it uses code they can understand, I provided the source code as well. This way, we could focus on files and vectors instead of the algorithm for checking if one word is contained within another. NOTE: That might be a good lead-up lab exercise for arrays as there are several ways to solve the problem and the problem requires some thought.


The students were glad to work on a familiar problem, and they seemed more comfortable because they had step-by-step instructions they could work through at their own pace. They worked on a program that looked somewhat useful (heck, I'd have written that just for myself). I hid the thorny part of the code in WordTester, so the resulting dictionary search program was very clean (19 lines in the non-length-sorted version). Flash is a little limiting because of screen size and amount of code I can fit in. I think I should prepare supporting webpages and then use the Flash slides to give an overview and to highlight important parts of the code. I'm glad I kept checking on their progress, though, as some were having problems with JCreator output path settings or typos. A few missed the "throws IOException" part. I need to make that a little bolder in the text. NOTE: Students might be able to benefit from an asynchronous way of asking for help. Some students are too shy to call my attention when I'm halfway across the room. Teaching assistants can be very helpful. Actually, this could be a good thing - they're _trying_ to figure it out on their own. Maybe one way to deal with this is to have them signify that they're having a problem as soon as they encounter it - a red flag on their desk? ;) - but have them continue working on it until a teacher or TA can get to them. When the teacher/TA gets to them, the student can then explain what the problem is and what the student has done to try to solve it so far. I am pleased to note that the shy students have been able to keep up with the lesson. I've been getting rather excited out-of-class e-mail about how far they've gotten. =) I suspect that they like the combination of clear goal + control over pacing + extra information when they want + monitoring.

On observation and feedback

A friend of mine has made time to regularly observe my classes and I appreciate that greatly. He gives me feedback afterward, too. =) I find that knowing I'll be observed puts a little more pressure on me, but it's pressure I welcome. I'm excited by the opportunity to try out something new and reassured by the idea that even if I mess up, at least someone can help me analyze my mistakes. I should take a video camera to class one of these days. Posting my reflections on the mailing list also forces me to process and analyze more. What went well? What do I need to work on? I find that I also tend to 'observe' myself more. I use "um" and generic language more often than I should, and I will strive to be more precise. That said, today's class delivery went well. They picked up on my enthusiasm - or I picked up on theirs - and everyone was working. Teaching assistants could probably also fulfill this role if we empower them a little more. I remember distinctly thinking that my role as a teaching assistant was mainly to check papers. I delivered the occasional lecture when the instructor was unavoidably absent, but that was about it. I wonder if we might not be able to involve our teaching assistants in the process of instructional development, asking them for exercise ideas and feedback on how we teach. They might not know a lot about teaching, but they may be able to tell us something from the student's point of view, and they may have creative ideas that hadn't occurred to us. Besides, they're probably more in touch with pop culture than we are. Or, well, at least, than I am. <laugh> I am horrendously out of touch. I haven't consciously made an effort to keep track of the latest fads. I don't even watch TV. <grin> I might want to keep a closer eye on the popular games - Text Twist was fun, and there are a number of things I can draw on for exercise ideas.

Ethics talk with the philosophy department

September 24, 2003 - Categories: -Uncategorized
Introductions - Sandra Lovenia, introduction to IT for comtech, introduction to MIS. - Ariel Maguyon, seniors and juniors, computer architecture, MIS administration - Em-em, part-time, MIS office. Teaches MIS101. - Andrei, currently teaching computer architecture and will teach operating system - Manny Dy, foundations of moral value, chinese philosophy, ph of the human person, business ethics - ... Valdez, philo of religion - John Bulaong, ph101. next sem, teaching logic. 6th year of teaching - Roy Tolentino, philo of the human person - Roie Lozada, philo of the human person, technology's a personal interest - Rainier Ibana, interested in communications - Stephanie Sy, intro course - Albert Medalla, web page design - Christine Amarra, intro course and computer organization for CS juniors
Agenda - Description of handouts prepared by Bong Olpoc

We want to help students develop ethics. Present the way we currently teach it and then get insights

- intellectual property - software reliability - privacy - piracy - relationships, posing as someone else, questions of identity and truth

Short-term: talks

Long term: elective, maybe core?

first topic: IPR

Dr. Dy - excerpt from business ethics book

Flash MX on Linux

September 24, 2003 - Categories: -Uncategorized

Apparently, Flash MX is supposed to work under WINE. I should look into installing it, then. =) for more information.

Update 2003.09.25: The dcom file can be found at


September 24, 2003 - Categories: -Uncategorized

Chora is a CVS repository viewer that I learned about from #php. I _thought_ I'd blogged about it, but I grepped and it wasn't there. Luckily, I ls *.tar.gz'd my home directory and it was the only tar gz there! Yay!

HTML_Form and passwords

September 24, 2003 - Categories: -Uncategorized

Pfft. HTML_Form from is not so nice when it comes to passwords in forms.

Khaire – literary night for tomorrow

September 24, 2003 - Categories: -Uncategorized

From the announcement:

"Khaire: Magsaya!:A Literary Night," reading by accomplished poets, 6-8:30 p.m., Quad 1. Be alive and rejoice at the medley of rhyme and play, rhythm and prose, all on one night that celebrates the words born from the tips of our tongues and pens. Heart and souls are poured into generous servings of articulacy, but always never forgetting their aim to delight. This is Lit Night where utilitarian verbosity takes a backseat to tempered eloquence. Listen to the open mic poetry readings. Feel the power of drama. Savor the musical prowess of home-grown bands. Read the magnum opus of the greates Atenean writers. Share in the richness of the Ateneo's literary tradition. Performers and guests include Tanghalang Ateneo, Spongecola, element #5, Marj Evasco, Cirilo Bautista, Pete Lacaba, Becky Anonuevo, Neil Garcia, Ophelia Dimalanta and many more.

Oh, there goes my scheduling...

CS21a ideas for vectors

September 24, 2003 - Categories: -Uncategorized


I want students to be able to keep track of the elements of vectors. I also want them to become familiar with the common operations:

- size() - add(...) - get(...)

I want them to be able to predict what happens to a vector during a sequence of operations. This is important for tests and for tracing through code. I think I can make another Flash animation module with hints that show the vector's contents.

Then I want them to be able to complete the Text Twist exercise. I'll need to teach them how to define comparators and to use Collections.sort.

Plan for Friday:

brief status check on reading from files

Submit to me an algorithm in English on paper _before_ you code.

- reading through the dictionary and getting a Vector of all the words that are contained in the given letters - reading through the dictionary and getting a Vector of all the words that are contained in the given letters, sorting this by length - reading through the dictionary and picking a random 7-letter word, then scrambling the letters in that word - advanced: creating a simple graphical user interface: label, text field, "Enter" button, "New Game" button, "Twist" button. - advanced: make a Text Twist clone. ;)

Links from the past

September 24, 2003 - Categories: -Uncategorized

First noticed on 2003.02.12

- Redesigning an Introductory Java Course to Bridge the Gender Gap ( - Introduction to Programming Using Java (

Free shell accounts

September 25, 2003 - Categories: linux

No outbound connections (telnet/ssh/web), but JM says they're very usable.

Link from JM Ibanez.

(Update 2003.09.30: JM says they offer web access through Lynx and W3M, and they have Emacs and a BBS. Ooh, Emacs. Great!)

“Britain’s “Cyborg Scientist” Spreads Cyber-gospel”

September 25, 2003 - Categories: -Uncategorized
British cyber-evangelist Kevin Warwick is on a government-funded tour around Asia to promote robotics education at all grade levels. Warwick recently enthralled a gathering of 300 students in Singapore with his collection of robots and video clips of his ...

Article at

Asia! ARGH! Argh argh argh argh argh argh...

More news about opencourseware — education

September 25, 2003 - Categories: -Uncategorized

"MIT Everyware" Starting in September, people with the appropriate Internet connection will be able to access material from 500 MIT courses through the university's OpenCourseWare program, with an additional 1,500 courses to be posted online over the next three ...

More about Flash MX on Linux

September 25, 2003 - Categories: -Uncategorized

Mounting the CD onto the other computer and sharing it over the network.

du -h — linux

September 25, 2003 - Categories: -Uncategorized

watch du -h is amazingly useful. It lets you easily monitor a large filesystem copy.

September 25, 2003 - Categories: -Uncategorized has a lot of XML, HTML and CSS references, although the site is a bit slow.

Free online books

September 25, 2003 - Categories: -Uncategorized

(UPDATE: 2004.01.22: Dhruvaraj S. says it's now at

Oops, have to continue working on CS21A

September 25, 2003 - Categories: -Uncategorized

Put off CS215 while new ideas simmer on the back burner.

Radical simplification of design

September 25, 2003 - Categories: -Uncategorized

I just realized that the whole point of the system I'm making is peer review. Not another submission system, but peer review and how I'm going to use it in class. I am somewhat peeved with myself.

So, the components I need to focus on are:

- defining the review graph - requiring everyone to post a URL to their work - requiring everyone to submit a review of their buddies

Still having problems with MX

September 25, 2003 - Categories: -Uncategorized

Apparently, it's stalling on the Installshield Wizard. Do I have to subscribe to winex for this? Hmm...

More realizations

September 25, 2003 - Categories: -Uncategorized

To support peer review and self evaluation, actually, I need a general way to do surveys and evaluations using pre-defined rubrics.

gray clouds fight white clouds

September 25, 2003 - Categories: -Uncategorized

gray clouds fight white clouds
the sky as their battlefield —
mountains playing chess

khaire magsaya! — music, lit

September 25, 2003 - Categories: -Uncategorized

Can't help but blog this - it's just so cool.

A pair of people - one singing a jazzy version of "Can't Take My Eyes Off You" accompanied by another who did the drums with his voice. Another - a larger group - this time, including cymbals and disc scratching. Way fun. Apparently, this is called beat boxing. They can carry the beat while humming the rest of the tune and sneaking a lot of the words in too. Wow. No more drum sets. They even did fast forward, play and reverse. Hmm. Element No. 5. And one of them did a one man band too!

Also, nice poetry. I like the way they play with sounds.

Python Emacs

September 25, 2003 - Categories: emacs

I was going through my old wiki entries and I found a link to on 2003.03.21. Cool.

Kitten update

September 25, 2003 - Categories: -Uncategorized

Cross-reference: KittenWhoMustNotBeNamed#2

Wow, remember-to-planner-plan-page still works

September 25, 2003 - Categories: emacs

It does my funky cross-referencing too...

Computer Science Unplugged — education

September 25, 2003 - Categories: -Uncategorized

Originally blogged on 2003.04.01

In the thread "CS for 5th graders" on the ACM SIGCSE members mailing list, Beth Simon writes:

The unequivocal winner is "Computer Science Unplugged" A book available in print or electronically at:

The summary also points to math games and puzzles.

I should look that link up again in preparation for SMIT-Ed. I find that I may actually be helpful...

Mario Carreon leaving UP Diliman

September 25, 2003 - Categories: -Uncategorized

Mario Carreon is planning to transfer to UP Baguio to help his sister. I'll miss exchanging ideas with him over dinner. I'm sure he'll do well there. =)

Alphabet blocks — education, fixme

September 25, 2003 - Categories: teaching
Next time, I should buy those large alphabet blocks. I can use them for a lot of examples: arrays, vectors, shuffling, searching, sorting...


September 26, 2003 - Categories: -Uncategorized

Come to think of it, this is FOAF, only hidden and centralized.

Find unit testing tools

September 26, 2003 - Categories: -Uncategorized

This sem break, I should invest some time learning how to do unit testing with PHP (and maybe even Emacs LISP if I'm really lucky!)

Teaching thoughts

September 26, 2003 - Categories: -Uncategorized

It is strange to see our sins as teachers shown in our students who lecture... ;) Something more interactive and fun would have been great for the discussion of the life of Confucius. =)

Class day yesterday

September 27, 2003 - Categories: -Uncategorized

Incidentally, I had an excellent class day yesterday - group work. CS21AFirst03#Exercises.TwistedText for more details.


September 27, 2003 - Categories: -Uncategorized

Nov 5, 6, 7


September 27, 2003 - Categories: -Uncategorized

There are few things quite as annoying as realizing that you are reinventing the wheel halfway through the process.

Argh argh argh argh argh... 私は下手ですよ。

“Revenge of the Coders”

September 27, 2003 - Categories: -Uncategorized

There is a movement among programmers away from sluggish, feature-heavy IDEs and toward flexible code editors as enterprises focus intensely on productivity. The rationale behind this transition is developers' desire to not be locked ...

Okay, I think it’s time for me to rest.

September 27, 2003 - Categories: -Uncategorized

I'm typing slowly _and_ I'm thinking slowly, which is never a good combination. =) I do _not_ want to add bugs while polishing up.

ff and C/C++ programming — Emacs

September 27, 2003 - Categories: emacs

These functions look interesting for C and C++ programming: - ff-find-the-other-file - ff-find-related-file

Upcoming ACM regionals

September 29, 2003 - Categories: -Uncategorized

Elisp snippet for mailing feedback

September 29, 2003 - Categories: emacs
(defun sacha/mail-cs21a-feedback (id)
  (interactive "MID:")
    (insert "\n-------------------------------------------------------------------\n"
            "Other comments\n"
  (insert "-------------------------------------------------------------------\n"
          "Your code\n"
   (car (file-expand-wildcards (concat "~/1/" id "/*.java") t ))))


September 29, 2003 - Categories: -Uncategorized

I should integrate this into the site someday.

Powered by TagBoard Message Board

URL or Email



September 29, 2003 - Categories: -Uncategorized
Review of the minutes
Review of the textbooks

The group met last Friday. They have decided to look at both the elementary and the high school textbooks. They zeroed in on the three major publishers and people have been assigned to get copies of the book. ...., Diwa, Phoenix.

Are there numbers? Not centralized; publishers go directly to the principals, so Dept. Ed doesn't have numbers.

Preparation for research grant proposal.

No research questions yet. Basing it on concepts map used by group in US downscaled to adapt it to the Philippines. US group already prepared a concept map (ex: biology) and used it to evaluate the textbooks. Really just biology, not chemistry or physics. Elementary math, middle grade science, biology and algebra were reviewed by the US group. Comparison between concept map and textbook. Middle science methodology was different. AAAS Project 2061.

Framework is important. Task is large. Need to be explicit about the approach.

Some concern about authors and reviewers. We can choose the areas. We can begin with the grade school science. Suggestion: 3-7 grade school so that it's more focused.

Timeline question

What do the question marks on the timeline mean? (Explanation: uncertain personnel)

Action items

Evaluation of information technology

My notes

I wonder what I can do to help computer education at the grade school level.

I need to know how many schools teach computing and what they teach.

I suspect that most schools do not teach computing; the few that do teach software skills like Microsoft Office use. However, programming may help kids in their other subjects. Problem-solving

How would I go about learning more about computer education at the grade school level?

Note about grade school and high school. More grade school students. Conceptual capabilities. Abstract concepts.

Need for peer review and editing.

Difference between local textbooks and American texts. Local textbooks tend to be thin series. Are American texts thicker? Not that much - lab activities are incorporated into the texts and the paper is probably thicker. Local texts have a different manual.

Not including teacher's manual and lab manual. Focusing on text book because it requires too much work and public schools don't really use them. We're also not doing the workbooks.

Problem with conflict of interest.

Problem with identification in review. Coded.

Suggestion: Framework and then evaluators.

Suggestion: Use the framework of TIMSS. Content specifications, performance expectations - make a table. But TIMSS is not complete? Test at the end rank. TIMSS was not written for textbook. The AAS framework was specifically written for textbooks, and it will be easier to adapt.

Research for chemistry demonstration development. Originality? Evaluation of demonstration. If it's not original, it might be hard to publish. Scholarly grants want original.

Methodology for evaluating chemistry demonstrations.

Cha - thesis on misconceptions. Language, culture, preconceived notions. They use local language. They get confused with mass and weight, the definitions... She discovered - she was supposed to develop experiments to correct the misconceptions - for some things it is so difficult to find experiments to differentiate. Maybe these are the areas that you can look into. Value in the cognitive area there. Beam balance versus spring balance - there's no cancellation of forces. What they will see is that these are two different things.

Mental models postponed for personal reasons.

Perl script to suck courses files

September 30, 2003 - Categories: -Uncategorized

Back when I didn't have a Download as Archive in the courses system, I used this script to suck all the files.

use English;

open INDEX, "curl -b PHPSESSID=$SESSIONID '$ARGV[1]' |";

while (($s = ) && ($s !~ /select name="login"/)) { }

my @logins;
my @lnames;
my @fnames;
my $i = 0;

while ( =~ /option value="(\w+)"> (.+?), (.+?)) && ($s !~ /smaller/))

my $login; my $timestamp;
while ($s = )
    if ($s =~ /(\w+?);   # skip name
	;   # skip email
	;   # skip first part;
	if ( =~ /^\s*(.+?)\s*$/)
	    $timestamp = $1;
	;   # skip 
	;   # skip 
	;   # skip 
    elsif ($s =~ /nbsp/)
	# $s nbsp;
	;  # td valign = top
	;  # files
	while (($s = ) && ($s =~ /index\.php\?project_id=(\d+)\&login=(\w+)\&file=(.+?)\"/))
	    mkdir $1;
	    mkdir "$1/$2";
	    system "curl -b PHPSESSID=$SESSIONID '$1&login=$2&file=$3' -o $1/$2/$3";
    elsif ($s =~ /html/)
	close INDEX;

Hello world, school, teaching, games — blast from the past

September 30, 2003 - Categories: -Uncategorized

From my 2002.06.20 entry:

12:52 AM on a schoolday that starts at 10:30 AM is probably not the best time to write an S-Files, but what the heck. I haven't been writing. Stories have backed up, and the resulting chaos in my mind appears to have edged out important details like the names of people I'm supposed to know and the details of where I'm supposed to be.

Time to defrag.

I am all the more unusually loquacious because I have just finished writing a lab exercise for the introductory computer science course for which I am a teaching assistant. My pitiful effort at making "Hello, World!" fun and exciting can be found at , with no guarantee that it'll actually even be used in today's CS session. I'm banking on the fact that Dr. Sarmenta probably hasn't prepared materials as detailed as this, as I haven't seen anything like it from, well, any of my CS teachers. I'm _hoping_ that he'll let me deliver the class, which is a far-out possibility but still worth considering. I also hope I'll be awake enough to do so with wit and style.

I love the project submission system I wrote last semester. After editing the postgresql start script so that the postmaster would accept TCP connections, I simply had to set up the database and run a script that obligingly extracted and included all the students in the student data files that the department forwarded to me. All 222 students of CS21A in 9 sections have been set up. How nice.

Teaching. Hmm. I had dinner with Mario Carreon (an old friend from high school competitions) the other night. He teaches at UP and is considering moving to the industry because of the pay. We talked about teaching, mainly, and in the course of our conversation I found myself declaring that yes, this is it - I cannot imagine myself in any other profession except teaching. Especially college level introductory computer science. That's it.

Naturally teaching doesn't stand on its own - I must be teaching _something_, and teaching also offers ample time for research. Enter wearable computing. I'll be getting my gear on the 23rd, if all goes well. Expect lots of files going on and on about how cool it all is.

More past entries

September 30, 2003 - Categories: -Uncategorized

- 2002.06.20 - 2002.06.25 - 2003.02.02 - 2003.01.12 - 2003.01.13 - 2003.12.27

Code for inserting student code

September 30, 2003 - Categories: emacs
(defvar sacha/project-base-path nil "*The path to the project files, excluding the ending /")
(defun sacha/insert-student-files (id)
  (interactive "MID: ")
  (if (file-directory-p (concat sacha/project-base-path "/" id))
        (cd (concat sacha/project-base-path "/" id))
        (mapcar (lambda (item)
                  (print item)
                  (insert "--------------------------------------------------------------------\n")
                  (insert "Your code: " item "\n")
                  (insert "--------------------------------------------------------------------\n")
                  (let ((retval (cadr (insert-file-contents item))))
                    (goto-char (+ (point) retval))
                    (insert "\n")))
                (file-expand-wildcards "*")))
     (insert "***********************************************************\n"
             "You have not yet submitted any files.\n"

Composing messages in Gnus with elisp — emacs

September 30, 2003 - Categories: emacs
(require 'gnus-msg)
(defun dxr-group-mail (To Subject)
  "Start composing a mail."
  (gnus-setup-message 'message
  (message-mail To Subject)))

“How Do We Tell Truths That Might Hurt”?

September 30, 2003 - Categories: -Uncategorized