Baconian Cipher-Another Version of Substitution Cipher

The Plan

What is a Baconian Cipher?

Baconian Cipher is a version of a substitution cipher. Each letter of the alphabet is represented by a pattern where we can use binary digits. For example, the message “a” would be “aaaaa.” In a normal Baconian Cipher, the digits would be represented as “a” or “b” which is what I did. To encode, you would need to know the word you want to encode. For example, I chose the words, YOU. Y would be represented as babba, O would be represented as abbab, and U would be represented as baabb. Forming a code babbaabbabbaabb. Now I would make a phrase that matches the number of digits. The example has 15 digits of the number so I would have to make a phrase with 15 letters not counting the space in-between. For the letter “b” I would need to put a capital letter and for the letter “a” I would need to use lowercase. I wILl cALl YOu nOW would work for this code. So, when using this Cipher, to decode the message, you would need to change the message to binary digits and then match up with the words and numerals.

What is my plan?

To encode with my Baconian cipher, I am going to use the unicode, and whenever the unicode reads a capital letter, I am going to make that as “b” and “a” for the lowercase letters.

To decrypt my code, I would have to find a way to change all the encoded letters to each alphabet by using the list. I think that if each code of the word is typed in the decrypting code, from the list, the program will check to see if there are any matching of the lists and when there is a match, the corresponding number of the alphabet would appear.

What are some variables that are needed?

To start off, I would need to have a unicode and figure out what is the range for uppercase letters and lowercase letters. I would also require the for loop to scan each letter of my alphabet to both encode/decode my given code. I would also need to have the if-else block to show the range of my unicode for both upper and lowercase letters. I would also require the list to show my list of codes to encode and decode. For encoding, I would need to replace the list with “a” and “b.”

What is the final goal?

To make a block of code that can encode a phrase to letters “a” and “b” and decode those letter for secretly sending messages.


The Product



This is a block of code for my encrypter. To start off, I made a list called “list of numbers.” At first, I thought it would be hard for me to make the letters into b and a, so I thought of changing them into “0” and “1”. However, I found out that there was a block where I can replace an item, so I decided to use a replace item code. Therefore, the items in the list of numbers were not needed because they are replaced by either “a” or “b”. After that, I ask for the phrase that needs to be encrypted.

I made a variable “hi” which is later on set as an encrypted message. The main purpose of variable “hi” is to make the string which is shown after I joined my “hi” and “item(letter i of answer of list of number))).

After that, I use the for loop which shows “i” for index and goes from 1 to the length of the answer. By doing this, the program will read each letter of the response and encrypt each letter according to the corresponding letters which are “a” or “b.”

The unicode of uppercase letters are A as 65 and Z as 89. By using the if-else loop, the program knows that if the letter is between those ranges, it will encode as “b” if not it will go to the next part of the code. If it is not, it will go to the next which are the lowercases. If it is in the range of the lowercases, it will return “a” if not it wouldn’t return anything. After that, I told the program to join “hi” and the item I replaced to make the encoded code.


Making this code, I had some challenges figuring out the join block and the replacement block. At first, I had to think logically where would each letter go if I replace. I figured out since the place where each letter of the answer is should be the same for the encrypted code. Therefore, I decided to put replace “letter i of the answer” to arrange the encoded letters in the right spot.


From the example, I used I wILl cALl YOu nOW, therefore. As a result, the code would read I like “b” and so on. Which would result babbaabbabbaabb, the result came out from the example. The list of numbers and alphabet are on the left side so we can see that there are alphabets where we can type according to the alphabets given. One thing I found out during the reflection is that in the alphabets, I did not mention the uppercase letters are allowed in the code you want to encrypt. Also, I found out that as I was changing the digits back into the letters, I didn’t change the list of numbers.


My final product for decryption after reflecting from the last “draft code.” I finally came up with the final product.

Explanation: This is a block of code for my decryption. Unlike the encryption process, I had to change my answer as another scripted variable “original.” This was intended because later on, I had to take out the first letter of my answer. After that, I put the list of encryption and made the alphabet list as I wrote in my plan.

Instead of writing out all of the letters of the alphabet, I decided to make use of the “for” loop. Since the unicode of letter “a” is 97 and “z” is 122, I decided to have an empty list and then add the unicode of the letter for each alphabet.

After that, this is where I have made improvements after thinking about the problem. I figured out that we need a while loop. So, while the length of our answer is equal to zero, the string of “code” is set as 0 to start. Next, we need to repeat 5 times because the encrypted texts are all 5 characters. Now, the letters need to be joined to String for “code.”

