Who is Freindlygeek?

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

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.





Wednesday, May 2, 2012

MIT and Harvard announce edX - MIT News Office

MIT and Harvard announce edX - MIT News Office

It is incredibly amazing news! The platform that I've been thinking is being developed now, and I think I can make further improvments from my experience of self education! :)

Tuesday, May 1, 2012

[Thoughts on life] Am I too late?

Many questions related with the title above. Am I too late to do something?
I think the question needs a bit more clarification - by WHAT standard?
Being late something or not should be considered by one individual's own time frame, not by society or other people's standard.

Whether or not it is a life change moment or merely trying something new, it depends on one's own time as long as something is certian and clear. Why and what.

Personally, when I was 10 I just fell in love with violin sound. I found an academy right next to my house which, unfortunately, was gone a month after. So I asked my mom if I can take a lesson, well it didn't work out for some reason that I don't remember.
Then 14 years later, I knew I've loved violin still. So I went to community center that has a cheap lesson for resident. There, I got my violin, book and glorious mindset that I'm ready to plunge into the world of violin.
After 2 lessons, what I got told? Hmm, it seems that I have "too" long fingers for violin from the instructor. So again, it didn't work out.

Now here, 2 years after that. I still have a flame for violin. I'm aiming for world class violinist, but I set my one more goal for next year(since this year is full already.. :p). Start learning violin even just 1 hour a week.

Actually it goes with programming also. I did some programming in young age - but not much. I wanted to study computer science in college, but I took the highest class right away and dropped out the class. I remember that was data base class.

I think there is alwyas some reasons why a person gets intersested in something, but it gets easier to catch the interest as growing up. Then the interests or flame hit the person when it seems too "late", and think like "am I too late for this"
Just say 'NO', and go for it. Make a plan and being creative. Embrace fails and change.

The question itself can't have the right answer, and often time the person who is asking would probably know that. 

There is no standard for anyone to be late to do something as long as having a responsibility for one's life. It is always late to do something if the person is afraid of having full responsibility of the result - fail or succeed. However, it will come back and poke the one's heart in life. It'd be better to try out than not doing it!



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