Blog

November 5, 2011

Today was our first day of Apprenticeship class. I was not able to be there, since I was out of town. However, I made it up later in the month, and we went over the handbook, contracts, rules, etc. I was given a tour of the building; it was basically like orientation. I also made a public_html directory and learnt some of the basics about terminal.

November 12, 2011

This was the second session of Apprenticeship class. Again, however, I was not able to be there, so instead I came in later during the month. I worked on my website basic html after reading the tutorial. I then worked on my website's CSS after reading the tutorials. After I had finished the basic outline for both of them, making it functional, I did my "About Me"/Homepage and worked on my blog.

November 19, 2011

This was my first actual session of Apprenticeship classes. It was really fun-- in the morning Mr.Panoff talked to us about data and the process of observation. The process of observation includes expectations, observations, and then reflections. We expect something, then we physically observe what happens, and then we reflect on whether or not it matches our expectation. We then breaked for lunch, and in the second half of class Mr.Broadnax came and talked to us about work ethics.

December 3, 2011

Today we worked with AgentSheets. We learnt that it works off conditional, or if-then, statements. We then worked with an AgentSheets model that modeled an epidemic, and worked with microsoft excel. We changed a lot of the simulation properties and tested how that affected the results of the model. At the end of class, we tried to change the model so that the epidemic would not spread easily.

December 10, 2011

Today we worked with AgentSheets again. We tried to figure out how to change the model so that less people would get sick. Our group made the model so that the sick people grouped in the middle and the healthy people ran away and collected in the corners and on the sides. It was very succesful, and throughout 20 trials the epidemic failed to spread. We then tried to put the model we were working with into formulas/functions. After that, we worked with the data on excel, which was challenging.

December 17, 2011

Today, in the morning, we worked a little more with models on excel. Then, after the break, we came up with our own disease models and figured out how to make them work, using either Excel or AgentSheets. My group did a Zombie Apocalypse model. I created the model using excel, while my partner experimented with the model in AgentSheets.

January 14, 2012

Today we were given a partner project. I and my partner picked the project called "Cops and Robbers". For this project, we have to create two models-- one AgentSheets or Netlogo model, and an excel model, and then present it to the class in two weeks. In this project there are cops, robbers, banks, and citizens, and it basically captures the transaction of money between them all. It's very challenging so far.

January 21, 2012

Today, in the morning, we worked more on our Cops and Robbers project. I was able to finish the whole AgentSheets model and export the data. We now have a fully functioning (I think) model of the transaction of money between different people in a city! (All we have left now is the excel model and the website for the presentation). Then, after lunch, Rob Hochberg (my mentor) came in and talked to us about basic probability, which was really interesting.

January 28, 2012

Today, in the morning, we worked on our Cops and Robbers project again. Since I had already finished the AgentSheets model and my partner was in charge of doing the excel, I worked on my website. I finished the portfolio page and put all my projects on it, and made sure I had done what I needed to do. Then, after lunch, we worked more on our projects (or my website, in my case) and watched presentations on peoples' own projects.

February 4, 2012

Today, in the morning, we learnt about how we could build our own computers using individual computer parts. After that we went more in-depth with terminal and it's commands. We then broke for lunch, and after we finished, I and my parter for the Cops and Robbers project, Anwesha, practiced our presentation, watched a few, and later did our own.

February 11, 2012

I wasn't able to be here today because I had to take the ISEE test, but I caught up using Anna's notes and learnt about Binary and Hexadecimal numbers, and more about terminal.

February 18, 2012

I wasn't able to be here today either because of the Science Olympiad Regional competition. However, I talked to the other apprentices and found out what we learnt; I learnt a lot about supercomputers.

March 3, 2012

Today, we worked on learning the basics about JavaScript (the beginning of our workshop). At the very beginning of the day, we took a survey to assess our current knowledge of programming on JavaScript. After that, we actually learnt most of the basics about JavaScript programming, and made two tables of data that used basic coding and formulaic expressions. We then made something that was able to convert inputted years into seconds off a starter code. After that we learnt about loops and breaked for lunch. After lunch, we worked on JavaScript programming on TextWrangler, and wrote a program to change minutes into minutes&seconds, which we then connected a webpage to, to make it public (It can be found here ). We also learnt about array's and for loops.

March 10, 2012

Today at the beginning of class we reviewed what we had worked on last week at the workshop. After that, we tried to make a calendar using JavaScript. After completing that challenge, we moved on to trying to portray dice rolls using JavaScript (It can be found here ). This was challenging, but was actually quite fun, and I was able to get it to work ahead of time. After lunch, we switched topics and worked with interactive activities for different types of fractals and sets (Julia Sets, Mandelbrot sets), which was really fun, since we've covered some of the material really recently in my math class this year.

