The coolest class I have taken is the intro to computer science class from my first semester freshman year. Professor Redekopp taught this course for the first time (a graduate from the CSCI department at USC) and really took it upon himself to make sure students had a broad but realistic overview of what computer science is like at USC.
We started the semester with a green screen extraction assignment which would replace the green pixels in the background of an image with the corresponding desired pixels from a separate background image. We did this by using the RGB values and a varying threshold for the pixel color’s distance from the color green. It never occurred to me what was actually going on behind the screens of a photoshop effect. It was also a challenge trying to get the shadow to register as a “green” pixel to be replaced.
Our next big project was a social network type assignment where we created a number of fictional characters by entering various information about them into a text based “profile.” As a user, you could add or delete friendships and then run the program we created to find statistics about the smallest degree of separation between any number of users, character with the most number of connections, if one person could get information to every other user, etc. We also got to practice loading and saving user information, as well as handling faulty information or duplicates.
We did a few other smaller assignments and ultimately ended the semester by programming a robot to go through an obstacle course. Using the robot’s various sensors, we had to program it to stay on a white path, avoid wooden blocks, then center itself between two walls and travel a specific distance. Programming a robot was not something I had ever thought I would have the chance to do, much less enjoy. It posed challenges I hadn’t considered because the wheels operate individually, so turning involves one wheel going forward and one staying still or rotating backwards.
This class really gave me a great idea about what the program would be like, posed challenges I had never considered, stimulated my interest in artificial intelligence, and completely solidified my choice to study computer science.
You can check out my other blog about some more computer science courses I have taken 🙂