Computer bugs are not viruses… (end of SDS!)

After some hardcore programming last weekend (I stayed in the same room for over 12 hours on Sunday), we finally pulled off something that we were somewhat happy with. GWT is not the solution for a website, by the way; we agreed that if we were to do this again, we will do anything but GWT. 

Anyway, I’m too busy to write down everything that I’d like to document with regards to my experience coordinating a Student Directed Seminar. But I’d just like to take this chance and let my none-geek friends know: bugs are not viruses. When we say we spent 6 hours trying to catch a bug, it doesn’t mean we sat watched the antivirus software for 6 hours XD. Besides, generally us geeks are careful enough to avoid getting viruses, but most of us are doomed to live out our lives battling bugs after bugs.

So what exactly are bugs in programs? In the most general term that I can think of, bugs are what make programs fail, like typos and grammer errors are what make essays fail. Some bugs are as silly as a typo, which are generally easy to catch and can be avoided by more experience programmers, but some bugs are hidden in the complexity of the program. Yet some other bugs are just plain impossible to find (like how we can run the exact same program in one environment but not another, or some sort of concurrency issues). 

Viruses are kick-ass programs that probably don’t have bugs in them. Viruses are out to do harm to anyone’s computer, bugs only make users and developers develop hypertension. 

I hope that gives you a picture of what I did in the past few days. Basically, sat in front of my computer, sputing profanity at both the failure and success of what we do all day – bug squashing.


Too much, too fast: just a bullet list of going-ons in the past two days

Tuesday, 12:30pm: First Student Directed Seminar presentation

This is a milestone for every project in the course, all of which seem super awesome and will probably all attract lots of attention if we manage to complete them. But this is an extra special milestone for me: the course I devised (workshop topics, project structure, marking scheme, etc) managed to keep 15 diverse, experienced students entertained for a month, and the work everyone put into this project is awesome. 

Meeting Paul is  one of the biggest reward for me. He is extremely knowledgeable, experienced, and his talent is combined with uncommonly excellent patience, enthusiasm, and a genuine desire to help everyone around him learn. In short, Paul is quickly becoming one of my favorite programming buddies and overall a great inspiration. 

Tuesday 3pm: Talked to Google engineer about her campus outreach program

A  few programmers used their 20% time to work on a campus outreach program where they provide tutorials for students who are interested in learning about web technologies. Hey, sounds familiar? I got on skype and chatted about the Student Directed Seminar with Stephanie Liu, and how I think she can connect with the talent pool she’s interested in: recruit workshop leaders who are both motivated to learn new skills on their own and experienced with event planning, train them the web technologies, and have them organize small workshops for the other students.

Tuesday 4:30pm-8:30pm: Beyond the BSc

After months and months of planning (we started planning in October, had weekly committee meetings up to last week), it was finally our time to shine. And shine we did! This was actually the first event I co-chaired, but with tremendous help from my co-chairs Gaby and Liz, and expert help from Jen Scott of Career Services, our beloved Janet Sinclair, and of course the tireless planning committee who took care of everything from food planning to poster design to mentor invitation… 

The feedback I received from mentors and students were extremely encouraging; I changed my status to “I. Love. You. People.” later that night, after I changed out of my suits and generally collapsed in exhaustion. 

This short blurb does not nearly do justice to my experiences with this event. I wish I can find the time and motivation to say more soon.

Wednesday 1pm: Tech Career Fair

There were fewer companies this year, but this was the first time I actually prepared some resumes and dropped some off! I bombed: Microsoft, Informatica, and Safe Software. Microsoft because I knew the person manning the booth: Andrew Rothbart, who was the President of the CS Student Society when I first joined, Informatica because it was in San Fran and it has a flexible start and end time for summer internship, and Safe Software cuz they got killer domain name.

Wednesday 3pm: met a cool friend

Wednesday 3:30: Interview for International Peer Program – Student Manager

If I haven’t mentioned that the entire SCI Team loves Janet like children love their mom, well, we do. Due to the policy that SCI Team members must graduate after 2 years of service, Janet actively seeked out opportunities for me to stay involved on campus, and she recommended me to join the IPP as a Student Manager. 

The program has a great mission that I resonate with, the transition it’s undertaking fits my shoe very well, and Caroline, the program’s staff coordinator, was very considerate of students in my position and encouraged me to still apply even though there is a possibility that I will enter Med school next year and have to pull out of the program. So after some deliberation, I applied. 

The interview was a great opportunity for me to reflect on my skills and believes. I was interviewed for campus leadership opportunities in 1st year, 2nd year, 3rd year, and now in 4th year, I felt a lot more comfortable, but still I could catch myself sounding nervous. 

