8/17/18

Sentimental Final Blog Post

Final Blog

I learned a lot from the apprenticeship program. And I'm not just writing this like "oh gosh time to write this final blog then I'm OUTTA HERE" but with sincerity. Excluding all the time before the summer, in the summer alone, I learned a lot of PHP, in projects and in web development, developing polished websites using libraries, design, with InkScape and GIMP, database inputs and outputs, with SQL and mySQL, and whatever more. There's so many subcategories in each topic too, like form making, nav bar making, validating websites with HTML validator, so many sub-skills I picked up from this program. And in general, I learned how to model with computational science, the basics of parallel computing, the general concepts of programming languages that span from all languages, principles such as HAVE = HAD + CHANGE, all applicable to the real world and beyond.

And besides all the skills I learned, the real gem was the ability to work with other people and legitimately bond with them, learning to divide work together and teach each other concepts that were difficult. I think I've befriended every person that stayed by the apprenticeship program and I will miss them. I learned how to work professionally in an office space and act professional to my fellow peers, yet be able to unwind and joke around during break or lunch times and get to know them. I've been helped countless times by other apprentices and I've helped countless apprentices. The staff here guided me countless times, Ernie in particular over the summer, when we were stuck, but for the most part it was our journey, with our independence, that propelled us over the summer. All the summer projects you see in my portfolio are MINE and have my ideas. On that thought, I'd like to mention the blood, sweat and tears that went into designing and polishing this website and this design. I made it from scratch and I love the look and feel of the website. I'm proud of what I accomplished in my projects, often taking the extra step to polish it.

Looking towards the future, there's the internship program, which I'm definitely interested in, and will apply in the near future. I hope I can continue to grow and use my skills to better this corp right now, and perhaps work on larger scale projects in the future. If you mark my blog posts from the beginning, I hope you can tell I matured (admittedly from the start of THIS blog post it is hard to tell). I usually hate sentimental feel-goody posts like these, especially with the fact that anybody will be able to view this is the future, but everything I wrote is the truth and I really like this program and the experiences I gained. Don't really know how to finish this off so I'll just pull a lazy and finish before the end of the sent

8/16/18

Final Redesigns and Preparations

With only one day before the apprentice program ends, today was a hard work day as we all scrambled to finish our projects. I mainly worked on finishing up my VenSim model today, as well as doing yet another redesign of the website (and hopefully the last!) I think I polished the website to professionalism, with having a clear and defined look. I also finished my programming library research project, adding a loading icon made out of Ernies, buttons that link you to my resume.

8/15/18

Parakeets

Today I finished the GIMP projects, which includes resizing images, "photoshopping" images, and making web banners out of other images. I liked the UI of GIMP a lot better than InkScape, probably because it's very similar to Photoshop, albeit being laggy. The projects were fun to make, and I could position my InkScape logos that I'd created to interesting web designs.

8/14/18

Disco Ball

I could say that did productive things today, such as refurnishing my website and re-validating my php sites, finishing my agentCubes, redesigning the look of my website, but why bother when OPERATION Disco Ball IS COMPLETE. Nothing else to say.

8/13/18

Fixing 541 HTML Errors

As the title suggests, today I did some quality assurance on my website and discovered some undiscovered 541 errors on my portfolio website alone. Thankfully, the errors were repeated constantly and in the same regions, such as calling an id instead of a class, and I am not actually that bad at website design. Still, that was a lot of errors.

In addition, I finished my favicon, added a trailer ant in my agentcubes, created my modeling website for the project, scaled my logo, and validated all the summer project websites. TODAY WAS A PRODUCTIVE DAY.

8/10/18

Plumbing Day

Shodor got a plumbing problem yesterday, as mentioned, so I worked on the AgentCubes at home. Admittedly, less work was done, due to lack of motivation, but I still managed to get some bugs fixed and my modeling website text written on a Google Doc.

8/9/18

SSP

That day, I finished more of the website layout and worked on the AgentCubes model, finally adding the command that moves the hills after the ants consume a predator, as well as adding a graph and changeable simulation properties. In addition, I worked a bit validating some of the PHP websites as well as watching some of the tutorials to get an idea of how to use InkScape, and starting to make InkScape logos. In the afternoon, we had a water plumbing crisis problem or something like that, leading the SSP kids to present early - by the way, some of the projects were legit good, modeling osmosis, and like, restaurants, and creating their own websites which was impressive - and no Shodor the next day!

8/8/18

Work Day

Today Ernie was out the whole day, so we had an entire work day to ourselves. I continued working on the AgentCubes model, finishing several bark commands that set the ants scurrying to different places in the world, as well as finishing the predator agents.

