Blog

  • Oct. 10th 2015

    Today was the orientation to the Shodor Apprenticeship program. We took a tour of the building, and learned where we will be learning and working. During the break, we played cards and got to know each other. It turns out that two of my fellow apprentices went to the same school as me last year, and had the same teachers. After the break, we added the public_html file from our terminal, which is the folder where will be putting our programs for Shodor. I was very excited to get the HLD (high level design) document for our website at the end of the day, because I am looking forward to learning HTML and CSS.

  • Oct. 17th 2015

    Today was our first day of learning at Shodor. Our first activity was a logic puzzle about a king who was trying to figure out if one of his coin makers was cheating him. Dr. Panoff showed us a very interesting way to solve it, by taking one coin from the first bag, two from the second, and so on until you had taken a coin from all eight bags. By weighing all of the coins, you can see how many smeezles, the unit of measurement for the coin, are missing. The number of smeezles that were missing, corresponded to the bag that the cheater gave. Dr. Panoff taught us not to believe every piece of information we find, but ask ourselves "how do we know?" Is there any reason to believe what it says?

  • Oct. 24th 2015

    Today we learned about professional business ethics, and how to access the Shodor network from home. First Mr. Broadnax showed us an example of what not to do. He wore inappropriate clothes for a work environment, came in late, didn't know what he what he was here to talk about, and left in the middle of his presentation on professional business ethics. Mr. Broadnax then came in again to show us proper professional business ethics. Afterwards, Mr. Coldren showed us how to set up our personal computers so we can access the Shodor network from home.

  • Nov. 7th 2015

    Today we learned about the different types of models. The main models we learned about include computer models, physical models, mathematical models, and graphs. We started by using excel to make a simple model of how the total number of pets is affected by the number of cats and dogs. We then used the Shodor interactive fire model to gather data, and graphed the data. By looking at the graph, we could tell when the burning rate had the biggest affect on the number of trees that burned. Our final model that we used today, was the System Dynamics excel model. We edited the model to change what it was modeling, and the formulas the model used. I am really looking forward to using Vensim and AgentCubes to make dynamic interactive visual models.

  • Nov. 14th 2015

    Today was our second day on modeling. Our first activity was to collaborate and create a list of ways a rope, straw, or linear graph can be used to model different things. Dr. Panoff then showed us how to use Vensim to create dynamic interactive visual models. The first model I created was of a rabbit population, that was affected by the birth fraction. The second model I made modeled the spreading of a sickness from sick to healthy people. For my final assignment, I added a chance that a sick person could get cured and become immune. I'm hoping to use AgentCubes and JavaScript to create more complicated models.

  • Nov. 21st 2015

    Today we learned how to use AgentCubes to make a dynamic interactive visual model. AgentCubes has to parts to it: the graphics part, and the rules part. In the graphics part, the visual interface of the model is designed. In the rules part, all of the rules that tell the "story" of the model is written. When the model is started, the graphics follow the rules of the model. The type of model we built today is called a S.I.R. model (susceptible, infected, recovered). First we built a simple version of the model as a class.The simple model contained the healthy and sick people moving randomly in the world. When a healthy person comes in contact with a sick person, there is a chance the healthy person becomes sick. After building the base model, I added more parts to the model. The first changes I made were adding an automated doctor and a user-controlled doctor. When a sick person is next to a a doctor, there is a chance they could become immune. I also added a hospital where there is a chance a sick person has becomes immune when they come in contact with the hospital. At the end of class I created my portfolio page, with links and downloadable files to the projects I have done so far.

  • Dec. 5th 2015

    Today we started our first group project. Dr. Panoff explained the project to us, and then he set us loose to choose our groups and project topic. We chose to model the spreading of a disease, also known as an SIR model. We were assigned to create a Excel, Vensim, and AgentCubes model. First we created a HLD (High Level Design) document for our project. In our HLD we listed our introduction, objective, method, roles, timeline, and desired behaviors and components of the model. After we got our HLD approved, we drew a plan for our Vensim model. We also started working on our website, and the AgentCubes model.

  • Dec. 12th 2015

    Today we continued to work on our group project. Today was the main workday, and my group got a lot of work done. Although there was no formal lesson, I learned a lot today. This project gave the chance to work with the tools we were using in depth. I learned how to add an age to the agents in our AgentCubes model, and make the agents die after a certain amount of time. I also made the sick people live for less time, if they did not get cured. This helped make the model more realistic. Ernie (Mr. Edinboro) also helped me a lot, by teaching me how to center images and text together. Along with finishing designing our website and creating the AgentCubes model today, we started working on the others type of model too. We got a lot of our Vensim model done as a group today, and we started our Excel model. I really enjoyed working on our project with my group.

  • Dec. 19th 2015

    Today was the final workday for our project. Most of the work we did before lunch, was putting the finishing touches on project. I added pictures of our models to our website, that linked to the model when clicked on. I also added the ability for healthy people to become sick when they come in contact with a dead person. Presentations started after lunch. Dr. Panoff created a document with all of the group's projects linked to it. Our presentation went well, and our website worked excellently. I'm looking forward to learning JavaScript when the spring module begins.

  • Feb. 6th 2016

    Today was the introduction to JavaScript programming concepts. The lesson was taught by Anja Sheppard, a current intern at Shodor. Anja did a great job of teaching; she taught at a good pace, knew the content well, answered all of my questions. We learned about the basics of JavaScript today: variables, functions, operations, outputs, conditionals, and how to edit an html document with JavaScript. We made three simple programs that used a user-input with conditionals, to output text onto a document. The first one determines what letter grade an inputted number was equivalent to, and outputs it on the page. The second program determines whether a person is old enough to vote. The third program was a simple "Guess My Number" game that tells you if your guess is too low or too high. I learned a lot today.

  • Feb. 13th 2016

    Today was our second class on JavaScript. We learned some more advanced JavaScript concepts today. This class was also taught partially by Anja. The main focus of the lessons was loops. We learned about two types of loops: while loops and for loops. While loops are used when you do not know when you want that part of the program to stop looping. For loops are used to loop code a certain amount of times. I used loops to create a program that can calculate the factorial of a number, and another program that creates a triangle of asterisks ("*"). We learned about another data type called an "array", which is a list of other JavaScript data types. It was interesting to use commands that modified the arrays I created. We also learned about the arithmetic operators "++" and "--".

  • Feb. 20th 2016

    Today was our third and final class on JavaScript. The primary focus of today's class was functions, or methods. A function is a collection of code which the program executes when called. Functions can be called multiple times by their name. We added a "reset" button that resets the TwoFish model, and we also created an "add" button that adds to numbers and logs it to the JavaScript console. The next JavaScript property we learned about was objects. Objects also have names, and are used to group together similar data. I was proud that I was able to create and call my own functions which could edit objects. Our final assignment was comment every line of Aaron's "ApproxPi" program. It helped me fully understand what every piece of JavaScript we learned does.

  • Mar. 5th 2016

    Today we were introduced to our JavaScript group project. I was excited because I have been looking forward to creating my own complex JavaScript programs. Our assignment is to create javascript model of a burning forest. In our model, trees are placed randomly in the forest when the model is loaded. A fire spawns where clicked, and the surrounding trees have a percent chance of catching on fire. After the tree has burned for a certain amount of time, the tree dies and cannot spread the forest fire anymore. The user can change the percent chance that a tree catches on fire. Today, my group completed most of our HLD, and we also started on our website for the project.

  • Mar. 12th 2016

    Today was our second workday for our group project. I was really excited to continue working on our group project. After we edited our HLD based on Ernie's comments, we began working on our final model. I learned how to create an html canvas. We created a green square to represent the trees, and then created a for loop that places 100 trees randomly at the start when the page loads. We got a template for our forest fire model, that Ernie made. We are planning to create the "burn" function next class. I am proud that we completed our HLD and started working on our model.

  • Mar. 19th 2016

    Today was our third and final workday for our group project. Israfil and I continued to work on our group project. After getting help from Aaron, we created a burn function for our forest fire model. The burn function checks how far each tree is from a tree that is on fire. If the tree is within a certain distance of a tree that is on fire, then there is a chance it lights on fire. We finished the burning code, by adding a for loop that continues burning trees until the fire dies out. At the end of class, we combined our JavaScript model with our website.

  • Apr. 2nd 2016

    Today I had a make-up class for April 2nd. We presented our group projects today, but because I was the only student at Shodor today, I did not get to see anyone else's project. You can reach my project from my portfolio. I started my project by introducing myself. I then explained and demonstrated how our forest fire model works. After that, I showed the code briefly and how to change the parameters (number of trees, percent chance the tree burns, size of tree, and burn radius). I learned how to use JavaScript and the HTML Canvas through this project. Before this project, I couldn't even create a square with JavaScript, now I can create an entire forest. If I had more time to work on this project, I would add a way for the user to change the parameters of the model.

  • Apr. 9th 2016

    Today we started our unit on parallel computing. We started class by creating our parallel computing notebook, which is where we would be recording our activities with parallel computing. We learned how humans can work in parallel, through the "Human Parallel Computing" activity. Each of us performed a similar task at the same time, which was an example of how working in parallel is more efficient. Then we wrote two recipes, one parallel and one serial, too discover the advantages and disadvantages of working in parallel. After that we learned about dependencies with the "Going Shopping" activity. It was interesting to learn how parallel computing only works in some situations through the "Parallelism in Nature" activity. We finished the class by watching an animated video on high performance computing, and why people use supercomputers.

  • Apr. 16th 2016

    Today was our second day on parallel computing. We started the class by looking at the list of the "Top500" supercomputers in the world. We learned that even though Blue Waters's supercomputer, which Shodor has access to, would be third in terms of TFLOP/S on the 2012 list, Blue Waters opted out the Top500. We then learned about all of the parts of LittleFe, Shodor's own supercomputer, which I found very interesting. Aaron showed us how he can connect to the Blue Water supercomputer remotely with a password that changes every 30 seconds. There were many people already using the supercomputer, so it took some time before it performed Aaron's operations. We learned about virtual reality through an app called Daqri, and how it can be used for science in the future. We also learned about the advantages of parallel computing compared to serial computing, through the Flipping Coins in Parallel model. My favorite part of today's class was when we connected all of our computers through a BCCD (Bootable Cluster CD) to form a bootable cluster. We used the power of parallel computing to perform functions on a computer that used the processing power of multiple computers, which we could not have done otherwise.

  • Jun. 20th 2016

    Today was the first day of the summer module. We learned that the summer module will be more independent than the fall and spring module. Our goal as apprentices is to be able to help other people and use our problem solving skills to find solutions to our own problems. Ernie told us the expectations for the first block, and the summer module as a whole. The first project is called "Software Project Manager." First we picked a story for our HLD I chose the story which models a way to maximize foot traffic in the gallery wing of an art gallery while maximizing the number of art pieces they can display in the gallery. Then we started working on an HLD for a system model and an agent model for the story we picked. Once we are done with our HLD, we will receive a different apprentice's HLD. By the end of the first block, we will build a system model and an agent model by following the HLD exactly. I am looking forwards to seeing how the other apprentices wrote their HLD.

  • Jun. 21st 2016

    Today we continued to work on our HLD for the system and agent models. I got a lot of work done today, and was able to finish a rough draft of my HLD. I worked on my pseudocode for the agent model part of my HLD. Once it is approved, I will be able to spend all of my time working on some of the new projects for the first block. I was able to start working on improvements for my Shodor website. One improvement I added today was that the webpage that you were currently on will have darker box than the other links in the navigation menu. I am planning to start learning Gimp and Inscape through the tutorials that Shodor has created. I am very excited to learn graphic design.

  • Jun. 22nd 2016

    Today we finalized our HLD for the system and agent models. I received comments from Ernie on how I could improve my HLD to make it easier for the software project engineer, the apprentice who wil build the models from my HLD, to understand. I finalized my HLD and replied to the comments that Ernie left me. After finishing my HLD, I continued working on the list of things to do during the first block. The first project I started was the responsive web design. Our assignment for responsive web design was to watch a video while completing the sample code with the code shown in the video. After lunch Ernie told me that I would be the software project engineer for Varsha's story, and Varsha would engineer my story. I am looking forwards to working on the models.

  • Jun. 23rd 2016

    Today we started working as the engineers on our models. Since today I was assigned to be the receptionist from 8:30-12:30 A.M., I had to arrive at Shodor 30 minutes earlier than usual. I used the computer at the front desk to work on my models. Unfortunately, the computer was very slow. I received two calls while I was at the front desk; one from Ernie, and another from a parent who wanted to talk to Dr. Panoff. Unluckily, I forgot to page his office before I transfered the call from the parent, and I ended up sending them to his voicemail. I created all of the agents that are necessary for my AgentCubes model. Then I added the rules that spawn people next to the entrance of the gallery. I also added the rules that make the guests move randomly in the museum.

  • Jun. 24th 2016

    Today we continued working on our models for the first block. I added the agent in AgentCubes that represents the artwork. Then I placed three pieces of artwork randomly in the gallery. After that, I decided to take a break from AgentCubes and start working on my Vensim system model. I created the box variable for paintings and guest in the art gallery. I also added the rate pipe that adds more guests to the guest box variable. Today I also helped the interns test out what they created for the iPhone app development workshop next week. Workshop students will be using what we tested to create their own iPhone apps.

  • Jun. 27th 2016

    Today was the start of the second week of the first block of summer. I continued to work on my AgentCubes model for the art gallery. I started by rearranging the artwork that I had placed yesterday in a more random fashion. Then I created the curator agent who sets the number of artwork to three at the start, and then adds one more painting to the gallery every 24 hours (24 seconds in real time). After that I started working on a method to lead agents to a specific place, called "hill-climb". This works by giving the destination a value of 100, and setting the value of each place to the average of its neighbors. The agent then follows the trail of increasing numbers. I did this for the seeking artwork and exiting function. Then I added the rule that gives each guest a tolerance number, and the rules that add one to the frustration number every time a guest can not move.

  • Jun. 28th 2016

    Today I was planning to finish my AgentCubes model today, but my computer kept crashing so I had to work on other projects for most of the day. The one thing that I was able to do with AgentCubes was add the ability for the curator to place three pieces of artwork in random places in the gallery before the model runs. The curator does this by teleporting to a random spot in the gallery and placing the artwork there, and then teleporting back to the corner. I decided to work on the Gimp and Inkscape tutorials because I was looking forward to creating images. I finished the Inkscape tutorial, in which I created the Nike "Swoosh", the Target logo, the Honda sign, and the NBC symbol. After I finished the Inkscape tutorial, I started working on the Gimp tutorial. I worked very hard and was able to finish the entire Gimp tutorial before the end of the day. I am planning to design my own logo and create a banner for my website later this week.

  • Jun. 29th 2016

    Today I continued to work with Gimp and Inkscape. First I designed a logo that represents me in Inkscape. I used the skills that I had learned from the Inkscape tutorial to trace the picture that I wanted. Then I change the stroke color and fill color of the shape I created. After that I added the text I wanted inside of it, and changed the font and size. After that I moved on to Gimp to create a banner for my website using my logo. I added my name to the banner and changed the picture to my logo. At the end of the day I continued working on my AgentCubes model. I was able to get the guests to wait next to the artwork for some time, and then continue moving.

  • Jun. 30th 2016

    Today I was the receptionist from 8:30-12:30 AM. I only received one call this morning, and it was an unwanted 800 call. While I was at the front desk, I worked on a website for my museum art gallery model. In my website I have the story for the model, a detailed description of how to use the model, description the different agent representations, and links to the HLD, AgentCubes model, and Vensim model. Then I added that website to my portfolio. I was able to finish half of my HLD for my final website. I helped many other apprentices with their AgentCubes model, because I am now very comfortable with AgentCubes. I am also becoming more comfortable with Gimp and Inkscape.

  • Jul. 1st 2016

    Today was the last day of the first summer block. I worked very hard today to complete all of my projects. The first thing I did was create a gallery page for all of the pictures I created using Gimp and Inkscape. Since I was already working on websites, I decided to finish explaining how to use model and update the color scheme. The next project I worked on was my Vensim model. I needed a refresher on Vensim, so I did Shodor's Vensim tutorial. I created all of the box variables, rate pipes, and variables I needed. Then I filled in the values for all of the objects I created. The hardest part of the Vensim model was creating a graph of the values that was easy to interpret. My final work was adding all of my work from this block to my portfolio. I am looking forward to coming back to Shodor for block two.

  • Jul. 11th 2016

    Today was the start of my second summer block. This week we will be learning and working with PHP. I was excited to learn that HTML and CSS can be written within a PHP document. The built-in echo function is added in front of different programming languages to display them on the webpage. I learned that the tag to open PHP code and the closing tag are different from html. PHP is very similar to JavaScript, especially the different kinds of loops. The biggest difference I found in PHP is that all variables need to be defined and accessed with a "$" in front. For example, "$variableName = 33". One function that is unique to PHP is the "foreach" function. We have not used it yet, but I know it is helpful when working with arrays. For the first half of the day, we worked on the practice PHP exercises, which are now linked from my portfolio. Any new PHP file we create is saved in the "newdev" folder, which can only be accessed by people at Shodor until it is public. Unlike the other programming languages we have learned so far, PHP is server side. That means the code is first run at the server before shown on he client's computer. Because of this, the actual PHP code cannot be viewed on the client's computer. While I was receptionist after lunch, I started working on new PHP projects. I completed the project which changes the background color of a webpage to a random hex color every time the webpage is reloaded.

  • Jul. 12th 2016

    Today I continued to work on my PHP projects. I finished a PHP calendar that can generate a calendar display for a month given the day of the week it starts on, and how many days are in the month. I used the HTML table to arrange the days into rows of seven days. I found this assignment to be challenging, but I enjoyed using logical thinking to solve the problems I cam upon. Once I finished the basic calendar, I added color, increased the size, and added a header that has details about the month. After that I started working on a PHP program that simulates the rolling of dice based on the number of dice, the number of sided the dice has, and the number of times the die are rolled. The number of times each sum is rolled is displayed in a chart. I found this program easier to write than the calendar. Afterwards I added some CSS to make the page look better.

  • Jul. 13th 2016

    Today I completed many more PHP projects. The first project I did was called dynamic pages. Dynamic pages uses the $_Get variable to display content in the url. The page displays unique content depending on the url. The second project I did was the background selector project. The website uses the html select tag to create a dropdown menu with options to change the background color. The page uses to cookies to remember the previous color choice even after the page is closed. I also completed the second to last PHP exercise program, Dane Joe. This program asks for the user's first and last name, and then reverses the first letter of their names to create a mismatched version of their name. For example, Jane Doe becomes Dane Joe. After that we learned about databases and how to use MYSQL to create databases. I learned that we will be using databases to enhance our PHP calendar to add and show events.

  • Jul. 14th 2016

    Today I completed the last PHP project on the list that I had left. The XML blog uses PHP to display blog content from an xml file. Then I created a website to present all of my PHP projects that I have completed. I linked the website to my portfolio after that. I continued to work with MYSQL and databases in the afternoon. I connected to MYSQL using terminal. Then I created a table full of dates to use for my advanced calendar. I practiced using the create, drop, show, describe, insert, and select commands to edit my table. I am looking forward to creating a calendar capable of showing events.

  • Jul. 15th 2016

    Today I used MySQL to create tables. I practiced using MySQL commands until I began more familiar with them. When I wasn't working on MySQL, I helped the other apprentices complete their PHP projects. In the afternoon I documented the Explorations in Engineering workshop. For documentation, I took several pictures of the workshop students working and then wrote a couple paragraphs describing the workshop. In today's workshop, the students were building a boat that could hold the most marbles while staying afloat. Part of their challenge was to predict how many marbles their boat could hold based on it's density. I enjoyed documenting today, and I am looking forwards to doing it again later.

  • Jul. 18th 2016

    Today we started our engineering unit. We are splitting each day by engineering in the morning, and using PHP and MySQL in the afternoon. This morning we built a ramp out of a chair, half a foam pipe, a cup, and tape. We measured how far a marble goes when rolled from different heights of the ramp. After we collected data for 6 different heights, we plugged the data into Shodor's DataFlyer to find a line of best fit. Then we plugged the data into the ProMotion applet to find the initial velocity of the rolls. Then we used the velocity to estimate the height needed to send the marble 62 centimeters. The goal was to land the marble in a canister. Then we repeated the process with the canister on a chair. In the afternoon, Ernie taught us how to create a PHP file to connect to our MySQL database and generate an HTML document in PHP. We used the MySQL PHP file to access a table and display the contents.

  • Jul. 19th 2016

    Today we continued to engineer in the morning. We did one more test with the marble ramp by using the applets to determine the height needed to send the marble 35 centimeters. After that we moved on to electrical engineering. Kaleb taught us about the various parts of a breadboard and circuits. We learned about voltage, current, resistance, resistors, capacitors, and LEDs. Then we created our own circuit which lights up an LED. We also learned about capacitors. After that we created a circuit which used a capacitor to turn two LEDs on and off alternatively. In the afternoon I created the database for my calendar. I displayed my database in a PHP page.

  • Jul. 20th 2016

    Today we engineered in the morning. We built structures out of legos to model how whether or not the structures balances is based on it's center of mass. We learned that if the center of mass is above the base, the structure will not fall. Ron and Herjot taught us about compression and tension. We learned that one part of an object is compressed when force is applied, while another part of the feels tension. We used an applet to model bridges with the different loads to see how the load is distributed. There was a competition to see who could build a bridge with distributed the load the best. In the afternoon Kieth showed us how to use SVN, which is a version control system. I continued to work on my calendar database today.

  • Jul. 21st 2016

    Today I had receptionist duty in the morning from 8:30 to 12:30. While I was at reception, the other apprentices built structures that would hold marbles in a cup. Each pair of apprentices was given straws and pipe cleaners to build a structure. The goal was to build a structure that could hold the most marbles and be the tallest. The catch was that you had to tell the interns when to stop adding marbles and measure the height. If the structure collapsed, you would receive a score of zero. The tallest structure ultimately ended up winning. In the afternoon I continued to work on my database calendar. I added CSS to my calendar. I also added the MySQL INSERT INTO function, but I haven't gotten that to work yet.

  • Jul. 22nd 2016

    Today was the last day of the second block. We learned about the principles of buoyancy and density this morning. For an object to float, its density must be less than the density of water, which is one. Density is equal to mass/volume. The greater the surface area of the object, the lower the volume. I made a boat that would hold the most amount of marbles without sinking. We were given a limited budget to create the boat. I designed a boat that used cups to hold the marbles and float. My boat held all 400 of the marbles. In the afternoon I worked on my calendar. I finished the INSERT INTO statement which allows the user to add events to the database.

  • Jul. 23rd 2016

    Today was the last day of the second block. We learned about the principles of buoyancy and density this morning. For an object to float, its density must be less than the density of water, which is one. Density is equal to mass/volume. The greater the surface area of the object, the lower the volume. I made a boat that would hold the most amount of marbles without sinking. We were given a limited budget to create the boat. I designed a boat that used cups to hold the marbles and float. My boat held all 400 of the marbles. In the afternoon I worked on my calendar. I finished the INSERT INTO statement which allows the user to add events to the database.

  • Jul. 25th 2016

    Today was the first day of the third block, which is my last block of the Apprenticeship program. Ernie introduced us to the Google project, which is linked to Google Fiber. Everyone will choose two of Shodor's Interactivate applets to learn. I chose to learn the Arithmetic Four and Estimator Quiz applets. In the following weeks we will learn how to use the applets as an instructor and as a student. Our final goal is to be able to teach either adults or students how to use the applets, and what keywords to search to access them. In the afternoon I worked on my calendar database. I added some code which shows the events only when you click on the day that the event is on. The events for each day are placed in a smaller table underneath the calendar.

  • Jul. 26th 2016

    Today I had reception in the morning. I learned how to use the Arithmetic Four applet. The applet is based off of the game connect four, but you have to answer an arithmetic question before your turn. I looked at both the learner side and the instructor side of the applet. I also added a select drop down to my database calendar. I had to leave early today, so I could not get anything else done today.

  • Jun. 27th 2016

    Today I finished my database calendar. I added the PHP code which selects rows of the database which match the inputted field. Those rows are then displayed in a table. In the afternoon, I worked on redesigning my website. The first thing I did was change the theme of my website to blue. After that, I added all of the Shodor resources to a dropdown menu. The dropdown menu activates when the words "Shodor resources" are hovered over. I also added a contact section to the bottom of my website.

  • Jun. 28th 2016

    Today I continued to work on my redesigned website and experimenting with the two Shodor Interactive applets. I played the Arithmetic Four Applet on all three levels, with different time limits. I added many cool features to my website today. The mail icon in my contact section now enlarges when hovered over. All of the links at the top of my website enlarge and move over slightly when hovered over. I also redesigned my blog and portfolio pages to match the theme of my home page.

  • Jun. 29th 2016

    Today we presented one of our Shodor Interactivate models that we chose. I chose to present the Arithmetic Four applet, because I though the other Apprentices would find it more interesting. I demonstrated each of the settings. Then I played an example game of Arithmetic Four to show how the game works. Each player has to answer an arithmetic question before they can play a piece. If you answer the question correctly, your turn is skipped. The game ends when one player has four in a row, just like Connect Four. I enjoyed watching all of the presentations.

  • Aug. 1st 2016

    Today was the first day of my last week as an apprentice. I continued to develop my website today. Ernie told us all to learn a programming library to use for a project. I chose to learn Bootstrap so I could improve my portfolio. I learned about columns in Bootstrap. There are a total of 12 columns in Bootstrap. I also learned about the different classes in Bootstrap, including, row, column, and thumbnail. I got a screenshot of each item in my portfolio and turned them into a thumbnail. I also learned about PHP form validation, and I plan to implement this on all of my forms tomorrow.

  • Aug. 2nd 2016

    Today I looked at the W3School tutorial on PHP5 Form Validation. I learned how to implement this into any form that I have created. I added the form validation code to the input boxes in my calendar. Form validation prevents users from harming the server by injecting PHP into to the website through a form. Form validation is always added to any website before it is released to the general website. I changed the the navigation links on my website from enlarging when hovered over, to gradually changing color.

  • Aug. 3rd 2016

    Today I helped Brandon with the navigation menu of his new website. I learned jQuery and the Skeleton CSS library by helping Brandon. He is using Skeleton to style his website, and he is using jQuery to achieve a smooth scrolling effect. In the afternoon Kristen, who used to be the head of the intern program, came in to teach us how to write resumes. Kristen showed us the proper ordering of items in a resume. Contact information goes at the top, then a professional summary, education, professional experience, notable awards, and finally technical skills. At the end of the day, we each wrote our own resume using a template that Kristen gave us.

  • Aug. 4th 2016

    Today I finished my redesigned personal website. After learning all of the necessary Bootstrap classes, I added Bootstrap to my website. Each image/project is in a column of my portfolio is given a width of 4 spaces, out of a total of 12. I gave each of the images a box-shadow when hovered over, making it look like it is popping out. I also used a CSS animation to make the color of the links change color slowly when hovered over. All parts of my website have been updated to match.

  • Aug. 5th 2016

    Today is my last day as an Apprentice at Shodor. Today is also the last day for all of the Apprentices who completed the first, second, and third summer blocks, so we had a presentation of our work at the end of the day. We presented our favorite projects from the year. I chose to present my MySQL/PHP database project, my Gimp and Inkscape images, my art gallery model, and my redesigned personal website. I really enjoyed learning computational science and working with my fellow Apprentices. I hope I will be able to continue at Shodor as an intern.