Abstract. Full-text article available at: https://doi.org/10.5120/16959-7052
Computer programming is a "two-way thinking process.” The programmer must think and implant his/her thought in the computer in the form of code. In return, the computer must think like the programmer in the way of output. Compilation is the only initial accurate way of confirming that the programmer and the computer are thinking the same way. In case of novice programmers, the compiler feedback does not suffice the need. In some cases it is a source of confusion and despair. To add to this complexity, the way initial programming is taught and the way programming materials are presented to learners goes contrary to the "two-way thinking.” There is a need for another (mediating) language between the compiler and the novice programmer. In this paper, the traditional practice of introducing programming lessons through programs that display a message such as "Hello World" or any other message is debunked. A new visualization approach through Memory Transfer Language (MTL) is proposed. It is proved that MTL is a language to learn programming whereby students are able to employ hands-on, minds-on and "two-way-thinking" approach to develop coding skills.