Monday, June 6, 2011

Exploring New Things

This weekend, I found a few pictures on my camera when Wayne and I made ramen one day during final's week. We were both starving and remembered that his dad shipped over some mini-ramen packages. That's when Wayne says to just throw them all into a pot. (Lol he just saw me writing this post and said "people will think we're retarded, no one makes ramen like that.") Ramen's supposedly 'grad-student' food *shrugs*. It's yummy, and it's what I eat a lot now. :3




Wayne put in a TON of black pepper

I spent some time this Sunday learning about one of the courses I'm taking next fall semester: Introduction to Video Game Design (600.255) taught by Peter H. Fröhlich (He's just plain awesome; I also had him for Intermediate Programming (600.120), an introduction to C/C++ spring semester 2011) The focus of this course to create a semester-long project in python game development by utilizing Pygame in teams of 3-4. Last year, the objective was to design a 2D, side-scrolling, level-based game in the tradition of Super Mario Bros; the year before that, the students were allowed to create anything, and I hope he will give us the same option this semester - I just sent him a quick email about that so hopefully I'll know soon. :) In addition to the project, teams are asked to keep a blog up and I still found a few up and running! I'd like to go through these as I dabble in Pygame this summer. Here are the basic steps I took to get introduced to Pygame:

1. Download Pygame - pygame-1.9.1.win32-py2.6.msi 3MB (hope it works well on Windows!)
2. Run the download to install
3. Check out Pygame installed on the Linux computers ugrad5.cs.jhu.edu using (to confirm Pygame is on our ugrad-machines too :))
python -m pygame.docs.__main__

Introduction screen - by the way you *click* to make the screen go down
4. First Pygame program outlined in introduction screen (learning by doing):

#importing modules
import sys, pygame

#initializing the imported modules

pygame.init()

#sets variables

size = width, height = 320, 240
speed = [1, 1]
black = 0, 0, 0

#creates a graphical window

screen = pygame.display.set_mode(size)

#returns the ball image as a 'Surface'

ball = pygame.image.load("ball.gif")
#creates a variable of a rectangular area to perform animation

ballrect = ball.get_rect()

while True:
        #tracking GUI (Graphical User Interface) events

        for event in pygame.event.get():
                #if we quit the window (press the red x button)

                if event.type == pygame.QUIT: sys.exit()

        #moving the ball

        ballrect = ballrect.move(speed)
        if ballrect.left < 0 or ballrect.right > width:
                speed[0] = -speed[0]
        if ballrect.top < 0 or ballrect.bottom > height:
                speed[1] = speed[1]

        #erasing the screen by filling with a black color
        #otherwise, will leave a trail-like effect

        screen.fill(black)
        #redraws the ball to the position

        screen.blit(ball, ballrect)
        #to show everything we've done onto the screen

        pygame.display.flip()

Output (bounced really quickly!)

I also finished Google FUSE's 5-step todo list including joining the Google FUSE group and completing a quick CS skills spreadsheet. (Some quick peeks) 




I'll be going to their headquarters in New York City from July 18th-22nd for a retreat-style program to network with other aspiring computer science students and get tips on the career and research fields. They even have a day countdown on their website heh ^_^.


Their focus is geared towards underrepresented students, and I think that's a noble stride to attracting more students into computer science. It's analogous to a girl feeling more comfortable joining a group if there were more girls just as a guy would feel more comfortable joining a group with more guys. It will be interesting seeing how they address this topic! One of the first things they did was ask us how we felt about it. I went to dig up some of my answers for their application a few months back.

1. Tell us about an experience that inspired your interest in the computer science field, or a specific aspect of it. Any inspiration is fair game!
I had been long interested in computer science since I began high school, always wanting to be involved in the constantly evolving technological world, and finally took a shot at it my senior year of high school by taking an online course. Let’s just say that I could not get enough of it. I was thrilled by the all-encompassing aspect of computer science; the combination of logical reasoning from mathematics and critical thinking skills from reading and writing that was computer science offered me a novel interest and perspective to learning. I was determined to continue my studies in the computer science field.
My notable achievements in the introductory online course paved way to multiple scholarships in advanced courses in Scheme and Java programming languages, allowing me to succeed in the Collegeboard AP Exam that same year. Needless to say, I knew I wanted to study computer science in college as my fascination in the field grew stronger. I came into college with a lasting passion that lead me to taking courses well beyond my years in multiple areas of computer science and especially in artificial intelligence.
Computer science allowed me to design and solve problems that could be applied to an expansive range of subjects one would never imagine had any relation or connection to such as software in finance and electronic health records in medicine. I soon began to visualize approaches to solving global-size problems through computer science: from reducing human error in diagnosing and prescribing patients to aiding search-and-rescue teams during natural disasters to breaking down language barriers through advanced electronic translation to even increasing levels of critical thinking and reasoning in students. I found computer science as an answer to our future, and there was no doubt that I wanted to be a part of the effort. I am involved in computer science today for a better tomorrow.

2. This event is being created to connect underrepresented students in computer science with one another. Why is this important to you?
Last week, I went to a talk by Hanna Wallach, a research professor at University of Massachusetts Amherst, on women in open source software. When she asked the undergraduates what percentage of women we thought were involved in open source, none of us were without gaping mouths as we heard her say “only 1.5% of open source contributors were women from the FLOSSPOLS survey conducted in 2006.” But it wasn’t the statistics that left the lasting impression on us as we exited the lecture hall, but her advocate for increasing gender diversity in open source development. We left with eager eyes to bring diversity to not only women and not only in open source development, but also all backgrounds of race, color, gender, and ancestry in all divisions of computer science.
Diversity brings the spawning of creative ideas and solutions to problems through combining the multiple backgrounds of contributors in a team. I believe that it is not specifically race or gender that produces this creativity, but the unique experiences of each person that offer them their own perspectives to tackling challenges that when brought together, allow the team as a whole to approach the situation at hand in a wide variety of angles. In application, by bringing together students with such unique qualities, we are each extending our own horizons by learning how other people of very different backgrounds see the same objects or situations in life. We become better equipped to solve problems by having a worldly perspective and an open mind, and in effect, we become more confident as computer scientists to defy limitations and follow our passions, and more encouraged to teach others of our experiences. It is for this reason that Google FUSE is not just an opportunity for underrepresented students to learn about computer science, but also a chance to learn about each other to share knowledge, wisdom, and experiences as students of unique backgrounds.

No comments:

Post a Comment