We believe that in order to learn coding, one has to write a lot of code. The person has to make mistakes and learn from them. BigBinary Academy is designed to have lots of interactive coding sessions.
In order to code, you don't need to download anything. Everything runs in the browser itself.
All you need is a working internet and a desire to learn coding.
That's a question we have asked ourselves several times. The internet is filled with educational content then why create a new site.
The answer is simple - we are not happy with what we see out there. Sometimes we are not happy with the content itself. Sometimes we are not happy with "how" the content is presented and sometimes we are not happy with the "pricing"
We often find that the current learning materials are very pedantic. Rather than engaging the students, the content follows a style that is very boring to them.
Let's take a concrete example
Most of the courses related to SQL first talk about "What is a database". Then they talk about "What is a table". Then they will talk about "primary key" etc.
So what's wrong with all of this?
What's wrong is that someone who does not know "what is a database" or "what is a table" would not know anything about "database" or "table" by reading about it
Let's say that the author has created a chapter on Hash. Now that the author has a chapter dedicated to Hash, the author puts everything related to Hash in that chapter.
What it means is that the chapter will start with the basic things like "key" and "value" and the chapter will end with some very complicated concepts related to Hash.
The expectation that a person who does not even know "key" and "value" before reading that chapter would be able to understand the complicated topic at the end of that chapter does not sit well with us.
The authors think that this is the chapter about "Hash" and they need to push "Hash" related content in that chapter itself. They are treating the chapter as the "reference material" to which students can come back later. We believe that a chapter that is a great "reference material" is also most likely not a good "learning material" because the student will not be able to understand the complicated topics discussed at the end of the chapter.
The other issue is that the "reference materials" become disjointed. Yes, all the hash related concepts are together but they do not form a coherent story going from one lesson to another lesson in the chapter.
Some content makes use of "Lamborghini" or "whack a mole" as an example. While this could be a pretty standard thing for the author, these things are not universally known to a large swathe of people in the world. That's why we stick with standard things like "Car", "Dog" and "Name".
In fact, recently we stopped using the word "color" because, in certain parts of the world, it is written as "colour". Same is the case with the word "favorite". We saw that some students were writing it as "favourite" and because of that the answer was wrong. So we stopped using these words.
There are plenty of good materials online when it comes to learning programming. However, one thing is common in all of them. They all jumped into Object Oriented Design too soon.
We believe that using basic data structures like string, array, hash, range programming concepts can be taught very effectively. In fact, we believe that creating a class, object, method, public method, private method all that gets into the way of learning how to program and takes the joy out of programming for someone who is just getting started.
We start with a strong foundation. Until the foundation is strong, Object Oriented Design can wait. It will have a day in the sun, but it has to wait first.