Learning “How to Code”

There has been a lot of movements lately on how we can teach coding. In last couple of years, almost all the leading tech companies, educational institutions and many other organizations have come forward to raise the awareness of coding in common people.I do believe that in this era of hi-tech computers, it is very important that we learn how do the computers talk.

Coding/programming is nothing but a way of communicating with a machine in a way that both parties understand. But this is not the soul theme of coding. Computational (or algorithmic) thinking teaches us how to tackle large problems by breaking them down into a sequence of smaller, more manageable problems. It also allows us to tackle complex problems in efficient ways that operate at huge scale. It involves creating models of the real world with a suitable level of abstraction, and focus on the most pertinent aspects.The applications of this approach stretch beyond writing software. Fields as diverse as mechanical engineering, fluid mechanics, physics, biology, archaeology and music are applying this well known computational approach.

This is why it has become a much sought after skill that everyone should learn. Even if you never become a professional software engineer, you will benefit from knowing how to think this way.

Below,I have listed 10 of my favorite resources on learning coding.There are certainly plenty more out there. Even if you absolutely do not know how to code or want to learn something new, just go ahead and get started with any one of these.

1. Girl Develop It
2. Google Summer of Code
3. Hackety Hack
4. Code School
5. Codecademy
6. Codeplayer
7. Udacity
8. Wibit
9. Khan Academy
10. Code.org

Also, watch these (inspirational) videos to make you feel more confident.

1. TED Video
2. Why our kids must learn to code
3. Code stars

Great !! But before I conclude, I would certainly add one more point for everybody to ponder over which is “programming is not for everybody”. It might sound a bit contradictory based on what I have written so far, but actually it is not. We should definitely need a basic level of understanding of using a ‘if-else’ or ‘while’ loop or even how to make our internet browser work but to become a really good programmer, it definitely requires a lot of practice, passion and strong skill sets in certain areas including mathematics.

However, having all that said, there is no doubt that learning to program is an empowering thing. So, lets get started with it. Happy Coding 🙂


My Latest MOOC updates

After a successful completetion of the course “Learning how to learn”, I decided to take up two more courses as a part of my MOOC journey.

1. Introduction to Psychology ( MIT OpenCourseware)
Instructor: Prof. John Gabrieli

About the course:

“This course is a survey of the scientific study of human nature, including how the mind works, and how the brain supports the mind. Topics include the mental and neural bases of perception, emotion, learning, memory, cognition, child development, personality, psychopathology, and social interaction. Students will consider how such knowledge relates to debates about nature and nurture, free will, consciousness, human differences, self, and society.”

2. Terrorism and Counterterrorism (Georgetown University via edX)
Instructors: Dr. Daniel Byman
Dr. Jonathan Brown
Dr. Laura Donohue
Dr. John Esposito
Dr. Christine Fair
Dr. Bruce Hoffman
Dr. Fathali Moghaddam
Dr. Paul Pillar

About the course:

“Terrorism has gone from a persistent yet marginal security concern to one of the most important security problems of our day: indeed, there are few countries that do not suffer from some form of terrorism. Though many terrorist attempts fail, some groups wage lengthy and bloody campaigns and kill hundreds or even thousands in pursuit of their ends.”

Yes, you got it right. After all the recent terrorist attacks that happened all over the world, we don’t really have to say much on this buzzing keyword “Terrorism”. I believe we need more awareness on this topic to prevent one i.e the more we know about what is actually going on, the better we would be able to stand up for it. This course should be an excellent start for that.

“Course topics include the nuances involved in defining terrorism, the nature of Al-Qaeda, Hamas, and other important groups, the effectiveness of different counterterrorism tools like detention and military force, linkages (or the lack thereof) between terrorism and world religions like Islam, terrorist recruiting, the rule of law, the political context in South Asia and the Middle East, and the terrorist use of technology.”

I will keep on posting the updates and findings of these two courses time to time in this blog. And off course, go ahead and register for them so that we can have a better discussion. 🙂

Academic writeup collections

