Curtin Sarawak’s Programming Nation Club and the teaching of programming

by Foad Motalebi

Programming is defined as a process that establishes computer programmes, or put in simpler terms, instructions for a computer on how to perform a task. Programming language is the constructed language designed to control the behaviours of the computer.

There is a host of programming languages which, in their own unique ways, have contributed significantly to technology and content development. Java, JavaScript, C#, C, C++ and Python are examples of some of the more popular programming languages used by programmers, developers or software engineers.

These languages are listed in the Tiobe programming community index which is updated once a month. Tiobe uses search engines to give an indication of the popularity of different programming languages.

Learning and mastering programming languages is a difficult task, particularly if the practitioner is not a technology savvy person. Mentoring, revised curricula, tool development, outreach programmes and programming courses for non-technical persons take a lot of effort.

Most web-based programmes and applications are developed by technology professionals and there is an increasing demand for programmers and content developers. With this in mind, a club to promote and teach programming to non-computer science or non-IT students was formed at Curtin University, Sarawak Malaysia (Curtin Sarawak).

Established in 2014, the Programming Nation Club at Curtin Sarawak comprises pre-university, undergraduate and postgraduate students from its Faculty of Engineering and Science, Faculty of Business and Faculty of Humanities.

It aims to be recognised as a club that provides quality teaching and learning of programming languages and develop adept programmers by engaging them in disseminating programming knowledge through teaching and learning and content development.

In addition to learning through the club, Curtin Sarawak’s Foundation engineering students and degree’s first-year engineering students study programming for one semester each, using C++ programming language and C engineering programming language respectively.

The Programming Nation Club adopts a ‘learn programming through learning and teaching’ learning concept where one can learn more whilst teaching others. Therefore, after completing a programming module, students are encouraged to facilitate training of the same module for a new set of students. The club also employs the services of professional programmers to facilitate training sessions.

Prior to facilitating the training, the student facilitators can add more relevant programming content to the ‘Lesson Notes’, and at the end of the training, they can invite feedback on their training from students for future improvement.

Students who finish a particular programming language module will be asked to form a team and develop programmes and content to further sharpen their knowledge. These teams will be supervised by an expert instructor.

The club also hosts events such as programming quizzes, games and competitions.

At the end of the year, the total classes attended and the success of the club’s initiatives is assessed and a report produced. The report also looks into the computer programming knowledge of individual members and checks if they have started developing their own programmes.

Another initiative to motivate club members to master programming languages is the accumulation of Citizen’s Total Accumulated Points (CTAP) scores. Club members accumulate points for attending or conducting training, developing programmes and volunteering their services in club activities.

At the end of a member’s term, or when the member chooses to leave the club, he or she can request for a referral letter along with a certificate from the club.

When teaching programming, it is important to first teach students how to solve problems through algorithms, keeping in mind that some students come from a non-technical or non-engineering backgrounds. Understanding algorithms helps determine which programming languages are to be chosen and taught.

The Programming Nation Club concentrates on the main languages listed in Tiobe. It is important to be able to choose appropriate languages to teach and know which language is best suited to app development as many students are eager to learn them.

Establishing a programming club like the Programming Nation Club requires those involved to work together to make it successful. There may be difficulties in choosing which programming language to teach initially, but through careful discussion, a consensus can be reached and both teacher and student stand to benefit.

Foad Motalebi is Head of the Department of Foundation in Engineering and Science in Curtin Sarawak’s Faculty of Engineering and Science. He can be contacted at 085-444 211 or by e-mail to foad.m@curtin.edu.my.