Projects From Summer 2020
Last Day of Shodor
Today was my last day of the Shodor Apprenticeship Program. I spent the morning finishing projects, and after lunch, I presented my projects. This went way better than I was expecting. I was dreading presenting, but ended up not having any problems at all. I felt that my presentation went really well and it made me a lot more confident in my ability to speak in front of people. I will really miss being a Shodor Apprentice.
Agent Model Finished!
Today I worked extensively on my modeling project. I added some
finishing touches to my system model, then went on to work on my
agent model. My agent model turned out to be way more interesting
than I expected. I figured out that trees cannot sustain themselves
on just rain water. Not satisfied, I created a second model to see
how much water would be needed to sustain a forest. I came up with
250 gallons of water per week!
Tying Up Loose Ends
Today I added some final polishes to my inkscape projects. I
cropped the images to the right size, and added them to my
website. I added a description to each project and styled it
nicely. I also revised my project plan to reflect the new direction
that I am heading. This went really well, and I think my modeles will
be more helpful than ever.
Today I worked extensively with inkscape. I got alot
done, and finished almost all of my inkscape projects. It
was quite fun, once I really understood how to do everything
in Inkscape, I was able to be really creative and make what
I wanted. My favorite thing that I made was my favicon. It is
a rocket; it turned out really well, and I like how I shaded
the fire coming out of the engine. I also worked a bit on my
agent model, but it kept crashing for some reason. So I couldn't
get really far.
Working On The Modeling Project
Today, I spent the bulk of my day working on my modeling
project. It went really well, and I almost finished my system
model. I also got a good bit done on my agent model, but may
have hit a roadblock. I have decided to change my modeling
project slightly; instead of modeling both pollution and water
usage, I will just focus on modeling how trees react to drought
in their environments.
Scalable Website From Scratch
Today I built a responsive, scalable website using just HTML and
CSS. This was really fun and cool because I have already built a
scalable website using bootstrap, and it was interesting setting
the differences. I also watched the project presentations today.
They were really cool, and I was amazed by the variety of all the
projects and how pisces of code were implemented.
A Refresher in Vensim
I spent all of today working on my modeling project. The first
half of today I was not super productive. I was very rusty with
vensim so I was just trying to figure out what to do. Lucky Ernie
came to my rescue and refreshed my memory on how to work with
vensim. He also helped me think through a robust foundation for
my model. I spent the second half of today working on my agent
model. This went A lot better, and I got a lot more done.
Trees and Turtles
Today I worked extensively with Gimp and my model. In gimp, I
learned how to select specific objects with the fuzzy select tool.
Using this tool, I photoshopped a herd of turtles into a nebula.
This project was quite fun, and I look forward to making more things
I spent the rest of today working on my model. I was trying to
figure out a way to use the trend of how trees use water through
their growing season. This did not go well. I soon realized that
I was way, way over complicating it. This model’s purpose is to
visualize a complicated topic to the user, not perfectly model
it to the point where the user needs a biology degree to understand it.
Gimp and Inkscape
Today I worked with the graphic design tools Gimp and Inkscape. Gimp
is a photo editing software. Although I have worked with it a bit
before shodor, all of the material was new. I like gimp quite a lot;
It is fun messing around with different pictures and making your one
thing. I am completely new to inkscape, so it was fun learning
something new. Personally I prefer Gimp, probably because I have
used it more and feel much more comfortable with it.
Trees and Pollution
Today was my first day of block 4. I spent the first half of today
reaching for my modeling project. The topic I was researching was how
trees are affected by pollution. It was really cool reading the scientific
studies. What surprised me the most was the amount of water trees use.
I know that the process of photosynthesis required a lot of water, but
I didn't realise that in the summer, many trees can use over a tonne of
water in a single day!
End of block 3
Today was great. In the morning I finished all of my projects with
time to spair. I feel that this block I managed my time really well,
and I am really happy with how all my projects turned out. In the
afternoon, we watched some people present their projects. It was
really cool and inspiring to see what people have donel; it made me
really excited for block 4.
Polishing my Website and Sharonda’s Project
I got a ton done today. For the first three quarters of the day, I
went through, implemented my new styling to all my projects and checked
for bugs, spelling issues, and anything else that wasn't supposed to be
there for the quality assurance document. This was really fun and I felt
really predictive. Although there are still some parts of my website that
I need to look over, I got a bulk of the hard work done. I spent the third
quarter of today watching Sharonda’s project. I really liked her website.
The idea of having a picture as the background is really cool.
Today, I finished My dice database project. It was mostly
finished, but I still needed to display the old data back to
the user. This took way way longer than I anticipated. I
expected it to take the first half of the day tops, but it
ended up taking the whole day. This was mostly because I
forgot about the demo where we did this before, and did it
a completely different way, which didn't work for my application.
Although today was not necessarily as productive as I hoped, I
learned a valuable lesson: look back to old projects to get
inspiration for new projects.
Resume writing and New Website Implementation
I spent the first half of today learning about resume writing.
This was incredibly informative and fun. I spent the second half of
today implementing my new Website. My new website turned out great.
I really love how it looks on both pc and mobile.
New Website Almost Finished
Today I worked extensively on my new website. I added almost all my blog posts, I added
all my projects, and I added my about page. This went quite well. Besides having trouble
with chrome cashing past versions of my css, I had no problems. Tomorrow, I should be
able to clean up any remaining bugs and then post my new website to the public!!!
Friday At Last
Today we finished up our integration of php and sql. The website was fully functional,
and sent all of its data back to the database. Then we got to do the same thing, except
with different variables. This was really fun and intuitive, and I feel that I really
grasped the concept. Today really felt like a friday, I struggled to stay focused on the
project at hand, and ended up not getting anywhere near as much done as i would like.
Although this week was fun, I am really glad it is friday.
Website Coming Together and Intro Into Using Php for Databases
I spent the first part of today plugging away at my website. I made it look a lot better on
my phone, while also getting the button filter to work. Cyberduck finally stopped working,
refusing to upload files, or allowing me to switch text editors. I changed to FileZilla,
which besides its gimmicks is super intuitive, showing me the whole file structure of both
my server space, and my pc. After lunch, we began lining a website with our mySQL database.
This was not terribly difficult, but tricky. Although I wasn't able to get through it
without errors, I think I understand the concept of how it works, and I look forward to
tomorrow where we get to work more with PHP and SQL.
Success With Bootstrap!!
I devoted all of today to working on my new website and learning about Bootstrap.
I was super successful, and after some trial and error I stumbled upon a layout that I
think looks really good. Then, I began adding all the other parts of my website. I came
up with a way to filter my blog posts into which season they were written in using a
switch case in php, and I was just about to get a nice styling for some buttons, when
cyberduck gave out. Luckly, it was already 4:30, so I was able to just go to other things,
but Cyberduck is still not working.
Dive Into SQL and Intro to Bootstrap
We started today off by planning for our new database. Ernie used pencil and paper
while we directd him what to do. Then we built about 60% of the database together,
breaking and giving us the opportunity to test out our skills ourselves finishing the last
40%. Once I finished, I did what was left of my Sql Syntax guide. Finally, I began
researching bootstrap. I was really overwhelmed, not even knowing what to download,
but after watching and reading lots of resources, I settled on working with Bootstrap
4 and going with the tutorial that w3 schools provided. Although I still am a little
overwhelmed by Bootstrap, I think I know enough to keep on moving.
Intro into SQL
Today we were introduced to SQL and datasheets. SQL is a programming language
that is used for dealing with data from datasheets. I found it surprisingly intuitive, with
the most trouble I had being constantly typing PHP instead of SQL. I really look
forward to learning more SQL, it seems super useful and powerful, and I can think of
a lot of interesting and fun applications for it.
End of My First Block of the Summer Apprenticeship Program
Today was just a work day to get everything finished. I was really glad it was friday
because I was beginning to feel kind of burnt out. Luckly, I only had two projects left
to finish, unfortunately, they both took way longer than I had anticipated. I really
rushed with my dynamic web page demo and therefore made some mistakes and
oversights which made debugging the css take way longer than it should have. I was
also super rusty with css which only made everything take longer. Finally, with Ernie’s
help I was able to fix almost everything, and make the website usable. My seccon
project was my programming concepts Syntax Guide; it just took a while, I don't
even know why. Luckly, I should be able to finish the last two projects in about an
hour and a half, so I am not too worried.
Everything is Coming Together
Today we had a work day. I finished all but two of my projects, both of which will
take minimal work to complete. I spent the majority of my day working on my
Programming Concepts Syntax guide, which is taking longer than I would like it to.
I also finished thinking out and planning my new website which I am very excited about.
Wrapping up loose ends
I spent today finishing the projects that I had started. First, I finished all of Krista’s
projects by adding finishing html touches and css, then I went through the rest of my
code, finished it, and made it presentable. I really felt the 80 20 rule. Fixing wired bugs
and making everything look good took so long! But all in all, today was really productive
Today we had a work day. I worked on a project which was a website which employed
cookies to remember user inputs. This project went really well, although researching
cookies took way longer than I expected. Cookies seem really cool, and they have a lot of
potential to make my work even better. I hope to learn more about them in the future. An
unexpected consequence of reaching and working cookies all day though, is now I really
want to eat cookies.
Technical Difficulties and Renderable Web Pages
Today was a textbook Monday. In the morning I woke up, had breakfast, got on my
computer only to find a forced windows update and a network connection failure because
of this, I was 15 minutes late for this morning’s meeting. Petition for windows to have a
live kernel? Today we talked about rendered web pages. With a rendered web page, all the
HTML is “rendered” in with PHP. Because I missed the intro to today's lesson, I was
rather confused for a majority of the first half of the day, but during lunch, I did some
reading, and watching up of what rendered web pages are, and those cleared up many
of my questions. Still, it wasn't until about the final hour and a half that I felt really in my
Dynamic Web Pages
Today we learned how to make dynamic web pages. We also were given a ton of time
to work on our projects.
I finished a lot of projects, and learned a lot. Although I am very thankful it is friday, I am
excited for monday too.
Today was great. We learned about forms and how to use them. An HTML form is how
you send data back to your code to collect data from the user. Forms are useful to ask the
user how many times to do something, or to personalize the web page.
I got so much done; I completed my coin flip model, went as far as I could on my hex
code model, and got lile 90% of the way on my dice roll model. I am excited to work even
more on the models.
Today was the day that I felt in the grove. Yesterday and the day before that I felt a little out of
were able to really work with PHP by making a coin flip model. I got like ¾ of the way through my
programming syntax guide, and got a god handle of how PHP works. Finally, I got a really good
vision of how I want my website to look.
Today we had a work day. I was able to devote all my time to working on projects. The two
projects that I worked on were my programming concepts syntax guide, and planning out the final
phase of my website. I spent all of the first half of the day working on the programming concepts
syntax guide. The programming syntax hutde was wired. I knew what modesty of the things ment
their proper syntax was. I found that this soon became a little pedantic and boring but I kept working
through it. After lunch, to give myself a break, I began to brainstorm what I wanted my new website
to look like and function. I read a few articles on good web design practices and got a few ideas.
Today was my first day of the summer portion of shodor; it was
really fun. We started by going through a programming concepts
syntax gurde to refresh ourselves. I found this a good refresher
they are very different languages. After lunch we got introduced
to PHP. My first impressions of PHP were good, and I found it to
very seamlessly integrate with HTML. I am really excited to work
more with PHP.
Projects From Spring 2020
Final Meeting of the Spring Semester
Today we had our final meeting of the spring semester. Even
though this was our last day, we covered a lot of ground. We ran
programs on LittleFe, and even wrote a bit of code! My favorite
part though was using a command line for navigation. I found it
really cool how I could do everything simply from a keyboard, and
really want to learn more about how to navigate a command line.
Today we started our block in parallel computing. We learned
about the strengths of parallel computers as well as their
different applications. I was really fascinated by how many
applications there were for parallel computers and how superior
they are to serial computers. I really liked how well today’s
session worked on a virtual setting and am really looking
forward to meeting again next week.
Group Project Presentations
Today we presented our projects. My partner and I were able to
finish the model and the website time to see what other people
have done. There were many really interesting models. I was
blown away by the variety of models people chose to do and
was pleasantly surprised about how well the presentations
Group Project Week 2
Today my partner and I worked on finishing our project. We got
pretty far. We both took turns coding, brainstorming, and working
on the website. Communication we really hard; which made taking
turns programming extremely difficult. Luckily, we were able to
overcome this and get a lot done.
Begining of Group Projects
Today we worked on our group projects remotely. My partner and I
talked through google hangouts and used a program called glitch to
code. This method of working remotely worked a lot better than I
The project that we chose was modeling the human immune system. The
model consisted of particles bouncing around a canvas, when certain
particles interacted with each other, different things would happen.
programming languages was a lot harder than previous projects, but
not impossible. I look forward to working on it again with my partner.
End of Programing Concepts
Today we wrapped up our block in programming concepts and
transitioned to group projects. While wrapping up programing
concepts we learned about loops, and if statements. I am really
excited to learn about loops because before this I knew little about
how to use them and I had no idea when I should use a for loop or
use a setInterval.
We began to transition to group projects. For this project, myz
partner and I will build a model of something using the template
that we made during our programming concepts block.
Programming Concepts Week Two
Today we continued our journey learning programming concepts. We
confident in my ability to work with it.
I really appreciate how we are learning all of these concepts
working on a project that requires C programming, and all of the
concepts have transferred, just with different syntax.
I am excited to learn even more about programming languages and am
looking forward to the group projects.
Introductory to Programing Concepts
Today, we started our journey into programming concepts.
Instead of specializing in one specific programming language,
we will set a solid foundation from which we can learn any other
programming languages. We will learn many of these concepts in
and it integrates well with HTML and CSS. Today we really
forward to becoming more proficient with programming.
Projects From Fall 2019
Group Project Presentations
Today, we all presented the projects that we had been working on
over the past few weeks. The presentations were really
interesting. I thought it was cool to see how so many people
took the same idea and executed it in so many ways. My
presentation did not go as well as I had hoped; I got
really nervous and skipped many points and all around talked
way too fast. I look forward to having another chance to work
on a group project. It was super fun using the information that
we have learned from past workshops on a final project.
Group Project Week Two
During my second week, I worked on refining my model. Although
all of the stories that I had written and put into Agent Cubes
online, there was still a lot to do. I had to do a lot of
balancing because the sharks kept killing all the minnows within
the first few seconds of the model running. This was really
hard; I had no idea how to make the sharks die. Also, I
needed to add real data into my model which was really hard
because the model just didn’t work. It was really really hard
figuring out how to make my model both accurate and
balanced. I finally came to the realization that it would
work if I had a world with an 8800 cube area; containing
about 500 krill, 500 minnows, and 200 sharks just to start
off of. Needless to say, I was asking too much of my mac;
after two crashes where I had to restart chrome, I tried a
smaller model. Unfortunately, a smaller world didn’t work in
the start, either the sharks or the minnows would die out
because there was no room for their numbers to grow, and the
krill would overtake everything in the end.
Finally, I decided to delete the krill; they added one more
layer of complexity, that neither I nor the computer could
handle. The model worked a lot better when I removed the
krill, and after only about 20 minutes of balancing, it
worked. It took a lot longer optimizing the model and making
it work all the time, but when I got it to work, it worked
Most of this project was pretty easy, bit parts of it were
really hard. I didn’t entirely know the capabilities of
Agent Cubes online, so that made making the model
considerably harder. For the most part, this was really fun
and I look forward to doing another group project.
Group Project Week One
Today we worked on our group projects. My partner and I worked on
creating a predator-prey model with Agent Cubes online. We decided
to make this model about sharks and minnows. We began by writing a
simple story to base the model off of. The story was: sharks and
minnows live in a pond. When the sharks encounter the minnows,
the minnows disappear. This was a very simple model that we were
quickly able to put into Agent Cubes Online.
We then wrote three more stories, each getting more complicated.
The stories were: sharks and minnows live in a pond. When the
sharks encounter the minnows, the minnows disappear. Randomly,
when two minnows encounter each other, another minnow is
created. Randomly, when two sharks encounter each other, another
shark is created.
Sharks and minnows live in a sea. When the sharks encounter the
minnows, the minnows disappear. According to a birth fraction,
when two minnows encounter each other, another minnow is created.
According to another birth fraction, when two sharks encounter
each other, another shark is created. The minnow birth fraction is
slidable with a slide bar, whereas the shark birth fraction is
directly reliant on the number of minnows that are being consumed.
Also, a counter is added.
Sharks, minnows, and krill live in a sea. When the sharks encounter
the minnows, the minnows disappear. When a minnow encounters
krill, the krill disappears. According to a birth fraction, when
two minnows encounter each other, another minnow is created.
According to another birth fraction, when two sharks encounter
each other, another shark is created. The minnow birth fraction is
relevant to how many krill are being consumed. The shark birth
fraction is directly reliant on the number of minnows that are
We finished the third story right as it was time to leave.
Currently, our model is working great; the only problem is that
both the sharks and the krill tend to take over exponentially. We
need to add a lifetime for all the animals.
I really enjoyed working on this project; it was a lot of fun being
able to work with your own ideas. I look forward to having more
time to work with my partner next week.
Agent Cubes online
Today we learned how to work with Agent Cubes online. Dr. Panoff
started the day by reviewing what we have talked about already and
then previewing what we will talk about over the next few weeks.
This lecture was really interesting and I really enjoyed it. We
talked about how we could make a more complicated model in Vensim
PLE using multiple level boxes. We then talked about how important
it was to make all of our work dynamic, visual, and interactive.
We moved on to a different type of modeling called agent modeling.
We learned how to use a program to make these models called Agent
Cubes online. Agent Cubes online is a very graphical modeling
tool that was originally developed for elementary students to
make games on. Our first project was an infection model. There was
one sick person, and a handful of healthy people; when they
touched a healthy person, the healthy person became sick. Both the
healthy and sick people were represented by different colored squares
that move around a grid. We were then able to insert a rudimentary
graph and doctors that healed the sick people. We made it so that
we could move the doctors around with our arrow keys, making the
model into a little game.
This was a great introduction to Agent Cubes online. As of now, I
am not a huge fan of Agent Cubes online. I feel that more can be
learned from looking at a Vensim diagram than an Agent Cubes
module. Also looking at a bunch of little spots moving made me
seasick after a while. I really enjoy hearing Dr. Panoff talk, he
seems like a very knowledgeable person, and I look forward to
getting to know him better.
Rabbits and fermium
Today we worked on modeling with Vensim PLE. We went way more
in-depth this time. We started out conceptualizing our modules on
paper, then we moved them on to VensIm PLE. This gave me a deeper
understanding of how Vensim PLE worked. We first mapped how the
population of Durham would grow linearly, 20 people a day. Then
we worked with modeling a system of something decreasing; the
temperature of a room decreasing by 2 degrees every hour. Next, we
worked with a more complicated model of fermium decaying. The
fermium decayed at a rate of 20% so in order for Vensim to
calculate how much fermium deteriorated, it had the know the whole
amount of fermium. The simulation became harder and came to
resemble the model that we had done earlier with rabbits.
Now we were armed with the skills necessary for tackling a more
complicated model. To better understand the rabbit population
growth, we made a second model from a different perspective
instead of giving our model competition, we gave it a carrying
capacity. When the population nears the capacity, it begins to
decline. When this simulation was finished, we saw an interesting
correlation between the model with the competition restraint and
the model with the carrying capacity restraint. The sum of the
frequency of competition and the carrying capacity always equaled
1 when the population trajectory was the same.
This was a great way to learn Vensim PLE. I was given my own time
to figure out many of the things myself. Last class, we set a firm
foundation, and this class we built from there. I feel very capable
working with Vensim PLE now.
Introduction to Modeling and Semantics
Dr. Panoff introduced us to the concept of modeling by giving us
two different objects: a ball, and a straw. Then we had to give
examples of what we could model with our hands, the straw, and the
ball. We could use these objects to model almost anything.
To introduce us to modeling, we wrote a program in Microsoft excel.
This program modeled how heat is dissipated in a poorly insulated
room. This project was really interesting and surprisingly simple.
As an introduction to semantics, we looked at this really simple
problem: HAVE=HAD+CHANGE. What we have now is what we had plus
what changed. This is a really interesting statement that can be
applied to many things. We applied the statement HAVE=HAD+CHANGE
to a problem depicting the population growth of rabbits.
ΔR/ΔT=B*R; change in rabbit population over a rabbit’s gestation
period equals the total number of rabbits times birth fraction.
With normal settings, computers do not like to do these problems
because the problems change depending on the answer. In order to
do this problem in Microsoft Excel, we had to change some settings
to trick the computer into thinking it was doing a normal problem.
This was not a realistic model of how rabbit population works
though; in reality, there is something eating the rabbits, and
some rabbits die of starvation.
We then modified the problem to be this:
ΔR/ ΔT=(B*R-C*(R*(R-1)/2))*ΔT. This problem had the simple growth
equation but also had an equation that removes one rabbit when two
rabbits meet. How often something happens is C in the equation.
We looked at this same model in multiple pieces of software. We
looked at a more in-depth model of the rabbit population with graphs
and sliders. Then we drew this same equation in sim PLE. In
conclusion, this was a great learning experience and a helpful
introduction to modeling.
Today we talked about numerics. We looked at how computers register
numbers. Computers register numbers very differently than we do.
Even calculators do not register numbers the same way that humans
register them. Most computers can only register fractions that are
the negative exponent of 2. This causes some problems. To
highlight this, Dr. Panoff had us write down some simple equations
in Microsoft Excel. The first problem that we did was
3/6-1/6-1/6; the answer we got was 0, as expected. Next, we wrote
a simple program to tell Microsoft Excel not to lie to us. To our
surprise, Microsoft excel told us the difference of 3/6-1/6/-1/6
was greater than zero. To investigate more, we wrote ⅙ and made
Microsoft Excel turn it into a decimal. It appeared that
Microsoft Excel had rounded 1/6 up. If this was the case though,
the answer to the problem 3/6-1/6-1/6 would have been negative.
The computer could register 3/6 as 1/2, but had to approximate
the actual decimal equivalent of 1/6. This means that the
computer said it rounded up, but in truth, it just truncated the
decimal for 1/6.
Still suspicious that we had not found everything we decided to
check how well Microsoft Excell could handle whole numbers. For the
first problem, we subtracted Advagadro’s number by one. The answer
was 6.022e+23. Next we tried multiplying Avogadro's number by 10
then 100 then 1000. The Microsoft Excell still gave us Avogadro's
number unchanged until we subtracted a hundred million from
Avogadro's number. This is called resolution. Many computer programs
will ignore small numbers when they are being added or subtracted
to really big numbers.
Office Ethics and How you Know
Saturday was fun. We talked about office ethics. The speaker, Rob,
was very entertaining and kept my attention on what would
otherwise be a boring subject. Ron seems like a really interesting
person, and I look forward to getting to know him.
Dr. Panoff's lecture was really cool and interesting. The lecture
was about how you know things and the actual definitions of words
that seem like their definitions are synonymous. To demonstrate
that there is inherent uncertainty on the internet, Dr. Panoff
asked us to find 3 arbitrary facts and write them on an excel
document. The first fact was the current population of D.C. The
second fact was the mass of Pluto. The third fact was the boiling
point of radium. Dr. Panoff told us to search either the internet
or the library at Shodor for the answers to the questions.
Everybody searched the internet for the answers to the questions.
I expected the question about the population of D.C. and the mass
of Pluto to differ because there are multiple ways the measure
both population and the weight of planets. Surprisingly, all of
the answers differed greatly. The answers to the boiling point of
radium differed by 50%!
My First Day at Shodor
I really enjoyed my first day at the Shodor Aparenticeship
Program. The Shodor Aprentice Program seems like it will be a lot
of work, but very fun and rewarding. I am looking forward to
makeing more friends within the program.
My first day was hard in a good way. I thought that what Dr.
Panoff said about the scientific method was realy interesting.
Working through Cyberduck and setting up my blog was fun, but I
realized that I need to get faster at typing. I have learned so
much about HTML just by writing this blog!