Introduction to Computer Programming - part 1
INTRODUCTION TO PROGRAMMING
I have just completed the first course on the topic of Computer Programming. It was a simple course, really just a brief introduction to the concepts involved, before diving into my lessons on my first programming language.
The purpose of this particular course wasn't to teach any programming languages. It's objective was to explain the basics and fundamentals of the topic, and instil an understanding of the concepts that are inherent in nearly every programming language, and that one can then that would enable one to go out and learn any programming language of their choice.
STARTING FROM THE BEGINNING
I chose to start at the very beginning. Even though I have looked at programming on and off over the years, I never committed to it, and as such only took in bits and pieces. Nothing coherent or usable, even though it has left bits of floating data in my brain. So by going back to the very beginning and moving forward (quickly at first because of the extreme basic nature of it, but slower as I progress into new territories) I hope to solidify the previous learnings into a useful new understanding. To tie up the loose ends that resulted from my lack of commitment.
The course I started with was an online based video course of approximately 1.5 hours, and it's purpose was to be a basic, and brief, introduction to the fundamental concepts inherent in Computer Programming. Which is exactly what I was interested in. I will move onto a specific computer language after that.
INTRODUCTION TO COMPUTER PROGRAMMING – STUDY NOTES
LESSON 1
WHAT IS PROGRAMMING?
Programming is the act of giving directions and instructions to the computer to tell it what to do. The job of the programmer is to write the code (computer program) that computers use to operate their various tasks. Programs are written with the use of programming languages.
LANGUAGE TYPES
LINK: List of programming languages by type
Programming languages consist of high-level and low-level languages.
High Level
- Abstractions from the complex.
- Ordinary/Natural language that a compiler or interpreter then uses to turn that code into direct instructions to the computer.
- These are the type of languages most widely used today, such as C++,
Java, JS, PHP, Ruby, Python, etc.
Low Level
- Little or no abstraction from a computer's ISA (Instruction Set Architecture).
- Machine language.
COMPILED vs INTERPRETED
LINK: Compiled language
LINK: Interpreted language
Programming languages are converted into machine usable code in one of two ways – compiled, or interpreted.
Compiled
- Code is translated from Source Code to Machine Code.
- A compiler is used to do this translation.
- Example = C++.
Interpreted
- Source Code executed directly without prior compilation.
- An interpreter is used for this procedure.
- Example = JavaScript.
LINK: Compiler
LINK: Interpreter
DATA TYPES
LINK: Data type
LINK: Primitive data type
Data types are identification for various types of data used in Computer Systems.
Examples of Data Types
- Characters (character, char);
- Integer (integer, int, short, long, byte) with a variety of precision;
- Floating-point number (float, double, real, double precision);
- Fixed-point number (fixed) with a variety of precisions and a programmer-selected scale;
- Boolean, logical values true and false;
- Reference (also called a pointer or handle), a small value referring to another object's address in memory, possibly a much larger one.
Strongly Typed Programming Language = Data types MUST be declared and cannot be changed later on.
Weakly Typed Programming Language = Data type is NOT declared and can be changed later on.
FURTHER DATA
cpp.sh - C++ shell website
Scratchpad - Shift + F4 on Firefox - Javascript shell
Dev C++ - A free, portable, fast and simple C/C++ IDE
Code::Blocks - A free C, C++ and Fortran IDE
Ideone - an online compiler and debugging tool which allows youto compile source code and execute it online in more than 60 programming languages.
Introduction From a Newbie Programmer.
Images from unsplash.com.
I welcome new followers, and thank you for your upvotes and comments.
Congratulations! This post has been upvoted from the communal account, @minnowsupport, by humate from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews/crimsonclad, and netuoso. The goal is to help Steemit grow by supporting Minnows and creating a social network. Please find us in the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.
If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP. Be sure to leave at least 50SP undelegated on your account.
nice post, I appreciate your efforts.following you, i appreciate if your upvote and if you follow me.
Thank you for dropping by, and for the follow. I will certainly do likewise :)
Very informative post. This should be a great way of learning programming.
Thank you. I hope to share my own learning so that others can benefit too.
That is my mission with this blog :)