Computer programming: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 3: Line 3:
== Definition ==
== Definition ==


Computer programming (often shortened to programming or coding), sometimes considered a branch of applied mathematics, is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. [...] There is an ongoing debate on the extent to which the writing of programs is an art, a craft or an engineering discipline. (Wikipedia, , retrieved 16:42, 13 August 2008 (UTC)).
Computer programming (often shortened to programming or coding), sometimes considered a branch of applied mathematics, is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. [...] There is an ongoing debate on the extent to which the writing of programs is an art, a craft or an engineering discipline. (Wikipedia, retrieved 13 August 2008).


See also: [[programmed instruction]] (the term ''programming'' can refer to other things than computer programming).
== The very essence of computer programming ==
'''Copyright notice''': This section uses excerpts from chapter 1 of [http://www.greenteapress.com/thinkpython/thinkCSpy/ How to Think Like a Computer Scientist: Learning with Python] and is avaible under [http://www.gnu.org/copyleft/fdl.html GNU Free Documentation License]
A program is a sequence of instructions that specifies how to perform a computation. The computation might be something mathematical, such as solving a system of equations or finding the roots of a polynomial, but it can also be a symbolic computation, such as searching and replacing text in a document or (strangely enough) compiling a program.
The details look different in different languages, but a few basic instructions appear in just about every language:
;input
:Get data from the keyboard, a file, or some other device.
;output
:Display data on the screen or send data to a file or other device.
;math
:Perform basic mathematical operations like addition and multiplication.
;conditional execution
:Check for certain conditions and execute the appropriate sequence of statements.
;repetition
:Perform some action repeatedly, usually with some variation.
Believe it or not, that's pretty much all there is to it. Every program you've ever used, no matter how complicated, is made up of instructions that look more or less like these. Thus, we can describe programming as the process of breaking a large, complex task into smaller and smaller subtasks until the subtasks are simple enough to be performed with one of these basic instructions.


== Links ==
== Links ==
Line 37: Line 59:
* Jeffrey Elkner, Allen B. Downey, and Chris Meyers (2008). [http://openbookproject.net/thinkcs/python2e.php How to Think Like a Computer Scientist: Learning with Python], 2nd Ed.  
* Jeffrey Elkner, Allen B. Downey, and Chris Meyers (2008). [http://openbookproject.net/thinkcs/python2e.php How to Think Like a Computer Scientist: Learning with Python], 2nd Ed.  


* Allen Downey, Jeffrey Elkner and Chris Meyers, [http://www.greenteapress.com/thinkpython/thinkCSpy/ How to Think Like a Computer Scientist], Python Version, First edition (??). ''Grean Tea Press''. There are some translation and derivations from this, e.g. [http://www.cifen.ulg.ac.be/inforef/swi/python.htm Programmer avec Python]
* Allen Downey, Jeffrey Elkner and Chris Meyers , [http://www.greenteapress.com/thinkpython/thinkCSpy/ How to Think Like a Computer Scientist], Python Version, First edition. ''Grean Tea Press''. There are some translation and derivations from this, e.g. [http://www.cifen.ulg.ac.be/inforef/swi/python.htm Programmer avec Python]


* Allen B. Downey (2008). [http://www.greenteapress.com/thinkpython/ Think Python], An Introduction to Software Design. Green Tea Press. (This is a revised version of How to Think Like a Computer Scientist).
* Allen B. Downey (2008). [http://www.greenteapress.com/thinkpython/ Think Python], An Introduction to Software Design. Green Tea Press. (This is a revised version of How to Think Like a Computer Scientist).

Revision as of 18:53, 13 August 2008

Draft

Definition

Computer programming (often shortened to programming or coding), sometimes considered a branch of applied mathematics, is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. [...] There is an ongoing debate on the extent to which the writing of programs is an art, a craft or an engineering discipline. (Wikipedia, retrieved 13 August 2008).

See also: programmed instruction (the term programming can refer to other things than computer programming).

The very essence of computer programming

Copyright notice: This section uses excerpts from chapter 1 of How to Think Like a Computer Scientist: Learning with Python and is avaible under GNU Free Documentation License

A program is a sequence of instructions that specifies how to perform a computation. The computation might be something mathematical, such as solving a system of equations or finding the roots of a polynomial, but it can also be a symbolic computation, such as searching and replacing text in a document or (strangely enough) compiling a program.

The details look different in different languages, but a few basic instructions appear in just about every language:

input
Get data from the keyboard, a file, or some other device.
output
Display data on the screen or send data to a file or other device.
math
Perform basic mathematical operations like addition and multiplication.
conditional execution
Check for certain conditions and execute the appropriate sequence of statements.
repetition
Perform some action repeatedly, usually with some variation.

Believe it or not, that's pretty much all there is to it. Every program you've ever used, no matter how complicated, is made up of instructions that look more or less like these. Thus, we can describe programming as the process of breaking a large, complex task into smaller and smaller subtasks until the subtasks are simple enough to be performed with one of these basic instructions.

Links

Overviews

Introductory tutorials

  • Computer programming (Wikibooks). This a short conceptual overview. It also summarized all computer programming books in a table.

Introductory free online textbooks

Using Java
Using Javascript
Using Python
  • Allen B. Downey (2008). Think Python, An Introduction to Software Design. Green Tea Press. (This is a revised version of How to Think Like a Computer Scientist).
Using Scheme