Last Day of the Summer Apprenticeship Program!
July 31st was my last day of the summer block and of the Shodor apprenticeship.
In the morning we had a little bit of work time which I used to check up on my projects
and practice for my presentation. After lunch, I presented a few of my summer projects,
including my portfolio website, some of my logos, my modeling project, and my libararies.
I also got to watch a few of the other apprentices present their projects. Overall
I really enjoyed the summer blocks and the apprenticeship in general and I learned
a lot of new topics such as databases and using PHP. Shodor was a great experience
and definitely very valuable and rewarding.
July 30th was my second to last day of my Shodor apprenticeship. In the
morning, we had Levi talk to us about internships. He gave us some good tips about
how to be successful in the Shodor internship and also some tips for general internships
and interviews. During work time, I added some changes to my portfolio website and
practiced/planned for my presentation tomorrow. At the end of the day, we got
to watch Sharonda's presentation early. I found her Excel model of worker productivity
really interesting and in-depth, and I also liked some of her Inkscape logos.
Another Work Day
On July 29th, we had a another work day. I had already finished basically
all of my projects, so I didn't really have a lot to do. I did a few more
checks for quality assurance on my portfolio website. I also added my ER
diagram for the dice rolling database to my code document. Finally, I removed
Adminer from my public.html since I had finished with my database projects. I
also started choosing what projects I would present on Friday.
On July 28th, we had a full work day. I put the finishing touches on most
of my projects. I continued working on my resume and fixed some of the suggestions
that Ernie gave me. I also continued to add on to my Quality Assurance Document
and made a few changes to my portfolio website and added CSS and valid HTML
to my Dice Statistics Database project. Finally, I checked in with Ernie
and filled out my project completion status.
On July 27th, I spent the morning addressing some revisions and corrections
from Ernie on my Block 2 and 3 projects. I fixed some HTML validation issues,
added some projects to my portfolio, and made some other minor changes. I also
added a little to my quality assurance document. We also received the resume
writing project today. I started watching the resume writing video from last year
after lunch and then started to work on my own resume from what I learned.
Inserting Data into Databases from PHP
On July 24th, we had a demo in the morning about how to take the input from
an HTML/PHP form and add that data to our SQL database, as well as display the
other data from the tables. We continued to use the coin flip database for the example.
After we finished the demo, I worked on my dice rolling database project
and changed it so that it was also able to pull and insert data between the PHP
forms and the SQL database. I also added the mysqli real escape string to my
form validation function to finish the dice rolling project.
Connecting SQL and PHP
On July 23rd, we had work time in the morning and then spent the afternoon doing
a demo with Ernie. In the morning, I fixed the layout for my portfolio project cards.
I also started working on the Quality Assurance Document and checked my website
and projects for any errors. In the afternoon, we did a tutorial and learned how
to create a connection to our MySQL server from a PHP document and used the 4 relational
tables we created earlier to output the data from the database to our HTML page.
On July 22nd, we had most of the day to work. We received the instructions for
the Dice Statistics project prep work, and I made some changes to a copy of my
dice statistics PHP project so that there were forms for first and last name,
color, and shoe Size and that the input was displayed once the user submitted.
I also planned out and created all the tables for the project and did some research
on how to connect the PHP to the SQL. I continued working
on my portfolio website, and was able to make cards for all of my portfolio projects,
though I still need to fix the formatting/layout for them a little.
On July 21st, we continued learning about MySQL and databases. We had a demo in
the morning, where we created 4 different tables and used foreign keys to connect
them and form a relational database. Afterwards, I finished the individual
section of the demo and created/filled two more tables. I also continued working
on my SQL syntax guide, and was able to complete the rest of the Day 1 section
and the Day 2 section. I finished my libraries project as well and also worked
some more on my portfolio website and started experimenting with creating cards for my projects.
First Day of Block 3
On July 20th, we had our first day of Block 3. In the morning, we were introduced
to databases, and I watched a video and read an article on them. I also continued working on
the programming libraries project and decided to switch my fifth library to Materialize
CSS instead. In the afternoon we had a tutorial on Adminer to learn how to work with databases
and MySQL. Then, we were given the MySQL Syntax Guide Project, which I worked on for the rest of the
day. So far I've finished up to the useful math functions section.
Last Day of Block 2
On July 17th, we had a full work day. I continued working on my personal
portfolio and the programming libraries research project. I did some more research on CSS
libraries and completed two more example websites for the W3CSS and water.css
libraries. I also decided to use Foundation, another CSS library, for my final
library project example.
On July 16th, we had a meeting in the morning and were introduced to the
programming libraries research project. I chose to do 5 smaller library projects
using JS and CSS libraries to make example webpages. So far, I have completed two,
one for JQuery and another for Bootstrap. I did a lot of research on different
types of libraries that are used and what they are used for, and also had to look
at some tutorials to learn some of the elements of JQuery and Bootstrap. Finally,
I made a few more edits to my portfolio website.
Another Work Day
On July 15th, we had another workday. First, I changed some of the code for
Krista's projects so that the projects that used forms worked inside of the
PHP rendered webpage. I also made sure that the HTML for the projects was
validated. Then, for the rest of the day, I started implementing
my final portfolio project design plan on my portfolio website. I changed the
color scheme, created scrolling content, changed the layout a bit, and added a
drop down menu in the navigation for the portfolio subpages.
On July 14th, we had a workday. I had already finished most of my projects,
so I continued to work on building a PHP rendered website for all of my PHP
projects and figured out how to get the PHP content into the main section.
I also started changing some of the CSS for my portfolio website. In the afternoon,
Ernie gave us some tips on how to fix some of the issues from the dynamic rendering
system tutorial website, so I changed some of my code and also figured out how to
get the forms to work in the website. Finally, I added the coin flip model with
forms into the dynamic rendering webpage and made some changes so that the form worked.
On July 13th, we did a demo in the morning where we used a rendering system
in PHP to recreate the dynamic page flipper website from Friday. We created
functions for each HTML element in PHP and then at the end rendered the entire
webpage at once from the PHP. After I finished working on that website, I started
to create a similar website to hold all of my Krista's projects. I also completed
the optional XML Blog project in Krista's projects.
On July 10th, we did another tutorial with Ernie in the morning where we
created a dynamic webpage by embedding PHP into HTML, so all of the HTML pages
for the website were called by PHP code. After the tutorial, I worked on
embedding PHP into the HTML for my projects and also started creating a CSS
design document to use as a theme across my projects.
PHP Forms/User Input and More Projects
On July 9th, we had a tutorial on how to create and use forms in PHP and HTML
to get user input and use it in our PHP code. We also learned some basic sanitization,
which checks the user input for safety. During worktime, I finished the syntax
guide and added forms to some of my projects. I also completed another one of
Krista's projects, the background selector, and learned about cookies.
Models in PHP and Krista's Projects
On July 8th, we started off with a tutorial with Ernie and
built a simple coin flipping model in PHP. Then, we had the rest of the
day to work. I finished everything in the Programming Syntax Guide except for
the very last row with the superglobals ($_GET, $_POST, $_COOKIES) in the morning.
We also received Krista's PHP Projects. I've gotten the basic functionality done
for the first three projects, and I just need to add forms/user input for two of them,
which we will be learning tomorrow.
Programming Syntax Guide
On July 7th, we had a brief meeting in the morning, and then had the
rest of the day to work on the Programming Syntax Guide project for
two sections left to do for tomorrow.
First Day of Block 2
On July 6th, we had our first day of Summer Block 2. We spent the morning
and some of the afternoon doing a tutorial with Ernie about programming concepts,
project for this block, which is a programming syntax guide for JS and PHP. I spent
the rest of the day working on the project and coding in my test files.
Last Day of Block 1
June 26th was the last day of Summer Block 1. I wrapped up most of my projects in
so that the velocity would be uniform across all of the particles, so the model would
be more accurate. I also changed it so that the H particles moved at different speeds across
the catalyst depending on the temperature. After Ernie checked my graphics projects,
I also spent some time revising some of my logo web banners so that my logos weren't
cropped out like before.
Another Work Day
On June 25th, I finished my web banners and my edited picture of Ernie in Gimp.
I also worked on my plan for my portfolio website and mostly finished it and created
two designs of my website in Inkscape. I added a little bit more to my modeling project,
including adding my Vensim model story to the about page and uploading my Vensim
model to the website, as well as citing my research sources. I also added a counter
to my agent model to display the number of ammonia molecules produced, and figured out
how to add my favicon to my website tab.
Another Work Day
On June 24th, we had another work day. I finished my second abstract logo in
Inkscape and made most of my web banners in Gimp for my 6 logos. I also started
to mess with a picture of Ernie in Gimp and started planning for my final
portfolio website. Finally, I added to my modeling project website to include my observations,
questions, and reflections in my about page and added the functions to change the
starting concentrations of the reactants.
On June 23rd, we had a full work day. I used my time to finish the responsive
web design tutorial. In addition, I also created my first abstract logo in Inkscape
and started the second one as well. Finally, I also worked out some minor bugs in
the parameters for the model, such as changing the pressure and temperature.
On June 22nd, we spent the first half of the day doing a Gimp tutorial with Ernie.
We did a demo to create cosmic turtles and were introduced to different tools, how to use
layers, selections, and paths, and how to apply filters. We were given our last
set of projects to create in Gimp. After lunch, we had some more work time. I worked on
my system model in Vensim, and almost finished it. I also finished my second initial logo in Inkscape
and created my own collage in Gimp, and I also started brainstorming for some of my abstract logos.
Finally, I started the responsive web design tutorial.
Another Work Day
On June 19th, we had another full work day. I continued to make progress on my
I also finished my second name logo and my first initials logo in Inkscape, but
then I had to leave early for a math competition.
On June 18th, we received the web design projects and then had the rest of the day to work.
I also started planning and working on a few versions of my Vensim model. Finally,
I also finished my favicon and my first name logo for my graphics projects in Inkscape.
Inkscape and More Projects
On June 17th, we did an Inkscape demo with Ernie in the morning, where we
learned about the different tools in Inkscape and how to use them. Then we were
given a new set of projects to do for Inkscape and had work time for the rest of the day.
I started doing some version planning for my modeling project and did the first
project in Inkscape and started on the favicon project.
Continuing the Modeling Project and Starting Graphics
On June 16th, we first learned a little about graphics, including the difference
between vector and raster graphics. After, I worked on and finished the graphics mini
projects we were given, where we learned how to scale image dimensions, change
file sizes, and crop images using Gimp. I also finished up my modeling project plan and had
my plan reviewed by Arshi, Akash, and Ernie, so tomorrow I will be ready to start
planning and working on my versions for the models.
First Day of Summer Block! Starting the Summer Modeling Project
On June 15th, I started my first day back for the summer. We first talked
about how the summer would look, and then we were given a new modeling
project for this block. The topic I chose to model was the rate of a chemical
reaction (specifically the Haber process which is used to convert hydrogen and nitrogen
into ammonia), and how the reaction is affected by changing the temperature, pressure,
or concentrations of the reactants. I spent most of the work time choosing and researching
my topic and then doing the planning for my project, including creating questions and
hypotheses, planning my system and agent models and how they would work,
and setting up parameters.
Parallel Computing with LittleFe
On May 2nd, we had our last Shodor meeting for the spring block. We continued
to learn about parallel computing and were able to connect to LittleFe, a mini
parallel computer, to do some hands on activities. I used XQuartz, and we learned
how to use Linux commands to navigate directories, run models, and use schedulers
to do parallel computing.
On April 25th, we started learning about parallel computing. We went through
a lot of videos and activities and discussions about parallel computing concepts
and about how it is used in supercomputers to run very large or complicated models.
We looked at a forest fire simulation and saw how parallel computing made tasks
faster and more efficient with a coin flip simulation. We also learned about
dependencies and workloads and how to optimize them.
On April 18th, we finished up our projects in the morning and presented
our spring programming projects in the afternoon. I enjoyed seeing everyone else's
projects and seeing how they incorporated scientific information and formulas
from the real world, as well as looking at all the different interesting
topics that people chose. I also learned a lot about how to make better models
and the importance of version-planning.
Spring Programming Project
On April 4th, we continued to work on our spring programming projects.
Arshi and I basically finished programming our model, adding three more versions.
We added the code to check whether a bee had collided with a flower and then
made the bee bounce off the flower and change the color of the bee to yellow
to show that it was carrying pollen. We also coded it so that if a yellow bee
touched another flower, the bee would turn black again and the flower would go
from blue to pink to show that it had been pollinated. Finally, we added functions
to remove bees and flowers, symbolizing death, and a function to add flowers
Spring Programming Project
On March 21st, we started work on our spring programming projects. I'm
partnered with Arshi, and we decided to base our model around bee pollination.
We have the moving, bouncing particles as our bees and we added stationary blue
particles to represent flowers. We also added code to add a new bee every 14
seconds to resemble reproduction.
Finishing Up Programming Concepts
On March 7th, we finished working on our bouncing particles model. We added
a play button that caused the particle to move smoothly and continuously.
We also coded the actual bouncing of the particle using "if" statements. Finally,
we used arrays and loops to code a hundred different particles that could all move
around in the canvas. We also got our partners for the spring group project,
and I am paired with Arshi.
I was absent on February 15th, so I made up the work at home by going through and following the videos.
We continued working on the bouncing particles model and randomized the position and size of the particles
using a random integer function that we created, making sure that the particle didn't run off the edge of the canvas.
We also created the buttons to reset and step the model to redraw the particle and make it move, respectively.
First Day Back! Intro to Programming Concepts
On February 8th, we came back to Shodor for our spring module and
started learning about programming concepts with Aaron.
We took notes on different programming practices and tools as well as some key terms.
Group Project Presentations
On December 21st, we finished our group modeling project and presented everything we'd done.
In the morning, we finished up our website, adding in all the text and pictures, and practiced our presentations.
Then, after lunch, we did all of our presentations. I found some of the other groups' projects really interesting and cool.
Some of the projects used a lot of more complex factors or factors that we hadn't thought of, which taught me a lot and
gave me a lot of good ideas.
More Group Project
On December 14th, we had another work day for our group modeling project.
Judy and I basically finished up our project. We got the Agent Cubes model done,
and we also added in the last components for our Vensim model and got it to work.
We also made our webpage and wrote up the explanations for most of the pages.
On December 7th, we had a work day for our group modeling project. My partner
is Judy, and we decided to create a model for populations in an arctic food
chain that is affected by climate change and the melting of sea ice. Specifically,
we are modeling populations for polar bears, ringed seals, and arctic cod in
Alaska. We got most of our Vensim model done in this session, but we had some trouble
with the magnitude of the numbers we were using.
On November 23rd, we started doing agent modeling in Agent Cubes. First, we
went over the differences between system modeling and agent modeling. Then we wrote a story
for a situation where disease spreads through a population and then created
a model for the situation in Agent Cubes with Dr. Panoff and then on our own.
Finally, we got our partners for our first project, which is on modeling in
Vensim and Agent Cubes.
Excel and Vensim Modeling
On November 16th, I was absent. I made up what I missed by going through the
videos posted on the Apprenticeship document on my own later on. I did all the mini-projects/
activities in my notebook, including drawing concept maps or writing out modeling
situations. I then made the models in Vensim.
Excel and Vensim Modeling
On November 9th, we started learning about modeling. We started off in Excel and wrote equations
to model certain situations. We also used slider bars and color ranges to help with the modeling. For example,
we did situations with coin flips, rolling dice, and heating a room using different colors to represent that.
Then, we switched to system dynamics modeling in Vensim, where we were modeling changes in the rabbit population,
which we had done in Excel prior to that. We also looked at some graphs for the situations we were modeling.
More How Do You Know and Numerals
On October 26th, we started off the session by discussing codes of conduct from different professions
that we researched and then comparing them with Shodor's apprentice handbook. Then, we did some
more how do you know exercises and played with some games like Mastermind and Decode. Finally, we learned about
numbers and numerals with Dr. Panoff and how different spreadsheets like Excel and Google sheets handle them.
How Do You Know and Office Ethics
On October 19th at Shodor, we learned about office ethics with Ron and then
did some how do you know exercises with Dr. Panoff. This was my first time at
the apprenticeship program in person, so I also got to meet all the other apprentices.
I did a lot of the exercises at SSP, but we also did some new things, like trying to
fill out all our information in a spreadsheet and figuring out how to organize it. I also
met with Joel, my mentor, for the first time.
Hello! This is Lucia Wang. I was absent on October 12th since I was in Boston for Math Prize for Girls.
I came in to Shodor to make up what I missed on October 16th. During the hour I was there,
I created my Shodor login, got another tour, got a notebook, and used a super cool label maker to label my cubby.
Later, at home, I looked through the apprenticeship handbook and downloaded Cyberduck
on my home computer, and now I'm writing this blog! So that's about it for now.