Akhil's 46th Blog

Presentation Time!


The whole summer module has led up to this moment. I am finally presenting 5 of the projects that I did during this module to the rest of my peers. The projects I chose to present were my final portfolio page, block 1 modeling project on COVID-19 in NYC, the messing with Aaron and Ernie GIMP mini-project, the background selection Krista project, and lastly the dice roll model with the database. I presented second today, and I usually like doing so all the time so I get a general idea of how I should present, in addition to the fact that I get to present early :). I think my presentation went fairly well. I got through all the points that I wanted to talk about, and I was able to answer any question that was asked of me. I did stutter a couple of times here and there while presenting, but it was not anything too big to be extremely noticeable. Afterwards, 4 others presented their projects, and I listened along. Their modeling projects were all interesting because they all presented different topics, such as the Haber model, forest fire model, and the release of endorphins.

Reflecting on My Time as an Apprentice


Well my time as an apprentice here at Shodor seems to be coming to a close. I have had a lot of fun and I really enjoyed doing all sorts of different projects that relate to computational science. I remember at the beginning of the apprenticeship, I was completely unsure about how this would be, and if I would stick to it, because my work was starting to pile up this year, with school, Shodor, and other extracurricular activities. I am so glad I stuck with this program because I learned so much in every single module, and I hope to learn even more. At the moment, I am kind of undecided on whether or not I want to pursue the internship, mostly because of my own schedule, however, I feel like it would be best for me to do it, so most likely I will apply for the internship. This is also my last blog post, so see you guys later!

Akhil's 45th Blog

Making all the Finishing Touches on My Portfolio Website


The workday today is the last full day we will have to work on our projects, because tomorrow is presentations! So my main focus for today was to finish the website. I actually made a lot of progress yesterday, and I planned for how I wanted each of my webpages to look beforehand, so I did not need to spend too much time creating it. First thing I did was put the scaling animation to many of the elements on my website, such as the navigation links, the logo on the top left, and the side nav, as well as the project links. I did this by using transform in the css, and then I scaled the element by 1.1 or 1.2. This means that whenever the user hovers over the link or area, the element will transform and scale itself, which also helps draw attention to the user.

The next thing I did to my website was create the borders and the sections for each of my blogs and projects. Like I said yesterday, what I wanted to do was put a dashed border around each project/entry, center the title of the entry, and then add margins around the content in the bordered box so it looks much cleaner and organized when looking at it. To do this, I used a lot of the code that I had from my PREVIOUS portfolio website because I did something similar in that website. After applying this to the blog and portfolio websites, I had to do it to my about page with my information. Afterwards, all I did was make some finishing touches, such as fixing/locking the position of the top nav and the footer, and making everything look much neater. I was finally done with my portfolio website! All I did after this was take the portfolio out of my newdev folder and put my old portfolio into another folder so the user does not see it. I plan to still allow the user to access it if they want, however.

Planning for the Final Summer Presentation


After this, I started planning for my final presentation because it is tomorrow. The 5 projects I wanted to present are: My portfolio website, block 1 modeling project, the messing with Aaron and Ernie GIMP project, the background selector Krista project, and lastly the dice roll database project. For the projects besides my modeling project, all I had to plan to say is why I chose to present it, what was the main goal of it, and what I learned. I also had to show the model, and demonstrate how it worked. For the modeling project, with the COVID 19 NYC model, I had to do all of that which I just explained and more. I basically have to explain my about page, and talk about the results, my expectations, hypotheses, etc. It is a little more work for it, which means that I can only present 5 projects to fit the 15 minute presentation limit. After noting down the main points which I am going to say, I was finished with planning! Time to present!

Akhil's 44th Blog

Continuing to work on the Portfolio Website


Today, I continued to work on the portfolio part of my final portfolio website. Today, I mainly worked on importing all of my projects into my newdev folder with the final portfolio folder in it, and then put in links to each of my projects. In addition, I updated my list of projects with all the projects from the past 2 blocks, with Krista's projects, the database models, and the SQL syntax guide. Next thing I did was make a sidenav. For this sidenav, all I wanted to do was make a little section which stays fixed on the left of the screen while scrolling down, with only Fall Spring and Summer. The 3 module names link to separate parts of the website. In addition, I plan to add an animation effect to all of the links in the website. This includes the navigation on the top and side, and then all the links which lead to the different projects. Lastly, I worked on a plan for actually styling the blog/portfolio entries. I wanted to do a simple grouping of each an every article sections with each individual project. So I plan to put a dashed border around each portfolio project, then center the the project name/blog number so it looks better and it pops out to the audience who would be looking at my website.

Akhil's 43rd Blog

Continuing to learn about Resumes


Today, I continued working on the resume that I started yesterday. I filled in the summary information at the top of the resume. I basically just talked about who I was and what I am doing right now (in terms of education, jobs etc.) I also talked about my skills in the summary because I want any employer to know that I have these skills and can help in these areas. I also talked about my office experience as I worked in Shodor as an apprentice. Lastly, I filled in what some of my interests are, such as play the violin, and tennis. Next, I moved on to the bottom of the resume which had to do with my awards. All I basically wrote down there was that I have gotten an A Honor Roll for all my years in which grades were tracked (from middle school till now), and I also stated my GPA. Lastly, I put in the fact that my school won 3rd place in the JV portion of the Science Olympiad regionals tournament back in 2019. I actually won 2 first place and 1 second place award in my events, which contributed to the 3rd place finish.

Working On the Portfolio Website


After finishing up my resume, I continued working on my final portfolio website. I wanted to skip the blog section for now and start working on my portfolio.html because I needed to make a theme to upload my projects with that same theme to the website. I used the same general theme as the Home page for this portfolio, as I just reused the same code. I also started adding a side nav, so the user can easily navigate through each of my projects from each module. Next, I am planning to add a feature so that when the user clicks on the module, it opens a page which is still on the portfolio.html, but is hidden until the link is clicked, which kind of sounds like a popup in a sense. This way, I do not have to have numerous HTML pages.

Akhil's 42nd Blog

Fixing Dice Roll Model


So over the weekend, Ernie reviewed my Block 2 projects so I could make revisions. Of course, I did not do the projects perfectly, and I had to make revisions to my projects. Most of the revisions I need to do are updating my projects so that they have a theme that goes along with the portfolio website in general. For example, my final website has a gradient (blue -> white) theme with black bars on the top and bottom of the screen, so this needs to be applied to the rest of my webpages with the projects. The one model that I had to change the most, was my dice roll model. Ernie told me that when you roll 2 dice, you should not be able to get 1 as a result, and also there should be a bell curve towards the middle roll numbers, which I had not thought of. After meeting with Ernie, I realized that my problem was that I was generating a number from 1 to 12, and not generating 2 numbers from 1 to 6, then adding them up. So after making two separate variables with 2 rngs from 1 to 6, I added the 2 variables up, which gave me a bell curve, which is noticeable as more rolls are entered into the form.

This also meant that I had to to do the same thing to my database dice model which I finished a few days ago. All the code remained the same as the changes I did to the regular model, I just had to remove the one column from the SQL table, and then manipulate the code so that it does not count $countArray[1] anymore, because it would not exist.

Learning about Resumes


After spending much of the morning on this project, I started watching the video on Resumes, which is actually a video from a previous demonstration from a couple of years ago. This demonstration was led by Krista, one of Ernie's old interns. She basically talked about resumes and how to write them. She started off by showing some bad examples of resumes, such as those with bad grammar, misspelling, not enough detail, informal, etc. She then showed a good example with enough, but not excessive descriptions, proper fonts and etiquette, and a general sense of formality. Some of the key takeaways from the demonstration are that you should never say "I" and should always start with action words to get right to the point. Also, we should always organize and use a formal and readable font for the resume. After watching this recording, I started making my own resume based on the template we were given. Today, I finished filling in my education/certification information, technical skills, and my personal information at the very top, and I plan to finish the rest by tomorrow.

Akhil's 41st Blog

Uploading Data into SQL databases using PHP


At the beginning of the workday today, we had a demonstration about how to upload random data into the SQL databases we were working with throughout this week and especially yesterday. We first downloaded a SQL template much like what we did yesterday, so that we have a baseline of what we needed to work with. Next, Ernie showed us the basic syntax of how we are supposed to send our first and last name from the form to the MySQL database. What I realized from this is that there is no special PHP-SQL coding required for this. All I really have to do is create a variable to store the SQL query, as if I was writing in the SQL command box in Adminer. With this, I was able to insert my name in the table. Next, Ernie told us to attempt to do this with the rest of the data forms, like the favorite color and the shoe size. This was relatively easy because I just reused the code that I had for the name, and changed some of the parameters so the database knows that I will be using integers at times. For the coin flip part, we did relatively the same thing as well, while using the INSERT command. After this demo which took much of the morning, Ernie sent us off to work on the Dice Roll project.

Working on the Dice Roll DB Project


So for the majority of the project I knew what to do, as it was very similar to the demo. For this, I just changed the table names from exPeople to diPeople, to suit the tables I will be using for this project. In addition, I had to change some of my variable names because I had some different names between the two tables and the code. One thing I had to add was another entry for the shoe Brand. For this, all I did was in the VALUE() parameter, I just added another question mark and then for the data type parameter, I added an s in the middle between shoeSize and peopleID to show that the shoeBrand is a string. After this I had to figure out the dice part. I have not quite yet figured it out, but I think it has something to do with the foreach loop I created in the code, and how everytime I roll the dice, the data will go into the table simultaneously. I have tried a couple of different methods, but they have not worked. I will continue to think of and try other ways to solve this issue over the weekend.

Akhil's 40th Blog

Quality Assurance


