Who is Freindlygeek?

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

Saturday, January 28, 2012

Object Oriented Programming with python

Last week, I was really struggling to understand the concept of OOP with python. Though I understood, I still find myself being lost when I get to actually use it.

Here are some good resources that I found to understand OOP

http://net.tutsplus.com/tutorials/python-tutorials/python-from-scratch-object-oriented-programming/
-> It is a great explanation for OOP itself.

Also 3 tutorials by 'thenewboston' on youtube are very good as well.
Below is 32, the first one.


http://www.youtube.com/watch?v=JToAsK_7GmU 






python, the first language for beginner

As a total newbie in computer science, I've started to learn how to programming with python. First, I didn't know why python is known as a recommended first language for starter.
Now I can tell a little bit why it is a good choice.

1. It is quite similar to English language.
-> So it is easy to learn and remember. Also I think it helps me how program is constructed in a basic level

2. There are many resources out there to learn free!
-> I have learned python myself for 3 months so far, and I obtained any learning materials from the web. Whenever I had some questions, I google them and find answers on many websites. So it is quite easy to get many answers for any questions that beginner might have.

[MIT OCW CS/SE Project] Time table and classes that I'm going to "take"

- Duration : 1 year (Feb ,2012 - Dec, 2012)

- 3 Terms / 1 year

1st term ( Feb - May) - 5 classes
Single Variable Calculus, Circuits and Electronics, Structures and Interpretation for computer program, Mathematics for computer science, Introduction to Algorithms
2nd term( June - Aug) - 5 classes
Linear Algebra, Differential Equations, Computation Structures, Signals and systems, Intro to E.E. and C.S
3rd term(Sep - Nov) - 5 classes
Elements of software construction, Introduction to E.E and C.S., Computer system engineering, Machine learning, operating system engineering

* Though I do not intend on covering every classes that MIT OCW offers, I do try to customize for my needs after all.


- Rules

1) Do assignment selectively - I can't do homework due to time matter. But I will try to follow as much as possible
2) Every week, I will keep writing journal not to be lost in the whole system I created. It also will provide a better scope if anyone wants to do the similar thing.
3) Do preview and review for a class
4) Do final exam

[MIT Computer Science Self Education project]

It is a quite rare project. I am about to begin my long and exciting journey to be a geek, computer geek. My first initiative was to learn computer science while I'm doing my research assistant at bioinformatics institute. Though I firstly wanted to study engineering after my bioinformatics study. However as I discover I really love studying every single thing about computer, system, math and physics whatever, so I decided to go for computer engineering graduate school.

<Motivation>

My major was molecular biology, and applied physics as a minor, so it is not that irrelevant. However I didn't take any engineering classes in undergraduate. In order to study in depth in computer science and engineering, I need to study more foundation.
However I can't afford any expensive classes while I'm working and MIT OCW provides way better learning materials and lectures. Things I need is my own system and self - discipline. Also unlikely other subjects to study such as biology or chemistry, computer science  is possible for self - education with given nature. Though it ain't the same as any formal education. But, I do not want to let my dream doomed just because I can't afford the cost when I have a clear capability and motivation.
Furthermore, I discovered a new movement in computer science field for self studying. I found 2 websites that really inspired me to do this project

Scott H Young "MIT challenge"
DIY computer science
University of the people

Though the last one is not exactly the same with above both, they have all in common to provide free education in computer science.
I totally agree with this trend since I am the one of the people who really want and need to study computer science.
Consequently, I have two big projects in my mind already to make some improvement on self education system over the world.

<Goal>

My ultimate goal after studying computer engineering is to develop an integrated biosensor system in a long run. For this project, though, I want to share the learning process that I'm going to "experiment" to edcuate myself for computer science. Also, eventually, I want to help other people by making my "final" project in the end of this year.

Hopefully this journey is going to be fun and rewarding after all, and bringing a fresh direction on learning computer science.

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