Wednesday 5:30pm: Peer Program Information Night

A salute of campus involvement and leadership opportunities, including the SCI Team, SPAC, and IPP, presented their programs tonight. This year, we’re actually doing a common application, and all of the information is consolidated here. I thought this is very clever, and it should make it a lot easier for students to apply.

The video they made did not get finished in time for this event, so I was pretty disappointed. I went with a fellow coach, Jonas, who was planning to go home when I stopped him and got him to come. (“But I’m not invited,” he said. “I’m not invited either! Let’s go!” was my answer). And at the last minute, we were given the task of presenting the SPAC program to the audience. And we pulled it off like no one else 🙂 

Internet Application Development Seminar: Registration Opens!


Wow, I’m really excited. The Student Directed Seminar that I have written about finally seems to take off!

The registration for this seminar on Internet Application Development has opened on the SSC for people to register. There are 22 spots left out of 30 as we speak. The website for this seminar is also updated and launched.

I’d like to thank Josh for giving me constant support and suggestions (time and dimension notwithstanding). I’d also like to thank all of the professors at CS and Student Development who supported me throughout the 6-month-and-going course development process.

The details on this couse can be found on the course website. This blog entry just serves as an update for those who may be interested.

Hooray! Now let’s fill those seats up!

Student Directed Seminar: the application

Two months after the initial post, which outlines what SDS is and what my general ideas are, and two months closer to the deadline of May 16th, it’s time to come back to this endeavor and get to the specifics.

So let’s print this application out and answer them questions yeah?

Coordinator Application Form

Course Details

Title of proposed course:

(really tentative) Real projects: from the making to the launching

Coordinator Details


I chose my English name when I was 5 )



Academic Year (as of September 200 8)



me by first name


me after 6pm (cuz then it’s free!)



Student Number:


Co-Coordinator(s) name(s):

(if applicable)

Still looking for the special one

Faculty Sponsor Details

Faculty Sponsor Name:

(please indicate whether they are secured or not)

Target: George!




Science/Computer science


him by first name too


if you don’t know the number you probably shouldn’t have the number


preferred by most comp sci ppl

Ok that wasn’t too bad… wait, there’s a 2nd page:

Open-Ended Questions


What qualities/skills do you possess that would make you a good SDS Coordinator?

Time management, project management, general charisma and


How did you acquire an interest in the subject area of your proposed SDS?

Interest in developing computer projects since first year brought about the ttb project, and through out its development I realized there are many things that were required but not taught, from website design, management, and scripting to launching a marketable product and user servicing


What do you expect to learn during your seminar, both in terms of subject content and the experience?

I hope to learn technical skills important for a project in workshops as well as ideas and philosophies from successful comp sci developers. Heck, I might send Steve Chen an invitation.

Experience-wise, I have no doubt that coordinating something that I have active passion about will strengthen my technical skill-set, enhance my communication skills, and open new grounds in project development


What do you expect the students taking your proposed SDS will learn from the experience?

How much everyone learns from this seminar would depend on how much he or she puts into it, in terms of time, interest, and energy. More specifically, for example, a student who actively seeks out presenters for the seminar would likely benefit from the process in ways that the remainder of the class would not


Have you had any experience as an activity/class coordinator? PLEASE BE SPECIFIC concerning dates, places, description of your role, etc.

UBC SCI Team, Comp Sci trimentoring representative, TTB founder


Do you foresee any challenges as a course coordinator/facilitator?

Cannot find suitable workshop facilitators for topics we’re interested in (eg. what if we can’t find a PHP guy?) or inspirational speakers (what if Steve is too busy?)


How do you foresee yourself overcoming these challenges as a course coordinator/facilitator?

We would plan ahead, start gathering names as early as this summer. We could also look for students who have experience in a particular topic. If Steve is too busy, we would try other people (who are perhaps more local).


Have you taken an SDS before? If yes, which course and when did you take it. What challenges, if any, did you encounter as a student in the course? What would you do as a coordinator to avoid these challenges?



Is there anything you would like the selection committee to consider when reviewing your application?

Enough about myself.

Course Proposal

  1. Course Content

· What is the focus of the course?

Technical: skills that are important or useful for a typical computer project that can be learned quickly (in a tutorial session or two). These might include: graphic design using Photoshop, database management with MySQL, scripting in PHP and HTML forms, security issues, website hosting, etc

Business: things to know in general when a project is ready for launch, or getting the inspiration to do it

· Who might be interested in the course?

Students who are interested in learning quickly applicable computer skills or the business side of computer projects

· What are the requirements of the course?