For the first half of the workday today, Ernie gave us some time to work on our projects for the block. I decided to start reading about Quality Assurance using THIS ARTICLE. In essence, this topic was mainly on making sure all of the content on your website is proper and up to date, and does not run into many errors. To make sure this is the case, I have to check my website probably once per week (according to the article), so I know all the redirecting links and all of the elements of the website in general are fully functional. After reading this article, I went through my old portfolio website, especially my blogs and my portfolio projects, to make sure there were no spelling errors, and all of the links worked. In my blogs, I caught a few errors where I had not closed a tag, such as a "p" tag near the end of the blog. So at the end of the last sentence, it looked like "...blahblah, blahblahblah blah./p>" If I had closed the tag properly, I would not see that /p> at the end, and this problem lingered through some of my blogs. After fixing this, as well as some grammatical and spelling errors here and there, I looked over my portfolios to see if any of the links were not working. Thankfully, they all worked, so I knew that this website has all of its contents up to date.

PHP + SQL integration Demo


After spending much of the morning before lunch working on quality assurance as well as working on my final portfolio site, Ernie set up a demo to help us learn the integration of PHP into SQL. We used the ex tables and another copy of the dice roll model for this demonstration. We first downloaded some starter files so that we would have the general baseline and template which we would be building off of. Next, we started editing one of the documents so that we could connect to the database, by putting in our credentials and server name. With this, we now can access data in the tables we had. After this, we created a loop in the main index.php we had so that for each table entry we have in the exPeople table, we should echo the id, fname and lname. We did this for each of the tables and its respective contents, such as favColor, shoeSize and exCoinFlip results. Now that we know how to take data from the SQL database and put it in the PHP, tomorrow, we will learn to put data INTO the SQL using PHP.

Akhil's 40th Blog

Dice Roll Statistics using SQL databases


Today, Ernie gave us a short introduction on the integration of PHP and SQL. He basically gave us a short overview on the topic, and the different resources that are available to us for use. After that, he set us off on our own to work on the main project for this 3rd block. The first thing I had to do to get the model ready was I had to make numerous forms on my model so that there are different types of data that the user can enter which would go to the database. I made a field for first name, last name, favorite color, shoe size, shoe brand, and the roll field. I changed the dice roll field so that the user can only input values between 1 and 50 inclusive, and I also made a note on the website so the user would know. Of course, this was all done on a duplicate copy of the original model, because I do not want my working model to get ruined by the numerous changes I was making. Next thing I did was I put the function "mysql_real_escape_string($varName)" where varName was replaced by the variable name I set for the echo value I put in on the website. For example, for the fName input form, I named that $firstName. After doing this for all the forms, including the diceroll, I was ready to start building my tables.

Next, I started working on the E-R diagram for the organization of my relational database. My 4 tables are going to be caleld diPeople, diColor, diShoe, and diRoll, where di represents dice (not die :D). For each one of the elements of the diagram, I put id, with int(11), unsigned, NOT NULL and auto_increment, and for the tables besdies diPeople, I put peopleId to represent the foreign key from the main diPeople table, which relates the tables to each other. I also specified the parameters for each of the entry columns, like firstName is going to be varchar(255), shoeSize is going to be decimal(11,1), etc. After finishing this, I translated this model I made to the actual SQL database using the SQL command box I have used while completing the tables I made yesterday and day before yesterday. Of course, I had to formulate my code, and I did that by putting it on a google doc which I shared to Ernie. Using the same plan, I was able to make all four tables, and connect each of them to the main diPeople table. Tomorrow, I am goint to learn how to take the inputs from the PHP model and put them into the database, which will complete the model.

Akhil's 39th Blog

Foreign Keys and Relational Databases


To start out today's workday, we had about 45 minutes to complete any of the syntax guide that we did not finish from the day 1 portion. All that I had left to do from yesterday's section were the mini challenges near the bottom of day 1. Basically, I just had to make SQL queries for the certain scenarios that were given to me. For example, I might have had to find someone's favorite color, or their shoe size. To do this, all I did was call the first name of the person, where the shoe size or favorite color is a certain thing. In addition, I also had to find the average shoe size, and do other things using the different SQL functions provided.

During today's demo, Ernie talked to us about relational databases. The gist of the topic was that it was possible to make connections between numerous tables so that you could reference data from other tables. This is made possible by foreign keys. These are just keys that you would set as the primary key in the main table to uniquely identify each entry, and then use these primary keys to refer to other values on outside graphs. With this, I can gather data from numerous sources all at the same time, and then connect and associate the data with each other. After doing an example of foreign keys by making the table exCoinFlip and then relating that to the table exPeople with just first and last names, Ernie set us off on our own to create the other two tables and associate it with the exPeople as well. This was relatively easy because I just used the template I created in the demo to make the other tables. However, for the shoe size table, I had to change the varchar() to decimal() to suit the numerical shoe sizes. After making these tables and associating them with each other, I continued onto the second day of the guide. This had to do with the demo we did and relational databases. In addition, I learned about the GROUP BY function and the different JOIN functions such as INNER JOIN, LEFT JOIN, and RIGHT JOIN. I am excited to start working more with databases and integrating that into my PHP dice model!

Akhil's 38th Blog

Continuing to Work on the New Portfolio Page


Today is the first day of the 3rd block of the summer apprenticeship program. So today, Ernie opened up the workday by talking to us about what we would be doing this whole module, in terms of the different projects and topics we will be doing. In addition, he introduced SQL to us, and told us some of the basics before starting. He then set us off on our own to watch some videos from last year about mySQL and databases. These recorded workday videos provided a lot of information about what SQL is and some of the different areas of SQL that I could work with. I learned that it is used a lot while dealing with databases and extracting information to complete some sort of task. It kind of reminds me of how we can create tables using Excel, and then use it to do different things like make a graph, find the average values, etc.

After watching the video, I started working on my CSS library project, which I started last week itself. Today, I finished my home index.html page. All I did today was create the gradient background for the jumbotron header portion of the website, and then create the main. The main section comprises of 4 sections for the 3 modules and then the Shodor website. For each section I used a font awesome icon to represent the module, so for Fall I used a leaf, and for Shodor, I used a building (office/workplace). I then use the similar color theme (light blue/green/turquoise) for the section, and then added a hover effect for each section, so it looks like the sections rise from their place once hovered over. I then made some files for the rest of the pages and linked them to all of their navigation bars right before lunch.

SQL Time!


After lunch, we started learning about SQL. Ernie led us through a demo to create a table which we would be using for the rest of the SQL exercises in the SQL syntax guide. The table consisted of different first and last names and also a favorite color, shoe size , and a coin flip for each person. After he set us off on our own again, I started working on the guide. The guide was fairly straightforward, as all I really had to do was research some concepts. I covered a lot of things today, such as some math functions, logical functions, as well as some syntax for building and dealing with tables. I hope to learn more about SQL queries tomorrow while working on the next section of the guide.

Akhil's 37th Blog

Starting My New Portfolio Website


Today is the last day of the 2nd block of the summer apprenticeship module. This blog post is going to be relatively short, because I did not really have too much "action" going on today :). Well first off, I continued researching Bootstrap css library for my new website, as I was going to implement the library to make a new website that looks much better. Basically, all I did today was build the main layout of my home page of the portfolio website, which will basically have all of the modules and then shodor, and then I also built the nav of the website, so the user could navigate throughout the webpage. I am hoping to continue this going into the next block. In addition, I am hoping to start learning more about databases and mySQL, and how I could implement that into my PHP dice roll page.

Akhil's 36th Blog

Once Again, Another Work Day!


Today, I worked a lot on polishing all of my projects, especially the Krista mini projects. Basically, I had to do a lot of reading over the requirements for each individual project to make sure I did each of them properly. Thank goodness I reviewed my projects because I had to make quite a bit of changes here and there on pretty much all of my projects. For example, I had to make sure all of my projects' code validated using the validator from W3. All I really had to do for this was view the page source of the code, then copy and paste it into the validator and then get feedback. I did not have too many errors except for the background selector project. The error I had was that I was repeating the body line that declared the style of the background of the site. After making some changes to the PHP that was embedded into the HTML I was done with that. Other than these changes, all I had to do was make a PHP rendering Coin Flip php form validation model. For this, I just put the same model onto the dynamic render 2 index.php5 file and then used the same concepts from making the countWForm php model to put the coin flip model.

After a couple hours of tweaking my projects here and there, it was time to wrap up the block 2 projects, and start working on the block 3 ones. Ernie introduced us to a block 3 project in which we had to research for some css and js libraries and then download them so that we could use it for our own final portfolio websites. The ones that appealed to me the most were the bootstrap and font awesome libraries. I liked both libraries mostly for their simplicity and the various looks I could produce using bootstrap, as well as the different icons I can use using font awesome. I downloaded both, hoping to use both of them. I chose to do the project in which I only use 1 library to build one big website, rather than the project in which I use 5 different libraries to build 5 smaller websites. Now that I have chosen bootstrap, it is time to get working on my final portfolio website.

Akhil's 35th Blog

(Another) Work Day!


Well, today was yet again another workday for our Block 2 projects, because Ernie was still recovering from his sore throat, and he had a bunch of meetings and an appointment to attend throughout the workday so he could not really give a direct demonstration. Besides, he himself told us that we basically have and know all the content for the block so there is no demonstratable material left. I started my day off with fixing up the dynamic template website. Ernie updated the dynamic template fixing google doc so that we could fix the form code for the countdown page of the website. In reality, all I really had to do was change the method of the form from get to post, and then update the rest of the code with $_POST instead of $_GET so it would work. I used some of the code from Ernie's fixing document, but it was not really too necessary for me.

Later, after finally finishing the dynamic website, I started working on my dice model. I finally got that finished today. All I really did to finish it was use the str_repeat function, and then use the for each function so that the key of the model is the frequency of asterisks that appear, which would then go on the chart. Also I recreated the chart so that I could put variables in it, which made the project much easier to complete. After finishing this, I went over all my projects to make sure I covered the requirements. I realized that I needed to put a form on my hex generator so all I did was use the post method to nest all the code that I already had in it, and then make a submit input which, when clicked, generates the random hex code.