This string is needed because late on for the result if we see that the code is equal to any item of encryption, we will be able to return this item as our result. The result variable is scripted to make the String and later on alert the result.


My decryption code was going off the plan many times. After making the list of codes, I was thinking of how I should make the corresponding item of both lists to come out. Therefore, the encryption took a lot of time. I got my list and set the alphabet from a to z, however because of the I have some difficulties of finding the list. I was not able to finish it yet. For now, I have the variable “space” set as the item letter of I of answer which made it read the length of alphabet getting the 5th alphabet which is “e.” Therefore, I asked for some help.

However, even though I asked for help, some problems came up. For example, we didn’t know how we should use the loops to make sure that the same item # of each list would come out as an answer. I definitely knew how to make the string and the problem of how we are going to use our answer to get the corresponding items. We figured out that we were able to get the first letter of the original and use that as a code to see whether it would fit an item of the “alphabet.” This way, we came up with the solution of how to decode this encrypted message.

2 Art Piece Project (Last Piece)- Computer Science Blog Post #4


Post your final product and how well you followed your plan, including any challenges you faced.

How I followed my plan:

My plan from Blog Post #3 was really well developed. In fact, I included every step of my method and added some few steps. I used all the iterations, increments, parameters, state (variables), random and sub-procedures for my inspiration project which was a massive achievement. I used iterations for almost all of my sub-procedures and variables such as Xcors and Ycors were efficiently used which was definitely cool. I also have achieved my goal that I would try and put the sun just over the river, so it looks like the sun has just risen from the horizon. From the picture above we can see that the mountain’s color gets darker as the height also goes down and we can see the water gets darker as it gets more in-depth as well. This was a realistic feature, which was a goal for me, and I achieved it. I also made the background as red because when the sun just came up, the sky would look red. To emphasize that it is the year 2019, I put the numbers of the year so that it shows it’s the first sunrise of the year. I also added some birds that look like they are traveling right above the sun. I thought of this idea from my past experience when I was in 5th grade and thought the birds that went over the sun were lovely. Now, I would talk about my challenges and analyze each component of the inspiration project.


Different Components of Project and Analyzing/Challenges Throughout the Process of Each Component:


Evaluation: Making the bird was a straightforward task that I didn’t have any challenges. At first, I didn’t even think of making birds. However, I thought of the first time I saw birds going over the sun, and I thought it would be a good idea to put it in my project and share the experience by using turtle art. To start out, in this code, I used iterations, variables, and incrementing pattern. From the code, we can see there is the repeat block that I used. I repeated 4 times which made the 4 birds. I used the incrementing pattern for my setXY. The first setXY is for my first bird which is the first one from the bottom, and then, I put the repeat and setXY Xcor + 10, Ycor. We can see from Xcor + 10, I am using a variable and increasing the variable each time I repeat. So, the first time I make it, I would make the first bird, after that, I would use the coordinates from there, and then move along the Xcor by 10 and so on. I also used the penUp and penDown in my code because I needed to go back and then make an arc that leads to a different direction.

Challenges during the process: There wasn’t a big challenge making this, however at first, I felt difficulty making use of the XY coordinates. I didn’t know where it would be best to put the birds so that it fits my theme. How I solved it was to take time and rethink of where I would put my sun, after that, I decided that the best place was right over the sun but not too close which is the place from the picture above.


Evaluation: This is my stickman code. In this piece of code, I planned to use this code so I can use it as a parameter pattern just like what I used in the climb block of code. For my person, as I planned, I used black or color (-9999), shade(0), for it to look like they are in the shadows. My person block doesn’t have a particularly exciting part as it is full of backs and forwards with arcs. However, I believe the exciting part of this part of the code is the climbing block, where I finally used the parameter pattern. As we can see I used setXY (0,30); which meant the first person is on the lowest mountain, and I put in the person block right below to start with the first person. After that, I used seth(0); because I found out the head was to the left direction and if I put the seth(0) code in the person block, it would make my person block too long for no reason. After that, I used iterations, variables, incrementing and decrementing patterns again. The incrementing and decrementing patter in hear it is also for the variables Xcor and Ycor as I want it to look like they are moving above the mountain and taking a break to see the view of the sun. After that, I used the person block once again, which is how I used the parameter pattern. I repeated that 40 times, making 40 people climbing on the mountain. However, it didn’t show all of it in the turtle art because 40 meant I have to move 1200 of Xcor to the left, but it would go over the limit.

