ProCodeCG will be giving a Workshop on Programming for Beginners


Yea! We are giving a workshop on programming, at October 7th, 1 – 3:30pm, at Jl. Dago Asri No. 2 C, Bandung – 40135.

Please contact us by leaving comments on this post, or send emails to or mention us on Twitter to @procodecg. This is for free! ūüôā

The workshop will introduce you to all the basic knowledge that you need to know to start programming: what is programming, why should one learn programming, what programming language to choose, and a hands-on practice to make sure that you will be able to type, compile and run your program after you finish the workshop!

Internet connection and power outlets will be provided, but the participants are expected to bring own laptops.

So sign up now, and see you there! ūüôā


Programming or Coding?


Programming has a more specific meaning than coding, which is  referring to programming language, a formal constructed language to make instructions to be executed by computers.

While coding has much broader meaning, including cryptography  (a procedure to transform a message that will hide the meaning), information theory (a procedure of representing data in a way so the data can be delivered efficiently and be easier to recover from errors) Рinstead of coding as making instructions for computer to execute.

ProCodeCG is use the term programming for writing computer software using programming language, and the term coding more specific purpose or activity related to cryptography or information theory.

Programming and coding has slightly different philosophy. Programming, a skill of writing computer programs, requires knowledge of computer hardware and architectures. Not on every level though, since a high programming language does not require the cryptic details of what is going under the hood (of a computer). So the philosophy of programming is how to give instructions to computer effectively.

Coding, is more about transforming data representations, without specifically referring to computers. The philosophy of coding is how to transform data into a representation that can be used efficiently for a particular purpose.

This definitions is used as a guide for ProCodeCG to develop the curriculum for kids. In our curriculum, teaching programming for kids might includes some visual approaches but later they have to transform their visual and abstract understanding into concrete written sequence of instructions. Because that is the way for them to understand the nature of programming.

Because programming/coding is about writing and not about dragging pictures.

Why crypto for kids?


Crypto (cryptology) is an interesting field that offers interesting ways to learn math. Both cryptography or cryptanalysis require strong analytical and creative thinking that strictly roots to math. 

After achieving some coding/programming skills level, kids and be introduced to crypto to challenge their skill in problem solving. In cryptography they will learn how to hide (encrypt/encode) messages and revert it back (decrypt/decode) it to the original text. This way they will learn about symbols, correlations, associations and causality. Skills that will strongly escalates their math skills.

While in cryptanalysis, kids will learn how to solve problems systematically, with several different ways. This will encourage them to be creative by thinking about alternative solutions by analyzing probabilities. Cryptanalysis skill will gives kids ability to adapt to different situations and problems and find different ways to solve them.

The other most important thing is that crypto is a field that everyone, not just kids should have knowledge about. Because one of the consequences of living in this digital world is to be aware of security aspects of accessing and exchanging data. That makes crypto literacy, or security literacy is important to everyone.

Why coding for kids?


Because coding literacy is as important as textual and number literacy. Basic understanding of code, and how to create codes has become increasingly crucial ability to be able to cope with this digital world where reality can be constructed through binary symbols and representations.

Coding subliminally will teach kids to follow rules and being consistent while also being critical and creative as well. Constantly being challenged to solve problems through coding, they will develop thinking instruments that will be ready to keep up with the rapid growth of technology. Kids in this era should not be taught to learn just one thing, but should be taught to be able to learn different things in short time. They should be trained on how to adapt with rapid changes, after they have solid ground of necessary fundamental knowledge.

Other important thing is that the world is lacking programmers. Teaching kids to code hopefully will equip them with basic skills they need to find job later in their life. This is an effort to give them earlier start off, so they can reach higher when they grow up.



Why coding/programming?


Coding/programming is as important as other basic skills that anyone, even kids need to have. It develops a structured way of thinking, thus improving logical thinking. It strongly related to language and math because it sharpened the ability of pattern recognition, which later, at the more advanced level will be very useful for strengthening problem solving skills.

Coding is also a great tools for understanding science and other knowledge. With coding skill one can develop simulation programs to support experiments and other scientific purposes.

Coding enhances the ability of analytical thinking through creating and debugging. By acquiring the ability coding, one will be able to create things, and escalate the level of creativity.