Akhil's 34th Blog

Work Day!


Today was a complete work day to work on all of the projects that had been assigned for Block 2. Today was a workday mostly because Ernie has had a really sore throat, and has not been able to give demos like before, so he just set us off on our own, and if we need him, we can request for his help. Anyways, Ernie started to tell us (through the chat we have) about some of the fixes we needed to do for our 2nd dynamic webpage project that we started working on yesterday. Like I stated in yesterday's blog post, there was a lot of errors with the css and the forms that existed in the Count PHP form file pages. Ernie helped us fix this issues by putting all of the correct template code into a google doc and sharing it with us so we could use the code in our own websites. Most of the fixes were about the conversion from html to php while embedding it into the HTML. Because of the amount of HTML code we had to put in PHP, which had to go back to the HTML, there were many errors yesterday, but thankfully, these were all fixed once we put in the correct code, with proper punctuation (quotations, etc.)

After working on the dynamic webpage model for a little more than half of the day, I continued on with the last of Krista's PHP projects, which dealt with dice statistics. In short, what I have to do is simulate a certain number of dice rolls (2 dice rolls in fact) based on the user's input into the form that is on the website. Then, the code is supposed to display the results onto a created chart below the form on the website. So far, I have created only the form part of the website, and I am working on the statistical part, involving the creation of the chart. What I had in mind is that I wanted to create a big function which rolls the die, and then puts the results in an array, and then counts the frequency of the results in that array. I then want it to somehow convert the frequency to a number of asterisks, similar to the barebones example chart, and then put the result onto the chart, which is already made using a large HTML string and assigning it to another variable called $createChart.

Akhil's 33rd Blog

Dynamic Webpages Demo Part 2


Today during the workday, we went more in depth in making dynamic webpages. We used the template that we made on Friday and started to learn how to build a complete website using just the PHP, and then just using the HTML to embed PHP into it. Note that the HTML does not have any formatting or any elements in it, it is basically just a bunch of PHP elements listed together. Because I was not going to be working with much HTML at all, it posed a challenge because I was just learning PHP and I was not too familiar with the language. On top of that, Ernie, who usually leads demos during the workdays, had a sore throat, so he could not talk too much, so besides the directions given to us on the php file, I was pretty much on my own. I was not too sure on what I had to do for the project at first so I was pretty much just relying on the directions to guide me through the project. Once I finally figured out I was making a complete website, I understood that I had to use the HTML code that I already had in the old template from last week and assign it to new PHP functions that I make so that I can just call those functions to new PHP variables, and then list the variables in the HTML.

The one main sort of "curveball" that was thrown at me was that after putting the website together, the CSS for the PHP website was acting pretty funky. Specifically, I was using the same CSS that the normal HTML website was using and I pretty much copy and pasted the information and HTML elements from the HTML portion to the PHP, so all of the contents on the website should ahve been formatted the way they were on the HTML website, but they did not. To this moment, I have not figured out why this is the case. In addition, the navigation that I made into the PHP appears below the contents of the pages in the page source code that you access through the website, which is not supposed to happen, considering that I put it above the actual content (body). Even Ernie could not figure it out, and he supposed that the css issue was his fault, as he might not have put in the css code properly. Anyways, I can probably figure out the problem tomorrow... :)

Working on my Projects


After spending pretty much the whole day on the 2nd part of the dynamic webpages project, I worked on my mini-projects. Today, I was able to finish the background-selector project, which dealt heavily on cookies. Over the weekend, I finished the Dane Joe project, which had a lot to do with creating a giant function that switches the leters one step at a time after locating each letter in an array that was made from the string entry, and so on. The background selector project was relatively easy as well, but it took me a while to figure out the cookie part. I realized that the cookies were already set after I put in an entry for the dropdown menu for the background color, so I really just had to extract the name of that cookie and make it into an echo function so that once the page is reloaded, the color will remain the same, even after closing it out because the cookie is preserve (this stuff makes me hungry ;D).

Akhil's 32nd Blog

Dynamic Webpages Demo


Today, we continued working on PHP integration into HTML by making a Dynamic Webpage. In essence, this webpage just retrieves data from other files and posts it on the main page without changing any of the main formatting. This was done by using the file_get_contents function in PHP. Basically after setting the different file names to be the different tabs on the website, we used a get method statement to make a new variable named currentPage so that we could use the tab name to pull up the file name, which had the names page1.html, page2.html, and page3.html. Afterwards, we used that file_get_contents function to get the currentPage.html and pull up all the contents from that one file, which basically just had an h2 element and then a bunch of p elements with paragraphs. The whole point of making this kind of website is so that each HTML page is not made separately with loads of time put into each one. This method allows the website developor to make one "canvas", so to speak, and then put words onto the canvas template so it makes a website.

After doing this demo, which too a large part of the workday, Ernie sent us off to work on our projects for the rest of the day. Today, I completed the math functions part of the guide, as well as the HEREDOC function. Many of the math functions were very similar to the JS ones, so those were not too hard to research and put onto the guide. Once I got to HEREDOC, I had to do a lot of research because I had never really heard of that function until today. Basically, it is another type of string function which uses a different kind of syntax to build the string and paste it on the website. After working on the PHP syntax guide for a bit, I started working on the Dane Joe mini project from Krista's PHP project list. In this project, I have to switch the first and last initial of the entered name and then print the result. My initial approach was to create a function which switches the initials. I realized that I had to do things one at a time when it came to switching the initials. So first, I planned to explode the entered text string, then take the acronyms of the resulting array and then reverse the order. After this, I went ahead and made the form using the text entry box to test what I had so far for this function. This is what I have done so far, and I plan to finish this over the weekend!

Akhil's 31st Blog

Form Validation Demo


Today, we went deeper into the topic of PHP and its interactions with HTML when we started learning about form validation. This is basically about user interaction with the website, and how the html receives the data, sends it to the PHP to respond, and then goes back to the HTML to give the feedback to the user. Ernie introduced this topic to us by helping us make a Name and favorite number submitting form validation website during the demo. He basically elaborated a lot on the get and post methods while receiving the data from the user, and then running some commands after the data is received from the user. While doing this, Ernie stressed that security is a big issue with both the methods, because the website puts the user's responses into the website url while going into the php to get back a response. After doing this same thing while using the 2 methods on 3 different user interaction websites, Ernie set us off on our own to make a user interactive coin flip website, in which we had to use at least one form.

To integrate the form into the coin flip model, I thought that I could allow the user to pick the number of flips they want the model to simulate. So I took the old model I had and made a copy of it so I do not lose any of my old coding if I do mess up. From here, I basically just used the get method from the get.php website we made earlier and took some of the get method coding and pasted into my coin flip website, since both instances are very similar. I had to associate the variable I created, numberOfFlips, with the Get method function, and this is only called after the data is received from the user. I originally had some issues on this part, as I originally asked the website to get the data before the user even entered any. Thankfully, Ernie cleared this up for me during a separate meeting with me. After spending about half the day on this project, I was finished and I could start working on my other Block 2 projects.

Working on the Projects


After finishing the coin flip model, I continued my PHP research guide. Today, I went over mainly how to make a function, and different string functions. Once again, I realized how similar JS and PHP are when it comes to making functions and some string functions when calling them. In addition, I learned many new string functions that were not previously available in JS when I was researching. For example in PHP, there is a function that reverses a text string. After working on this project for a bit of time I started the 2nd project on Krista's mini projects. The 2nd project is a dice rolling model in which we have to have some kind of form for the user to input a number so that the computer rolls a pair of die. Then, the results of all the rolls should appear on some kind of chart below the table. So far, I have gotten to making the actual website and then making the form as well. In addition, I have gotten a random number generator to work (not too much of an achievement haha). The one part I have been kind of stuck on is trying to associate the number of rolls to the amount of times the RNG actually works. For example, I want to make it so that after the user inputs a 3, the computer should output 3 random numbers from 1 to 12. In addition, I still need to figure out how to make the chart and table, but I am sure it has a lot to do with just some text editing with HTML and PHP. I should be able to figure it out tomorrow!

Akhil's 30th Blog

Opening Meeting and Coin Flip Model


Today, we opened up the workday with a meeting similar to Monday. Today, Ernie led us through a demo of building a coin flip model using PHP. While making the model, Ernie applied many of the different concepts from the syntax guide, such as the for loop, random number generating, and many other things. Basically, all we did was create a loop so that we could flip 2500 coins at once, and then we created sort of a count for the heads and tails so that the user could see the total number of sides the coin landed on. In addition, we created a percentage for the flips using the number of heads divided by the total number of flips all times 100, and the same thing for the tails side. After doing this for the first hour or so of the total workday, we finished the Coin Flip model. Now, I can complete other mini projects that Ernie assigned to us using the concepts I learned from making this model.

Working on the Projects


After the meeting, I continued working on the JS and PHP syntax research guide. Since I finished the JS part of the guide yesterday, I continued working on the PHP part from where I left off. Today, I covered different types of arrays, as well as different math operators. Some of the math operators I did was simple addition, subtraction, multiplication, as well as modulus and incrementation. This was very similar to the JS part of the guide, it is just that some of the syntax is different. In addition to operators, I did some associative arrays in PHP. I did sort of a vegetable associative array so that with certain vegetables, the code outputs some kind of line that I wrote about the vegetables, such as: "Carrots? That is for rabbits..." when Carrots is inputted. I finished about half of the guide before stopping to work on the next projects.

So, after the 2nd break, I started doing Krista's mini projects, starting on the Random Hex Generator. This project had a lot to do with assigning different variables to arrays and random number generators. In this project, all I did was make an array with the number range 0-9, and then with the range A-F. Then I used the random number generator to pull items from that array and that concatnated 6 of those RNGs to make the 6 digit hex code. After that I just added a title and a subtitle for people who would go on the website, and the project was finally finished!

Akhil's 29th Blog

Research Project Workday