A great deal of interest and a good amount of time 🙂

· Will interested registrants need to submit prerequisites, certain grades, or an expression of interest?

Expression of interest and description of some relevant experiences (unless of course I know the registrants well enough. Then they just have to bring me chocolate. j/k!!!)

· Do you think a department will be willing to provide you a course number? If so, which department?

Totally man, department of comp sci ROCKS MY WORLD.

  1. Course Structure/Format

· How often will the course meet?

How about 1.5 hours a week? That makes about 15 sessions.

· What role will the coordinator take vs. other participants? Will everyone have a chance to lead or facilitate a class?

Coordinators would meet throughout the summer to plan out about 6 sessions of the course, so that the course would not stall at the start. Participants and coordinators would then discuss what topics to cover and who to contact – and everyone would have a similar role. Opportunities to facilitate a class depends on the participants’ experience and interest, so it’s not exclusive to the coordinators.

· How do you see the structure of the class? (e.g. lecture, seminar, discussion group, films, field trips, etc.)

The technical sessions would be done in workshops in which participants bring computers with relevant tools installed. Non-technical sessions would depend on the presenters, but we will try to keep a Q&A period.

· Will the class include guest lecturers? Discussions of readings? Debates? Case studies?

Guest lecturers and case studies sounds like good ideas, thanks 🙂

  1. Course Requirements and Evaluation

· What are the assignments?

How about the person who organized a technical session design the assignment for that session? The assignment can be a quick application of the skill learned (write a short script, etc)

· What form will the assignments take? (e.g. collaborative research projects, class presentations, essays). Keep in mind that SDS are 4th year classes and assignments should be at the 4th year level.

How’s this question different from the above? Fine, add “at the 4th year level” after my last sentence.

· How will the assignments be evaluated? (e.g. by faculty sponsor, peer evaluated, through an expert in the field)

Peer evaluation.

· What other criteria will students be marked on? (e.g. participation, facilitation of a class etc.)

Facilitation or organizing a session can be a bonus mark?

· How will you ensure your seminar is sufficiently academically rigorous?

By covering academically rigorous topics. (will consult faculty advisor)

Remember that the course is an exploration with other students and a democratic process. Be prepared for changes to this section during your initial class meetings. It is vital to get the course marking scheme and criteria for assessment finalized with the class before the UBC course withdrawal date.


  1. Rationale for why this course should be offered at UBC

· Why would you like to see this course offered at UBC?

Cuz it would satisfy students’ need to learn applicable computer skills, and apply them somewhere.

· Will there be a demand for this course?

I sure hope so.

  1. Qualifications of the coordinator(s)

· Please include: Year, program of study, related work/volunteer experience, academically related courses, why you are passionate about this subject and what you hope to learn from this experience.

I did that already.

(That took 2 hours ladies and gentlemen… please pardon my increasing brevity.)

UBC Student Directed Seminar: Beyond Programming Projects

UBC is somewhat proud but also very quiet about what I think is a wonderful program: Student Directed Seminars. In this program, students come up with a seminar proposal to be approved by UBC, and become course coordinators for the seminar they designed. And by that, I mean they actually design this thing from start to finish. Marking scheme, meeting time, course format, guest speakers, discussion content…

The requirement of a seminar proposal is that it must not be offered at UBC already, and innovation and interdisciplinarity are encouraged. And you may be surprised to find these credit-carrying seminars: “Graphic Novels” (aka Frank Miller), “Rise of Modern China”, “Chick Lit”, and I like this: “History of Taiwan”, among others.

300_4_17p.jpg 539w.jpg

I have wanted to coordinate a SDS for some time now. Topic? Entrepreneurial computer projects, or what can my awesome computer program do for me, you, and the world?

Since this is a seminar, which means I’m only allowed to act as a facilitator/organizer, not an instructor, I would need to look for someone who have the actual knowledge to share. Someone who has experience with project development (preferably independent), tech start-up, open-source projects, licensing, company registration, accounting, intellectual properties… guests who would help the students find their way to put their programs into the world.

And the students? Most preferably, people who already have their hands on some programming projects that they are comfortable to share with the group (under the protection of non-disclosure agreement, maybe), which can be used as the models or prototypes for applying the things we learn from the guests. Others who are interested in project development in general, and computer science applications in particular, should also be great contributors to this seminar.

As the proposal is due in May, I will have to start talking to sponsoring professors, advisors, etc. pretty soon. I am much open to discussions, suggestions, and questions, and I am also looking for a co-coordinator. (What’s the perk? You get to put SDS Facilitator on your transcript, yeah!)

More on this later, I hope.