March 17, 2012

Today was the last day of the JavaScript workshop. In the morning, I fixed my dice program, which we changed to show the patterns of how many of each number (2-12) were rolled when you "rolled" two dice at the same time. (It can be found here ). We put this program into an external JS file, and then started on a CSS Color program with JavaScript that was supposed to generate a random color for each line, and make the text white when the random color generated was a darker color. (It can be found here ). We placed this in an external JS file as well, and then had a break. After our break, we worked on another JavaScript program in which we drew rectangles on a canvas. We then continued to do more complicated things with the rectangles, like making them different random colors, making three of them show up, erasing some, making them "walk" instead of move randomly, creating boundaries for the rectangles, and making them turn red whenever they touched the border of the canvas (It can be found here ). All of these programs were challenging, but I managed to get all of them done, working, and debugged, which I am very proud of. We then learnt about valid variable names in JavaScript by taking a short quiz for which we had to research to find the answers.

April 14, 2012

Today, in the morning, we were given a relatively open-ended JavaScript project with a partner. For this project we were allowed to create a look-a-like to any interactive or recent models we had done before-- only with JavaScript instead. We were also required to create a High Level Design (HLD) Document, which I was mostly in charge of; Sarah and I decided to do a simulation of a forest fire. I spent the morning creating our High Level Design Document, while Sarah started on the simulation. After lunch we continued to work on our projects, and I helped Sarah with the simulation. By the end of the day, we finished our document and the basic simulation-- all we have left are the user options.

April 21, 2012

We spent the whole day today working on our project. We were able to finish the project as a whole, along with the user-picked probability and the"Regrow Fire" option.

April 28, 2012

I was not able to be here on this date, because of the Science Olympiad State competition, but thankfully it was a workday for our projects, so I didn't miss much. Sarah and I are working on refining our simulation.

May 5, 2012

Today was another workday, along with presentations in the afternoon. Sarah was not able to be here this morning, so I worked on refining the project and planning out our presentation myself, and once I was done with that, worked on getting all my spring block files on my website. Afterwards, in the afternoon, I presented our project alone. (It can be found here ).

June 18 & 19, 2012

I wasn't able to be here today or the next, but they were mostly workdays for the new AgentSheets model project we were given. The purpose of this project was/is to create a model representing the relationship between lynx, deer, and grass-- but before that, we had to create an HLD document to plan the model out.

June 20, 2012

Today was my first day of my summer blocks at Shodor. I began by making the HLD document for the first half of the day, which took me some time, because I was trying to be extra thorough. Later, around lunch, I began on the model. I didn't accomplish much, but it's a start!

June 21, 2012

