CS108 Student Work Portfolio
|
This webpage is an oportunity to highlight some of the outstanding work
created by CS108 students, and to give prospective students an idea of what
CS108 is all about.
The samples below show some of the projects from prior semesters of the course.
|
Vector Graphics: Kenny
|
Vector Graphics is a strategy for descibing an image by geometric shapes,
and colors; the alternative is Raster Graphics, which describes an image by
giving a color value to each individual pixel in the picture.
Screenshot and narrative courtesy Pietro Fabiani, CS108, Spring 2008.
"I like to think of vector graphic designing as 'writing a picture,' because you write a code which will be interpreted (or compiled) that will graphically represent the description.
One thing I had to be very careful about when I was writing this code was that the order I was drawing was crucial. What is drawn first goes on the "back", everything else piles up "in front". I first had to understand what were the different parts of Kenny, and then the order they were represented in. The bottom part of the jacket and the head were the most difficult parts: the jacket is a polygon and to give the impression of a curve, I made the bottom to be a lot of small segments, with minor changing of inclination. The head, except the external hood and the actual face, is made by ovals, not circles. PythonÕs graphic package gives you an oval class, but it is not that good. I used multiple layers of circles (set of 4) to give this reg/irregular oval shape. Even if Python is not know as the best graphic language, you can do pretty sweet things with it, it only takes time and concentration." |
Graphical User Interface: AdBuilder
|
Graphical User Interface provides a point-and-click style interaction with the
program code.
Ad Builder is an application that will create an ad to rent an apartment. The program will format what the ad by interfacing with the components and displaying the ad in the text area to the right.
The Location Button will open up a child window that lists another of neighborhoods for the user to choose from. The user can select one of these or insert their own choice. The Other Rooms and Amenities buttons will open up similar windows that display checkbox options such as Living Room, Dining Room for Other Rooms and T-Accessible and Pets Okay for Amenities. one of these or insert their own choice.
Once the user has made their selections, the selections immediately appear in the formatted ad. Bedrooms and Bathrooms are drop down menus that display the number of bedrooms or bathrooms. |
Final Project: StockManager
|
The final project aims to include all elements learned in CS108: data processing,
decision making, object orientation, graphical user interface, databases,
and in this case a bit of network client programming that the students learned on
their own -- evidence of their skills as using library functions and a published API
(application programming interface) to use pre-existing code/components.
Application, screenshots, and narrative courtesy Brent Sugay, CS108, Fall 2007.
Stock Manager is an application that will track selected stocks to help make investment decisions. Each record includes importation financial information for each stock. This program works by pulling information about the stocks from the internet and putting the information in a database using SQL. The database is stored in an access file and retrieved by the program. The functionalities include searching, updating, adding, removing, and saving the stocks. The search functionality will output the company with the given stock symbol from the database. The update button will retrieve current financial information from the internet. The user can add and remove stocks from the list by inputting the ticker symbol in the add and remove windows. The save functionality will copy the stocks and place them in a text file for future reference.
|
Final Project: Counting Cards (PythonCard)
|
The final project aims to include all elements learned in CS108: data processing,
decision making, object orientation, databases, and web programming.
This application/narrative is courtesy of Voltaire Aquino, CS108 Spring 2009.
Cardcount.py is a GUI program that teaches the user basic Hi Lo card
counting strategy. It tracks the card count after each deal and allows
users to input guesses. The program outputs the User's Guess, the actual
count and the percentage of correct guesses over time. The user also can
clear their historical statistics and start their statistics over.
The program starts by initializing values and clearing the existing database. When pressed the "Deal Two" button shuffles the deck, deals two cards and also updates the card count. Users can click this button as many times as they want to simulate faster card dealing. The user then input's their guess and presses the "Guess" button which verifies if the input is correct and calculates the success rate of the user. The count, the guess and the success rate are then inputted into the database and then displayed in the multicolumn list. The "Clear button" clears the multi column list, resets the counts, and clears the database.
|
Final Project: Compact Disc Collection/Listing (Web Application)
Created by: Aaron Stevens, azs@bu.edu
http://www.cs.bu.edu/courses/cs108/portfolio
Last update: 8 May 2009
