Coding and Programming: the right approach?

Some Definitions:

In programming, code (noun) is a term used for both the statements written in a particular programming language - the source code , and a term for the source code after it has been processed by a compiler and made ready to run in the computer - the object code . "Coding" defined as Coding simple means writing codes and a coder is an individual who codes from one language to another. Coding is also programming but it's used to implement the initial steps of computer programming. They are more of a language oriented programmers who translate logics into machine-readable codes.

So, what is the difference?

A program is simply a text file, written in a certain coding language. The code inside a program file is called the source code. ... Some languages save a separate binary file that the computer can directly run, while other languages have their programsrun indirectly by certain software. HTML is not a programming language. Unfortunately, coding only in HTML doesn't make you a programmer. ... But don't worry, even with pure HTML, you're still a coder. You're writing lines of code in a (markup, not programming) language. "Coding," as it relates to computer languages that have been used over time to create computer functions, operations and, more currently, interface designs.  Currently, however, the use of the word "coding" does not automatically refer to the computer languages (programming). It usually, in fact, refers to the interface design, organization and functionality. However, we should be clear that it is actually computer languages (programming), not only interface design and functionality, that is being referred to as user experience design.

Ok, it sounds like we are entering into Real Coding now. So what is it and what is the approach to learn it?

Anyone who has studied languages will know that no language that is currently being used ever stands still. Languages are always changing based on use; specifically, the meanings of words can change over time, based on changing contextual uses. The only languages that do not change are those no longer used, as they fossilize and remain static from the point at which they ceased being used. Additionally, specific "jargon" or descriptive words can be introduced into a language with uses of new technology, new discoveries, or even new human behaviors. The combination of the "front end" and the "back end" computer code is what provides our user options and the functions of each page. We do not even really think about it, however, it is important to realize,, that like other languages, the languages of computer coding (programming) not only have a language system but also a logic. That is, coders must use the code systematically and logically within any given context of use. 

Coding skills are in demand across a broad range of careers, not just for programmers. The ability not only to use but also to program software is often required of business people who work with data, of designers and marketers who create websites, of engineers who build products and technologies, and of scientists who conduct research. Students should not only learn to program because that is what the jobs of the future will require, but because programming helps students to learn and, as Steve Jobs has said, how to think. Meanwhile. a tension exists between the challenges for schools to meet preset standards and outcomes and the reality of learning itself. The more we learn about learning and the individuality of motivation, approach and overall success, the more we are inclined to remove preset everything. Anyone who teaches knows about this tension and would truly enjoy the freedom to explore unconfined teaching and learning.   

Real coding  / Programming education has to be designed on the basis of a theory of experience.which is rested on two central tenets — continuity and interaction. New and newer technology continues to change how we think, how we process information and, ultimately, how we should approach and design learning.  For example, Anomaly Learning has created a fully "out of the box" approach to actual programming education so that schools do not have to purchase equipment nor hire additional teachers.  The approach is "Integrated Project-Based Learning". This  innovative and integrative approach to problem-based learning can situate or "immerse" students with a real context of learning and help them realize fully developed and creatively designed solutions to real-world problems. Teachers must facilitate this process, providing guidance and support as students learn to code. Thus, not only programming skills are developed but also the kinds of logical, creative and applied thinking that will be critical for future success both in learning and later in professional employment.  True coding education must be fully integrated, cross-discipline and resulting in creatively designed and problem-solving innovations for real world success. This is how we can help transition students from being consumers to being producers and "makers."