Here is a collection of some of the Academic blogs/webpages/writeups that have always been very inspirational for me (some of them are on Computer Science).

  1. 3 Golden Rules of Scientific Research 
  2. Volatile and Decentralized
  3. The great Mathematician, Ramanujan
  4. Teach yourself programming in 10 years
  5. List of Turing Lectures
  6. The identity crisis in Computer Science
  7. We don’t need beards to achieve in computing
  8. Coding Horror
  9. Black Female Coders
  10. How to be effective 

Enjoy !!

Further materials on “How to Learn”

So, as promised, I am going to list here 10 of my personal favorite resources that I found very useful and worth following.

1. Inquiring Minds podcast:
Inquiring Minds brings in-depth podcast exploration of the places where science, politics, and society         collide.

2. Brainfacts.org:
A wonderful collection of fascinating facts and articles about the brain.

3. Big Think:
A website of important, interesting, practical and actionable ideas.

4. Annie Murphy Paul:
She is an independent writer and journalist who is fascinated by how people learn.

5. Cal Newport and Study Hacks:
Cal Newport’s “Study Hacks” website long focused on student learning, but has more recently grown to     encompass great discussions and ideas about how to live an interesting and meaningful life.

6. Kalid Azad and his mathematics:
Kalid’s approach to teaching concepts related to mathematics is excellent!

7. Scott Young:
Scott is the ultimate adventurer in learning–he’s compressed the entire 4-year MIT curriculum for   computer science into one year of independent learning; and is more recently wrapping up a year’s   travel, learning four different languages (Spanish, Portuguese, Chinese, and Korean) through total immersion in each of the countries. As a modern intellectual Marco Polo of learning, Scott’s insights are always worth following!

8.  Marty Nemko – the career coach:
Marty has terrific practical insights on learning and how it relates to careers and the workplace.

9. Benny – the Irish Polygot:
If you’re trying to learn a new language, you’ll find Benny’s hints and help invaluable.

10. Talks at Google:
The Talks at Google program brings authors, musicians, innovators, and speakers from everywhere to Google for talks centering on their recently published books. These talks are longer than TED talks.

Other than the above, there are plenty of other good research papers and books that are worth time speeding with. I would be happy to know if you have any specific suggestion. Happy learning. 🙂

Learning How to Learn Effectively

Human brains have always been a fascinating topic for me. I have always wondered (well, still I do) how is it possible that our brains can learn so many things in a short period, process so much of information at a given time and also help us to take countless major decisions throughout our lifetimes. As a part of this search, recently I came across an online course on coursera titled “Learning how to learn” taught by two distinguished professors Dr.Barbara Oakley and Dr.Terry Sejnowski from UC San Diego. I am extremely glad that I took that course as it did answer a lot of my important queries.

The course was very well structured from the beginning. Both the instructors started from scratch and gradually built up advanced ideas in layers. I was easily able to grasp some of the basic concepts about learning new things, memory management, chunking or procrastination.In order to add more flavor to it, they were also several complementary short interviews of successful people like Benny the Irish Polygot, Stanfod’s Keith Devlin, Scott YoungKalid Azad and so on who talked about their strategy to gain success and learn more in their lives.

Okay, so the course was divided into four parts as discussed below:

1. Focused vs Diffused Thinking:

Here, we got to learn about two main thinking modes of human brain i.e Focused and Diffused. Focused mode is more like a ‘concentrated’ mode that uses all of our working memory (which is usually able to store 4-7 different items at once) and helps us to create new neural pattern. On the other hand, diffused mode is more of a ‘relaxed’ mode of thinking which works even when we are dreaming, taking a shower or a nap. Dr. Oakley gave us examples of Salvador Dali and Thomas Edison who used to use diffused mode of thinking more often than focused mode in order to get creative ideas. When we are learning something new, we should go back and forth between these two modes to embed those ideas in our mind for a long period of time. Also, revisiting previously learned concepts periodically is a very good way of forming strong and permanent neural pattern.

2. Chunking:

Chunking involves creating something more meaningful—and therefore memorable—from seemingly random bits of information. Chunks can become bigger and more complex as the time passes. However, it eventually becomes easy to access that particular piece of memory as its more relevant to us. We need focused attention, a good understanding of the concept and frequent practice to make the neural pattern fixed in our memory for a longer period of time. Recalling a particular idea without seeing the book and sitting outside our usual study environment also boost up the chunking process. And most importantly, making mistakes are always a good thing in the process of learning.