Challenges: Some challenges I faced during this block is how I can use the parameter pattern efficiently and while doing that, how I will use the incrementing and decrementing pattern. I wanted the people to seem like they are climbing the mountain, however, to do that I needed to increment the y and x coordinates in the right amount, so finding that was giving me some hard time making this piece of code. The parameter pattern was a little bit challenging because I had to think where I had to put the person block once again for this block of code to work.



For my mountain block, I used iteration, increment, and decrement, also, I used the start fill and end fill blocks. When making the mountains, I first thought of the top of the hills, I thought of the round part of the mountain which led me to make the arc first. When I first made the arc after setting the X and Y coordinates, because it was only 180 of an angle and 200 of a radius, it looked like the mountain was floating. Therefore, I decided to add some lines that come down so that the filling would work and it actually looks like it is stuck on the ground. Again, to show the realistic features of the mountain, I decided to make the hills further at the back a darker color and to show the contrast of the size, I made mountains in the end smaller. That is why I used the decrementing pattern for Xcor and incrementing for Ycor. I also incremented the shade so that each time, the mountain will look brighter.  I used startfill and endfill so that the hill would be filled with the same color as the pen color.

Challenges: The challenges I faced in this part of my project is repeating the number of mountains. If I happened too less, The distance between the hills was too big, so it didn’t look like a “tiring” mountain to hike. However, if I did too much, it didn’t look like a mountain but layers of rock. Therefore, I had to experiment a lot, so I know which number was the best to make these mountains. Even though the mountain looks like a simple task and I thought it would be simple, but unexpectedly, it took a lot of time to make and figure out the process.


Evaluation: The sun was really simple to make as there were simple increments and arc which is a circle. In the sun’s code, I used increments and iterations.

Challenges: For the sun, I didn’t face any obstacles. It was really easy to make.


The year is the one I used the most randomness. Because I wanted to make the 2019 colorful so I used randomness for the colors, which was one of the criteria and I wanted to make it colorful.

Challenges: I didn’t have challenges because it as using randomness and making the numbers, which is an easy task.


Evaluation: For the sea, I used an decrement pattern for my shade. Since I didn’t need a change in my color, I didn’t increment/decrement the darkness, however, I required a darker color, so I decided to decrement. I used iterations for my ocean in two ways. Because I needed to fill in the color, I needed a closed box. So, the iterations I used at the bottom of my code, is actually the code for making a rectangle. After that, I repeated 25 times where each time I reduced my YCor so that it will get darker as the elevation goes down. As I said, I changed the shad to -2 each time because that way, the ocean water will become darker. Therefore, by using iterations, incrementing and decrementing variables, I finished making the ocean.

Challenges: For this, I had difficulties in deciding how I would effectively use the variables without overusing them. I figured out that if I made a rectangle, I can fill out the box more efficiently and by using the Xcor, Ycor, color, and shade I saw that this is the shortest way to reduce the number of statements for my piece of code.


This is my main code and by clicking this code, I can make my project in one step. I had to reset the head of the turtle because otherwise, my bird would start to fly sidewards, which is not what I want.

Besides these main components, I had other codes that were needed to make up these main sub-procedures. However, I didn’t find any big difficulties doing those, and they weren’t the main blocks of mine so I decided not to talk about all of them.

Therefore in this project, I used iterations, parameter pattern, increment/decrement pattern, variables, random, and sub-procedures to make my final art piece.


Computer Science Project- Blog Post #3

Task: Post an inspiration (art, architecture, patterns, nature) and make a plan for creating it in turtle art.

My Inspirational Picture:

This is a picture taken from South Korea, which is a photo of a person sitting on top of the rock to watch the first sunrise of 2019. It represents nature and sometimes makes me calm down, which is the reason why I chose this image for the inspiration task. As this is an inspiration task, I would like to change the rock into more of a mountain. I want the sunrise as a view of a person where they see a mountain with several people climbing it and the lake on one side. I would like the sunrise look as if the sun has just risen up from the lake  So, the main components that I would need are the Sun, Mountain, and Lakes. One additional sub-procedure that I want to add is the year. I would like to express that this is the first sunrise of the year 2019. I would use iterations for the mountains so that each time I repeat, the mountain not only gets bigger but also moves its position to add the realistic components of the mountain. I will also use the parameter pattern for the stickmen that I will have. Instead of having one person, I think it would look better if it is crowded because in South Korea, usually, people gather around to the best place to spot the first sunrise of the year. I would also try to make lakes so that the color gets darker as the drawing goes down, again to show the realistic features of my turtle art design.