Today was a complete workday for the project that Ernie assigned us yesterday. Since I did not get too much progress yesterday after the 3 to 4 hour demonstration in the morning as well as the afternoon, I knew I had to work extra hard today to stay ahead. During much of the workday, I worked on the long JavaScript portion of the Syntax research guide. The topics I went over today were Math operators, assignment operators, comparison operators, control structures, like if, else, else if, etc., logical operators like and, or, and not, loops, functions, string functions, math functions, and array functions (I know it is a lot). Within each of the different portions of the JS syntax guide I had to research about individual uses and functions, and provide and example of each on my website. On average, there was about 4 to 5 different functions I had to look for and put on the browser, and for some, I even had to research 4 or 5 of my own, such as for the string and math functions near the end of the guide. After spending pretty much the whole day (up until around 3:30 PM) I was done with the JS portion of the guide. Time to move on to PHP!

Yesterday itself, I started working on the first bit of the PHP portion of the syntax guide, after I got stuck on a JS portion. From what I see, it is very similar to HTML in the sense that both of them tie together a lot. For example, when echoing certain elements, I use the p and h2 elements to post it on the website. Even though we are doing the exact same things on both JS and PHP in terms of the end goal, we have to use different methods. For example, I did not know that you should reference each and every individual string in the array while echoing the whole array in PHP, however in JS you can just reference the array to get the whole list of text strings (I actually needed help on this yesterday, and thankfully Ernie cleared this up for me). Since I had 15 to 20 minutes for my PHP guide, I only finished up to the array portion of the guide, and I still need to do the Math operators on down (similar to the JS guide). In addition I have to do extra PHP research at the bottom of the guide. It certainly seems like a lot of work, and I am actually looking forward to learning more about PHP tomorrow!

Akhil's 28th Blog

Time for the Second Module!


Well, today was the first workday for the 2nd block of this summer apprenticeship module here at Shodor. We are, yet again, still working remotely from our homes because the virus has not really slowed down here in North Carolina. This block is all about JavaScript and PHP, which I learned stood for Hypertext preprocessor. Basically I can use PHP to build a website while combining it with the HTML knowledge that I already have. So during the demonstration done by Ernie at the beginning of the workday, he just reviewed some simple JavaScript concepts such as console.log and some printing. He led us through a couple of examples with printing our own names and different numbers and then set us off on our own for a bit. Later after lunch, we came back together to talk about PHP and what it was. Like the quick JavaScript demo we did prior to lunch, we went through a few examples so that we apprentices could learn some of the base syntax for the language so we could do the first project of the 2nd module by ourselves.

Working on the Syntax Guide


After the 1st JS demo, we started working on the Syntax research guide. This basically helps us learn the simple programming concepts as well as the syntax for each individual language. For example, for both JS and PHP we learned how to Concatenate each function using either the + symbol for JS and the . (period) for PHP, OR the concat function, which, to my knowledge, only usable in JS. Using Concat, I could combine my first and last name together for my full name, and I also got to put my first name with the text string "is great" to output "Akhil is great" :D. Most of the previous modules/blocks have been one of the mentors teaching us and we had to follow them. For this block, and especially for this project, we have to research all of the different topics and syntax for the programming languages, and then use that knowledge in our own coding while finishing off the syntax research guide. It is a little bit more thinking and work, but to me, it is definitely doable.

Akhil's 27th Blog

Making Some Quick Revisions to my Projects


First thing I had to do during today's workday was fix some of my graphics projects. In my Gimp projects, I had to put a transparent background to 3 of the web banners that I created, and what I did when I was creating them, was that I only exported the picture as a PNG and did not remove the background. After removing the background by simply deleting the background layer of the web banner I finished making the quick revision. After doing this, I needed to add some descriptions to each of the projects under my Summer portfolio. I basically gave a quick 2 sentence overview describing each of the projects and providing maybe one example of what I did on the project. I also provided the purpose of doing the project, and I especially elaborated the purpose for the NYC COVID-19 models, as I thought that project was the most applicable of them all. Until the end of the workday, I was attempting to add some elements such as an anchor link to the different modules of this blog, so except some big changes coming soon! After doing so, I guess that I could say that I was done with the First block of the Summer Module!!!

Reflecting on the First Block of the Summer Module


Looking back to before this block, I thought that waking up relatively early in the morning and doing work every weekday until 4 would be awful. Now, at the end of the block, I now know that I was partially wrong. Yes, I do still dislike waking up early during the summer, but I realize that everything that I did this block was so useful. Going more in-depth with modeling and learning graphics will definitely help me in the long run when doing any computer-related task. After this module, I grew a deep interest in graphics while working with Gimp and Inkscape and I plan to play with the programs some more over the Summer. I am really looking forward to the next block this Summer, and I can't wait to learn something new!

Akhil's 26th Blog

Finishing Off the Modeling Project


Today was a much lighter day for me. This is because I had finished the majority of my projects and all I had to do today was finish off building my website for the modeling project. However, I still had a lot to type for my about.html page which I left off yesterday. On my about.html page, I have to write the story, results and behaviors, questions and hypotheses, and observations and expectations for each model. In addition, I also had to write about what I did to make both models as accurate as possible so that it simulated the real-life phenomenon. The main idea about what I wrote is that I had to include the actual rates and numbers from real-life in order for the models to be as accurate as possible. In addition, I had to factor in many things that most disease models do not have, which is quarantine and immunity, which are both very important factors when it comes to the spread of COVID-19.

After finishing the about.html page, I had to review all the work I did before actually considering it "done." This is much like actual school, where I would always review a test, quiz, or essay before turning it in, because any grade is always an important one, and it was key to follow all the directions given. Luckily, because I checked my work, I found out that I left off a bit of an answer to a question on this About page. After reviewing all the pages of the Modeling project website, it was finally done.

Akhil's 25th Blog

Fixing Up My Web Banners


Much like yesterday, today was a complete workday. The first thing that I did today was finish off making the small corrections I needed to make to my web banners on the 2nd part of my Gimp Projects. To change the web banners up, I used some duplication and made it so that each of the web banners looked like they would go on an actual website. Basically I made them look more professional by scaling the logos down on the web banners rather than just taking a cropping of the logo and pasting it on the web banner. After finishing up the web banners, I got approval, which meant I was finally done with all the revisions for my Gimp projects (for both parts 1 and 2).

Building My Modeling Project Website


After spending much of the morning planning out and building my web banners, I started working on my website for the modeling project. Yesterday, I left off at the system model, so I picked up there. On this page, as well as the agent.html page for the agent model, I pasted images from each model on the left side of the page and put borders and a separate background color to the picture area to make it look nice. I did a similar thing to the description, which was placed on the right side. Since more emphasis was needed for the description, I put a double border around that to make it stand out from the rest of the website. In the descriptio, I pasted the stories for each model on their respective websites, and put some side notes so the audience could better understand the model. In addition, I pasted the version control files/website for each model near the bottom of the description, as that was a requirement. Near the top of the main section of the website, I put the files for my actual model, so that it would be the first thing any viewers would see once they click on the system.html or agent.html tab on the navigation bar. At the end of the workday, I put up a layout of where I wanted everything to go on my about.html page so that tomorrow, I can quickly put the content I needed on to the about page. To get to what I have so far on my modeling project website, CLICK HERE.

Akhil's 24th Blog

Finishing Up the Gimp Projects


Today was a complete workday without a meeting at the beginning of the workday. The first thing I did during today's workday was finish off my Gimp projects. All I really needed to do was use the logos from my previous Inkscape projects and make 728 x 90 or 468 x 60 pixel croppings of them, and paste it on my website. In addition, I had to make some finishing touches on my other Gimp projects, like scaling them down to fit the section where it goes on my website. Afterwards, I was finally done with my Gimp projects. The full website for all of my Gimp projects can be found by CLICKING HERE.

In addition to doing my Gimp projects, I also had to make some quick corrections to my Inkscape projects, specifically the logos I made. Since I did not manipulate the text enough on my name logos and one of my initial logos, I changed the gaming logo so the text wraps around the Pac-Man, and made a exploration logo with text going on some mountains I made using the shape tool, and changing nodes. For my initial logo, I manipulated the nodes of the rectangle made by using the rectangle tool, and made sort of an A and P connected to each other. I aimed to make it more simple than before, so it looks better for the audience in general. The full website for all of my updated Inkscape projects can be found by CLICKING HERE.

Starting to Build my Website for the Main Modeling Project


After working on my Gimp and Inkscape projects during much of the morning, I started working on my website for the Block 1 Modeling project. I used the same old HTML tutorial template to make the website, but after I update the portfolio website later this summer, I will be sure to change all of my websites for each of my projects so they look much sleeker and unique, without using the HTML template. So far, I completed my Homepage of my website, index.html. On this website, I basically gave an introduction to what COVID-19 is, and how it has affected the world, and how badly it has affected New York City. I then put some pictures of each model onto the index.html website I added the story for each model below it, in order to act like a description. To finish off the workday, I put the pictures for all the models on each of their respective websites as well.

Akhil's 23rd Blog

Gimp Demo with TURTLES


