Afterword

ThimphuTech was the first technology blog in Bhutan. We started writing it in 2009, just as broadband and mobile internet started to take off. (Although internet in Bhutan was launched in 1999, it was either super-slow or super-expensive, and was only used by a selected few).

In the blog, we wrote about technology and food, but also about plenty of other stuff. The blog became popular and influential in Bhutan. A companion bi-weekly column -- Ask Boaz -- was published for many years in the Kuensel, Bhutan's national newspaper. (The complete Kuensel columns are available as an ebook, Blogging with Dragons).

We stopped updating the blog when we left Bhutan in 2014, but the information within the posts can still prove useful, and thus we decided to keep it online.

We thank all our readers.
Tashi Delek,
Boaz & Galit.

Saturday, December 7, 2013

The Hour of Code (K2 #76)

Question of the Week
I want to learn programming in C++ and do not have any previous knowledge of other programming languages. What do you suggest?
— Mukul Dixit, Thimphu

Answer
Dear Mukul,
Learning a programming language - also known as coding - is not only fun, but an important skill. More than a way to land a high-end IT job or make a living writing mobile apps, it also provides many high-level cognitive benefits. Learning to code improves mental faculties, including problem solving, planning, and abstraction skills. It’s not surprising that more and more education systems around the world now include coding as part of their core school curriculum, often starting at primary school.

  • “Everybody in this country should learn how to program a computer because it teaches you how to think.” — Steve Jobs



Now, C++ is probably not the first language you want to pick up as it’s more difficult to master. My suggestion is to start with a friendlier language that’s easier to learn. Once you are fluent in that and understand basic programming concepts, move on to C++. There are many good resources on the Internet; check the website code.org for good starting links. Two of the languages, Scratch and Python, would serve as gentler introductions to coding. Scratch is very easy to learn and a lot of fun. It uses visual programming - you simply drag-and-drop blocks to create simple animations, games and other programs. You can download the software at scratch.mit.edu. It is designed mainly for children, but there’s no reason why it cannot be used by adults as well. Scratch is best suited for educational purposes and not for real-world programming. Python, however, is a powerful, high-level language. It is one of the most popular languages in use these days, and Python programmers are much in demand. See the official website python.org for more information; there’s a tutorial under the Documentation tab.

Coincidently, next week (December 9-15, 2013) is “Computer Science Education Week”, organized by Code.org. Thousands of events in more than 160 countries are organized to teach people how to code, all under the theme “The Hour of Code 2013”. You can find more information about this huge event at csedweek.org.

Readers are encouraged to submit technology-related questions to boaz@thimphutech.com