Today, I began the day working on my AgentSheets model. I started by trying to cover all the basics, which required a bit of debugging, and after I succeeded with that, I factored in, step-by-step, the more complicated things. I started by factoring in the dirt, which was more challenging than I expected. After I figured that out (I used a transparent layer on top of the grass/dirt so that the deer/lynx could always move randomly no matter what was under it, I had to do some minor debugging on the whole thing overall. After it seemed that I had got it mostly working, I tried to factor in the scent part of it, which would allow the deer to run away from a nearby lynx, a lynx to chase a deer, and a deer to run to try to find more grass to eat if there was none nearby. I was actually able to do this quite successfully. Afterwards, I fixed a few more bugs I had overlooked and exported it to my website.

June 22, 2012

Today was mostly a look-over kind of day. There wasn't much to fix, but I added in and changed a few minor things in my model. I edited my HLD Document as well, and made sure everything matched up and met the requirements. Not a particularly exiting day, but useful nevertheless.

June 25, 2012

The second week begins! I spent the first half of the day working as a receptionist as well as getting through the InkScape tutorial and making my logo. It was a little challenging, but a lot of fun. After lunch, I finished my logo and started on my ideal website design, which is the project we were assigned this week.

June 26, 2012

I started off the day finishing my website design. It was a lot of fun to make, because I could let my imagination run wild while being able to express my ideas through InkScape, since I understood how to do the things I wanted to. I then tried actually implementing the design on my website, but I wasn't really able to, and it wasn't essential, so I gave up--for now. Afterwards, I listened in on Ernie's explanation of how to create a banner on Gimp, and do cool things like fade images into the background. Then I started brainstorming for my Ernie edit project-- we were supposed to take a picture of him and edit it in any way we wanted it to, using InkScape or Gimp. Overall, a pretty productive yet fun day.

June 27, 2012

Today, I found out we had more requirements. I spent the morning making another logo, as well as starting on another website design. I spent the rest of the day working on that website design and helping Marc, another apprentice, with his banner for his website. It was a pretty focused day, but I still have to finish my two Ernie projects as well as finish this website design.

June 28, 2012

I started off the day today by finishing my second website design. I decided to make this one more music based, so I designed the website to look like a guitar. After Ernie showed me how I could do it more efficiently while making it look better (by using the Bezier tool to trace a picture of a guitar), it went along much more smoothly, so I was able to finish it in good time. It was a lot of fun to make-- I really like making the website designs! After that, I started working on my Ernie edits, one at a time. I had some trouble thinking of what to edit him as at first, but I just went with something random. I used Gimp, since I usually used InkScape, so it was a little hard to work with at first, so I had some trouble. However, after some time, I grew more familiar with it and it became a lot easier to use. I finished one of my Ernie edits, and started on my other one soon after. I finished that one pretty quickly too, so I was able to make an extra one. They started being pretty fun after I got the hang of it. Another productive and fun day.

June 29, 2012

I briefly edited some of my Ernie edits to make sure they were decent. Afterwards, I watched the Website Scaling tutorial, which taught me how to scale my website according to different sized computer screens, etc, that people might be using to access my website. It wasn't working at all for sometime, but after a while I understood how to do it. I decided to make it a gradual scale, so it took me a long time to get it all working and scaled well, but it was worth it. I also edited my website layout a little for smaller screens, like if you had visited my website from the iPhone. I edited my general CSS as well a little afterwards, because I was getting a little bored with the design. I made a new Ernie edit after that for fun.

July 9, 2012

Today, in the morning, Alex talked to us and taught us about PHP. We did some follow-along projects, one being this one , which makes a Mad Lib. PHP seems pretty similar to JavaScript, which is good because I'm already semi-familiar with it. However, after the lesson it got harder, since we were required to remake our JavaScript dice program with PHP. I worked on that the whole day, and still didn't get very far, but i'm hoping it'll get easier with practice over the week.

July 10, 2012

I wasn't able to be here for most of the morning since I had a dentist appointment, but once I got back I started working on my MadLib program. It was coming up with random errors and bugs, and I looked it over countless times, and was still not able to find any errors. Other apprentices tried to help too, but we still couldn't find anything. Later, in the afternoon, Krista (the intern) and I fixed it, but I'm not exactly sure what I changed to completely fix it. It was a bunch of small, tedious fixes, but them combined made it work. I was pretty happy that my first PHP project was finally finished. After that, I started on the "Random Hex Code" project, a project in PHP that's supposed to output a random hexadecimal code every time you refresh the page and make that color the page's background.

July 11, 2012

This morning was really busy. Will and Krista taught us about subversion, which we practiced using terminal and linking our accounts to the newdev "trunk" which held all the projects. There was a bit of confusion for everyone because we encountered some problems, as we weren't able to access the trunk and website because of authorization difficulties. However, they later fixed it, and everyone was able to access it. We were able to create a website template using one of the files we transferred. Soon after, we got back to work on the PHP projects. I started on the dice program, for which I began to do by using my JavaScript one and changing the language a little. I finished the program later in the afternoon (It can be found here ), which I'm very proud of. After that, I started on the "Dynamic Pages" project, which didn't take much time at all. (This can be found here ). Because that was so quick to do, I still had an hour left, so I started on the "Dane Joe" project, in which you ask the user to input their first and last name, and then you switch the first letter of the first name with the first letter of the last name. Overall, a really productive, enlightening day-- I was right about it getting easier with time.

July 12, 2012

This morning, Krista taught us about PageRender, which was what our template that we had "checked out" using subversion yesterday was based off of. After that, I worked on my "Dane Joe"/Letter Switcher project, which I finished rather quickly. I also added some special features that we weren't required to do-- I made the output always have proper capitalization, no matter what the user inputted it as (if the input were VIBHA PURI the output would come back as Pibha Vuri), and made it display an error message if the first "letter" input were a space instead of a letter, on either the first or the last name. (This can be found here ). I worked on the Calendar project next, which I was able to complete quite easily as well, since I had done it earlier with JavaScript and it was about the same logic and tactics. (This can be found here ).

July 13, 2012

We didn't have a lesson this morning, and instead worked on our PHP projects. I helped Anwesha with her MadLib program for most of the morning, since she wasn't here when the intern explained how to do it (she was receptionist that morning). Afterwards, I did my "Background Selector" project (which can be found here ), which allows you to choose what color you want the background to be. It also keeps your preference in memory for an hour. It was fairly straightforward and fun to do. After I finished that, I started on the "Random Hex Code" project that I had tried to start a few days earlier, which randomly generates a color hexcode every time you reload the page, changing the background color. At first I thought it was challenging, since I wasn't sure how to go about it, but Daniel and Sarah helped me a little, and from there it was pretty straightforward. It can be found here . Both the color/background projects were actually fun to do, and I enjoyed it. I didn't have enough time to start the last project (the XML Blog), though, so I decided to finish it next week (hopefully on monday).

July 16, 2012

I spent the morning working on my last required project, the XML blog. At first it was a bit challenging , but I understood it after a little and was able to complete it. (It can be found here ). I spent the other half of the day creating the HLD (High Level Design) Document for the new Apprentice Portal project we were assigned this week. The project is to recreate our websites using PageRender and Snap2 inside the Apprentice Portal inside Shodor's NewDev.

July 17, 2012

I spent the morning revising my HLD and changing it a little, and helping Marc with his PHP programs because he was behind (I also helped Anwesha a little). After that, I tried to begin changing my PageRender website in NewDev to look like my normal HTML one that was on the visible Shodor website. Ernie came and talked to us, explaining PageRender and Snap2, and how to use them, which helped a lot. I was able to get a small start to my website, but I definitely have a better understanding of how to do what I want to do now.

July 18, 2012

I spent most of my time working on the PageRender website today. I was able to get everything working through Snap2 except the portfolio (the index and the blog), which is a good start.

July 19, 2012

I spent the day working on my portfolio for the PageRender website. This was a lot harder than I had first expected; we had to relocate all our files to the Apprentice Portal, so that they wouldn't be deleted, and therefore it was harder to connect the files to the new website. However, in the afternoon, Ernie helped explain it, and I understood how to do most of it. I wasn't able to finish, however, and planned to finish it the next week I came back.

July 23, 2012

I spent the day working on my portfolio on the PageRender/NewDev site again. I had misjudged it previously-- this turned out to be a harder task than I expected, which is why it's taking so long. I managed to get some of the JavaScript files working, but not much else. Those are probably the most challenging files to upload.

July 30, 2012

I, again, spent the day working on my portfolio for the NewDev website. I got almost all of the JavaScript files on, which is a good step forward. Some files were more complicated than the rest to add on, making some more time consuming than others. The hard part about uploading the JavaScript is that you have to worry about separating all the JavaScript from all the HTML, otherwise it won't work. On some of my documents, it was confusing as to how to do that, since most of my recent JavaScript files had the HTML and JavaScript combined.

July 31, 2012

Today was a really productive day. I was able to get a great amount of my portfolio finished-- I finished uploading the JavaScript files, the AgentSheets, the High Level Design documents, and my system models and various documents as well. Later in the day I started on getting the PHP files up and running too, but, like the JavaScript, some files were more time consuming than others. I was also able to find a few bugs in my old original files that I never noticed before, so that was good. Hopefully I'll be able to finish tomorrow.

August 1, 2012

Today I focused more on uploading the PHP files. Like I said, some were more tedious than others, so I wasn't able to get all of them done, but I did for a good number of them (I only had 2 left by the end of the day). The PHP files weren't too hard to upload, because, unlike the JavaScript, you didn't have to worry about separating the HTML and JavaScript and making some files .js instead of .html, etc. Instead, for the PHP files, most of the time spent uploading them was spent on changing the "echo"s to "$prm->load()"'s, which actually took quite a bit of time.

August 2, 2012

I started off the day uploading all my images on my portfolio into Snap2, and therefore them show up properly on my portfolio (All the files for the PageRender site must be uploaded either into Snap2, or placed in the ApprenticePortal content folder. The whole reason for doing this project is to create a, well, Apprentice "Portal", that will keep all our websites and information even when Shodor deletes our accounts. Therefore, we can't link back to our old website or to files in our public_html directory, because if Shodor deletes our account they will be deleted too). I then started back on uploading the remaining few PHP files. I had thought that these were the more challenging ones (Dynamic Pages and XML Blog), but they were actually a lot easier than I expected, and I was able to get them done in good time. After I finished that, I was basically done with worrying about the content on my website-- everything was uploaded and seemed to be working. I worked on the CSS next, changing it to look the way I wanted it to. It was fun, and not too challenging. Overall, a really good, productive day.

August 3, 2012

Today I focused on my CSS, as I was trying to personalize it well. I mostly finished with that, so I went on to help other people with random things. For example, I helped Anwesha with her old AgentSheets model, and also helped Marc with uploading his PHP files onto his NewDev site portfolio.

August 6, 2012

I was only able to be present for the second half of the day, because of tennis tryouts. (I'll be doing the same for at least up to Wednesday). I spent most of the half-day working more on my CSS and helping Sarah with hers.

August 7, 2012

I was able to be here the whole day because tennis tryouts were cancelled this morning. I spent the morning helping Sarah more with her ApprenticePortal/NewDev website, as well as fixing mine (I had previously edited the main.css file for my website, which we weren't supposed to do, as I later realized. To make up for it, I had another apprentice email me their original, un-edited main.css file and subbed it in for mine. After I did that, I had to change a few things on my personal css file (vibhap.css) to make it back to normal. This actually took less time than I had previously expected, and I was able to get it back to normal within minutes). Then, in the afternoon, I started working on testing the new Shodor "Interactivate" applets on the iPad and iPod. We're required to do a few, set tests for the applets, the tests varying depending on the applet you're testing. I was testing the "Ordered Simple Plot" applet on both the iPad and the iPod, for which seven tests were required. However, they weren't too difficult, and I was able to get the testing done in decent time. After that I committed my ApprenticePortal/NewDev website project, which finalized that I was done (However, I would also be able to make some changes to the CSS if I wished, and later recommit it easily).

August 8, 2012

Today I came in the afternoon again, and since there was no one to assign me to any particular applet to test, Ernie gave me a new project. The project was to create a Tic-Tac-Toe game in JavaScript. Sarah and I worked on this the whole afternoon, and we got pretty far with it. We were able to make the basic grid for playing, make it switch players every other turn using X's and O's, and we were also able to make it display a popup message when Player 1 or 2 won. However, we still have more to do.

August 9, 2012

I was here for just the afternoon again, and I changed my CSS for my ApprenticePortal/NewDev website, because I didn't like how it looked before. Afterwards, Sarah and I worked more on the Tic-Tac-Toe project. We didn't like the way that we previously had done it, and it wasn't working very well, so we changed our code to be more efficient and work better when detecting wins for either Player 1 or 2, which Ernie recommended we do. We also added a pop-up for when there was a tie. Again, we still have more to do, but we're off to a great start.

August 10, 2012

I was here for the afternoon, and I mostly just worked more on the Tic Tac Toe project; I wasn't able to finish it because we had to watch the SSP presentations for most of the afternoon, but I still made progress.

August 13, 2012

In the morning I was receptionist, so while I was up at the receptionist desk I worked more on the Tic Tac Toe project. Ernie had us add more things to it (When someone wins now, the outcome of the game shows up on the bottom of the page instead of using a pop-up box; it also displays who's turn it is). By the afternoon we finished all the edits Ernie wanted us to make, and the original project was completed. (It can be found here ). I spent the rest of the day revising and editing my portfolio and previous blogs, on both my original website and on the NewDev/PageRender website, and making sure everything works.

August 14, 2012

Today I worked on Ernie's new challenge for us: creating a one-player Tic-Tac-Toe game. This was supposed to be accomplished by making a program that would work as the computer to play against the actual player. First I started by making the computer pick a random square to play-- however, it started playing on squares that had already been played on, so that didn't work very well. I changed it to make it only be able to play on an empty square.

August 15, 2012

I finished my one-player Tic-Tac-Toe game today. First I started by making the computer block the live person from winning. After that was successful, I made it try to win (if it had 2 O's in a row, it would finish it off by adding another O). The only problem was that it blocked the live person before trying to win; it would have an opportunity to win but would block the live player instead. I fixed this by changing the order of things. Sarah and I also had a small glitch where the game would sometime say "Computer's turn." and stop. However, we weren't able to figure out how to fix it, since we couldn't find any bugs in our program, and it doesn't occur very often, so we decided to leave it the way it was. (I only had a day left anyway, so we were running out of time).

August 17, 2012

Today I fixed some old programs on my website and refined my Tic-Tac-Toe programs. Since today was my last day at Shodor, it was used mainly to look things over and make sure I had all the requirements. I had to change my JavaScript dice program to make it better formatted to my site (earlier it was loading up in a new page apart from my website),so I did that. My AgentSheets models on the new website also weren't working consistently-- sometimes they worked, sometimes they didn't-- and since I was running out of time, I decided to come in one last time later to finish up adding the AgentSheets models to my NewDev/ApprenticePortal website.