On the first day of the second week into the first block of the Summer module (well, that's a mouthful), we continued our main topic of graphics. Today, we worked a lot more with rastor graphics and Gimp, and Ernie led us off this morning with a demo involving pictures of turtles and a nebula in space. He showed us all of the different types of transformations that we can do with the pictures, such as the selection tools, rotating, scaling, etc. With the turtle picture, we bascially cut out the whole background of the picture, and made numerous layers for that one picture for each and every component. Throughout this process, we did a lot of version control, because as usual, it is very important to save your progress every so often, so that if you mess up, you could go back to one of the previous versions and save the hassle of remaking the file or project over again.

Putting a Turtle into a Nebula


With the turtle that we selected out of the first picture, we could move on to the next part of the demo. We had a picture of a nebula, so we pasted the turtle pictures onto the nebula so it looked like the turtles were in space. With this, we adjusted the turtle pictures by scaling their sizes down, rotating them to fit the total area of the nebula picture, and throwing on some filters. The majority of the filters that I used on the turtles were bluring filters. This kind of emphasized the lead turtle at the front of the group of turtles, and the other turtles in the background were somewhat blurred. In addition, to the nebula background we added a supernova and a lens glare so that the background picture looked somewhat realistic.

Gimp Mini-Projects Part 2


After the demo, we started working on the assigned Mini-projects with Gimp. Some of the things we had to do include making another image collage with a bunch of animals and a background picture.The next project had to do with making all of the logos in previous Inkscape projects into web banners. All I did for this project was take a long segment of the logos and convert it into 3 png images and 3 jpg images. In the last project, I received some pictures of Aaron and Ernie, and I had to edit the pictures to recreate something else. I basically edited it so that it looked like Aaron and Ernie were having a lightsaber battle during a sunset :D.

Akhil's 22nd Blog

Finishing up the Web Design Tutorial


Today is the last day of the first week of Block 1. I honestly thing this Block has been fun, because I love designing things and using graphics to make things look better in general. The first thing I did during the workday was finish up the web design tutorial, which is a total of 2 hours long. The remaining part of the tutorial had to do with making finishing touches on some of the individual classes and divisions of the website, in order to make it look nice. The full website and the final outcome of the tutorial can be found by CLICKING HERE. Now that this web design tutorial is done, I can start planning out my Final Portfolio page.

Starting to Plan Out the Final Portfolio Page


So, the piont of this final portfolio page is to make this website that you are currently on 10 times better, per se. Essentially, I will completely redesign this website to make it more accessible for the user and make it more stylish and sleeker. For this, however, I have to plan a lot. First, I have to come up with the purpose and desired audience for the website. Then I noted down some of the key features the website will have, such as a horizontal navigation bar, a color theme, and favicon which doubles as the website logo, and much more. I then took my notebook and kind of sketched out what I wanted my website to look like. I would want it to look somewhat like the website in the tutorial because I personally thought that the narrator's layout for the website was amazing, with the multi-columned pages. The main thing I wanted my website to do was become accessible on a handheld device. With this, it would be even easier for people to look at it from any device.

Continuing to Work on the Agent Model


After the lunch break, I continued on with my modeling project that was assigned to us on Monday. I picked up where I left off in the Agent model and I continued documenting my versions and writing my code. In the middle of writing my code, I could not figure out how to make some of my agents stop moving after a period of time. I then called Ernie, my mentor, and we discussed creating a new attribute for each agent in the model and making the website run on some timestep system so that some agents would stop moving automatically. With Ernie's advice I think that I now know how to accomplish this task.

Akhil's 21st Blog

Finishing up the Inkscape Project


At the beginning of the workday today, I finished up the Inkscape project that was given to us yesterday. All I had to finish was the 2 logos with my intials and 2 abstract logos. For my inital logos, I thought of AP exams and since my intials are A.P., I used that to make a logo for a possible AP exam test prep business called "AP Test Prep." My other logo with my intials basically had the yin and yang, which was created in Inkscape by me, and my intials were engraved in it for a logo. For my abstract logos, I used a lot of shape duplication and made something close to a flower for my first logo, and some other abstract art for the 2nd logo. All of my projects with Inkscape can be found if you CLICK HERE.

Starting the HTML5 Tutorial


After finishing this up, I started the new project which was given to us today, and it was the HTML project. In this, we basically have to watch a 2 hour tutorial, then come up with a plan for our own portfolio website using the knowledge we gained from the tutorial. Today, I watched the first hour or so of the tutorial. In this, the narrator of the video covered a lot of HTML, and I watched some of the css section before stopping. I learned a lot of different HTML tags that I did not know about, such as the aside tag, the td tag and the i tag for icons. The video for the tutorial can be found if you CLICK HERE.

The CSS Part of Tutorial


After completing the HTML part of the tutorial, we had to design the webpage we had just built with CSS. The narrator of the video designed the page by starting off with the broader tags, like html, and body, and worked his way down to the smaller tags throughout the webpage like h2, h3, nav, ul, and li. So far through the tutorial, I have learned many things about CSS like how to make certain HTML tags float in the website so that when the window the webpage is opened in gets smaller, the HTML attribute remains in a proportionally similar area on the website. In the tutorial I have made the whole website and completed the CSS up until the Nav for the website.

Akhil's 20th Blog

Learning about Vector Graphics and Inkscape


Today, we started learning about the second half of the subject of graphics; Vector graphics. Basically, these graphics do not lose resolution while scaling them down to smaller sizes, and you use a different program. The program we used to manipulate vector graphics was called Inkscape. This is very similar to what Gimp is, except that this produces different types of images in comparison to Gimp. Ernie led us through some demonstrations with the different functions of Inkscape, such as using different drawing tools, grouping, scaling, and other types of manipulation techniques. He then gave us a new project for us to work on with Inkscape

Doing the Inkscape Mini-Projects


In this project, there are 4 or 5 smaller projects that we have to do using Inkscape. The main part of my workday was me working on this because on average, each project took 1 to 1 and a half hours to complete! I got through the majority of the project, as I made a Favicon for my website (check the tab on top the window) and I made some different logos with my name. For example, I made one for gaming, and movie producing. The projects I have worked on and completed thus far can be found here.

Continuing the Modeling Project


While working on my Inkscape projects, I continued on with the Modeling Project from the first day. Today, I started doing the Version control and documentation for my Agent model after completing my System model yesterday. I managed to document 2 versions (versions 0 and 1) and put them into AgentCubes. My workday ended as I was working on documenting the 3rd version, or Version 2 of my model.

Akhil's 19th Blog

Learning about Graphics and The New Graphics Project


On my second day of the Summer Module, we started learning about Graphics. Ernie introduced the main basics to me and my peers, such as the different types of images, and the softwares used to produced those images. With this, he introduced another project in which we had to use a graphics editor to manipulate an image of our choice in multiple different ways. The software we were supposed to use was Gimp. With this, I used one of the images selected by Ernie, and did things like scale the image down to a quarter of its size, crop it into a square of different sizes, and made web banners using the crop tool. All my Gimp projects can be found if you click here, or if you click Portfolio in the directory, then Summer, then Gimp Projects.

Documenting the Versions of the System Model


After finishing up this project earlier in the morning I got back to work on writing up the versions of my system model after asking a few of my peers to review my plan. While documenting my versions, I have to make sure that I go step by step while making the project, so if I mess up, I can easily go back to the previous version and not worry about losing too much work while building the model.

For example, when I started on Version 0, I first opened the software VensimPLE, then created the two levels and rates that I needed for each level. With this being my "0th version," I would then save and then duplicate this and move on to Version 1, in which I planned to put in some different variables to affect the levels and the rates of my model. This took up the majority of my workday, as I had to create 6 different versions of the model, adding different things one at a time. After getting my plan reviewed and approved as well as finishing my plan, I was ready to start building the model.

Starting to Make the System Model


While building the model, I followed the exact directions that I layed out on my Version documentation. It took a while for me to get used to some of the controls and functions of Vensim, because I had not used it in a very long time (last time was in the Fall for the 1st Group Project). Even though I planned everything out, I ran into some slight issues with the equations and the model that I pre-planned and drew out. However, because I planned everything properly, I was able to get through the errors I ran into, and was able to get to Version 4 in my plan. I am eager to learn more about Graphics, and continue my project tomorrow!

Akhil's 18th Blog

First Day of Summer Module!


Wow, I can't believe that it is already Summer. It feels like yesterday I was walking into the Shodor office in the Fall, uncertain how things would work out. I would have never guessed back then that I would be sitting at home from March working on school and Shodor. Anyways, Ernie opened up the meeting by talking to us about how the Summer module would go. The main difference is that each meeting would last 1 and a half more hours (until 4), and that we would have a meeting every weekday for two weeks for each block. Right now I am in Block 1, and I have 2 more to go until I complete the Apprenticeship program. After today's main introduction, he introduced us to the main theme of the first block, which mainly revolves around graphic design. He then introduced us to our first big project for the block, the Modeling project.

Starting the Modeling Project


This project is very similar to the main group project we did back in the Fall. Instead, we are allowed to use JavaScript to build our Agent model. The first thing I did was decide on a topic. After brainstorming I decided to research and model COVID-19 infections in New York City, using their infection rates, death rates, and case statistics in general. After getting my topic approved, I started the planning process, in which I researched and found statistics for infections. Later, I wrote out my models' story (for both the System and Agent models) and started writing questions and hypotheses based on the model and what it might be able to answer. After lunch, I was able to draw out a layout for the models and post it on my plan. As of now, I am pretty much done with my plan, I really only have to make sure everything on it makes sense in terms of logic and if it lines up with the "What I have is what I had plus what changed." I can't wait to work more tomorrow!

Akhil's 17th Blog

Continuing to Learn About Parallel Computing


This week we started to do some hands-on experience with parallel computing. Prior to the meeting, we all had to download a software called Putty (for those using WindowsOS) and Xming. These softwares will allow us to connect to the LittleFe server for us to accomplish our goals for the meeting. We were also told to test our connection to LittleFe servers by running a program called "Xeyes" which is basically eyes following the mouse cursor. During the meeting, we looked through the server and completed process together like a real parallel computer. I thought this was really cool to see how a parallel computer works in real-life, as I was the person controlling it.

Models that Run through Parallel Computing


In the LittleFe server, there were numerous folders with different programs that we could run under our username. One of them was a galaxy model, which shows the movement of stars in the galaxy over a period of time. This kind of resembles the group project me and my partner did earlier in this Spring module because it took into account the forces of each of the planetary bodies. In addition, there was a disease model in the folders. This program basically showed the spread of a disease from one vector, and the curing of the same disease. There were multiple process we ran using the cores and nodes on the LittleFe supercomputer.

Last Spring Module Meeting


This Spring Module has been a rough ride. All was well until COVID-19 came to the U.S. and more specifically here in NC, and now, all of our norms are gone. Despite all of this, I feel like I learned so much during the last few weeks and months. First off, I learned a lot about JavaScript, and how to turn some research into actual coding and make a program on an HTML website. I also learned a lot about the Planetary bodies in our Solar System after doing my project with my partner. Lastly, I learned about Parallel computing, and how numerous supercomputers can work together to achieve lengthy tasks in a small amount of time, while household computers take years to complete them. I am really looking forward to the Summer Module, and I hope we can go back to the office by the first Summer meeting!

Akhil's 16th Blog

Starting to Learn About Parallel Computing


Today, we started learnng about Parallel Computing. All I really knew before today's meeting was that it had something to do with computers working together to complete one task. During the meeting, we watched some videos regarding different simulations that many supercomputers made together. We went over how some of these simulations may take years or even decades to compolete on regular computers, like a laptop or household PC, but on supercomputers, which have numerous cores for processing, it only takes hours or days. We then played out some scenarios like having 2 differnt workers flip a coin and see which worker team takes longer. One of the teams worked together while there was only one worker on the other team. We ran through numerous simoluations like this, in order to model how a supercomputer works while parallel computing with other supercomputers.

The Main Theme of Today's Meeting


After all of the simulations and scenarios we had to play out, I realized there was an overarching theme behind parallel computing and today's meeting. I realized that when computers work together to achieve one task, they can do in a much smaller amount of time, compared to one computer trying to run numerous processes at the same time. This can apply in the real-world, as this teaches a valuable lesson about teamwork. When we work as a team, we can accomplish more in a lesser amount of time, compared to working individually.

Akhil's 15th Blog

Making Our Main Script


Today was finally the day for our project presentation. All of our hard work on this project has led up to this day. We initially started the meeting by testing Google Meet with the rest of the apprentices to test out how actual presentations would work. I ran into some microphone problems but in the end it turned out fine, and we were able to sort it out. Since we had already finished the project, specifically the JavaScript and HTML, we decided to work on the main script for our presentation so we would be more organized during the presentation. Our script included all of the main guidelines that were provided to us by Ernie and Aaron, such as our questions and hypotheses that we created, as well as our results versus our expectations for what the model would produce. Finally, after making our script, we had lunch and it was time to present.

Presentation Time!


My partner and I were the first group to present our project. In my opinion I think it went well, as we got across whatever we wanted to say and covered all of the guidelines related to the project presentation. As we were presenting, I played the model (since I was sharing my screen) and demonstrated the different parts of the model, like the checkboxes and all of the different toggles we have for each planet. The main overarching theme of our presentation was the each planet has influence on the movement of other bodies in the solar system, and the biggest influence on the movement of the Sun is Jupiter. We demonstrated that if we were to remove Jupiter from the solar system, the Sun would move with influence from the next biggest body, which is Saturn, however, the Sun would move very slowly. The main takeway I got from this object was that with proper planning and version control, the project can be finished very quickly and we will not run into too many problems in the long run.

Akhil's 14th Blog

Continuing to Learn about the Planetary Bodies in the Solar System


Like last week, my partner and I continued working on our Planetary Bodies project. I actually learned so much about the solar system today. For example, I learned how the masses of the heaviest planets in the Solar System (Jupiter and Saturn) are the main causes of the movement of the Sun. In addition, I learned how all the planets influence other bodies' movements in general. Because the Sun is the biggest body in the Solar System, all of the planets revolve around the Sun, and planets with bigger masses that are farther away from the Sun take the most time to complete a single orbit, compared to other smaller, closer planets.

Finishing Up the Model


This week my partner and I incorporated the formula for gravitaional pull into our JavaScript code, so the planets would move around the Sun like they do in real life. Afterwards, we wanted to incorporate a toggle for the planets in case the user wants to only see a specific planet in it orbit. With this, the user can use the checkboxes on the right side of the website to personalize the model to his or her fitting. Also, this toggle allows the user to see how different planets would affect the movement of the Sun, by removing the biggest planet in the Solar System that is Jupiter. Next, we added another toggle for the user to see the trails of the planets. That is, the path each planet takes while it is in orbit. There is also a trail for the Sun, so the user can see the movement of the Sun. All of these toggles only take place after the model has been reset with the reset button. Lastly we added a toggle for the planet gravity.

Final Touches on the Website


Finally, after our model was done, we wanted to make a few finishing touches on the website to make it look professional and presenatable. We first changed the font of the text on the webiste, and later, we changed the background color to go with the color of the model. Lastly, we centered the model, so it looks good on the model page. The last thing we did for the project was the About page. Here, we talked about the main story of the model, and some of the things we learned while making this model. We also put down the results and behaviors of the model in different scenarios. Also, we put some questions that can be answered with the model, and our hypothesis for each question. At the very end, we listed the sources that we used for all the information on each planet and the Solar System.

Akhil's 13th Blog

Well, I'm Basically Quarantined


So in the last week or so, all of my activities outside of my house have been cancelled; school, extracurricular classes, tennis, etc. I have been stuck at home for the past few days dreading to actually do something for once. Coronavirus (Covid-19) is only going to get worse from here on out so a change in this sort of lifestyle does not seem very likely. But at least we got to have a Shodor meeting online! I would say in general, it went pretty well, as I got a lot of work done with my partner for the project, and I am looking forward to the next online meeting. Here is what we did during the meeting...

Planning Out Our Project Topic


My partner and I decided on modeling Planetary bodies, and their movement/orbit in our Solar System around the Sun. We first had to do plenty of research to find out how big each planet actually is, and how far it is from the Sun. Also, we had to find out what the formula for the gravitational pull of the Sun was, so we can implement that into our code, and have the planets move around the Sun, like it does in real life. I actually learned a lot while researching and I hope to learn more. Lastly, we thought out a story, and planned what we would be modeling in the JavaScript canvas, as well as what some of the questions we would be answering with the model. After about 2 to 3 hours of planning, we finally started working on the model.

Starting to Code with JavaScript


We used the code from the Bouncing Particles model as sort of a template, so we could easily make planets using the particles in the model. First, we took out all of the parts of the bouncing particles model that we did NOT need, such as the bounce function. We also changed the amount of particles from 100 to 9, to accurately model the bodies in the Solar System: The Sun, Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, and Neptune. Next, we aligned all the planetary bodies along the center of the canvas so it was similar to the actual Solar System. Finally we gave all of the planets a negative y movement so when we add th gravitational pull for the Sun, the planets will move around the Sun. Lastly, we added colors for each of the planets, and changed the color of the background of the canvas so it looks like space.

Akhil's 12th Blog

Allowing the Particle to Move


Today was the first meeting since the 2 week break we had for Aaron being sick, and the monthly break. Now that Coronavirus has come to North Carolina, we all have to be extra cautious about our hygiene, and what we touch. We started the meeting by going over what we did in the previous week, when we made the step button to make the ball on the website move. We used this function to make the particle move by itself in the canvas. After this, the ball was able to move to the right, but it went off the edge of the canvas, and we had to make some code so the ball somehow bounces off the edge.

Making the Particle Bounce on the Edges, and Putting in Multiple Particles


After making the ball/particle move, we wanted to make the particle bounce off the edge of the canvas. We did this by telling the particle to go in the opposite direction whenever it touches the edge, or when it gets to a certain point in the canvas. With this, we made the particle bounce off the right edge of the canvas. Next, we applied this code to the rest of the edges on the canvas so the particle bounces all over the canvas, and does not disappear. The very last thing we did to the bouncing particles website, was put multiple particles on the website. Now, we can see all the particles bouncing off the edges, and we can reset the positions of the particles so the actual bouncing varies from time to time.

Time for the 2nd Group Project!


Following the conclusion of the Bouncing Particles Website, Aaron and Ernie introduced to us a new group project. This project would be very similar to our previous project earlier in the Fall module, however we will have to use JavaScript to present our Real-world situation. In other words, we are only using an Agent model, and not a system model in Vensim. Aaron assigned us partners, and now, my partner and I are in the planning stages of our project, in which we have to come up with a topic and kind of sort out how we will do the coding and website. I am looking forward to working on this interesting project!

Akhil's 11th Blog

Continuing JavaScript on the Bouncing Particles Website


We continued the Bouncing Particles mini project that we started last meeting. Today, we programmed that main black particle so it will go to a different position every time we pressed reload, or refreshed the page. Also, we made the particle change sizes every time we pressed reset, and manipulated the particle even more so the particle does not overlap with the walls of the canvas. That way, the particle will always be on the inside of the canvas.

Making the Reset Button


In addition to having randomness in the particle, we made a "Reset" button which in a way acts like a refresh button for the website. This reset button assigns the particle a new random location as well as a new size. We ran into some issues while making this button because after assigning the particle a new position, the previous particle still appeared on the canvas, so it sort of looked like Ink Blot art. We debugged this issue by making the canvas erase the previous particle, and THEN draw the new particle with a random size and placement on the canvas.

Making the Step Button


Towards the end of the meeting, we made the step button. This button allows the user to move the particle however many pixels to the right of the particle. We used almost the same coding as we did for the Reset button, except we had to put in a new command, which moves the x-center of the circle/particle one space to the right.

We also wanted to put some randomness everytime we reset the canvas and moved a step. We used one of the variables we created to put some sort of randomness to the amount of pixels the particle moved to the right everytime we pressed the "Step" button. With this, every time the "reset" button is pressed, the particle's movement amount, size and placement on the canvas is changed/randomized.

Note: I am going to stop spelling out the blog number, and I will just put 12th or 13th. This is because sooner or later, I am going to have to spell out some really long numbers.

Akhil's Tenth Blog

First Meeting of the Spring Module!


Today was our first meeting in a VERY long time. It was the first time we held a meeting since the end of the Fall Module back in December before the new year. From that point to now I finished my first semester of high school, so that's something exciting! I was honestly looking forward to starting the new module because I wanted to start learning new concepts and apply these concepts to different situations. And hey, we started learning about programming today!

Learning about Programming Concepts


We began the actual content of the Spring Module with Programming principles, practices, tools, and language concepts. Aaron informed us that there are many very important things to be aware of while programming, as it is not the coding that is the hard part, but the planning and thinking portion of the process. Specifically we learned that while programming we need to use meaningful names, use version control (which saves versions of our work as we go step by step), and constantly test while programming. Testing is key in programming because if we test after each change we make, and if something goes wrong and/or unplanned, we know the direct cause of that problem. In the important programming language concepts we learned the difference between syntax and semantics, in which syntax is the grammar portion, if you will, of the code while the semantics is the actual meaning of the code.

Starting the JavaScript Portion of the Website


Finally, after the all the hours of planning and learning about the principles and concepts, we started coding. For our purposes, we started out in JavaScript, as we started a mini project in which we were attempting to draw bouncing particles in a box. First we had to tell the file that it is a JavaScript file and all the text is JavaScript (this goes standard when coding, whether it is HTML, CSS, or JavaScript). Next we had to create a world and draw borders to make the world visible on the website we were given as a template to put our world on. Afterwards we started drawing a rectangle to figure out how we would initially draw simpler shapes. Rectangles are easy, because we just have to say the position the rectangle is in, in the world, as well as the height and width of the rectangle.

Later, we started drawing our first circle using JavaScript. This is much harder to do, in comparison to a rectangle because we have to make a circle using an arc shape. With this shape, we have to set a start and end degree for the arc in order for the circle to completely close and look like a symmetrical circle. Later, and probably next meeting, we will use this skill to make multiple smaller circles, and hopefully learn how to make them move around in the world and make them bounce off the borders of the world as well as each other.

Akhil's Ninth Blog

Making Our Finishing Touches on the Project


Coming into the meeting today, I was honestly kind of nervous for our presentation. This is because I really did not know what to say during the presentation, and I did not know how we were going to present, for example, who was going to be saying what, and who is going to control the computer and the website. However, when I talked with my partner, we kind of made some adjustments according to the presentation guide that was on the Apprenticeship Google Doc. For example, I had to change my Agent Model part of the presentation, so I show how the model works at different scales. So in my case, I had to make the world bigger, add more customers and add more cashiers. After planning out how we were going to present, and testing our website on the projector, we were finally ready for the presentation after our lunch break!

Presentation Time!


My partner and I were the third pair to present that day. For the presentation, my partner started out my introducing both of us to the rest of the group, and talking about the general overview of our topic and our models. He then went in depth with the VenSim System Model on profits of the fast food restaurant. He talked about how you can change some of the variables with the slider bars to show differences in a company's profit growth when, for example, workers' wages were high or low. Later, I presented the Agent model on AgentCubes. I basically explained how the topic applies to the model, and ran the model to show the rest of the group how a regular average fast food restaurant normally works. At the end, Aaron asked us a couple of questions on our project, like about the different scales that both models can run at. For example, we adjusted some of the variables in the System Model and showed a picture of a graph of the AgentCubes model when there were more consumers and cashiers.

Reflecting on my Presentation and the Project


At the end, when all was said and done, I really did not think our presentation was that bad. This is because we went over everything we wanted to go over, in terms of content, and presenting the fast-food model in the correct fashion. The one thing or lesson that I got out of doing this project was that PLANNING IS KEY. This is because we were really unsure about how we were going to be making our models, and we made a very vague and generic plan in our notebooks for each model. This brought forth a lot of confusion because when my partner was not here 2 meetings ago, I could not really do too much to fill him in on what I did during the meeting on the workday of the project. Also, we ran into many problems, and spent hours on debugging the issue. All of the aside, now I know that I have to plan properly and efficiently, in order for us to get a good end result.

Well anyways, MERRY CHRISTMAS AND HAPPY NEW YEAR TO EVERYONE!!! See you next decade ;)

