 ---------- ---------- # 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](https://en.wikipedia.org/wiki/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](https://en.wikipedia.org/wiki/Compiled_language) LINK: [Interpreted language](https://en.wikipedia.org/wiki/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](https://en.wikipedia.org/wiki/Compiler) LINK: [Interpreter](https://en.wikipedia.org/wiki/Interpreter_%28computing%29) ---------- **DATA TYPES** LINK: [Data type](https://en.wikipedia.org/wiki/Data_type) LINK: [Primitive data type](https://en.wikipedia.org/wiki/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](http://cpp.sh/) - C++ shell website Scratchpad - Shift + F4 on Firefox - Javascript shell [Dev C++](https://sourceforge.net/projects/orwelldevcpp/) - A free, portable, fast and simple C/C++ IDE [Code::Blocks](http://www.codeblocks.org/) - A free C, C++ and Fortran IDE [Ideone](https://ideone.com/) - 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](https://steemit.com/introduceyourself/@humate/introduction-from-a-newbie-programmer). Images from [unsplash.com](https://unsplash.com/). I welcome new followers, and thank you for your upvotes and comments.  ----------
author | humate |
---|---|
permlink | introduction-to-computer-programming |
category | education |
json_metadata | {"tags":["education","howto","steemiteducation","technology","teamaustralia"],"image":["https://s19.postimg.org/mlec5pm9f/ilya-pavlov-87438.jpg","https://s19.postimg.org/ov8fgg203/glenn-carstens-peters-203007_l.jpg","https://s19.postimg.org/vygaw2ukz/william-bout-264826_l.jpg","https://s19.postimg.org/babohcfeb/rafael-pol-474017a.jpg"],"links":["https://en.wikipedia.org/wiki/List_of_programming_languages_by_type","https://en.wikipedia.org/wiki/Compiled_language","https://en.wikipedia.org/wiki/Interpreted_language","https://en.wikipedia.org/wiki/Compiler","https://en.wikipedia.org/wiki/Interpreter_%28computing%29","https://en.wikipedia.org/wiki/Data_type","https://en.wikipedia.org/wiki/Primitive_data_type","http://cpp.sh/","https://sourceforge.net/projects/orwelldevcpp/","http://www.codeblocks.org/","https://ideone.com/","https://steemit.com/introduceyourself/@humate/introduction-from-a-newbie-programmer","https://unsplash.com/"],"app":"steemit/0.1","format":"markdown"} |
created | 2018-01-01 01:58:21 |
last_update | 2018-01-02 06:44:42 |
depth | 0 |
children | 5 |
last_payout | 2018-01-08 01:58:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 1.550 HBD |
curator_payout_value | 0.217 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 5,400 |
author_reputation | 107,931,380,458 |
root_title | "Introduction to Computer Programming - part 1" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 26,299,887 |
net_rshares | 142,535,517,509 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
barrie | 0 | 9,524,749,120 | 0.4% | ||
hr1 | 0 | 50,674,020,892 | 0.05% | ||
edrivegom | 0 | 123,540,003 | 0.1% | ||
stephen.king989 | 0 | 1,044,060,968 | 0.2% | ||
naquoya | 0 | 36,842,408,728 | 100% | ||
jhermanbeans | 0 | 356,880,611 | 0.1% | ||
steemprentice | 0 | 1,243,715,452 | 0.1% | ||
lastminuteman | 0 | 1,601,480,769 | 0.2% | ||
naq1 | 0 | 777,581,455 | 100% | ||
pomperipossa | 0 | 319,212,620 | 0.1% | ||
humate | 0 | 459,685,930 | 100% | ||
banjo | 0 | 231,199,849 | 1% | ||
numpypython | 0 | 156,367,085 | 0.1% | ||
decibel | 0 | 139,840,912 | 0.5% | ||
gindor | 0 | 283,488,239 | 0.2% | ||
qwasert | 0 | 117,093,178 | 0.2% | ||
taica | 0 | 111,426,540 | 0.1% | ||
cryptohustler | 0 | 186,137,893 | 1% | ||
minnowsupport | 0 | 35,536,152,807 | 1% | ||
crypto-learnings | 0 | 249,017,489 | 100% | ||
myday | 0 | 168,077,521 | 0.1% | ||
gamerveda | 0 | 708,655,757 | 0.5% | ||
liuke96player | 0 | 55,703,773 | 1% | ||
nesbitt | 0 | 66,076,014 | 1% | ||
kuinchi | 0 | 1,026,036,664 | 100% | ||
rifkan | 0 | 442,300,701 | 100% | ||
fonsetucker | 0 | 90,606,539 | 0.1% |
Very informative post. This should be a great way of learning programming.
author | kuinchi |
---|---|
permlink | re-humate-introduction-to-computer-programming-20180101t022322154z |
category | education |
json_metadata | {"tags":["education"],"app":"steemit/0.1"} |
created | 2018-01-01 02:23:24 |
last_update | 2018-01-01 02:23:24 |
depth | 1 |
children | 1 |
last_payout | 2018-01-08 02:23:24 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 74 |
author_reputation | 111,319,091,080 |
root_title | "Introduction to Computer Programming - part 1" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 26,301,962 |
net_rshares | 409,120,477 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
humate | 0 | 409,120,477 | 100% |
Thank you. I hope to share my own learning so that others can benefit too. That is my mission with this blog :)
author | humate |
---|---|
permlink | re-kuinchi-re-humate-introduction-to-computer-programming-20180101t023223584z |
category | education |
json_metadata | {"tags":["education"],"app":"steemit/0.1"} |
created | 2018-01-01 02:32:24 |
last_update | 2018-01-01 02:32:24 |
depth | 2 |
children | 0 |
last_payout | 2018-01-08 02:32:24 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 112 |
author_reputation | 107,931,380,458 |
root_title | "Introduction to Computer Programming - part 1" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 26,302,693 |
net_rshares | 0 |
<p>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 <a href="https://discord.gg/HYj4yvw">Peace, Abundance, and Liberty Network (PALnet) Discord Channel</a>. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.</p> <p>If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: <a href="https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=minnowsupport&vesting_shares=102530.639667%20VESTS">50SP</a>, <a href="https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=minnowsupport&vesting_shares=205303.639667%20VESTS">100SP</a>, <a href="https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=minnowsupport&vesting_shares=514303.639667%20VESTS">250SP</a>, <a href="https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=minnowsupport&vesting_shares=1025303.639667%20VESTS">500SP</a>, <a href="https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=minnowsupport&vesting_shares=2053030.639667%20VESTS">1000SP</a>, <a href="https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=minnowsupport&vesting_shares=10253030.639667%20VESTS">5000SP</a>. <strong>Be sure to leave at least 50SP undelegated on your account.</strong></p>
author | minnowsupport |
---|---|
permlink | re-humate-introduction-to-computer-programming-20180101t023555075z |
category | education |
json_metadata | {"tags":["education"],"app":"cosgrove/0.0.2"} |
created | 2018-01-01 02:35:54 |
last_update | 2018-01-01 02:35:54 |
depth | 1 |
children | 0 |
last_payout | 2018-01-08 02:35:54 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 1,744 |
author_reputation | 148,902,805,319,183 |
root_title | "Introduction to Computer Programming - part 1" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 26,302,967 |
net_rshares | 450,492,211 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
humate | 0 | 450,492,211 | 100% |
nice post, I appreciate your efforts.following you, i appreciate if your upvote and if you follow me.
author | rifkan |
---|---|
permlink | re-humate-introduction-to-computer-programming-20180101t020435722z |
category | education |
json_metadata | {"tags":["education"],"app":"steemit/0.1"} |
created | 2018-01-01 02:04:36 |
last_update | 2018-01-01 02:04:36 |
depth | 1 |
children | 1 |
last_payout | 2018-01-08 02:04:36 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 101 |
author_reputation | 27,821,774,118,469 |
root_title | "Introduction to Computer Programming - part 1" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 26,300,395 |
net_rshares | 425,209,485 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
humate | 0 | 425,209,485 | 100% |
Thank you for dropping by, and for the follow. I will certainly do likewise :)
author | humate |
---|---|
permlink | re-rifkan-re-humate-introduction-to-computer-programming-20180101t020956529z |
category | education |
json_metadata | {"tags":["education"],"app":"steemit/0.1"} |
created | 2018-01-01 02:09:57 |
last_update | 2018-01-01 02:09:57 |
depth | 2 |
children | 0 |
last_payout | 2018-01-08 02:09:57 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 78 |
author_reputation | 107,931,380,458 |
root_title | "Introduction to Computer Programming - part 1" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 26,300,838 |
net_rshares | 430,346,628 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
rifkan | 0 | 430,346,628 | 100% |