Yes, just like that. After one month of continuous intensity, this wonderful experience called COSMOS ended today. Over the last two days, the students presented their final projects. Yesterday, each group gave a presentation on the various techniques they used in producing their videos. Each group utilized the three major skills they developed over this month: media programming, image editing, and video/audio editing. This is a great achievement, especially for those students who had absolutely no experience with computer programming prior to coming to COSMOS.
After the presentations, we saw the videos. They were great, and a lot of fun to watch. Many of the groups incorporated images and videos taken throughout the month, so we got to relive many special moments.
This morning the students had their projects on display for their parents, who attended today. This was followed by the closing ceremony, where the students received the well-deserved certificates of completion. I was delighted to see that three of our students won scholarships (in competition with all 150 COSMOS students): Alejandra Lopez received the prestigious COSMOS Director's Scholarship, and Tiffany Cchan and Albert Liu received COSMOS College Access Scholarships. These are prized awards: only one COSMOS Director's Scholarship is given, and only ten COSMOS College Access Scholarships are given. I heartily congratulate these students. I only wish all of our students could have won a scholarship, as they are all deserving.
Well, the above gives you most of the facts. What I can't express is the deep emotion that we all have as this program ends. While I feel very happy that our students did so well, I am extremely sad that I will not be seeing them in class this coming week. I hope they will keep in touch (hey everyone - look me up on facebook!), and that our friendships will continue beyond this day. For a good memory, check out the Cluster 1 slide show.
I wish to thank my team, those special people who helped me with COSMOS. My co-faculty, Christine Alvarado and Paul Kube, were terrific, as usual. We've done this for numerous years, and their dedication is inspiring. Our Teacher Fellow, Shirley Miranda, was "the best." She really made this program her own and worked so well with us to make it successful. In fact, if I had to pick an MVP, she gets the award. We had superb teaching assistants: Elizabeth Arrowsmith, Krista Davis, Tiffany Hopkins, Ming Kawaguchi, and Wenjing Rao. They cared so much for the students. Everyone worked many hours, way beyond the call of duty. Just read everyone's blogs, and you'll see why.
I want to also thank the people who make COSMOS happen and help us produce "our show": the Resident Assistants associated with Cluster 1 Lindsey Fogleman and Nick Gills who took good care of our students outside of class, COSMOS Program Manager Becky Hames who supported our every request, Monica Rodriquez who always answered the phone with a willingness to help, Justin Williams who took care of our financial and last-minute room requests, Resident Dean Pat Danylyshyn-Adams who allowed us to do our "Computer scientists are real people too" program during off hours, COSMOS Director Charles Tu who generously supported our cluster, and Dean of Engineering Frieder Seible for starting and keeping the COSMOS program going at UCSD.
I say this every year, and after COSMOS ends, I am reminded why. After 20 years at UCSD, COSMOS may just be the most meaningful thing I do here. The magic that happens both inside and outside the classroom is beyond words. If you are part of COSMOS, you know exactly what I'm talking about. It also reminds me of what a privilege it is to be a teacher.
I will end with one final plea to everyone in Cluster One: Remember the magic, and stay in touch!
Saturday, August 4, 2007
Tuesday, July 31, 2007
Distributed Systems and Common Knowledge
Today we discussed distributed systems. I explained what distributed computer systems are, what are their advantages and disadvantages (over centralized systems), and we analyzed the two fundamental problems of decentralized control: (1) state uncertainty, i.e., no node can know with complete certainty the states of the other nodes, and (2) action uncertainty, i.e., no node can know with complete certainty the actions of other nodes. We discussed the Byzantine Generals problem, and the problem of "common knowledge." The latter was especially fun, because I had various groups of students sit in chairs at the front and wear blue or pink headbands. Each student in the group had to figure out if they were wearing a blue headband. This can be done by pure deduction given three pieces of information: (1) a publicly given hint that at least one has a blue headband, (2) the ability to see the headbands of others, and (3) the responses (or non-responses) they give to my repeated question, "Are you wearing a blue headband?". If there are N students wearing blue headbands, then those N students will all be able to simultaneously answer "Yes" after the Nth time the question is asked. My hat goes off to Ziaozhe who came closest to figuring out how this is done.
This was the final session of the Beyond Media Computing thread. It is a little sad to see it end. I think we did a good job in showing some of the variety and depth of problems in computer science. I hope the students will remember what they learned in our thread.
PS: After class, we had a surprise birthday party for our GREAT Teacher Fellow, Shirley. I think she was genuinely surprised and happy. We all think she is the best!
This was the final session of the Beyond Media Computing thread. It is a little sad to see it end. I think we did a good job in showing some of the variety and depth of problems in computer science. I hope the students will remember what they learned in our thread.
PS: After class, we had a surprise birthday party for our GREAT Teacher Fellow, Shirley. I think she was genuinely surprised and happy. We all think she is the best!
Sunday, July 29, 2007
Combinatorics, Probability, and Gambling
I did not get a chance to blog on this past Wednesday's session in the Beyond Media Computing thread, so here it is. The session was on Combinatorics, a branch of mathematics that is central to computer science. Basically, combinatorics is about how to count things. In computer science, we often need to systematically enumerate something that varies (the states of a data structure, the execution paths in code, etc.). We also often need to use probability and statistics. Combinatorics helps in these kinds of problems.
To make this a fun session, we focused mostly on probability and how it underlies gambling. We began by discussing the "MegaMillions" lottery in California. In this lottery, you select five numbers from the range 1 to 56, and then 1 MEGA number from 1 to 46. The jackpot as of 7/24/07 was $44,000,000. The question is: Is this a good bet? To make this judgement, we need to calculate the odds. Using combinatorics, we determined that the odds are 1 in 175,711,536, which is clearly a losing proposition if the return is only $44 million (for a $1 bet). And, just how hard is it to win? We determined that it is similar to tossing a coin and getting 28 consecutive heads!
We then looked at other probability problems, including those involving dice and the famous "Monty Hall" problem. The latter goes as follows: Suppose you're on a game show and you are to choose one of three doors. Behind one door is a car. Behind each of the other two doors is a goat. After you choose a door, the host opens another door which has a goat. (The host knows what's behind the doors, and always chooses one with a goat). You are then asked whether you'd like to stick to your original choice, or switch doors with the remaining one that is closed. It turns out that it is better to switch, as the probability that you will get a car with your original choice remains 1/3, but by switching, the probability of getting the car is 2/3.
Finally, we discussed the famous Gambler's Ruin problem, which basically says that, in a negative expectation game, if you play long enough, you will eventually lose everything. We closed by tying the discussion back to computer science, and why combinatorics and probability are so useful.
To make this a fun session, we focused mostly on probability and how it underlies gambling. We began by discussing the "MegaMillions" lottery in California. In this lottery, you select five numbers from the range 1 to 56, and then 1 MEGA number from 1 to 46. The jackpot as of 7/24/07 was $44,000,000. The question is: Is this a good bet? To make this judgement, we need to calculate the odds. Using combinatorics, we determined that the odds are 1 in 175,711,536, which is clearly a losing proposition if the return is only $44 million (for a $1 bet). And, just how hard is it to win? We determined that it is similar to tossing a coin and getting 28 consecutive heads!
We then looked at other probability problems, including those involving dice and the famous "Monty Hall" problem. The latter goes as follows: Suppose you're on a game show and you are to choose one of three doors. Behind one door is a car. Behind each of the other two doors is a goat. After you choose a door, the host opens another door which has a goat. (The host knows what's behind the doors, and always chooses one with a goat). You are then asked whether you'd like to stick to your original choice, or switch doors with the remaining one that is closed. It turns out that it is better to switch, as the probability that you will get a car with your original choice remains 1/3, but by switching, the probability of getting the car is 2/3.
Finally, we discussed the famous Gambler's Ruin problem, which basically says that, in a negative expectation game, if you play long enough, you will eventually lose everything. We closed by tying the discussion back to computer science, and why combinatorics and probability are so useful.
Thursday, July 26, 2007
Computer Scientists Are Real People Too
This year, we've started a new extra-curriculur activity in Cluster 1, which is titled "Computer Scientists Are Real People Too." The idea is to show the students that we academics also have other interests outside of school, many of which are probably in common with the students, and many of them are fun things to share with others. For example, today, Liz led a GREAT session on how to use a yo-yo. She is very talented with the yo-yo, and showed us (students AND teaching staff) the basics as well as some really cool tricks. The last time I used a yo-yo was a very long time ago, and I was really amazed with the hi-tech yo-yo's that are now available. And if you are really good at it (like Liz), you can perform some real magic. As for me, I barely got past "walk the dog" (but in theory at least, I know the moves for "rock the cradle" - though turning theory into practice will require many hours of practice). Thanks Liz for putting on a great show!
I really appreciate that many in our staff have volunteered to lead these kinds of activities. Krista ran a session on painting, Ming is hosting a little sci-fi book club, and next week, Shirley will be leading a karoake session. There are so many other activities we would love to offer, but time is becoming so precious (just about one week left).
I really appreciate that many in our staff have volunteered to lead these kinds of activities. Krista ran a session on painting, Ming is hosting a little sci-fi book club, and next week, Shirley will be leading a karoake session. There are so many other activities we would love to offer, but time is becoming so precious (just about one week left).
ALGORITHMS!
Today was great - pure computer science. The lesson, led by Krista, was on algorithms, one of the most central of concepts. She began by introducing what an algorithm is and how we as computer scientists characterize their goodness. The students were then given an exercise: given a set of n integers, devise an algorithm that computes the largest number that is a function of the integers using only simple arithmetic operations. This is not easy! I was impressed with the solutions and how the students came up with their algorithms.
Next, the "Stable Matching" problem was presented, in terms of medical students being matched to hospitals for residency. This is a non-trivial problem to understand, never mind to devise an algorithm that produces an optimal (most stable) matching. Within a few minutes of having first seen this problem, some of the students already had at least some ideas on a possible algorithm. Krista then presented the optimal algorithm, and led a discussion. The students were clearly engaged - based on their questions and responses - despite the complexity of the topic. They had to deal with concepts such as termination, running time, proving correctness, fairness, stability, etc.
Finally, the students were taught about "big-Oh" as a way of characterizing running time, and this was applied to different sorting algorithms. The students then went to the lab where Krista went over Java code for various sorting algorithms and showed how they work in detail. The students were asked to modify the algorithms to achieve improvements in running time.
What was taught today is typically material that students are exposed to well into a university-level class on algorithms over a number of lectures, and it was by far the most advanced material covered in our thread. It was a classic and well-executed lesson by "Professor" Krista, and I could only admire the students' participation and willingness to try to understand this difficult subject matter.
Next, the "Stable Matching" problem was presented, in terms of medical students being matched to hospitals for residency. This is a non-trivial problem to understand, never mind to devise an algorithm that produces an optimal (most stable) matching. Within a few minutes of having first seen this problem, some of the students already had at least some ideas on a possible algorithm. Krista then presented the optimal algorithm, and led a discussion. The students were clearly engaged - based on their questions and responses - despite the complexity of the topic. They had to deal with concepts such as termination, running time, proving correctness, fairness, stability, etc.
Finally, the students were taught about "big-Oh" as a way of characterizing running time, and this was applied to different sorting algorithms. The students then went to the lab where Krista went over Java code for various sorting algorithms and showed how they work in detail. The students were asked to modify the algorithms to achieve improvements in running time.
What was taught today is typically material that students are exposed to well into a university-level class on algorithms over a number of lectures, and it was by far the most advanced material covered in our thread. It was a classic and well-executed lesson by "Professor" Krista, and I could only admire the students' participation and willingness to try to understand this difficult subject matter.
Tuesday, July 24, 2007
How Computers Work, and How Petco Park Works
Yesterday Krista taught a class and lab on how a computer works, from the digital logic on up to program compilation and execution. I think this was an especially difficult lesson, as it is not easy to get the concepts of how everything in a computer ultimately boils down to 0's and 1's. I was impressed that most of the students got the ideas, and were able to, for example, construct various logic gates out of nand gates, and in the lab, build at least a half adder if not a full adder. This is quite an achievement given that some students were seeing this material for the first time.
Today, we went to Petco Park. We were shown the video/audio production control room and how everything works as far as producing a professional baseball game. The students got to play with a combination of digital and analog equipment - the video cameras, mixers, switches, etc. - and best of all, they got to control the large screen in the stadium. I'm hoping some students post some of the photos they took. It was a really fun time, and I appreciate so much that our students got a chance to have this experience, thanks to our friend Sue Botos (who we met thanks to Beth Simon, one of our great instructors of last year whom we miss) with the Padres baseball team who arranged this event and to David Desrochers for putting on a great show for us. As we were walking inside the stadium and seeing so much that most fans never get to see, one of the students, Sonia, told me: This is an experience I will remember for the rest of my life!
Today, we went to Petco Park. We were shown the video/audio production control room and how everything works as far as producing a professional baseball game. The students got to play with a combination of digital and analog equipment - the video cameras, mixers, switches, etc. - and best of all, they got to control the large screen in the stadium. I'm hoping some students post some of the photos they took. It was a really fun time, and I appreciate so much that our students got a chance to have this experience, thanks to our friend Sue Botos (who we met thanks to Beth Simon, one of our great instructors of last year whom we miss) with the Padres baseball team who arranged this event and to David Desrochers for putting on a great show for us. As we were walking inside the stadium and seeing so much that most fans never get to see, one of the students, Sonia, told me: This is an experience I will remember for the rest of my life!
Tuesday, July 17, 2007
Digital vs. Analog
Today we talked about what "digital" means. We began by talking about what is information (based on a simplified version of Shannon's development of information theory - one of my favorite expositions of this is Pierce's book). The students had some fun (or maybe it was more me) guessing my age by doing a binary search. I lied about my age, and so they learned an important lesson - that there is good information and bad information! We then discussed how various forms of media - books, audio, images, video - encode their information as sequences of numbers. Pythagoras said more than 2500 years ago that "all is number," and we are coming full circle with quantum physics (which we talked about!). We discussed information vs. knowledge (and how little we really know - think Descartes). Finally, we segued to discussing analog vs. digital computation (and communication). I think this is the part the students enjoyed the most, because they learned how to use an abacus (and why it captures the essence of digital computation) and how to use a slide rule (analog computation). All in all, a fun afternoon.
We never got to the "big" questions that I promised at the beginning of the session: Is the brain digital or analog? Can a human be digitized? Is the universe a giant digital computer? Maybe we will revisit these at a later date. (But there's just too much to cover!!!).
We never got to the "big" questions that I promised at the beginning of the session: Is the brain digital or analog? Can a human be digitized? Is the universe a giant digital computer? Maybe we will revisit these at a later date. (But there's just too much to cover!!!).
Subscribe to:
Comments (Atom)
