My lovely semester in TC201

Here is the video I made explaining the whole learning process which I get through in this semester. It’s a long video (sorry, I was inspired). In general I think that I learned a lot, and not only in topics of Objected-Orientes programming; I also learned about the thoughts of important people of the programming community; I learned about what many philosophers and writers think about the abolish grades stuff, etc. To conclude, I feel prepared and confident to pass to the next level, that in may case is Data Estructure, which they said is OOP 2.0.

My video:

James Gosling deserves a kiss.. but not from me

java

The last WSQ of this semester! :’) And to close with a flourish, we had this interview in Triangulation episode 245 to James Gosling. He is nothing more, nothing less than the creator of JAVA. How I hate that guy! Just kidding guys. In my personal view he is the inventor of the most important, the most recognized, and the most worldwide known programming language of the world.

James Gosling said that in college he spent ‘endless’ hours in the computer center’s library, and that’s the way he learned to code. The important thing here is that he mentioned the word ‘library’. This means that he needed to read a lot of books that teach him how in hell he was going to be able to code. Ken’s way of teaching is pretty much in the same path. Ken has said to us that he could give us a bunch of coding assignments for us to spent time making them, but the real knowledge of object-oriented programming is in the books, in the blog posts of other people, in the videos of ‘coding professionals’. This is how I learned to give my codes the most objected-oriented path as possible, by reading and understanding all the complex concepts of OOP (encapsulation, inheritance, polymorphism, etc).

Finally I’ll kept with Leo’s phrase “they were going out to smoke in the back, and you were going to write code”. This is my philosophy in life: at the end, everybody will receive what they deserve. James Gosling may had been a nerd or ‘teto’, but instead of following everybody else examples, he knew what his goals were, and he chased them until he reached them. Now he is famous, and he is going to be remembered as one of the best programmers in the history; while all the other assholes bad students may not be even remembered for any good action in their lives.

The mother of all projects: Bot.e

This is my blog post of out final project, that in my opinion is the mother of all projects! Actually with it we won a government contest of ecologic apps (my mom was so proud!) As Ken and the other students can read in my blog post of useCases, Bot.e is an application that gives free stuff (food, cloth discounts, electronic things) to the good people of this world. In the future (we are working on it) there would be special trash cans were people can throw garbage, and they would display QR codes; this codes would be scanned by the person with his/her smartphone, and in the official app, Bot.e, he or she is going to accumulate points. This points will be interchangeable for discounts and coupons in the stores that are market partners with Bot.e. One person, just for throwing the garbage in the correct place, could win free wings at a restaurant, or 50% discount in cinema tickets, just to mention some examples.

For the purpose of Ken course, we modified our initial code to make it more Objected-Oriented. We coded it in Android Studio, a platform specialized in development of apps for Android phones. The code is written in Java and HTML. In the video I’m going to add to this blog post you can see how we adapted to be the more objected-oriented as possible. We created a lot of objects (although in code everything is an object, so it is redundant), we created a bunch of methods, but instead of calling them as simple functions, we called them from the objects.

Although we changed our project idea almost at the end of the semester, he had a lot of time for developing the new project; we did not  get through a ‘Hackathon week’ as Ken warned us. And for keep writing a bunch of silly stuff, I should better leave the video for everything to watch it.

Programming impulse: library assignment

I had a kind of programming impulse, and instead of only doing the library assignment, I worked out the first four programming assignments of the link that Ken sent us. This four assignments are: Gravity Calculator, Foo Corporation, Boston Marathon, and of course the Library assignment.

In the first two I had no problems doing them, and adapting them to the most possible Objected Oriented path I could. The problems started in the Marathon program, and not because it was a difficult task, but I tried really hard to make it Object-Oriented, but I think I fail in this mission. I had a really hard time trying to call a method of an array. I searched in the internet, I searched everywhere, and I couldn’t find the answer of how can I call a method out from an array list. Eclipse kept me displaying the error message that the method didn’t recognize the type array, so I did it old school by only calling out functions without calling methods out of my array list. (not so objected oriented 😦 )

Finally I get to the library assignment. This was a challenge. First I had no idea of what to do, but after a couple of hours of analyzing it (and doing other stuff) I began to more less have an idea of what was the path I needed to follow. When I was almost finished, I found out two mistakes: the title of my movie wasn’t showing correctly, and the method borrowed didn’t really work. That’s why I searched in my classmates blogs, and found Miguel’s blog of the task. In his blog I found the answer to my mistakes, and I finally finished the library assignment!

Unfortunately my Egit in Eclipse decided to sleep in the most important moment because it was not working, and I could not push my code to GitHub, but here I leave screenshots of my codes:

Gravity Calculator

GravityCalculator

FooCorporation

FooCorporation

Marathon

Marathon

Library assignment

Library

Library2

The not very zippy Ward Cunningham

Ward_Cunningham_1

Today in the morning I watched the interview to Ward Cunningham in the 239 episode of Triangulation. Ward Cunningham is kind of a hero (and for ‘kind of’ I mean the one and only hero) of the web/programming community. He is the creator of the  wikis; he was one of the main developers of the Eclipse ISE, and have always been one of the leaders of web development.

The first comment that caught my attention was in minute 3:00, when Ward said “I found at the time, that engineers were awfully conservative. They didn’t wanna use things that haven’t seen or worked before.” Ward declared that this situation lead him to asked people for new ideas; he asked engineers about things that could be improved, and all of this ideas helped him to establish most of his innovative ideas he had in his career.

Later in the video, when Leo and Ward are talking about the Wikis. Leo said something very interesting about Ward’s invention. Leo exposed that Ward’s creation was so revolutionary that  it changed something that no one else had done: erase the imaginary line between the creators of the webpages and the readers, so that everybody in this world can work as a team, that for Leo, it is the most intangible value of this life.

Finally I think that the most important think for the purpose of the class is when Leo reflect about the importance of the fact that Ward had no pressure for doing tasks, he did everything because he felt like doing it; he did it for pleasure; he did it because he like to. In this semester, Ken wanted us to experience something similar to the student life of Ward. Ken’s politic of abolishing grades helped us to establish our own priorities; we centered on things we liked; we were free to do what we thought was going to be more helpful for our knowledge, and all the other things were put apart.