Akhil's Eighth Blog

Stipend Announcements


Before we started working on our projects again, Aaron and Ernie wanted to talk about our Module Stipends. By February 8th, we have to fill out our Stipend Form, and meet all of the requirements in order to get our first check for being an Apprentice. This means that I have to meet with my mentor and "present" what I have been doing for the past couple of weeks so he knows I have been doing what I was supposed to be doing, and that I am doing it all right.

Finishing the Agent and System Models


After these main announcements, we started working on our models again. Since my partner was not here last week, I had to catch him up on the things I had finished for the Agent Model last week. After this, I helped him construct a System Model which corresponds to my Agent Model. Essentially, the main correlation between the two models, is that the Agent model more or less models what is happening in the customer's perspective in a fast food restaurant, while the System model that I helped my partner create models how the fast food restaurant is doing, in terms of profits, and burgers sold over time.

Honestly, when I first started working on this project, I thought I was practically doomed, because I did not know whether I really knew enough about both models in order to complete the assignment. However, I did not realize that I had learned SO MUCH over the past 7 weeks, that this was quite easy to finish. All we have to really complete right now is the presentation part of the project.

HTML Webpage Presentation


So according to the project requirements, we are supposed to create a website, using what we learned from the HTML tutorial, in order to actually present our project to our peers. This is not what I was normally used to, because usually in school, I create slideshow presentations using Google Slides, or Microsoft Powerpoint. I thought this was kind of cool to use my HTML skills to present, because I honestly like coding in HTML, and I like being creative while designing the website. Right now, I have made enough progress, to the point where the separate "Agent" and "System" pages are complete, and all of the pictures are added to the website. All I really have to do at this point is make it look a bit more organized, and finish typing in some general information on the different Agent and System models. Then really all I have to do is mentally get ready, and finally present next week!

