Who is Freindlygeek?

My photo
Science/technology geek. Passionate for self learning, open education.

Monday, July 23, 2012

Move to WORDPRESS!

I moved my blog from blogger here to wordpress, here. The reason is that I want to more organize with my self learning project, and wordpress seems have more features fitting for my needs.

I started my 2nd term of this year which currently I'm taking a few courses at Udacity,  Coursera,  and learning required mathematics(Linear algebra and discrete mathematics by taking MIT OCW lecture series and with a book respectively).
I plan to upload my problem sets every month for mathematics since this will keep myself motivated and it will give a proof of my study which I want to try out for graduate school in the future.

So far, I have learned a great deal of not only subject itself but also how to think critically and independently, how to see what the problem is and how to solve it with my own understanding, and most importantly to believe in myself.
Even though, some might think that it is stupid by not taking a course near university so that it will give me an "official" credit which can more reassuring, but I believe that learning is something more than just getting a credit that I can show and all.
It changes a view point of the world and discovering potential that one person can do. 

There is a better way and more fun way of learning with technology these days(Check out "University 2.0 - Sebastian Thrun.) I firmly believe in that, and this is my just small step to make a domino effect in the world to help other people enjoy learning and even more find a new potential and possibility in their lives.Certianly I'm doing it! ;)

Monday, May 28, 2012

[MIT OCW CS/SE] Result and review of 1st term

So, it's getting the end of May. My first term of MIT OCW computer science self education project is done. Well, I should say it is done by my choice.

Here is the result: Fail
(What I mean by fail is that I couldn't finish most of the classes exclude single variable calculus. No final exams, assignments.)

I was able to manage to finish single variable calculus video lecture part, but it's gone way out of my time management. Even though I am not, of course, pleased with the result that I got by mysef, I want to review objectively what I could fix and improve for the next term which will start from 4th in June.

Reason 1. Lack of review and problem set

I should have expected it. First I started out by thinking that I could catch up on the weekends or I could do some of them instead of all of them. However as I was reluctunt to do problem set and review with an excuse that I do not have enough time(which is true, though), I found myself that I have not done ANY assingments or even exercises.

I think it was because I set up too many  "heavy" classes in the first place, and then I was not able to control as it got bigger. Each class had a fair amount of assisngments, and I did not do it.

How to fix it
-> In planning process for the 2 term, I'm making 2 important classes as a main and two less important but a bit lighter classes on the weekends. So that way I can have enough time to do review and problem sets.


Reasons 2. Two heavy projects at the same time

When I started this project in early this year(Feb), I was quite ambitious and had so many ideas to do at the same time. Well, as a result I made MIT OCW CS/SE project AND independent research for biosensor system as my projects for this year.
Now I admit that was TOO ambitous to do with full time job. I did not give a consideration of how both projects will need a lot of time to study and research.
Especially studying computer science and programming already comsume a lot of time and effort everyday.

How to fix it
-> From now on, I goint to drop independent research for biosensor. That does not mean I give up, but I think it is logically a right sequence to establish fundamental of math and computer science knowledge first.

Reason 3. Not using discussion forum or board

I don't think that it is a major reason why my first project failed. Yet I could have gotten more help if I asked when I got stuck for understadning about certain topic or concept.

How to fix it
-> From next term, I will use openstudy.com, stack overflow or stack exchange for getting a better help when I need it.

<Review>

Even though the result of project is fail as I declared, that doesn't mean I should give up since I still love learning more about computer science.

I've learning how to program everday at least 2 hours since last November, and I got my first project which I hope to get it done by September. Since I know I can't put much time everday, I'm trying to make it small by small.
In the mean time, I'm going to make my own homepage using Wordpress sooner or later.

(Ok, now I'm putting so many stuff on my hands. I guess it is my weakness that I need to overcome. At least I acknowedge of it, so I can try to fix it for improvement.)


Overall, it has been quite intense and rewarding. It has been intense because I really commited at least 4 hours everyday after work to study and program, and it has been rewarding becasue now I know how to program with python, abou linux and some problems that I should overcome.

For next term, I will make more realistic and clear objective as well as visible outcome that I can share and other people can use for their study.


Bye bye 1st term and hello 2nd term! :)

Saturday, May 12, 2012

[Programming]Back to Python!

I just made a simple calculator in python yesterday. Even though I've been learning python since November last year, I didn't quite make much things. Well, that is because I changed to learn another langauge after I got the basic. I learned python, c++ a little(I mean really little) and C(I got also basic of C).

I think one of the problem is that as I'm learning along the language, I often want to build a fancy stuff in the end. Usually that doesn't happen since I'm only learning the language, but not operating system or network at this point. So I found myself not able to build a cool program, I just switched to another language hoping that in the end of the learning langauge I will be able to build some cool stuff.

Ofcourse that's not going to happen! So I realized I need to start with really simple program that is working in my computer first and then make it bigger and more useful as I learn other required knowledge. (I've been only studying computer science my first term which has been 4 months so far! I didn't even know what linux is when I started it. :p)


So, I am back to Python! I'm planning to read through some books first, and make a small program for fun. Also there is a program that I've been wanting to make to help other self learner better way to organize their study, so I will try to make it in python by the end of May!

One thing what I realized with this self education project is that I should have a small project along with regular classes such as caculus, disrcete mathematics etc. The reason is that computer science is not only about mathematics or solving equations, but more use them into solving problems that I'm facing. Since I'm not in regular academic environment now, what I think is that take advantage of this situation by trying to use theories that I'm learning in real world situation.
Although it is not really that easy and sometimes I just have no idea how I can use those mathematical skills in my programming study or any everyday situation, I'm still trying.

So I already have a small project in my mind for the 2nd term starting from June. So for now I will focus on python and put my code on Github. Now my code will be incredibly simple and not really helpful for other developers or programmers to solve other problems or to tinker with. However I want to make a sort of code journal which will allow me to keep track of my improvements as well as sharing learning program experience with other beginner programmers.

Anyway, May this year will not be the most boring month in my life! 

TEDxBerkeley - Carl Bass - The New Rules of Innovation

Saturday, May 5, 2012

[MIT OCW CS/SE project 2012]Updates and tiny confession

Yes! this months is the last month for my 1st term of MIT OCW Computer Science Self Education project. Right a few days ago, there was an announcement for edX from Harvard and MIT.
I'm super excited that these two big giants decided to offer their quality classes for free! Though I will review a bit more what my experience to use MIT OCW to study for this first term, breifly there are quite many things that can be better.


Anyway, as the first term is getting wrapped up I'm trying to focus more since it has been really pretty crazy. Along with daily class session for 2 hours, I was devoting 2 hours for 2 months to learn C.
I'm almost done with one book for learning C, but thinking to pause a bit and switch to python for a faster prototype of my program.

And... here it comes a little confession for my project. I said I haven't been able to do assignments so far before, and will do them from then on. Well, it didn't go as I wished, and to be honest I couldn't do any assignments.
So basically, taking lectures, trying to understand and do reviews. I feel quite bad about it , yest really bad because though I spent quite much time to study I feel that I learned as much as I wanted to learn.
However, I'd like to make an excuse for saving myself from drowning into self-blaming. :p

I'm working full time, 9 - 6 and the job is not releveant with programming or software. So mostly I have time in the night to focus on stuying, and well it goes the same with the weekends. Though weekends is more relaxing to review the week, programming and learning books etc.
Instead of doing homework, I found myself to apply things that I learned into real world. For example, discrete mathematics - it's quite helpful to organize my thoughs, shedule etc.

So I'm going to change this for the next term which starts 2nd week in June. (I have 3 terms for 2012.) For the rest of the remaining term, I will try to focus on doing some review at least when I have sometime. ;)

Although there has been this assignement issue, I will keep this self education project going for some solid philosophy. I've been already learning quite many things not only about pros and cons for self learning but also computer science knowledge - math/programming etc.
Well I'm not doing this project with a perfect solution or guidline. It's more adventure to see how much self learning can bring to me or potential other people who have a goal to acheive by self learning. It will keep evolving for a better result every time, and eventually it can make fruitful outcome.





Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License