My Sun: (Just Over the Lake)

  1. Use an arc to make the sun.
  2. To use iterations, I would use repeat block so that I can show a little bit of the change of colors
  3. Set the sun so that it is just over the horizon.

Mountain: (Mountains are going to be on the left side)

  1. Same as the sun, repeat blocks and make some increments for the colors by using Color + 1 and so on.
  2. Make a round mountain by using arcs and forward (200); so I can make the mountains look like they are on the ground.
  3. Use start fill and end fill so that  It actually looks like a mountain.
  4. During the iterations setXY (xcor – 20, ycor +20);

Ocean/Lake (Mainly on the top and right side)

  1. set my pen color to blue,
  2. add my shade so that it makes light blue.
  3. Use the repeat blocks and decrementing patterns so I can make the color go darker each time the elevation of water goes down.


  1. Use parameter pattern (reducing work)
  2. Set Color as black so that, from where I see them, it looks like they became the shade because of the sun.
  3. Use iterations, so that they are beside each other, looks like they are climbing and just have stopped to see the sun.
  4.  setXY the same as the mountain so that we know they are climbing the mountain.


  1. Make each number by using arcs and variables.
  2. Set Color as random so that it looks colorful.
  3. SetXY as (-250, 150);

Birds (Optional)

  1. Make one bird
  2. Repeat 4 times so that 4 birds are made at different places of the stage.
  3. Make the xcor and ycor use increment/decrement patterns, effect which will make them look like they are flying.

Summarized Plan in Picture for positioning:

Recreation Project- Falling Down Looking the Eclipse-Computer Science Blog Post #2

From the previous blog post, I have decided to make a recreation project that uses the “Eclipse” and “Peaks” project from turtle art. The main reason I have decided to use these two was that with these two, I was able to make a story out of it.  In my recreation project, there is a stickman, and I have changed the color of the peaks. Also, I have decided to change the color of the moon and the size as well. Thus, I made the moon so big that, this unexpected phenomenon of an eclipse, has happened in front of the stick man’s eyes. From what we already know, a solar eclipse is when the moon covers the sun and perfectly fits the sun which is a total solar eclipse. However, in this story, the moon is just a huge giant that, it is so big that it makes the stickman shocked, and it is about to cover the whole sun. I also, changed the colors of the mountain because I wanted this stickman to be in a situation where he is going out for a hike on the mountains by himself, and he was the only one noticing this “magic.”

Because I was transferring some turtle art codes to processing, it was essential for me to use the incrementing pattern for the repeats I have. However, I didn’t stop with only using increments for the codes I got from turtle art. I used some increment/decrement pattern to make my stars since I wanted to have it a tiny star each time to make the moon in my project. For recreation, I have also used the debugging tool by using println.

My Moon:

As far as how the code runs in my recreation project, for the moon, I had added some shade so that there is much more of whiteness than the by the sun. This is for me to explain to the audience that this total solar eclipse is exceptional because there isn’t any red moon but white mon instead. To recreate this image, I also used additional parameter patterns in my processing. I started using this after our teacher, Mr. Beatty, has shown us how we can use parameter patterns in processing. From my peaks, I used peaks( int X, int Y) so later on, when I used my setXY, I would do everything according to my X and Y that I used in the main code of that block. Not only that, I used many incrementing as I used this text-based coding which is from the while code p++.




My stickman was the main character that I have used to make my recreation project. I tried to make the eyes for the stickman, and by using a sub-procedure block of a sub-procedure block, I was really successful, make it look real as a person that is about to fall down looking at this non-nature phenomenon. I also used penUp and penDown to show that I can use these tools to make an exact drawing. After making the stickman, when I put it in my main code, I had to move the pen away from the moon, so I needed penUp, so I moved to the place where I needed the stickman to be drawn at. However, from writing this block post, I think I could have reduced this block a little bit because there were two turns to the right in the 19th line and I think a lot of the parts were repetitive, so I could have used a different way such as using other parameter patterns to make this code a little simple.


This block of code is how I made my eyes. As we can see, I have used PenSize really which was tiny, and had several arcs because it is going to have two eyes but in different places. I was considering using the repeat block in hear, however, I thought that was very inefficient and time-consuming. Therefore, I just decided to make 7 lines of code. In this code, because I am putting it in the stickman code, I did not have anything extraordinary.

This is my Star’s code. As we can see from the code, I used iterations for this code. However, one thing I didn’t do was changing the setXY which means there would be 35 stars in one place, the same place. However, when I tried my piece of code with changing the block, I found out that there were problems with overlapping the mountain, which made the mountain look really shiny. Therefore, I thought this would just make a huge mess in my project which I decided to just put it in one place. In conclusion, in this block of code, I used iterations. Adding on, whenever I tried to change my code for stars, the sun would change making my project look ugly.