Akhil's Seventh Blog

Coming Back From Break and My Thoughts on this Apprenticeship


Six meetings into this program, I have learned so much and really, SO MANY THINGS, that I did not know before. Honestly before this program, I did not know what I was getting myself into and I was really anxious coming into Shodor, but I feel like this is having a profound impact on my life, both mentally and emotionally.

Working on our Modeling Project


Today was the first day of working on the System and Agent Model project. However, my partner was not here today because he was taking the SAT. Even though he was not here today during the meeting to work with me for this project, I made a lot of progress in planning and executing the models.

Beforehand, my partner and I decided on me doing the Agent Model and he doing the System model on Vensim. As a result during the meeting today, I started planning out my Agent Model. We decided on modeling a Fast Food Restaurant in which if a customer (of the restaurant) is next to a cashier, the cashier takes the order and the customer becomes a consumer. Once all of the customers are consumers, if the consumer is next to the Pick-Up Cashier, then the consumer leaves the restaurant. All people move in a linear fashion. The counter counts the number of customers and consumers in the restaurant. I also came up with all of the coding in order to fully build my model, and my idea on Vensim.

Building My Plan On Vensim


After planning out this Fast Food Model, I got on AgentCubes to execute it. I first made 4 different agents: World (with the shape order counter), Cashier (with shape Pick-up Cashier), Customer (with shape consumer) and a Counter. After putting in the codes of having the customers line up at the cashier counter, and ordering, and waiting in front of the Pick-Up Cashier. After a couple of seconds, the customer-changed-consumers lined up in front of the Pick-up cashier, and started getting their food, and leaving the world. This is a perfect representation of how a real world Fast Food restaurant essentially works, and we will be modeling the System model of this same scenario in Vensim during our next meeting.

Akhil's Sixth Blog

Reviewing Vensim and Going More in Depth


We started the meeting by pulling all of our chairs to the front of the room, and discussing what we have already learned with Vensim. We started by reviewing the Rabbit population model, and how the number of rabbits is affected by the change of birth, and the change of birth if affected by the birth fraction. We then started learning how there could be more variables in this situation, such as competition, and carrying capacity, and how we can model this in different ways.

Agent Cubes Online


After going more in depth with Vensim, we started using this new online software, called Agent Cubes. After getting our login information for this, we started modeling a Healthy and Sick population. We did this by first having one healthy person, and one sick person, each assigned with a specific color. Next, we made both people randomly move, however, the sick person moved a bit slower in comparison to the healthy person. Also, we created an if-then statement, by saying IF the healthy person touches the sick person, THEN the healthy person becomes sick. We ran this simulation, and after around 10-15 seconds, the 2 people, represented by colored squares touched, making the healthy person sick, and both now move at a slower rate.

We messed around with this software for a while, by then adding multiple healthy people instead of just one. The results were interesting, because as more people got sick, the growth of the number of sick people exponentially grew, because more sick people made healthy people sick, as they covered more surface area on the world. We saw this exponential growth of sick people, and exponential decrease of healthy people on the interactive, animated line graph, which changed as the simulation progressed. I found this really interesting, because I had never heard or seen this software before, and now that I kind of understand the basics, I can explore and make other simulations in my free time.

New Project!!!


Near the end of the meeting today, both Aaron and Ernie introduced a new project to us, in which we have to make a Vensim and Agent Cube model for a certain scenario of our choosing. This is a partner project, so I was assigned with Achyuta to work on this project. I am really excited to work on this project because 1, I love doing group projects with other I do not know, and 2, I can finally put my Vensim and Agent Cubes skills to the test. Achyuta seemed to know a lot more about this content than me, so this will be a real learning experience for me. However, I will not let myself get carried away, and make him do all the work, because that would be rude of me to do so.

When I moved to his seat, we first introduced ourselves to each other, because we never really met or talked to each other before the meeting. He showed me all of the different simulations and models he had made in the past, because apparently he has been in different workshops, in which they created these models. Some of the ones he made were very interesting. We then started deciding on which models and simulations we could create. At the end of the meeting, we finally decided on doing a Vensim model of Temperature change, and an Agent Cubes model on fast food. I do not want to explain about it, because I want it to be a surprise to everyone! :D

Akhil's Fifth Blog

