Category Archives: Engineering Course

[CSCI 203] Final Project: TextCloud

A text cloud is a collection of the most-commonly used words within some body of text, usually with attention paid to avoid extremely common words (e.g., the) and to unify different forms of a single word (e.g., aliens and alien are the same). Text clouds allow us to obtain a quick sense of the topic of a website by visualizing the most frequently occurring words on that website where the words are displayed with size proportional to the frequency.

Text clouds, in essence, are a word-by-word summary of the contents of an article, book, or other work. Though certainly the structure of the document is lost, the relative frequency of particular words may be very useful in understanding the topic and genre of the text.

To skip CSCI 203, I have to do its final project, which is generating a text cloud. It is a very interesting project with a lot of functional programming, and I like it a lot. The most challenging parts are the stemming and the Vpython for visual effect of text cloud, since they consumes most of my time working on the project. My program constructs a 3D visual “tornado” text cloud. Because the word with most appearances appears at the bottom of the tornado and then it move. Beside text, we can assign the position to other objects such as images. It creates interesting way of represent information.

Figure 1: TextCloud results

The code for this project can be found at my GitHub: csci203_textCloud

[RESC098] Final Project- Humans vs. Climate Change Website

This is the final project I made for my foundation seminar course. Each of us have to pick an activism topic and design a campaign about it. I pick climate change and decided to make a website. All of the pixel arts on the website are my artwork. The attached video is a screenshot of how website function, and in the end the video show a little bit of my HTML and CSS code. Most people love retro pixel design of the website. This is the only computer science project I did in first semester.


[ENGR 100] Final Design Project

For ENGR 100 Final Design/Build Project, my team created an educational device called “Conductive Cart”, with the goal of teaching the children about conductivity and its affect on electrical components through the use of electrical motors.

IMG_1783 3


Figure 1: Our finished product

“To do this, we constructed two circuits with alligator clips in the middle of the circuit to allow the kids to connect various materials to test the conductivity of the selected material.  We had two of these attached to a “race track” with two cars connected to their own motor, allowing the kids to compare the conductivity of two materials based on the speed of the car after current was sent through the material and into the motor.  The motors’ speed would depend on the materials level of conductivity allowing them to see which material has a better conductivity.  Racing two cars allowed the users to see quantifiable data of the effectiveness of the materials conductive qualities based on the speed of the cars and the time between the two cars hitting the finish line.” [1]


“We found this very effective in showing the results of conductivity. We supplied copper, steel, graphite, wood, and plastic to the user to test, and the results of the races were effective in showing the children the difference between conductivity between the two materials they selected. The children learned that the metals made great conductors and that materials like wood and plastic were not conductors. Obviously  since we implemented electricity into our project, safety was a concern. In order to make this safe for kids to operate, we used 6 volt motors powered by a 6 volt battery pack, which was a safe level of electricity but powerful enough to pull the cars and allow the speed of the motor to vary. The speeds were slow enough for the children to see variations, while still being fast enough to entertain them as a real race.  Most of the users were able to quickly pick out the best conductors, predict which material would be most resistive, and grasp the basic concept of conductivity.” [1]

1512196_793846134019119_5363660057965597679_o 1973256_793846110685788_6475220193825813684_o

The Engineering Expo was a fun experience. We introduced our product to the kids, and they seemed very excited about our device. There was smart kid that know everything. There was kids that were very curious, they tried their material into our device instead of ours. Only after haft the time of the expo, we have two people sign up for our device.

10856469_793845614019171_1620964353057512824_o 10712636_793845687352497_3007111554685165856_o

However, the two people who signed up did not coming. So we waited to the end of the expo, and luckily, two kids take our device and our poster. I was proud of my team: we worked very hard to finish this amazing device.

10459067_793845730685826_5625419326934380314_o 10697148_793845587352507_8180822287584557349_o

[1] From our final report.


[ENGR100] Rube Goldberg Machine

The task that was to be performed in this project was to construct a Rube Goldberg Machine that could catch and throw a Ping-Pong ball.

rube goldberg project

Figure 1: Schematic of Final Design Layout

The final design is a Rube Goldberg machine which has eleven energy transfers and seven sources of potential energy.  The device will be initiated by the dropping of a Ping Pong ball into a Styrofoam cup mounted to a cardboard tower.

photo 4

The ball then rolls down a ramp attached to the tower, hits a pendulum, and then rolls down the second ramp landing in the mouse trap launcher to be launched to the next group. The pendulum that was hit by ping pong ball swings and hits a marble which then rolls down a cardboard ramp.

unnamed (2)

The marble hits a nut at the end of the ramp, which causes the nut and marble to fall and then land in a box on one end of the pulley.  This causes the weight to become uneven and the side with the weights in it start to fall towards the plywood base. The other end of the pulley is tied to the edge of a cardboard ramp which has another marble on it. As the string pulls on this side, the incline of the ramp increases and the marble rolls down, landing on the elevated end of a lever.

unnamed (3)

The other end of the lever raises and then hits the ramp which has third marble on it. The third marble starts to roll down a ramp and hits some Popsicle sticks that are propping up a banana tied to a string.

photo 2

Upon hitting the sticks, the banana falls, thus agitating the string. A nut is balanced on the tip of a dowel that the banana is tied to.  When the banana falls, the dowel will jerk, which will cause the nut to become unsettled and then slide down the dowel, hitting the trigger of the mousetrap.  This will cause the Ping Pong ball to be flung to the next group’s machine.

unnamed (1)

Figure 2: Photo of Completed Machine