In the afternoon, I finished polishing my portfolio section of the website, changing the fonts and adding in some programming library effects. I started working on the InkScape demo as well.

8/7/18

Ants, ants in my eyes

In the morning, my apprentice coordinator, Ernie, gave me the approval to begin constructing my models after reviewing my plan. I also altered it slightly from yesterday to make my model more realistic, after learning that army ants don't necessarily make nests and instead bond together in large teeming piles of ant structures... made entirely of ants. Honestly, I'm not sure why I decided to model ants when I absolutely despise those creatures... but besides the point, I began working on the AgentCubes portion of the model. To simulate pheromones, I give each leader ant an effusion-like function like the heater model in Excel, that the follower ants follow.

In the afternoon, I worked at the reception desk. I got no calls. Even when it's a work association I get no calls. I'm so lonely and sad but I avoid depression by knowing the beautiful creature named Aaron exists in this lovely world. I'm too wiped to write a serious blog.

8/6/18

Modeling

Today us lucky Block 4 apprentices began working on the material that Block 1 kids had finished. We had a flashback to the past, working on Agent and System modeling for our final project for the summer. Today I began working on the HLD (High Level Document) portion of the project - the planning stage. My topic will be on army ants and their release of pheromones.

8/3/18

:(

Today was the last day for many apprentices, and to be honest the day came really fast. By the end of block 3, I've begun to bond and know my peers very well. I enjoyed watching their end presentations, especially the creativity for some of the website layouts, and when they presented their projects I recalled the literal journey and bug fixes and crying that all commenced when creating them over the summer. I'll actually miss them.

8/2/18

Today was a great day

Today was a great day. Why? Lots of work was completed today, including a new "About Me" page on my website, a new horizontal nav bar that took FOREVER to implement (loading content without changing the html index), new divs around the portfolio entries to make them more visually appealing, and new work on the blog, starting to order the entries by date. I'm wiped and I don't want to write any more words for this blog

8/1/18

Interview && Website Furnishing

In the morning, I held my mock interview. I was really nervous but Jennifer was nice and the questions went smoothly because I prepped them out.

In the afternoon, I continued redesigning my website, and finished up my portfolio and blog pages. I tried to capture a more modern look and I think my home page looks slick, now I need to capture that same look for other browsers and devices. In addition, I learned how to make collapsibles and will incorporate them into my home page.

7/31/18

Interview Prep

In the morning, I mainly worked on completely resigning my website to a new CSS layout, to look less boring and contained. I tried to design it with a more open look and modern... for future reference, the home page looks like a globe with protruding bars around it to navigate the web page. I'm pretty proud of it, I managed to incorporate some animations and z index layering to look more polished, and I learned a lot more sharp CSS functions to use.

In the afternoon, Jennifer taught us some basic interview tips to use during our mock interview tomorrow.

7/30/18

Website Design PT 2

I added some forms to my databases so the user can sort through what information they want to see, which actually took the majority of my morning. The end product was simple, the user can choose the name that it is in the database and a data type they want to display, but it took hard work, concatenating lots of sql queries for each switchable case of the input.

In the afternoon, I'm starting to completely redesign my website.

7/27/18

Selecting Data and Jury Trials

Today I worked on displaying database statistics out from my database and database validation. I finished the output of database information today and got a bunch of interns and apprentices to test and fill out it in order to code in functions that found statistics about the database, such as most chosen color, average result from dice roll, etc. However, most of the day I just worked with other apprentices and helping their projects because I was mostly finished.

In the afternoon there was an afternoon workshop that I participated in for forensics, just serving as jury for a mock trial.

7/26/18

Table Making and Work-arounds

Today my primary focus was getting all that data in my database and outputting it into a HTML table that people can see. In the morning, however, there was another engineering workshop that us apprentices participated in- learning what circuits were, how to build them, and principles of engineering. We worked through building some bread boards with wires, capacitors, resistors, and LEDS to light up the LED with a circuit.

After the workshop I worked primarily on the original problem, and researched the PHP functions that it took to retrieve data from the database. It was more complicated than I imagined, and I ended up storing all the data in a single string, breaking the string up by rows and entries in the rows, and exploding them all in nested for loops to put in between tr and th tags to create a html table. It was a LOT of work and I felt very accomplished after it, until I was informed that a couple of foreach loops would solve my problem in like 100 less lines of code and now I am sad.

7/25/18

Combining PHP and mySQL

Today we had the day to investigate how to use PHP functions and forms to send information to store in mySQL databases. This was our most independent project yet. We modified our original completely PHP input website of the Dice Roller and instead limited them to one die with a certain number of rolls, and storing the rolls in a database, along with random information to test. Today I finished restructuring the PHP to allow a connection between the program and the local host of mysql-dev and coded in a lot of forms to take information. Tomorrow, I will learn how to display the information.

7/24/18

Relational Databases

Today we learned how to create relational databases. The premise behind this idea is that you can have multiple tables of information and relate them to each other with foreign keys inside the SQL. We started the day by creating extensions to the People database that we made yesterday, and split all the information that we kept into one table to many different tables. All the different tables still had a primary key to organize the rows by, but the foreign key was set as the encapsulating table's primary key of people names. In this way, we could sort and retrieve information throughout the different tables by JOIN interactions.

To be completely honest, I'm still a bit confused on the whole semantics of some things, probably because the database that we worked with didn't fully explain the usefulness of splitting up the tables so meticulously. In particular, the usefulness of LEFT JOIN or RIGHT JOIN.

7/23/18

Start of Block 3

The focus of this week's block is databases and in the future integrating them with PHP, CSS, and HTML. Today we worked with the software SequelPro, combined with SQL. We created used a dummy database to test functions and syntax of SQL/mySQL to fill out a research guide. We learned how to create tables, modify them, add to them, to store information.

7/20/19

End of Block 2

And what a block it's been! Every day was packed with new things to learn and luckily I have the weekend to catch up on sleep. I managed to finish all the projects with time to spare, and now I'm working on polishing some of them with better visuals and functions so they look more professional. I felt like I had the opportunity to improve my programming skills a lot this week - working with the frustration and patience of debugging and testing, different languages with different syntax but with the same programming concepts. I especially enjoyed making the Calendar and Dice roller projects.

Today I just focused on putting my projects up, but I also added the same format and style of the portfolio into my projects (I embedded them in). This actually took a lot more work than I was expecting but it looked really great after completion.

7/19/18

Blog Entry

Today, as a change of pace, the apprentices decided to participate in part of the engineering workshop in the morning with the interns. We learned about center of gravity, forces that act upon a structure when a force applies such as tension and compression, and how to best create a building that won't fall. We then built some structures out of straws and pipe cleaners, entering a competition to see which group could hold the most marbles without it demolishing. Using the ancient secret technique of using triangles so the work is most distributed on an object, we all built our structures. So yeah, that was a fun divert.

Afterwards we were given work time, and today I put all my projects on my portfolio and fixed up the output into HTML Tomorrow I'll just add more features to my projects.

7/18/18

Finishers

Today was a work day to finish up Krista's Projects Pt. 2 and start testing our projects out for quality assurance. We all independently researched how to use XML and drop down forms to incorporate into our projects.

I finished a bit early so I began working on the calendar project that was unassigned. I feel like my planning phase before writing code has significantly improved since Krista's Projects Pt. 1. Writing everything in pseudocode beforehand and sketching out how the variables interact with each other saves me a lot of time and makes debugging easier to fix, and I managed to finish the calendar project before the day was over. Overall, very productive day!

7/17/18

Documentation

Today I documented the afternoon workshop. It was my first big ODAA task (Other Duties As Assigned that Apprentices should complete) so I was a bit nervous, but the workshop students were super chill so it was fine. They were learning about parallel computing and its applications, something that I went through as well during the Apprentice program so I could actually help out and talk about the projects with the workshop students. Honestly, the hardest part about documenting is taking the pictures, trying to take action shots of teenagers glued to their computer screens is a hard task.

7/16/18

Embedding PHP and rendering in HTML

Today we learned how to expand our PHP capabilities and combine that and HTML/CSS code to design websites. First, we learned how to embed PHP in HTML, basically writing different syntax to indicate to the computer what to read and putting it inside an HTML doc.

More interestingly, we learned how to render in HTMl, which basically is designed with three different parts. One part is the actual model itself that will run in a function and return results. Another part is the rendering in HTML that stores a bunch of different PHP functions with HTML code inside of them that structure the code. You design it so the parameters you put in the function can be changed to quickly adapt to different models and change the look of the website. Finally, all that runs in the last part, the control group, that runs all the functions, and the programmer can input the arguments to display and run. It seemed like a convenient way to design websites, albeit slightly less efficient.

7/13/18

Work Day

Not everyday has to be a completely immersive, content-packed day with loads of new information. Today we were given the day to finish our projects and test them to free them from any bugs or user errors. After all the information thrown at us it was nice to have a relaxing day to catch up. I managed to complete all the projects, touching up on the hex code to change the background, make lots of user exception traps to prevent the user from typing in dumb inputs to polish up the design. I also finished the dice statistic model, which I'm very proud of, that can output a sum distribution chart of the user's choice of number of dice and number of rolls. But yeah, today was a work day.

7/12/18

Forms

Today we learned an important html/php crossing function that will help us immensely on our projects - forms! Forms are the way the user can interact with our code, and provide inputs for our data. We made functions to clean up the inputs that our user provided, knowing that users can be very silly. This was interesting because the combination of making the form in html and getting that value into the structure in php was an unique experience.

After learning how to do forms, the rest of day was spent adapting our projects to include user input. Today involved a lot of thinking - how to solve the problems the projects presented and planning it out before writing it. Today felt like the first day of pure independence of the summer, however, because we were given full reign to solve the problems in our own way, completely with code, no other software that writes the code for us. It was exciting and frustrating, as some ideas seem to click much faster than others. I managed to finish the coin flip input, string switcher, hex code generator and I feel pretty accomplished.

7/11/18

Sell Yourself Fast

The main focus of today was the semantics of resume writing - the art of "selling yourself fast." With Kristen, we learned how to make your resume look visually appealing and professional and choosing diction that make yourself stand out, from font choice, formatting, or just general word choice.

In addition, during the morning, we finished up our research guides and used that experience to start developing simple models in PHP. We worked together through a coin flip model through complete programming - one that we achieved with software beforehand but now with that independence. We could display the number of heads and tails and percentages of frequency based on the number of times you flipped the coins through just PHP. We plan to add to the model later with more features.

We also began working on Krista's PHP projects - fun little problems to try to solve independently, such as generating random HEXA codes, developing a calendar, or trying a same random number generator with dice.

7/10/18

PHP: (Acronym: PHP (Acronym: PHP (Acronym: PHP (Acronym: PHP(Acronym: PHP(Acronym: PHP ...

Today was just a simple, plain-cut work day for our research project. We continued to learn about broad programming concepts to demonstrate how similar programming languages were to each other, while learning the syntax.

I finished the Javascript portion of the project, which went relatively smoothly. Then, most of the day I chugged through the PHP portion, which really wasn't different at all from the Javascript portion, which I suspect was to demonstrate the uselessness of focusing just on learning a language and its syntax. Going through this project increase my security for learning how to model with the language tomorrow, where we'll begin making real stuff with programming.

7/9/18

Summertimes

After a substantial break from Shodor lasting about two months, us apprentices are back at it for the summer grind. Today is the start of the six week content fiesta, divvied up into three blocks to attend from.

This block's focus is on programming, and we got to explore JavaScript, PHP, and a programming language of choice with an indepth research guide. Most of our day was spent chugging along the guide, but at the beginning of class we refreshed ourself of the fundamental concepts of programming and the difference between JavaScript and PHP (client side vs server side). I enjoy the hard coding aspect of learning so today has been fun for me. Oh, and the biggest Mafia game I've ever attended during lunch - (20 people).

4/21/18

/sl

Today we finished out parallel workbook, going over some parallel terminology. The highlight of today's class, however, was actually applying the concepts of parallel computing to real life, using the idea of LittleFe- remotely hooking up all the apprentices' computers together to try to compute a higher order model. To set up for the demonstration, we disconnected the computers from the internet and instead plugged all their wiring together so they could all communicate with each other. We used the program Virtual Box which used Linux to connect the computers together. We learned various Linux functions to navigate file systems and run programs, which were all text-based. We tried to run a bigger model called GalaxSee, which had controllable variables that could input a number of stars all acting the force of gravity upon eachother. Since one computer couldn't run tens of thousands of stars alone without slowing up the model, we tried to use parallel computing to make the model run faster.

Although we ran into a series of technical difficulties along the way, we tested a bunch of different scenarios with parallel computing using VirtualBox. For example, one demonstration was having a head node that the peasant nodes heeded to, and trying to run the GalaxSee program off the backs of the lower nodes. However, we found that it didn't necessarily speed up the model, the amount of communication required offsetted the efficiency. We found that running an equal amount of work on multiple computers under one director like RAM worked best. Using VirtualBox, we could physically discover how parallel computing functioned.

4/14/18

Ol' and Reliable Parallel Workbook

Today we continued using the parallel workbook to explain the broader concepts of parallel computing. We decided to switch things up and focus on the real world examples and application of parallel computing today after feedback was read, which was great. We explored careers in high performance computing, examples of real supercomputers like Blue Waters or Sunway TaihuLight (the fastest). We also found actual application of supercomputers besides being in competitions, which was surprisingly in a huge spectrum - anything from oil finding or music making or modeling our universe.

4/7/18

Parallel Computing

Today Trey and I presented our long-struggled for project and thankfully it went very well. Our models ran smoothly and demonstrated the power of wind in our forest fires. In terms of personal improvement, I think I spoke a tad louder than last time I presented and didn't look at the screen as much, but I still have a long ways to go for an actual professional speaking look. After hearing the intern's speaking suggestions I realized I could do better to keep from random movement and projecting my voice louder. Additionally, our only bump in the flow of our presentation was checking to see if Design mode in AgentCubes worked when you weren't logged in to an AgentCubes account. We assumed it did but in fact it does not, so we had to log in to an account during a presentation, which put a hitch in our performance. All in all though, I'm proud of what we accomplished although recognizing many places for self-improvement.

After presentations we started a new topic, parallel computing, how people use multiple cores to complete more tasks, or complete them in a shorter time frame, or store more memory of the tasks done. We are going through a workbook together, using visual activities to demonstrate the importance of communication between the computers in parallel computing and learning the concepts. We are getting the broad concepts through the activities and it is an interesting idea for teaching tougher material, basically what Shodor's teaching model founds upon. I hope we can get more into detail the following weeks because it is an interesting topic, although I recognize the short time we had after presentations had to merely be the introductory phase.

3/17/18

Group Project 2 3

My brain is super fried but a feeling of ecstasy has settled upon me. First things first, scratch everything that I previously had written for the blogs. The most important thing I learned today was that fixing your small bugs and thoroughly testing models before moving on is essential. Yep, there was an issue in Agentcubes that was overlooked that took some major rewriting. Trey wasn't here today, to top it off, so I already was hesitant on changing too much but the issue was a core flaw in our model. In our model, we had two time steps for one true time step in the model - one for checking if shapes could be burned and one for actually changing them. However, our rules made it so that the checking phase also happened during our changing phase, which coupled with Agentcube's randomizing scrambling of the agents every reload, plausibly looked like the model ran well with a quick glance but checking every time step it was clearly flawed. So, Ernie and Aaron helped me figure out a solution, which was creating yet another shape called stayHealthy and having that alternate to normal healthy tree every time step to simulate a times step.

But yeah, today was just a work day, and I had to rewrite the rules for the agent model and the javascript model, but I FINISHED IT! Sense of pride and accomplishment engulfs me but I'm too tired to formulate correct grammar. Of course, just a thought but lots of adults have a day job like this from 9 - 5 or something staring at a computer screen and I wonder how they do it before their brain fries up.

3/10/18

Group Project 2 2

Today we continued working on our group project. First things first, we weren't as ready to progress as we thought last week. Upon review from Aaron, we found a bug in our program, really, more of an AgentCubes oversight - that our model wouldn't have burning trees set fire to other trees if it was going to be burnt. It took the majority of our time to fix that little bug, our solution being to overskirt it with another agent called dying.

After that we started to finish up on our website and designed our javascript model. We rewrote the template to fit our model like an AgentCubes model would, and everything worked! Hallelujah! We basked in our glory, the end game in sight, a few tweaks here and there, updating the library that completely destroyed our program, editing the website... realizing suddenly our full working javascript model that we praised completely shut down from one folder change... We thought, okay, sure, we can just look over our code, maybe there's a typo or two in there. Or so we thought. We physically hurt our eyes straining and reading and typing phrases again and again for hours... nothing. We still hit this roadblock and we'll solve it next week. In the meantime our project is progressing at a fast rate and although Trey won't be here next week I believe we will be able to finish by then.

3/3/18

Group Project 2

Well, we got back at another group project this week, this time modeling a forest fire! I partnered up with Trey and today we began the planning stage of our project. We first conceptually thought up a twist that we could input to a basic forest fire model, and researched the effects was different directions of wind. We decided to add that extension to our planning and honestly, today was chugging through the mountain of planning. We got our stories and indicators and how we would develop the AgentCubes limitations into our notebooks first. We hit a few potholes in planning with wind, but after a bunch of drafts we were able to successfully lay out a working plan for modeling effects with wind! We actually worked really well together so we had some time at the end to make the website and actually test our plan on AgentCubes as well, and it worked! We were actually super proud that we got through a bunch today.

Overall, I think my planning and communicating skills increased since the first group project. We had a more sense of direction to go from and more experience in AgentCubes to try out different methods to plan out wind. I'm appreciating we took the time to plan out our project because our first draft definitely would not have worked. Hopefully if everything goes smooth we can lay easy for the next two weeks.

Clever Title about Programming

2/17/18

We began our day looking back at the Project Euler problem we solved last week. We learned an important method used in programming, or really, essential process called refactoring, relooking code we wrote in the past and changing it to become more efficient. We restructured our Project Euler code by following programming conventions and made it look like code that a regular programmer would look like.

Then we looked at an full fleshed, Agent Cube lookalike model written entirely in Javascript and discovered how it worked. We learned the concept of functions, libraries, and objects just by fiddling with the code and learning the syntax. We saw how each function fufilled a different part of code and could be called by using its name. We looked at the structure of a function and how we could manipulate its inputs and outputs. Then, we started talking about libraries and its applications, using code written by other programmers to not "reinvent the wheel." And finally, we got to the most interesting part of the lesson, which were objects, which was a misnomer from the usual programming perspective. We learned that in Java, an Object is basically just an associative array that you can name with strings. That pretty much concludes the lesson and in the next weeks we will use everything that we crash coursed on Javascript for another group project.

2/10/18

Programming Progress

We started to delve deeper into the world of programming and went over lots of concepts today. To start off class, we went over operators expanded our knowledge about them. We learned what type of operands go with the operators and what type of result you get after using the operator. We also learned a new operator called the boolean operator and made a truth table our of concepts like AND, OR, NOT.

The majority of our time spent after that was solving a Project Euler problem, which was finding all the sum of all multiples below 1000. We wrote everything in pseudocode first to solve the problem, constantly running into barriers where we learned a better way to rewrite tedious psuedocode, with the introduction of loops, arrays, and lists. We repeatedly did this process until we could write what a professional programmer might write to solve the problem. I enjoyed watching how the solution evolved every time until we could step away from pseudocode and write real code, and it brought me some insight on how to plan my code blocks beforehand.

2/3/18

Bouncing Programmables

Despite coming back from a lengthy break, we didn't start it slow. We dove into a new and fast-paced unit, which was learning programming concepts. I have had some programming experience before, so everything wasn't completely new to me, but I still was able to take away so many important concepts. I genuinely like this approach in teaching programming, a broad, concept-oriented way of learning programming. When I started, I wanted to only learn the syntax of one language and I thought once I learned the ins and outs of the words I was well on the path to developing programs, but I hit this wall where I realized I didn't know how to apply all this random symbol-learning to an actual problem. This method of teaching code is pretty helpful, and during the lesson I actually found myself thinking back to random code blocks I've seen before and realizing the nuances behind syntax that I had taken for granted and memorize before... like, a single simple = sign, I just always USED it to assign variables, sure, but learning how a computer uses about it made a bunch of sense.

But anyway, we started by discussing what tools a programmer uses to develop programs, like text editors, or documentation, or simply identifying the problem they had to solve. We learned how a computer receives input and its application into memory, a quick introduction to assignment and memory storage. I also finally learned how to count binary, which was cool. We discussed data representation and types, and how we represent them with variables. Then, we got to apply that knowledge with a sample program used, Bouncing Particles, and mess with the variables to visually see how the program changes. With this, we focused a lot on the semantics behind coding, and how understanding why a program works the way it does was so important, with tools like pseudocode for other programmers. Using abstraction, we understood the concept of "getting" and "setting" variables inside memory boxes, and how to draw its singular value or memory placement of the value. Finally, we wrapped up the lesson with learning about operators and their uses, using a Javascript console and an interpreter.

All in all, I legitimately enjoyed the lesson, and thought it was a good beach ball to introduce programming.

12/16/17

Pillars of Presentation

Today was presentation day, and that meant last-minute-flurry-to-finish-project madness for most of the apprentices. My partner and I were pretty panicked to be presenting, as we still needed to finish our second model but we were confident that we could finish up by the deadline. And so it was, two and a half hours of frantically working like rabbits (okay, not COMPLETELY confident) and furnishing the website, editing the descriptions, making sure everything was in pitch perfect shape and a quick rehearsal before it was our turn to shine.

That is, after watching a few peer presentations first. We were impressed by our fellow apprentice's presentation topics and listened intently to their content and tried to see what areas we could improve on as well. When it was our turn to present we ran through our caterpillar model rather quickly, as we were decently rehearsed and to be completely honest I was really nervous so I don't remember most of us. It went pretty well though and our AgentCubes model actually worked. We made intelligent observations about how the scale affects the credibility of the model.

12/9/17

Work is Liberty

Today was a work day. We continued our model making journey and worked on implementing our stories that we made in the previous week on VenSim and AgentCubes. My partner and I split up the work so I developed the AgentCubes while he developed the VenSim. We learned how to order rules to interact the agents together and used that technique to develop the majority of our project. Since our model is based on the structure that things turn into other things we decided we could use distinct features of caterpillars to model its behavior in the AgentCubes based on movement, such that as the caterpillar grew to become a butterfly its movement would vary, and that would be the singular aspect to first model.

Eventually we managed to finish both models and started brainstorming for our change to the model. We decided to complete the website on our own time and finish and present the project by next meeting.

12/2/17

Pearl Models

Confession time: I wasn't here that day. However, as the responsible and diligent Shodor apprentice I am, I watched the videos and completed all the work I should have done by the next meeting. I learned about the best ways to start models- thinking about it like a pearl, starting with one idea and layering it with complexity until it resembles a more realistic type of model. Dr. Panoff emphasized about how we should think about the simple part of our model first- reminding us of the the process we use to build models- PLAN, APPROVAL, IMPLEMENT.

Then we were reminded of the two different model structures we learned so far- one, a collection of things that turned into other things, like the disease model, or two, rate effects that affect other rate effects, like predator prey relationships, one affects the other. Finally, the last step to build a nice model is to understand the semantics behind the whole thing, knowing beforehand to think about how boxes or arrows flow with each other to create meaning and behavior/change that we can visually see, or indirectly affect other things. With that info, we were told to start working on our projects with chosen partners.

Online, Aneesh and I started thinking about what we wanted to model, which eventually fleshed out to be caterpillars as the week progressed, and each created a starting plan to work on.

11/18/2017

Lotka Models

We are still heading full steam on learning different ways to model situations. In the morning, we reviewed on the simple disease model and how we used VenSim functions to create a SIR model. But then we got to the bulk of the lecture, which was the ways that we model based on behavior or change. We started talking about math, the way a system changes in a certain rate, and how it affects its behavior. We discussed about four different changes that affected its behavior, none, constant, linear, or proportional. We learned they corresponded to how the line behaved, which was, one power above. If a change didn't happen the line was a horizontal constant, if the change was constant the behavior was linear, etc. This tied in the Rabbits model we had modeled before, a proportional change was applied and the graph was exponential. We used VenSim to model this and learned VenSim was a tool to iteratively apply change and study its behavior. We created a model of rabbits and wolves in VenSim, where the number of wolves would affect the decrease in rabbits, and the number of rabbits would affect the increase in wolves, a classic predator prey model, a Lotka- Volterra model. Then Dr. Panoff brought up the holy question - what if wanted to model behavior and study its change?

We started learning about a program called AgentCubes that we could use to model this. We learned how to create a story with rules to apply before making a model, which would show a 2d plane with simple colors to correspond with agents and methods to let the objects behave a certain way. We made a disease model with this information, making a story that modeled humans moving around randomly with a disease, if they touched they would get sick. We tested out the instances. We ended on the note on how to add improvements to the models that would let us discover more about modeling, which is our task for the next weeks.

11/11/2017

Ven Sim-antics

We learned about lots of modeling semantics and learned a different tool to develop models called VenSim today. In the morning, we learned how to construct a population models with rabbits. We worked through making an equation together with the all - important equation of WHAT WE HAVE = WHAT WE HAD + CHANGE. We learned how to use basic derivatives to construct an amazing equation which the population of rabbits grew exponentially. We made an Excel model of that. Then we thought, or rather, Dr. Panoff told us to think how we could implement a carrying capacity to the equation. We designed a carrying capacity using all sorts of math that basically forced a 0 value with limits and things and modeled that in Excel as well.

Then, we learned a new modeling tool we could use to model this equation, called VenSim, which was part of system modeling. We learned the four different types of tools you can use in Excel and used them to construct a basic rabbit population model again. We discovered it was easier to map this kind of model and implement a graph than Excel and then we got a little discussing of when to use each modeling tool in what situation. Finally, we ended the meeting with a mini project of implementing a simple disease model with VenSim.

11/4/2017

Excelling Excel

Today was a day full of knowledge, with more hands-on discovering and plenty of things to learn. We talked today about various types of modeling, like system, agent, or scale models and when to use each one. We discussed what things we model and how we show one idea in modeling. We also learned the difference between stochastic, determinative, and iterative. To expand on that idea, we learned how to perform iterations on computers, specifically with the program Excel, which is what mainly what we learned today.

We played in Excel sandbox and tried to simulate a coin toss on Excel. We learned different functions in excel, like if, countif, or sum and made a program that flipped a coin twenty times and counted the percentage of heads or tails. Then, we decided to INCREASE the stakes by making a spinner, with FOUR, not two, but FOUR different rolling outputs, which we created with nested loops. Then Dr. Panoff decided to blow our silly minds by making a simualted diffusion model of heat. We made a fancy shmancy program that simulated a trailer in cold that was heated by some heaters, that showed the heat flowing through the room, the tiles the average of the heat neighbours. It had colors and everything that corresponded with the amount of heat and we got to see, by spamming ctrl + =, for each iteration, the effect happen.

All in all, we went through a big bucket list of programming topics that we learned through modeling first instead of Dr. Panoff just rattling them off to us, like termination sequences or self reference or whatever. It legit was fun making the model (and I'm not writing this to suck up) and learn about Excel functions, which will be incredibly useful in the future.

10/21/2017

Straw Adventures

Computational thinking. That was the topic that we mostly discussed about today. We talked about symbol manipulation and numbers vs numerals, which is basically thinking about how we interpret things differently and how we can RE(with capitals)present things again in a way that makes sense to us or a computer. We talked about different ways to think about problems. So, to further that idea, we worked with Google Sheets and Excel, and how computers interpret this REpresentation. We made a simple model with cats and dogs, which I actually really liked, learning about different features of Excel and using slider bars.

Additionally we did a bit more about how we KNOW things and did a few more searches to prove how much of a variety "facts" on the internet can be wrong. Like, at this point, it would probably be more reliable to walk to NC and count by hand how many colleges there are then trying to get that info from the internet. Oh, I'm sorry. Not Information on the internet. NOISE. Meditate. Block out the noise from the internet. Interpret what you need and then it becomes information. Everyone I know is mere NOISE, to be filtered, until it suits me. Shhhh

But anyway, then we continued with some lunch and Trey and I had our first meeting with our mentor. Dr. Panoff showed us a COOL magic trick with algorithims in the cards. Then, we just continued on with a bit more about "getting things," with a butchered Nemo in sushi and how socially we all reacted. Dr. Panoff showed off his cool website for learning cool functions with cool math and cool variables and we examined some different functions by changing them with slider bars. This all reinforced the idea of how we should learn things, by experimenting it by ourselves! Well anyway, Dr. Panoff then kind of slinked off and Ernie gave us time to work on projects and we have reached full circle.

10/14/2017

Hot Roll

We started the day off with an ethics presentation by Ron. The funny dressing and style was like SSP, except this time he had a balloon on his face. He gave us a rundown on office behavior and grooming tips, and we discussed about how to maintain a good working enviornment. He gave us a project to start working on, an ethics scenario, which looks very convulted, probably showing us how messy things really are in real life.

Then, we got rolling with Robert, as he talked about how we really know things. He described how scientists differentiated between knowing something SUFFICIENTLY or CONCLUSIVELY and how it affected line of work. To demonstrate this, we did an activity where we all tried to write info about ourselves on one Google Sheet. Probably enjoying watching us scramble around and drop the mad knowledge, we again did it with organized lines and surprise it worked better. That got us rolling with Excel and how the program lies to us with rounding with binary, undermining the ingrained thoughts of computers being perfect that we had. Now that we all learned to never trust computers again, we did another activity with questions that required us to think outside the box. Now, happily, I wisened up since SSP, and used my genius brain to solve some of the questions, and the class did a standing ovation for my extreme intellect. Just kidding, most of them were the same problems as SSP, and I pretended to be smart, knowing the solutions beforehand. Actually, there was one problem that we didn't get before and that I was able to do, so maybe I actually did get better at this sort of thing.

Toodles

10/07/2017

Hold Up Now

First entry of this blog, this post must be monumental and carefully worded so people in the future can look back in awe and marvel of my creative genius.

Today was orientation day at Shodor and we learned the fundamentals and the expectations of Apprenticeships through Dr. Panoff's pep talk rally speech. Ernie and Aaron gave us some doom gloom rules and went over the handbook, and afterwards we just headed to lunch. After lunch we started some projects and followed a tutorial on Cyberduck for most of the afternoon, learning how to back up our things to the Shodor server. I guess that's what you're reading right now, a text file we backed up.

It was nice to see friends from the SSP program back again and some people that I actually know from school join as well. I guess in the next few weeks we'll basically do the SSP program with DEPTH and EXTREME KNOWLEDGE and work on modeling, but excited to get to learning some JavaScript, even though some of my friends tell me it's annoying. Writing this blog reminds me of when I tried to write a diary in middle school and pretending to be funny for the person reading it and it was actually very sad to look back later, now that I think about it, so I guess I'll end it here.