LittleFe and More Parallel Computing
We learned how to use LittleFe, a parallel computer, this week, which was very exciting!
During the previous week, we had to install some software in order to use LittleFe. After doing that,
we learned some commands in Linux, such as to navigate directories, run commands, and more. We ran a program called
GalaxSee, which showed a model of many stars. Once we ran the command, we could see on Aaron's screen all the users that were
using LittleFe, as well as how much memory or cores each user was taking up, which I thought was very interesting.
After that, we learned what to do in order to have each user "take turns" when running a program on LittleFe. Overall,
I thought this week's new experiences were very fun and intriguing.
We started learning about parallel computing this week. We went over some video lessons about the basic, and then did some activities
related to parallel computing. I'm excited to discover some more cool applications of parallel computing.
Group Project Presentation Week
We spent the morning finishing up our project and preparing the presentation. We also tested out Google Meet.
In the afternoon, everybody presented their group project. Our presentation went smoothly, although there seemed to be
some small issues with our model that we didn't encounter when testing. This taught us to do more thorough testing and debugging
Group Project Week 2
We continued working on our group project. In the past week, we focused on adding in elastic collisions with our model.
This involved some physics research with the conservations of energy and conservation of momentum. We also started
adding in more features to our model, including user inputs. We spent a lot of time debugging our code as well.
I worked on the group project at home with Saiesh. We planned our project, which was a gas law model.
We decided to allow the user change parameters of the model, like the canvas size and number of particles.
We worked on the boucing particles program even more this week. Today, we started making the particle bounce arround.
We were able to do this using if-then statements. Also, we learned how to use for loops to put multiple balls on the canvas and have
all of them move around.
We were also introduced to our second group project today. I am excited to come up with an idea with my partner for it, and I also look
forward to continuing to work on the bouncing particles model to add the collisions between particles feature.
We continued working on our bouncing particles models
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
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
I learned how to set up a webpage, create a canvas, and draw
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
Group Project Day 3 and Presentations!
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
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.
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.
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
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
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
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?"
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.
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!