This is the code for my peaks. As we can see, I used the parameter pattern that Mr. Beatty told us and has setXY to use the parameter pattern. In this block of code, I also repeatedly used the peak block, so there are many mountains but I won’t have to make the code look really messy which is a way to destroy my project. I used setting Color, setting Shade for a better-looking color which is different from the turtle art code. I usually think mountains as more of a green object, So, instead of using blue, I chose green. Also, it is more logical because blue makes the art look “cold” but green makes it look “happy.”

This is my peak code. It is straightforward, and the only thing I had to do is setting the head and making iterations.

Lastly, I would like to introduce to another principal object, my sun. My block for the sun also uses iterations, and as I mentioned from the top of this blog post, I used println to see whether there were problems with the sun or not. I set the shade as 60 because it still has to look bright and it’s before the moon has covered the sun.

Therefore, I used parameter, iterations, sub-procedures to make my main code, increments, and decrements, variables were also used in the project I have made for recreation.

Final Image of recreation:

Analyzing the Turtle Art-Computer Science Blog Post #1

Assignment: Analyse (explain how it’s made) a turtle art drawing from (

For this assignment, I made a project using 2 turtle art drawings used together. One was the eclipse and the other was peaks. From this blog post, I would be analyzing how turtle art has made each of these drawings.

To start off, I would analyze the eclipse. In the eclipse turtle art drawing, the parameter pattern is used to make the project “eclipse.” There are 3 major hat blocks that go into the eclipse hat block. Those three are moon, sun, and stars. By using this hat block, it is easier and organized for the project to be analyzed. Another technique this eclipse pattern has used repeat for each block of code. In the moon block, below the repetition, there is some increment for the setXY. XY is XCor +5 and repeated. We can see this is incremented. By incrementing this, each time the turtle shades in the moon, it will move along the X coordinate by five steps. From the turtle art code, we can see that a lot of randomnesses was used in this “Star” code. In fact, it has filled in the whole screen as random so the stars are really spread out. These codes also contained different types of color for each part. The interesting part of this eclipse project is how turtle art has used shade and increment together. The shade really makes the moon look like it is in solar eclipse giving it more credits for being artistic. In result, the “eclipse” has used increments, parameter patterns, and randomness to make a project.


The second turtle art I used is “Peaks.” In peaks, there are a lot more advanced coding skills involved to make this project. There is definitely a parameter pattern because there are numbers stored in each box, 3 hat blocks named peak, sun, Pcolor, and peaks; peak block is the most in use in this block of code. In this project, there is also setH which sets the angle of the turtle to go. There are many iterations used in this project, which are shown from the repeat blocks used. The decrementing pattern was another essential piece of code that was really important. This way mountains were formed and it actually looked like someone was in a mountain. The sequence is very organized so we can see which parts are which objects. The only thing I want to add to this project is a stickman/person so that it looks like a person is actually falling off a mountain. Personally, I think that would add a much more dramatic scene for the audience to approach.

Science and Engineering Blog Post #4: Reflect and Share






Explain how it works/doesn’t work using scientific terminology:

Regarding the science of this project, my project was a successful one. My goal was to show the potential energy of the marble changing into kinetic energy. By using the cardboard pipes, I have clearly shown this part of my project. When I held the marble, it had gravitational potential energy. As soon as I left my hands, going inside the pipes, the potential energy has changed to kinetic energy. As the marble rolled inside the tube, the gravitational potential energy was lost and transformed into kinetic energy which was the moving energy. However, along with this came with the unintended science which was related to the pulley. The force of the ball has made the lift go down with the kinetic energy. The kinetic energy inside the ball would change into potential energy once it went inside the paper cup.

Explain the areas you were successful in the product/process:

For sure I was successful with the idea of having the marble rolling through the pipes and hitting the dominoes. As we can observe from the video, The ball smoothly moved into the tubes where it didn’t stop going through the pipes and running the dominoes. This was a problem from blog post #3 where my marble got stuck because of the last tube, however, now I fixed it perfectly which makes the ball go smoothly. To repair this part, I had to break down the 3rd pipe and reglue it together so it won’t have a big blob of glue inside the tube. Another successful part was having up to 90% of the accuracy of hitting the dominoes. At first, I wasn’t sure of where I should put the dominoes, however after that, I found a place where the ball would always land, so I put my dominoes on that spot, which made a much more successful trial. Lastly, the successful part had two bamboo sticks at the start of the last row of pipes. This was one of the personal problems I solved because when I tested before, the marble would always go over the tube, so I made two bamboo sticks to ensure that the marble will go in perfectly and until now it showed a 100% of accuracy. Which was a really fantastic part of this Rube Goldberg machine.

Explain the areas you need to improve in the product/process:

There is one area where I need to improve in this project. It is the pulley part. Even though I still had the idea of the pulley, from the previous blog post, I found out I needed two cups which was a problem I already solved, however, there was another problem which I wasn’t able to answer. It was the part where as soon as the marble goes inside the paper cup, because the weight was stuck into the pipe, the pulley won’t work. The width of the cardboard pipe was too small which led the block to stay still even though the side where there was the cup is heavier. Because of this, sometimes the pulley would work and sometimes I had to use my hand to pull the pulley just like the video above.

Another problem was after the pully worked. After it worked, the marbles in the second cup would fall down and hit the dominoes which would cause a big failure. In the video, this did not happen. However a lot of times the marble would fall down and sometimes, the pulley broke down as well. Another part was regarding the size of the project. This project was massive which made me have a little supply of dominoes to reach the end of the table. Therefore for the final product video, I needed my classmate to push the dominoes so I can show what I intended to do.

If I had one more week

If I had one more week, I would first try to fix my pulley. In the end, I didn’t have enough time to plan out how I would set the lift, which resulted in me to use my hands to make it work. What I would do is use ordinary tape to make a hole only for a marble to go in. This way it would prevent the marble from spilling out of the cup. After that, I would use duck tape to stick my 2nd paper cup on to the 1st paper cup so it would stay still and not fall down. After that, I would try to get more dominoes so I would eventually hit the ball which will hit the tambourine making it an alarm.

Explain the impact of this project on the environment and potential client/consumer:

As I have changed my client/consumer to a person who needs an alarm to wake up, this will impact them in many different ways. If someone wants to wake them up either because they are late to school or work but doesn’t want to go inside the room, that person just may roll a marble and make them wake up. This way they won’t have any excuse for being late to work or school which not only is a benefit for the consumer, however also a benefit for the people in the company/school. Also, for families who have these kinds of kids, it will benefit them because they no longer have to go inside the room, which might be dirty, to wake them up. Therefore, if they only set this up, it is a win-win for everybody around them.


Science and Engineering #3: Create and Improve


The processes between the classes: By the 3rd class, I finished sticking all my pipes together and held them on to the big wooden board. This might sound like an easy task. However, it was not an easy one because there were some sawing and measuring involved while using the glue gun to stick them. While in the plan I wanted to use PVC pipes, however, there weren’t enough of them which I decided to use the cardboard pipes. During the 3rd class, there were some problems I had to encounter. The first part was the part utilizing the yoyo as a pulley. As we can see from the 2nd picture, in the cup at the bottom, there are some marbles in there. I did that because I had to make sure the weight of the block which is hung on the other side is the same as the marble+cups on the other side. To solve this problem, I used marbles to see when the block will lift off if I only used the small marbles. After that, I needed to find a way for the marble to stay still inside the cup, not falling outside whenever the cups are more massive than the block. Therefore, I wrapped around some tape so that the marbles wouldn’t fall out.

The fourth class, there was another problem with the pulley. The marble would not land inside the cup. Therefore, I started to use two cups so one would get the marble that rolls. Another problem was the last pipe at the bottom. Because the previous pipe and the 2nd previous pipe will not stick together, I had to forcefully use a lot of glue to attach them together. However, because of that, the glue inside blocked the marbles from going through the last pipe. After that, I found out that there is a problem for me when hitting the dominoes as shown in the video below the post.

For these reasons, I think the progress until the middle of my 4th class is moderate. I have investigated the problems I need and attempted to fix it which has succeeded. After my improvements, I showed to my peers and got some positive feedbacks which I am looking forward to setting it and show my gains in the last blog post of this project. My peers gave me feedback especially on the pulley system because it needs to be 100% accurate to make a marble go in. However, they complimented me on the idea of having two popsicle sticks to prevent the marble from falling down which was one of the problems I encountered. Therefore, I think the process until now is really positive.


Science Engineering Project: Develop and Plan

My Plan for the Future:

Tuesday- Work on Blog Post #1 and finish the modeled sketch. If I don’t finish this by Tuesday, I will end by Thursday.

Thursday- Final revisions of the sketched model (if needed) around 10 minutes. After that, I would start doing my project. I expect by the end of the class on Thursday, I would be done getting my materials and setting up my Rube Goldberg machine. If I have time, I will start hot gluing my parts such as the PVC pipes.

Monday-  I would finish gluing my PVC pipes and would aim to finish setting up the dominoes getting ready for my final project. This would take about the whole class. I would take photos of my prototype and work on my Blog post #3.

Wednesday- I would test the trials of my Rube Goldberg machine. If some parts need to be fixed, I will try to fix it so later it would work. After I am done the fixing, I will work on my final blog post for this project.

Friday- I will try again and see any more places to fix and then I will be done with it.


How I will put all my parts:

I will first glue my PVC pipes on to the cardboard. The cups and weights (blocks) would be connected together with the strings. The dominoes are placed with a 0.5cm distance.

The materials:

1 Cardboard box, 7 PVC pipes, 12 dominoes, 2 strings, 2 blocks, 2 paper cups, 2 toy cars.


Science Engineering Project: Define & Inquire

What is this Engineering task?

The purpose of this engineering task is to build an object that would show the transfer of energy to a particular audience. It has to look good and catches the audience’s attention.

What are you thinking of?

For my Science and Engineering project, I would like to do a project that will entertain little kids with dominoes and the Rube Goldberg machine. In other words, my main clients are office people. The plan, for now, is using the Rube Goldberg Machine to roll the ball and I will connect this to the table. When the ball hits the dominoes, after 2that, it will hit an object, which will drop into a scale letting the other car crash into a heavy object, making it drop down on top of the stapler.

What are the pros/cons?

The pros of this project are that it would do an exciting project with the purpose of showing the change of potential energy getting converted to kinetic energy.  Not only that, because there are dominoes, we can see how the energy from the ball would transfer into the dominoes which would be related to the purpose of the project. I am thinking of using a similar design as the last one but putting dominoes instead of the paper cup. Also, for workers in a company, this might be a nice tool because they don’t need to get up and staple the thing they need to. This will be a nice explanation of energy transfer as well. The potential energy in the object would convert into kinetic energy, making the ball roll and pass through the Rube Goldberg Machine, stapling the object they need to staple.

The problem of this Rube Goldberg machine is that it may be too complicated to make in the time given. Because of this, I need to find a way to simplify the device but also make it look nice. Also, I am not sure if the ball is going to hit the dominoes or not. I also have to think about whether I have enough space to make such a massive project. If I don’t have enough time and space, I would have to really reduce the size of the project, but also explaining the transfer of energy. Therefore, I think making a little bit simple project would make it more accurate. Another challenging part of this project is that I need to try putting in as many materials so the transfer isn’t too obvious. I will also need to make sure that the objects getting pushed by the dominoes are heavy enough.

What are the materials that are needed?

Materials I would need, String, Hot Glue Gun, Dominoes, paper cups, PVC pipes, 3-4 marbles, tape.

Some ideas about my project:

Robotics-Kinetic Sculptures (The Tennis Ball)

Introduction: My kinetic sculpture is my first experience of hitting the tennis ball. This is a very memorable moment because, until that time, I didn’t know how to play any sport. Making the kinetic sculpture, I have explored different tools and was able to think about the time I hit the tennis ball again.

Scratch Prototype

What is this: This is the picture of scratch which was the first step to plan and design my project. Even though the drawing may not be the best, I tried to show how the mechanics work. Different from my design right now, this one does not have the linkages because until this part of my project I had no idea on how the ties work. The movements are straightforward as the tennis racquet moves up and down and the ball goes from bottom-right to the top-left.

Challenges: The challenges for my project was coding each actor to do the actions that I wanted to them to do. I tried to make the excited motion after the tennis ball goes over the net to show my excitement to the audience. However, another problem of this motion is that I would have to use too many servos, so I decided to not include this part but only put it in scratch.

Paper Scale-Model

What is this: This is my scale model linkages for the tennis ball. After thinking through many different ways of moving the tennis ball, I have decided to use a 4 bar linkage for my tennis ball. When I push the most extended tie, the linkage on the other side will move. The motion of running the most extensive linkage would be the servo’s job. I made the scale model with a paper because I wanted an essential kind of a structure for my actual project. Even though this was a straightforward job, I have tried using 3 bar linkages and tried out through lego with some ideas from Mr. Beatty.

Challenges: As stated above from the explanation, the biggest problem was to find the best type of linkage for my tennis ball. Originally from the scratch model, I wanted to have two different movements for the tennis racquet and tennis ball. However, I found out that with the three bar linkages, the motions would be too complicated. If using a four-bar linkage, I would be able to connect the tennis ball the tennis racquet together making them move in the same direction. Another main problem I had of this linkage was planning out the where to put this linkage on the box. I first thought of putting it on the bottom. However, this would be seen from the bottom and also the ball might not move over the net. So, instead, I decided to put the linkage hanging on the top of the box. Another problem of this is that because the ball will be moving as a “U” shape, it may not trace the path just like the tennis ball. If it was the original path, it should go downwards, however using the linkage I have, it would downwards–> upwards. Other challenges were small things such as twisting the paper clip to link all the ties and finding the exact sizes so the linkages would move the way I want it to do. While exploring the linkages, I found out that not only the number of ties would affect the movement. However, the sizes also change the motions of the objects.

Adobe Illustrator File


What is this: This is my Adobe Illustrator file which is used for laser cutting. (The fun part!) First, we used to make a box of what we want. I set my dimensions as a 120mm*140mm*110mm box (width *length*height). After that, we got to design our own box using the servo cutouts. The holes on the bottom are for the base to fit in the bottom. We needed the servo cutouts for us to connect the servos which were mentioned from the second step. I made some more holes on the top because I decided to put the ball hanging on the top from the previous steps. There are 7 parts in total because 2 parts on the top-right corner would be for the top part of the box. One has a hole, and one has nothing changed. This is because I have to put the bigger one on top of the smaller one which is the one with the holes and servo cutouts. Other than that, I have other parts such as the “stick man,” tennis racquet, ball, and net.

Challenges: The challenge I had was making the smaller parts. The box was straightforward because it was only using the website and the cutouts that I was given. However, for the smaller pieces, I had to draw it by myself. The net was primarily the hardest because when I drew my net, at first, it wouldn’t fit through the holes I have for the bottom part of my box. Therefore, I had to redraw my net and do draw out the squares again with the arranged measurement. Another challenge was the tennis racquet. At first, I drew all the lines, however as I transformed it, the segments would overlap each other. After that, I decided to delete some of the lines, however, because I drew it with a paintbrush, the paths were so messed up, so I had to laser cut again. Finally, I have erased my idea of lines and decided to use paint is, so I only cut out the border of my tennis racquet.

Fusion 360

What is this: This is the scale prototype that I made with Fusion 360. From the picture, I can see I have made the joints, and I had used about 4 classes to make this box. Throughout my project, I had trials and errors, as of making wrong dimensions for the box. At first, I was thinking of having my sizes bigger such as 300*220*300. However, I found out that this would be too big for just a little amount of parts to the project. The reason why this project took a long time is that I had to make sure every part and every joint was correct. From this project, unlike the ones I showed from the Adobe Illustrator, we are not able to see the servo cutouts. With that, this model would be much more accurate.

Challenges: For this piece of the project, I had to face small but complicated problems. When I started to join all the parts together because the joints were a line segment rather than a flat surface, it was hard to get them all in line. Because of that reason, it took me a long time to join all the boxes. Another problem I had was the lid. From the scale-model, I observed that the top part of the box would go in between the sides making it impossible stay right on top of the box. At this point in my project, I wasn’t able to solve this problem, however, when I made the Actual Prototype, there was a solution to it.

Actual Prototype

What is this: This is my actual prototype for the end of the semester. From observation, we can see that it is not finished. However, I think I have achieved a lot by reflecting from several previous steps. Even though there aren’t any servos or mechanical gears, I have fixed 90% of the problems I had from the earlier stages. I have attached the lid by having another piece of plastic by using the laser cutter and then placing it on the bottom of the top part of my project so that my top would look like it is staying free on the air. I still haven’t put the linkages in the box. However, I have all the parts needed for my project to be done. For now, I am looking forward to finishing this project during the computer science course which I would be taking next semester.

Challenges: There were several problems I had faced making my prototype. The first one was the tennis racquet and the ball. Since my project is about the first time play tennis, essential parts I need are the tennis racquet, tennis ball, and myself. However, two of my essential parts either broke or disappeared. My tennis racquet’s path kept on getting messed up, and because my tennis ball went missing, I had to redo it but didn’t find the one I was going to use. The biggest challenge I faced for my actual prototype is trying to make the top part of my box stay in mid-air which was needed because I will need to hang my tennis ball and make sure it won’t fall down. If I don’t have my lid, my whole project and linkages will not work. Other than that, my challenge was the time. Since I took too much time thinking about my tennis ball linkages, I didn’t have enough time to make the finished product, and with the given time, it is barely possible to make my finished product. This was an unfortunate part of this year’s robotics course.