Vensim Review


Over the last four weeks, I have actually learned so many new concepts, that I have never thought about, before coming to Shodor. Now, we are going to be going more in depth with modeling with the Vensim software. When we came to the meeting, we first reviewed some of the concepts from the last meeting, such as some examples of "Have = Had + Change." We then started going over some of the different functions of the Vensim software, like what the Level Box and the rate arrow meant. This really helped me personally with what we were about to do today during the lesson, because if we did not review, I would not have known how to do the different equation models today.

Modeling Durham Population


Our first model that we did was on the population of Durham. We first started out by drawing out the concept map, using the Vensim labels we had just reviewed. We started out (and should always start out) by drawing the Level Box, to show what the main subject, or number we are modeling. Next, we drew the Rate arrow to show what is changing in the equation/model, and in this case, there were 20 people entering Durham per year. Since there were no outside variables in this situation we made the equations to each part of the model, and started putting it in Vensim.

Like we just did, we always should plan out our model, before actually plugging it into Vensim, because it is one of the main, most important Shodorisms; to plan, to get approved, and then execute. We drew out what we modeled in our notebook, with the boxes and the arrows, and plugged in equations for each of the different variables that we modeled. After this, we made a graph showing the model, by going to the control panel, making our custom graph, and then using the IO Model to make it interactive on the Vensim plot. With this, we were able to move the slider bar of the rate of change in the population, and visually see the graph change, as we change the amount of people entering Durham.

Other Models Created Using Vensim


Along with the Durham population model, we also made a model of Temperature change, and the Decay of Fermium-252. This time, since the temperature and Fermium was decreasing or decaying, respectively, we had to draw a rate arrow OUT of the level box, to show that the amount is decreasing. In terms of graphing, the temperature was a linear graph, because the temperature was decreasing at a constant rate, so it was fairly similar to the previous model regarding population. However, since the Fermium one was decay over time, it modeled an EXPONENTIAL growth, so we needed to draw an arrow from the rate arrow to the level box. This meant that we needed to know the amount of Fermium, in order to determine the amount that decays. We also made the rate of decay a fraction, 1/2, which resulted in the graph being exponential.

The next concept we started exploring, was Carrying Capacity, using our rabbits model from last week. Carrying capacity is the maximum amount of organisms an environment can hold, which means it is another limiting factor in this model, just like competition. So in Vensim, we made a copy of our old rabbits model, and replaced the variable "Competition" to "Carrying Capacity" in the second model and also changed the equation. By doing this, we saw the differences in the graphs with the competition and the carrying capacity. I personally thought this was a very interesting way of modeling this, because we could have just changed a number in competition, while in reality, we constructed an equation to model this variable with the rabbit population. Now, I want to put both competition and carrying capacity into one model/equation :).

Akhil's Fourth Blog

Excel Modeling with Dr. Panoff


This was our first class after the one week holiday we had. I have to admit, I was pretty tired coming into this meeting because I had to wake up early this morning. Anyways, Dr. Panoff started off the class by reviewing some of the numericals and modeling concepts we learned the previous meeting. We all took one more step forward in our curriculum, by starting to model on Excel. I have used Excel for many different things, like keeping up with money, and for some classes in school, but I never really knew that we could model on Excel. This essentially took our minds and critical thinking skills to the next level.

Different Excel Models


We started off by making an equation to model a coin flip, which is essentially models 50/50 chances. With this, we compared the experimental and conditional probabilities of the two occurences (heads or tails) and found out that as you flip more, or execute the command/equation more, the conditional probaility and the experimental probability become about the same. We did this with dominant and recessive genes as well, as we modeled the likelihood of a child inheriting a dominant or recessive trait from their parents. Lastly, on this same sheet, we made an 8-ball dice, by making an equation with if/else statements when you roll a dice, or execute the equation.

Another Excel document model we made was a model of the equation x + 7.316. We did this by limiting iterations, and holding the enter key, which makes the two values on the excel document equal. Excel does this by narrowing in on a precise decimal, until both values are equal.

Using Vensim for the First Time


After Excel modeling and lunch, we started using the Vensim program to model population growth of rabbits in a certain environment. We were given multiple variables to work with, but we started off with Birth rate, and the number of rabbits. We inserted iterative equations in for the different variables, and ran the program on the Vensim program, and it came up with an exponentially growing graph, or in this case population. This was because there was no contra, or counter factor to this.

To add a countering factor, we started using the variable "competition" because all environments and habitats have competition amongst different species and organisms. We inserted a counter equation for this variable, and ran the simulation of the equations again, and came up with a new graph, which has the population exponentially growing, and then slowing down after some time. I found this very interesting, because Vensim is a new modeling program for me, and even though it took me a while to get used to it, I am very excited to learn more about this program, and model more equations or situations.

Akhil's Third Blog

The Discussion


Over the last week, we were supposed to research some of the Professional Code of Ethics for different professions, like Biology and Biochemistry. We discussed some of the main similarities between the different codes of ethics, and some of the things we saw surprising. We also went over how freedom of speech is represented in the different codes of ethics, and how all of these ethics are non-discriminatory.

Mathematical Algorithms


We then continued our learning of "How do you know" which is basically the proofs behind math. This lead us to talking about some simple probabilities and graphs, and how we can solve complex problems in the simplest ways, like rearranging the numbers. This really interested me, because Math is my forte, and I might be able to use these methods in school and in real life.

After snack time, we continued doing this, and used the Mastermind website, in which we could use different algorithms to figure out the number that the computer generated. We also decoded some random letter codes by figuring out easier smaller words, then using that information to find the bigger words. We then played some Sudoku, and Dr. Panoff showed us that we could narrow down our thinking process by using what we know to find out what we do not know.



After a 30 minute lunch break we started talking about numerals versus numbers. We did some simple math problems and plugged them into Excel, and saw the differences in our answer and the answer on Excel, after formatting it to provide us ALL the numbers. We realized that whenever we subtract, say 1-1, the answer is ALMOST zero, but not quite zero. It is about 0.00000000000000001. We then concluded that the computer does not regard that one at the end of the decimal, because it is so close to 0 already, that it basically does not matter and makes no difference in defining it.

Next, we talked about the 3 terms: Trunkation, Rounding, and Resolution, which are basically all ways excel and google sheets represent numbers through formatting. Essentially, there are many differences in what we expect, and what we actually get at hand. Also, there is no correct way to solve a problem, it depends how we, or the computer in this case, interprets it.

Akhil's Second Blog

My Second Week in the Program


Coming into my 2nd week here, I was very excited for this class. The day started with Dr. Panoff introducing himself again, and then introducing Aaron, who is another one of the Shodor Apprenticeship Coordinators. Aaron gave us an introduction to Office Ethics, and brought in a person who was not dressed properly and was very informal in terms of talking with others. This showed us how we should NOT appear when we go to work in an office.

Proper Mr. Ron Enters


After "Ron" left, a much neater, more professional Ron entered the room, who had a suit and was talking well with everyone. This lead to us reflecting on what was wrong with the first "Ron," in which we decided he was very informal altogether. Afterwards, we started talking and going over a presentation of Work Ethics, led by Mr. Ron. We discussed how we should dress, talk to others, and basically behave in a work environment. One thing we discussed upon was that we should not barge into a mentor's room and interfere their work "bubble" if they are busy. Mr. Ron told us that we should poiltely wait until the mentor is ready, and maybe give a polite knock on the door to let them know that you are there.

Dr. Hanoff Talks About Certainty Knowledge Vocabulary


After our snack time, and after Mr. Ron wrapped up his presentation, Dr. Panoff came back to talk about Certainty Knowledge Vocab, which shows how humans learn how to expect, observe, and reflect. These concepts have been a major part of what we are learning so far in our curriculum. Some of the words included: necessary, sufficient, error, sufficient, conclusive, and uncertainty. We also talked about how these vocabulary words relate with each other, like how some information can be necessary or sufficient.

This lead us to our lunch break, when some kids went to meet with their mentors for their monthly meeting. I have to wait until November to meet with my mentor (Ernie) because he lives in Wilmington, and he comes in the office only on certain days. After lunch, we did some research about the Pluto, and Washington D.C., like finding the population and other statistical information. Most of us got different answers because we all went to different websites to get our statistics. Dr. Panoff made us question which number we should trust, because all of these numbers can be right. He hinted to us that some information might be outdated, which meant that some of the statistics we found might be wrong. Dr. Panoff showed us some card tricks to show that everything has some kind of mathematical formula behind it. Lastly, we finished our reflections on the Shodor Website, and went home. Overall, I would say today was much more interesting and fun than the last class, and I am looking forward to next Saturday!

Akhil's First Blog



Today was my first day in the Shodor SUCCEED Apprenticeship program. Dr. Panoff welcomed our class by discussing the 3 main parts of the Scientific Method, which can also be used for all aspects of life. The 3 parts are: Find out what we are expecting, make observations, and then reflect on what we just observed. These 3 things were basically the main overall topic of our class today.

Ernie Takes Over the Class


Afterwards, Ernie started teaching our class. He first introduced himself, and kind of gave an overview of what Dr. Panoff said earlier. Later, he gave us our user information, took our pictures for the Shodor Website, and gave us our mailboxes to put our work in. This lead to us going to the break room, and having a quick snack.

Snack time kind of gave us an opportunity to talk with each other and introduce ourselves to other people, and make new friends. Afterwards, we went over the Apprenticeship Handbook, which covered the basic rules and guidelines for being an apprentice at Shodor. Later, we took a tour of the Shodor building before going to lunch.

After Lunch


After our 30 minute lunch time, we came back upstairs to the computer lab, where we quickly went over the ODAA, and some of the other Shodorisms essential to the class. Finally, after 3 hours of waiting, we started our first project (kind of).

We went over the first few projects in which we need to basically set up our Shodor account, and go over the Apprenticeship guidelines and take notes. Now, I am writing this blog to talk about what I did during this class!