2019-2020 Ben's Blog

More Javascript

2/15/2019

We continued working on our bouncing particles models with Javascript. This week, we learned about variables in Javascript, which were helpful since we didn't have to retype many things and could easily modify values by changing the variable's value in one place. I learned how to create functions as well, which were helpful if we needed to perform the same process multiple times.

I also learned how to add button elements. The two buttons that we added were step and reset. The step button caused the particle to move, and the reset button caused a new particle to be created. Overall, I learned a lot more about Javascript this week, and I look forward to making more progress on the bouncing particles model. I'm excited to add more particles and make the particles interact with each other.

First Day of the Spring Session

2/8/2019

This week, we started a new unit to learn Javascript. I learned how to set up a webpage, create a canvas, and draw a circle in the canvas with Javascript.

We are starting a model with balls that move and bounce around in the canvas. I also learned about general programming practices, which was very helpful, especially the process I learned to back up my progress by using a trunk file. I'm excited to be back at Shodor, and I look forward to learning about Javascript, which I have not done before.

Group Project Day 3 and Presentations!

12/21/2019

We made our finishing touches for our project! We also finished creating our website as well. We added some style elements and colors. Also, we prepared for our presentation and planned who was going to talk about which part of the project.

After lunch, it was time for the presentations. It was really interesting to see the different topics and ideas that people chose for their projects. Different groups chose to model different fields, including ecosystems, businesses, and the economy. I think our presentation went pretty smoothly, and we covered all of our main points and showed both of our models. Overall, this group project was very enriching, and I learned a lot about modeling from it.

Group Project Day 2

12/14/2019

Today, Zach and I continued to work on our group project. We began to create the VenSim model based on our ideas for the Agent Cubes model. We ran into several issues, like the populations going to infinity or becoming negative, but after many adjustments, we fixed these problems. Our graphs were similar to our expectations. We also worked together on the Agent Cubes model and began creating and formatting our website. We adjusted some factors to make the model more realistic. It was fun to be able to work independently on a topic of our choice.

Group Project

12/7/2019

I did not make it to the apprentice meeting this Saturday since I was on a debate trip, but I watched the video recording of the meeting afterwards, which got us started on the group project. I also contacted my partner about what he completed during the meeting so I could catch up with our project. I worked on our planning, including planning out the VenSim model, and I also looked at the Agent Cubes model that my partner had started to help with planning the VenSim model.

Agent Cubes

11/23/2019

This week, we explored a new software for creating models: Agent Cubes. We created a model for healthy and sick people, gradually adding more and more features to make the model more realistic. For example, at first, we started out with only healthy and sick people. Later on, we added doctors. I thought that it was very interesting to see the process by which an infection spread, especially the speed at which the infection spread. We learned the different commands that could be used to program the different objects in Agent Cubes.

We were also introduced to our first group project, in which we use both VenSim and Agent Cubes to model a situation, such as a predator-prey model or healthy-sick model. My partner and I decided to create a predator-prey model. I think this project will have much room for creativity and allow us to challenge ourselves and apply the skills that we have learned towards a model of our choice. I'm excited to continue working on this project.

System Dynamics Modeling

11/16/2019

I was unable to make it to the apprentice meeting this Saturday because of a math event, but I still learned a lot from the video recording of the meeting. I learned more about modeling in VenSim. We continued by exploring several other models, including a model of a population of Durham, a temperature model, and an extension of the rabbit population model. Through these models, I learned the effect of the equations on the graph representing the model, and I learned some new equations, such as equations relating to carrying capacity. It was cool to learn that we could match the competition value to the carrying capacity to determine which competition values corresponded with which carrying capacity.

One thing I found especially helpful that I previously underestimated was planning the VenSim models. Once I planned the VenSim models, with their equations and diagrams, actually implementing the model in VenSim was very easy and efficient. I look forward to trying out this method more in the future.

Modeling in Excel and VenSim

11/9/2019

We first brainstormed some ideas on how different objects could be used as models. It was interesting to see the different approaches people took when deciding what a hand, ball, straw, and rope could be used to model. After that, we learned how to do some more coding in Excel. We used the skills we learned to make several stochastic models of coin flipping, dice rolling, and more. I learned how to find the properties of the data in a column, allowing me to display how many heads or tails there were, or how much each number on a die was rolled. As expected, the number of tails was approximately equal to the number of heads, and the numbers of times each number on a die was rolled were also close together.

Following, we learned about recursive models. We used this to create a model of heat spreading, where the value of each cell was the average of the values of the cells on each of the 4 sides. Assigning colors to a range of values, a cool looking model was produced. We also created a recursive model using equations for population growth for rabbits. It was interesting to learn how similar equations can apply to many situations. We transitioned to VenSim, where we learned how to use its basic tools to define variables, set equations, etc.. We learned how to create a dynamic model of a rabbit population with predators introduced. We displayed the model on a graph and could adjust slider bars to see how the growth rate and carrying capacity changed. I learned a lot this week and hope to learn more about different ways to model/types of models in the future!

Numerics and More

10/26/2019

We first went over the different codes of ethics. I though it was interesting to see some of their similarities and differences. Next, we learned about algorithms through several puzzle games, including Sudoku, Mastermind, and a decoding puzzle. I thought it was very cool how we were able to systematically solve some complicated problems.

After lunch, we learned about numerics, and how computers perform calculations differently compared to humans. We learned some basic coding in Microsoft Excel. I also learned about how Microsoft Excel "lies to me," and once we made it tell the truth, we saw that the calculations were actually different by a tiny fraction. By rearranging the numbers in a calculation, or by adding parentheses, I could slightly change the result that the computer calculated.

Office Ethics and "How do you know?"

10/19/2019

After Dr. Panoff reviewed the article about the key skills needed, we had a guest speaker, Ron, who is also my mentor. Although his first presentation was engaging, overall it was not professional and showed some examples of what not to do. Ron then told us about the proper ways to interact and communicate in an office environment, which I found helpful. I enjoyed the skits that showed both good and bad examples. Later, I had my first meeting with Ron.

Next, Dr. Panoff taught us about different vocabulary words relating to the process of expectation, observation, and reflection. We learned about the differences between error and uncertainty, convention and definition, and more. It was interesting to see how different sources had different information for the mass of Pluto, population of Washington D.C., and boiling point of radium. Some of these differences could be due to uncertainty, while others could be caused by error (e.g. populations of different groups in Washington D.C. didn't add up to the total population). This activity definitely opened my eyes and taught me not to just accept the first measurement or answer that I find. My favorite part of this week's class was the card demonstrations. I'm still not sure as to how they work, but I'm interested in learning them and showing them to my family and friends.

First Class!

10/12/2019

After we introduced ourselves, Dr. Panoff provided some detailed information about the apprenticeship program. It was interesting to find out the origin of Shodor and the areas that it specializes in. I found petascale computing very interesting, as I have not learned about it before. We then received our account information and changed our passwords. Following, Ernie went through the apprenticeship handbook with us, and we also went on a tour of the building. A lot of the handbook rules were important for us to know about.

Afterwards, we began to set up SFTP connections with CyberDuck, as well as our apprentice websites. Using TextWrangler, we were able to add files to and edit our own website, which I thought was very cool. Finally, we completed our reflection. I enjoyed this first session and got to meet new people, and I'm looking forward to learning more and doing projects in the future!