Lesson 0. What is Programming?

Overview

  • Introduction to programming

Coding and Programming

Definition from Dictionary

  • Coding: [noun] the process of assigning a code to something for the purposes of classification or identification.
  • Programming: [noun] the action or process of writing computer programs.

So, what’s the difference?

  • Coding is basically indicating the process of typing the programming languages to write a software.
  • Programming is the most of the process of the software development, from designing the structures of a software to finding and fixing bugs after the coding process.

How to make computers do stuff

Coding

  • Coding is basically writing a document with the instructions that the computer should follow.

    What really happens behind the scene:

    1. A programmer writes code in programming language (with proper grammar for that specific programming language)
    2. The programmer compiles or run the program he/she wrote
    3. Computer (IDE) checks if there is any errors, warnings, or potential errors in the code.
      • If so, the computer refuses to run the program and stopes the process
    4. Programming language (generally in a relatively high-level form so that programmer can understand easier) gets translated to machine code (The language that computer can understand)
    5. The program gets loaded to RAM (Random Access Memory, which has about 8~32GB capacity in typical computers nowadays)
    6. CPU (sometimes GPU) runs the program and constantly interact with RAM during the process
    7. When the program is terminated, stopped working due to the errors, or finished the work assigned CPU stops the program and offload the datas from RAM so it can work on the new task

It seems pretty complicated.

  • Things that you have to know (learning the basic level of programming):
    1. Choose appropriate IDE and programming language for the purpose
    2. Always read the error messages or warning signs appear on the screen
    3. If you think that you did everything write, press compile(or run) on the IDE to order you computer to run your program

So, what are you going to tell me?

Basic outline

  1. Introduction to Coding/Programming
  2. What do I need in order to start Programming?
  3. What are difficulties that most people face?
  4. Basic structure of the program
  5. Getting Input and Displaying something
  6. Making program to do things differently in different conditions
  7. Repeating things
  8. Quiz
  9. Can I make my code simpler?
  10. Introduction to algorithm More things will be determined in the future might delete some of these as well

Which programming language we will be using?

  • We will use C as the programming language

Why don’t we use Python or JAVA?

  • Those languages are really popular and easy to learn (Python)
  • There are several reasons I am not using those emerging programming languages
    • First, although C is almost 48 years old, it is still one of the fastest programming language in the world (The program can do same thing with much shorter time). Actually, C is a common programming language to use when programmers are developing operating systems, IoT devices, or even when developing a new programming language.
    • Second, Check this Link. C is old, but still a very popular programming language. You can have better understanding on how a computer works, has a lot of freedom (Can do what ever you want, which can be dangerous as well), and have simple structure (At least for now
    • Third, program made with C language can run on most of the devices, such as microwave, dish washer, smart home devices, or even on your digitalized alarm clock. This is possible because C only required a super low computing power (It is pretty obvious if you think about computers from 48 years ago. Modern phone chargers has higher computing power than the Apollo Guidance Computer used for landing on the moon)
    • Finally, I have been using C language for the longest time amongst other programming languages.

Conclusion

Summary of what I have said here

  1. Coding and Programming are similar, but somewhat different things
  2. There are many things going on behind the scene, but you only have to know certain things for now
  3. We will be using C as our main programming language for the lessons

So what will happen now?

  • Since I am a secondary school student, I cannot upload munch of these documents every day. I will try to upload the future lessons as soon as possible.