Today is unfortunately my last day as an apprentice. It's truly saddening to me - Shodor had become a huge part of my life over the past year, and it was always something I looked forward to. I
Shodor has been a great experience ever since 7th grade, when I did my first workshop here. It gave me my first introduction to many computational science principles, and in particular showed me how everything in the STEM field was truly connected. This helped me outside of school too. I've always been interested in STEM, but in particular I wanted to actually use it rather than be shown very small, basic and isolated parts of various fields. Shodor, in this sense, has been the dream come true for me.
Throughout my journey here, I've met countless people that have taught me wonderful things about computing and even myself. I'd like to thank them here:
- Aaron & Ernie - Thank you guys for giving me the chance to do the apprenticeship, and for leading it wonderfully. I learned a lot about things I had only seen a small touch of before, and finally got the in-depth experience with them I had wanted for so long. I also gained valuable office experience along the way - through ODAA and various other tasks, such as writing this blog! I hope to be an intern and see you guys again.
- Om - Thanks for everything bud, whether it was being my partner project 1, being there at GH and being super nice. It was great having another Shodorite at my school.
- Arjun - Thanks for being my partner through multiple projects and being a super friendly dude to talk to. Your help got me through almost all of the spring and the whole time I was here this summer.
- Jim - Thanks for introducing me to Shodor, and being there the whole way as an intern. Hopefully next year I'll be one too!
- Rohin - Thanks for all the help throughout the summer and for the good Mafia games.
That's it. I won't be writing any new blog entries (outside of the ones I missed earlier) but I do plan on finishing up the remaining bits of work and becoming an intern. The apprenticeship was a fantastic experience
Block 4 Day 7
8/14/2018
Block 4, Day 4
8/8/2018
Today was my first day back at Shodor after having to miss all of July, and it was great. I finished up my programming research guide, and started on my demos. My first assignment was to create a coin flip demo using for loops, and to display the data collected from there. This one was relatively easy - you can check it out here.
Block 2, Day 1
7/9/2018
Today, I learned about JS and PHP. I had wanted to learn both for a long time - they are perhaps the most important languages for web development right now, alongside Python. In particular, JS runs a vast majority of websites and is absolutely mandatory for any web developer right now. PHP is also widely used, mostly for server-side operations but also some client-side work. I had worked in both before, particularly PHP, but I had wanted to take it to the next level and actually create a website from scratch with it. I went through a research guide for both - you can view it here. I also created sample files for them. I mostly went over basic concepts - flow control, variables, and arrays. It was a good refresher, as I had not worked in PHP for a few months before this and JS was back in the spring.
Block 1, Day 10
6/29/2018
Today, I finally finished my Inkscape logos. The only one left was one of the full name logos. It didn't take too long thankfully, as there were no issues. I then made a web page to display them - you can find it here. It is also in my portfolio. I was able to finish this by lunch. Afterwards, I worked mostly on my modeling project. I was able to make good progress with AgentCubes, and plan on doing Vensim at home. I also managed to be able to do some GIMP work, mostly with collages. I'll have to finish the banners at home
Block 1 has been a lot of fun, and it's sad that it went by so quickly. I feel like it was only yesterday that I came in for the summer. It's been a very productive time for me - managing to learn all of GIMP, Inkscape, fluid web design, how to write professional reports, and working in an office in just 2 weeks. I hope that I'll be able to keep this up for the rest of the summer.
Block 1, Day 9
6/28/2018
Today, I mostly focused on my HLD - High Level Document. I created a model
of the Dot Com Bubble of 2002. I wrote up the story and plans for the model - I
put a special emphasis on the practices that caused the bubble, and plan on
giving users the power to change these practices and see what could have prevented
the bubble. The agent model will have tech start-ups spawn from a central bank
move randomly in the world, with investors moving around as well. If an investor
touches a start-up, the investor invests in it and the start-up gains the invested
in status. If an investor funds more than 1, it goes broke and disappears.
Start-ups compete with each other by gaining points every time they touch another
start-up. If they gain 2, they fail and disappear. After a certain period of time,
successful investors give money back to the bank, spawn a new investor, and go
back to not investing in anything. If a start-up can stay successfully invested
in for long enough, they become an established business, which stays still. These
produce funds for the bank over time, and cannot be outcompeted by a start-up.
The user can change the number of agents to change the market, and with this see
what practices are sustainable and what are not. This will hopefully give insight
on the tech sector at the time.
The system model has 4 boxes - the bank, the start-ups, the investors - all
represented by one box, the investor pool - and established businesses. The bank
starts with 200k, and can fund start-ups every cycle, with each requiring 10k.
The user determines how many tech start-ups the bank will fund each cycle.
The investor pool can then fund these start-ups, with them also requiring 10k.
The user controls how many start-ups the investor pool funds. Half of these
become established businesses, which give 12.5k to the bank and 17.5k to investors.
The investor pool can also take loans from the bank, with the number of loans
being controlled by the user. Each loan costs 7.5k. If the investor pool runs
out of money, it takes 50k from the bank. If the bank runs out of money, the
market crashes, and the model stops running. shows the balance between the banks,
the investor pool, new start-ups and established start-ups that succeed and become established businesses.
This allows the user to see what the practices were like and what could have
been done to prevent the crash.
I was able to write it up and get approval relatively quickly, which is always a good thing. I also finished my abstract logo. I plan on finishing the name logo tomorrow, alongside as much of the GIMP as possible, and then finishing the GIMP tomorrow night if there's any of it left.
Block 1, Day 6
6/25/2018
Today, I mostly focused on finished up my Inkscape logos. I only had the favicon and full name logos left - I finished 1 full name logo and the favicon. I hope to finish the other full name logo later today or first thing tomorrow. I worked a lot with the various features of Inkscape, moreso than with my other logos - in particular, I worked with the blur, nodes, text, shape, Bezier, and fill tools. The favicon proved to be more difficult than I thought - resizing it took a lot of precision, and the blur effects in particular took me a lot longer than I had hoped. I hope that I'll be able to finish up the GIMP projects by the end of tomorrow - possibly at home tomorrow - and then be caught up with the rest of the program, with my HLD being finished on time.
Block 1, Day 4
6/21/2018
Today, I mostly focused on my Inkscape logos. I finished up my first initials logo - link here.
Block 1, Day 3
6/20/2018
Today was my first official ODAA - morning reception. It was much easier than the first time - I only got 1 call and did it well. It can be nerve-wracking, but it's not bad once you get used to it. There weren't many visitors either, with the few that came knowing what they needed already. I was able to get a good amount done with the time, mostly catching up on the last bit of spring work left over. It was relaxing and productive, and I hope to do it more often. I have afternoon reception next Wednesday, which is good. I don't have any other ODAA this week.
I also got a lot else done. I started designing my first logo in Inkscape - my initials. I mostly used basic Inkscape tools as an introduction - shapes, nodes, and Bezier curves. It was fun and easy to figure out. I hope that with my abstract and full name logos, I'll be able to use more advanced tools, such as layers, meshes & gradients, hexadecimal colors, and much more. I plan on getting Inkscape at home - it's by far the easiest to use image editor I've worked in, and also one of the most powerful. I hope to learn GIMP - I've never been able to use it well, but I've heard it's even more powerful than Inkscape and is also much more flexible, particularly with file types. Graphic design is something I've always been interested in, and I'm glad I get the opportunity to learn it.
Block 1, Day 2
6/19/2018
Today was the second day of the Summer session. We went over our assignments
- to create 6 logos in Inkscape, create banners for them in GIMP, and create a
new modeling project with a system model (either Excel or Vensim, I plan on doing
Excel as Vensim does not work at home for me), an agents model (JavaScript or
AgentCubes, I'm undecided on this because JS is more powerful but AgentCubes
takes much less time), and a full HLD. We haven't gone over Inkscape yet, so I
worked on my unfinished spring work. I hope I'll be able to finish it by tomorrow
so that I can move on and catch up with everyone else.
In addition, I also did my first ODAA (Other Duties As Assigned) today. I sat at the front desk for an hour, as both the assigned person and the backup were interns that had to go to a meeting. It was slow - there was only 1 call, and 2 visitors, both of which were parents picking up their workshop students. I was able to do more work at the desktop there, so I didn't lose any time and flowed smoothly in and out of the duty. I have morning reception tomorrow, so I'm glad I was able to practice it beforehand.
First Day of Summer
6/18/2018
Today was the first day of the Summer session! I had been looking forward to this for a long time, as I wasn't really doing much this summer and it got very boring. We mostly went over orientation - our general direction for the summer, our goals, expectations and projects. We didn't go over any new concepts today, so I got time to work on some of the things I hadn't finished during the spring, mostly my portfolio. I can't wait to work on graphic design later this week - I've always found Gimp very confusing, so it'll be nice to learn about it so I can finally use it well at home. Getting back into the groove of Shodor has been a bit tough so far but I'm glad to be back.
Introduction to Programming Concepts
2/3/2018
Today was the first day of the spring semester. We didn't jump straight into programming
- the review
Today was only for extra presentations, as almost half of the groups did not present
last session. This was also a session for us to work on fall projects we had not yet
completed. As such, today was extremely helpful for me to get back into the swing of things
after the long period of time in between our last session and when I last worked on these.
It was a short session - I came in around 12:30 as I had heard that the time between 9 and
12:30 would be only for work on presentations, which was a misunderstanding on my part - but
I got a good amount done and hope to finish up all of my work next week!
Today was our presentation day, the day where everything we had worked on for the whole
fall semester came together. My partner and I did make some finishing touches on our project
- we were able to bugfix the AgentCubes models and also finished up the website.
As for the presentation, I felt it went decently but not as well as it could have. I didn't
speak loudly enough for everyone to hear clearly, contrary to what I thought. Our project
itself also did not hold up against the critique, and while it was well done, I wish we had
still done more with it. That being said, we did do well - our models worked, our scenario
was realistic and the data was accurate. I'm proud of our project. Today we started on AgentCubes and HTML. The template was provided but we
were at least allowed to edit some of the CSS. We got two of our three AgentCubes
models done - the third should definitely be done by next session. The HTML site
is lengthy but rather straightforward. We changed our model from trees to fish
in order to take advantage of AgentCubes more effectively. We did have issues
with the death of fish but other than that we were rather productive. There's
honestly not much to write because the project is all we did and it's rather
straightforward.
Today we started on our modeling project. This is when we prove our knowledge
of modeling and HTML to create a strong presentation. My partner and I wanted
to take care of Vensim first, as it is much easier to work with than AgentCubes.
We decided to model a tree population - the number of seeds that produce trees,
the number of trees that die to disease, etc. Our first 2 notebook models did
not have many factors - a good amount of them were only written up in the third
model. The difficult part was making the number of seeds produced and the rate
of successful germination work without decreasing the number of trees. Fortunately
we were able to fix this issue in time to get all 3 steps done.
The plan is simple - next session my partner will finish up AgentCubes with me,
while I take care of HTML. I'll also be able to work on the HTML page in school
(in Google Drive, as I can copy and paste it back into Atom). As of now we are
on schedule.
Today we finished up with Vensim. We made a deer population (WIP)
Today we started with Vensim, and I was not disappointed. In the earliest
parts of the session, we still worked in Excel. We covered a lot of calculus in
discussing and creating our Excel population model, which is always a lot of fun.
I have never cared for integration much, as I always found applications of it to
be rather confusing, but this session helped me understand it a lot better. Hope
fully we'll be doing applications of derivatives a bit more as well, as those tend
to confuse me a bit as well. This calculus was honestly the best part of Shodor
I had gone through thus far. but Vensim was even more fun. It gave us a visual way
to model things, something that Excel lacked - the scroll bar does not give quite
as good of a visual impression as the objects of Vensim. It honestly felt quite
a bit like object-oriented programming, of which I have a small amount of experi
ence with. It felt a lot simpler, however, without the tediousness of Java forcing
you to say exactly what you're going to do before you put it in and PHP's objects
in general (as PHP is fantastic for web services but not really for general-purpose
work). Unfortunately it seems like my mac, or Cyberduck, or something
can't handle .mdl and .vdf files because it doesn't seem to be working at home.
It's a real shame because it's so much fun.
Today was rather interesting. We started the morning off defining what
a model is. The general consensus seemed to be a visual representation
of data. We also learned about many different types of models, such as mathe
matical models and hand-waving - yes, hand-waving, I was very surprised when
they wrote this - models. We also learned about the different kinds of data they
represented - it mostly boiled down to quantitive and qualitative data. We did more
work in Excel, which always excites me. However, as Dr. Panoff noted, Excel has
its issues, like with its RNG - which he noted to be helpful for educational pur
poses at best. We learned about if/else statements - nothing new for me but still
intriguing and important nonetheless. We also worked with the math library - I sad
ly cannot speak well of PHP's math library, it just makes me sad - and actually
a lot of programming concepts in general. All programming languages were made
with computational purposes in mind, so it makes sense we're doing it now.
I'm excited for Vensim next session. Looking around about it online, it seems to
be a tool devoted entirely for modeling, which is always fun. This week started off with an introduction to computational thinking.
It honeslty felt like a continuation of last week's "How Do You Know" lesson,
but built upon with stronger applications. For example, we used a spread
sheet to gather data and compared Excel to Google Sheets. It started off
quite chaotically, with everyone trolling each other on the sheets. Once things
settled down, we finally got to actually learning things. In particular, we focused
on search results. Many of my fellow peers just used the first search result they
got, but thanks to the workshop I had gone to, in addition to 8th grade, I tried
my best to use the most credible source I could find (such as the Royal Society
of Chemistry), but a lot of the sources were outright flawed all the same (college
statistic websites can be pretty unreliable, with colleges paying to be put on the
list and whatnot. Afterwards, we finally got to use Excel. I've never been able
to get the hang of these spreadsheets and we went a lot more in depth with Excel.
While learning about how to use it, we went over the differences between the two
softwares. We came to the conclusion that for the purposes computational thinking,
Excel is strictly superior as it is more dynamic (I've never cared for Google
Drive myself). Lunch was probably the highlight of the day though. We saw some
very interesting card tricks performed.
I'd also like to apologize for the condition of the break room. I don't know who
caused the mess but as a group it is the responsibility of all of us together to
clean it up regardless. Next session (where we finally get to focus on spread
-sheets exclusively) will be much cleaner for sure. This much I promise. This week, we actually started our lessons! It's nice after that
"sunshine, puppies and kittens" session we had. We learned about office
ethics in the morning. The ethics was best desribed as conduct, if you
count dress code as conduct (which is fair because if you conduct yourself
seriously you'd also try to look the part). Office Ethics is becoming increasingly
important as companies are looking for the ability to socially interact nowadays.
The second half, however, was the best part - How Do You Know? This session was
incredibly intriguing. We learned about skeptical thinking - the kind done by
the incredible scientists such as Carl Sagan (who wrote a very interesting
book about it, though that book concerned itself with pseudoscience rather than
the concept of thinking itself) and Richard Feynman. I'm getting to know my fellow
peers better as well. It's been going pretty good so far. This week started off with an introduction to computational thinking.
It honeslty felt like a continuation of last week's "How Do You Know" lesson,
but built upon with stronger applications. For example, we used a spread
sheet to gather data and compared Excel to Google Sheets. It started off
quite chaotically, with everyone trolling each other on the sheets. Once things
settled down, we finally got to actually learning things. In particular, we focused
on search results. Many of my fellow peers just used the first search result they
got, but thanks to the workshop I had gone to, in addition to 8th grade, I tried
my best to use the most credible source I could find (such as the Royal Society
of Chemistry), but a lot of the sources were outright flawed all the same (college
statistic websites can be pretty unreliable, with colleges paying to be put on the
list and whatnot. Afterwards, we finally got to use Excel. I've never been able
to get the hang of these spreadsheets and we went a lot more in depth with Excel.
While learning about how to use it, we went over the differences between the two
softwares. We came to the conclusion that for the purposes computational thinking,
Excel is strictly superior as it is more dynamic (I've never cared for Google
Drive myself). Lunch was probably the highlight of the day though. We saw some
very interesting card tricks performed.
I'd also like to apologize for the condition of the break room. I don't know who
caused the mess but as a group it is the responsibility of all of us together to
clean it up regardless. Next session (where we finally get to focus on spread
-sheets exclusively) will be much cleaner for sure. This much I promise. This week, we actually started our lessons! It's nice after that
"sunshine, puppies and kittens" session we had. We learned about office
ethics in the morning. The ethics was best desribed as conduct, if you
count dress code as conduct (which is fair because if you conduct yourself
seriously you'd also try to look the part). Office Ethics is becoming increasingly
important as companies are looking for the ability to socially interact nowadays.
The second half, however, was the best part - How Do You Know? This session was
incredibly intriguing. We learned about skeptical thinking - the kind done by
the incredible scientists such as Carl Sagan (who wrote a very interesting
book about it, though that book concerned itself with pseudoscience rather than
the concept of thinking itself) and Richard Feynman. I'm getting to know my fellow
peers better as well. It's been going pretty good so far. Today was orientation day, vital to success in just about anything, I'm excited for office ethics! These days, they're quickly becominng Extra Presentation Day
1/13/2018
The Project: Presentations
12/16/2017
The Project: Day 2
12/9/2017
The Project: Day 1
12/2/2017
AgentCubes - Healthy Sick Model
11/18/2017
Vensim
11/11/2017
Models
11/4/2017
How Do You Know? Continued
10/21/2017
Second Week, First Real One
10/07/2017
How Do You Know? Continued
10/21/2017
Second Week, First Real One
10/07/2017
Be Intimidated, Sunshine, Puppies and Kittens are out for you
10/07/2017
really. We started off learning about the founding of Shodor and what we
as apprentices are expected to learn and do. We reviewed the aprenticeship
handbook. We were given another tour of the building, with all the offices
and labs. After lunch, we began to work on our assignments - as I speak it is
1:56 PM, not too long after lunch but rather close to the end. EDIT: It's now
11:13 PM, got busy this week T_T. Anyways, the rest of the class was just
devoted to work. It's fun.
the most important part of most jobs. With competition rising, ethics
are being shoved aside in spite of the newfound demand for them. Promotions
aren't given for knowledge alone. Can't wait for tomorrow :).