Andrew Nyland

October 4, 2014

On our first day we introduced ourselves to each other, became acquainted with both the other people and the workspace, and we looked at and talked about what the rest of the year would be like. Next Ron Broadnax gave us an entertaining, comical, and informative class on work ethics. He was able to give us an effective lesson on first impression by showing up at first as an incorrectly dressed, late, and disoriented employee.

October 11, 2014

Our second day jumped to an increased pace as Dr. Panoff delivered a vigorous and enlightening class on many subjects mostly based around scientific procedures and thought processes. He explained to us the thoughts behind Expectation-Observation-Reflection and the difference between many synonyms such as necessary/sufficient, consistent/conclusive, and many others. He concisely taught the difference between what we think and what we know.

October 18, 2014

We began looking at the pre-thinking to computational modeling; real life modeling. We attempted to model and simulate as many objects as we could using simple objects, such as short piece of rope. We began also looking at how math relates to physical models. We also created our first model, which was simulating diffusion in Excel and we also built models such as a slope intercept table.

November 7, 2014

I had been sick during the last few days of October, so I came into Shodor on November 7th to catch up on what I had missed. We began looking at the fundamentals of working from a unix command line and how a linux file system works and is setup. We learned skills such as moving between directories, creating files, editing and saving files, and moving and copying files.

November 8, 2014

Today we continued to look at working from the unix command line; reviewing what we had already learned and discovering how to apply to real life methods and uses such as connecting to and working on a server from a command line. Most importantly for us, we learned how to access our files our shodor from almost everywhere and how to work on them in such an environment.

November 22, 2014

Nearing the end of our fall session, we began to confront any confusion or uncertainty that we had with anything that we had learned so far and we began working on our final projects. Based on the idea of seals who eat fish and whether tagging these species so that they other species knows where they are and reacts, we paired up and began planning and creating our models.

December 13, 2014

On our final day before the holidays, we enthusiastically began working on the final aspects of our projects. I completed my website and my second model, tested both of them, and configured them so that they were presentable to the rest of our group of apprentices. Then, we went group by group and presented each of our projects, while also describing problems that we had with the models and how we overcame them, pros and cons of using different modeling methods, and what we may have added if we had had more time. These models can be viewed here.

December 6, 2014

Continuing from our previous session, we again worked with our partner to further progress and improve our models. I was able to finish the first model and begin the second model for our final project. I also began work on my shodor website.

February 14, 2015

Today we advanced a bit farther into more complicated javascript, and began learning about logic statements. We looked at the basic statement such as if (true statement) {what to do;} and how they can be used with true or false statements or broader values, such integers or other numbers. We also learned the basics of loops, both the for and while loops, and then tried integrating both of these into previously created applications.

February 21, 2015

Continuing from our last session, we looked a bit more in-depth at loops, and then applied them to a more complex data type; arrays. Arrays are a single data partition / variable that is able to store data and access it by index, instead of a given name.

March 7, 2015

We had, for the most part, finished our block of learning about javascript, and now had to apply it to real life projects. We began working with our partners on building a working javascript version of the Fish and Seals model that we had created earlier in the year. In this project, we were able to use the programmatic features that we had learned in the previous few weeks. Unfortunately, my partners were not there that day due to snow day makeup, so I began looking at what we would do on our project and brainstorming to think of the best way to accomplish the task set before us.

March 14, 2015

Today my partners in this project came, and we were able to begin working on our project truly as a group. After thinking for a little bit, we decided that we wanted to rewrite the project from scratch and truly make it our own. We decided to make it so that the fish and seals could swim in all directions, instead of just in four (North, South, East, West). We drew diagrams and wrote down ideas, and I wrote the beginnings of a script that ran a renderer and more the "behind the scenes" work for our project, while they wrote more specific rendering instructions and movement algorithms.

March 21, 2015

It was the third week of working on our project, and we were mostly done. We spent the first portion of the day finishing up the last parts of our model, wrote some accompanying information for it, and finally, each group presented their project and their approach to the problem given to us. Our project can be viewed Here

April 11, 2015

After completing our javascript block, we began learning about parallel computing. Parallel computing is really fun, because it allows you to accomplish tasks and solve problems that you would have never been able to do normally, and it allows you to think in much broader and brand new way.

Parallel computing is defined as "a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones. The website top500.org has a list of the top 500 fastest super computers which operate on this principle to compute at optimal speeds. Nearly half of all super computers can be found in the United States, with a significant number in the United Kingdom, China, and Japan. Their lightening speeds are reached by the massive number of processors they utilize, which number in the millions. The Blue Waters Supercomputer, the fastest computer on a university campus, operates at ~13,000 TFLOP/S, putting it in 4th place for the fastest supercomputers in the world, but it opted out of being placed in the top 500 list.

For today, we ran a cluster based OS in a virtual machine through an application called VirtualBox. The OS is called BCCD and is an easy way to do cluster and multicore computing without much hassle. Unfortunately, we were able to configure our machines and view some example applications, actually creating programs for ourselves would have to wait.

April 18th, 2015

Today we took our parallel computing exploration a little farther and began learning how to program in C. We started by creating some basic math problem solvers, but by the end of the day we had created a program that attempted to calculate PI. The closest I was able to get was 3.14159684.

April 25th, 2015

Today was the last day of our module, and we finished out strong. We took our PI program from the week before and made it even better, by adding some basic parallel (multi core) computing commands, which made the program run faster and more accurately. This program can be found at PI.C