3. Procrastination and Memory:

I was extremely interested particularly in this particular section as I had found myself, in many occasions procrastinating on many important stuff and I wanted to rectify it badly. Some of the tactics that were discussed to handle procrastination are:
– keeping a planner journal that list out all the tasks
– committing ourselves to certain routine and tasks each day
– rewarding ourselves whenever a particular job is done in order to relish that momentarily feeling of success
– watching out for the cues that force us to procrastinate something
– finishing up the most heavy and important work first in the day
– using the pomodoro technique i.e 25mins of focused attention followed by a short break.

This section also discussed about memories in our brains  i.e long term and short term/working memory. We can not build any long term memory over night. It needs frequent practice to set that particular neural pattern in our brain. But working memory is a volatile one and can not hold much of information together for a longer period of time.

4. Renaissance Learning and Unlocking Your Potential:

This part was a concluding section of the course. It talked about how we can change our lives by changing our thoughts, how we can get rid of genius envy and impostor syndrome, the value of teamwork and lastly, some helpful tips on how to take the tests.

That would be all for the time being.
Thank you professors and also coursera for taking us to this beautiful learning adventure of knowing a bit of what is actually going on inside our neural-hood. I am definitely looking forward to more of these courses. Happy learning..:)

Fellas, the registration for the next offering of this course is now open. Please go ahead and sign up. It would definitely be a fun ride. However, In my next post, I will share some of the important resources about learning that I got to explore during this course period. I believe those would be extremely beneficial to many of you.

I just found out Dr. Barb speaking at TED here.

Importance of Keeping a Journal

I have been reading few articles on the importance of keeping a daily or weekly basis journal recently. Here are some of the interesting view points that I came across.

“Getting things done”
This talks about a concept called “Brain Dump”. Basically it consists in writing down in a system all the things that we need to do or may want to do at some point. Absolutely Everything. It has been proved that if we don’t store our tasks in an external system, our mind will take the responsibility to remind us repeatedly that we need to do them causing excessive stress. Writing everything down somewhere make our mind more calm and peaceful.

“Seven Habits of Highly Effective People”
I came across the name of this book from another blog. According to the author, we, the humans, are a composite of our habits which are consistent and often unconscious patterns. In the words of Aristotle, “We are what we repeatedly do. Excellence,then,is not an act,but a habit”. In this book, he has pointed out 7 habits shared by all truly effective people. Fortunately, these habits can all be learned and they can help you to give you the character to succeed.

  1. Be Proactive:
    Recognizing our own responsibility to make things happen.
  2. Begin with the End in Mind:
    We should know where we are going so as to understand where are we now. Then only it is possible to take the next step in the right direction.
  3. Put First things First:
    It talks about self-leadership and self-management:putting first things first. Leadership decides what are the “first things” and management is the act of carrying out your program. Here is a beautiful quote that says, “We don’t manage time. We can only manage ourselves”
  4. Seek to Understand, then be understood:
    The most important word that we need to know in mastering this habit is ‘listen‘. Listen to everyone but not with intent to reply, to convince, to  manipulate. We should listen just to understand. Its powerful because it gives us accurate data to work with instead of assuming our own ideas and motives.
  5. Think “Win/Win”:
    This talks about building up relationships with others. Here, the author uses a metaphor called ‘Emotional bank account’ to describes the amount of trust that has been built up in a personal relationship. We should build up trust with some people in our circle through courtesy,kindness,honesty, and keeping our commitments. Once this stage is reached, even if we make mistakes, the trust level compensates for it and the communication becomes easy, instant and effective.
  6. Synergize:
    Synergize is the habit of creative cooperation. Synergy means that together we can produce something that none of us could have produce individually.To be able to achieve synergy, we need to have enough integrity and internal security to open up to other people’s influence. We need to be able to emphatically listen to other people before trying to make our own point.
    7. Sharpen the Saw:
    We should always take the time to sharpen our mind and body to be better equipped to apply the 7 habits in life. We need to constantly renew all four aspects of our nature viz. Physical, Mental, Social/Emotional and spiritual.“To become strong, renew the spirit”.