Difference between revisions of "Software Programming Task"

Jump to: navigation, search
(Redirected page to Software Code Creation Task)
(Tag: New redirect)
Line 1: Line 1:
A [[Software Programming Task]] is a [[software creation task]] that requires the production of [[software code]] (typically towards a [[software program]]).
#REDIRECT [[Software Code Creation Task]]
A [[Software Code Writing Task]] is a [[writing task]] that creates [[software code]].
* <B>AKA:</B> [[Computer Coding]], [[Software Implementation]].
* <B>See:</B> [[Software Debugging]], [[Software Testing]], [[Computer Program]].
* <B>Context:</B>
** [[Task Input|input]]: [[Software Requirement]]s.
*** [[Optional Task Input|optional]]: a [[Software Program Model]].
*** [[Optional Task Input|optional]]: a [[Software Programming Language]].
*** [[Optional Task Input|optional]]: a [[Software Repository]].
** [[Task Output|output]]: [[Software Code]] (typically towards a [[software program]]).
** [[Task Performance Measure|performance measure]]s: [[Lines of Code]], [[Software Bug Count]]s.
** It can be solved by a [[Software Programming System]] (typically a [[software programmer]]).
** It can involve the use of a [[Software Programming Environment]].
** It can follow some [[Software Programming Paradigm]], such as [[object-oriented programming]].
** It can be supported by: [[Software Debugging]], [[Software Testing]], [[Software Verification]], [[Software Maintenance]], and/or [[Software Understanding]].
** It can range from (typically) being a [[Manual Programming Task]] to being an [[Automated Programming Task]].
** It can be instantiated into a [[Software Programming Act]].
* <B>Example(s):</B>
** programming a [[Chess Playing System]].
** [[Software Programming Task|Write]] three [[software function]]s that compute the sum of the numbers in a given list using a for-loop, a while-loop, and recursion.
** [[Software Programming Task|Write]] a [[software function]] that combines two lists by alternatingly taking elements. For example: given the two lists [a, b, c] and [1, 2, 3], the function should return [a, 1, b, 2, c, 3].
** [[Software Programming Task|Write]] a [[software function]] that computes the list of the first [[100]] [[Fibonacci number]]s.
** [[Software Programming Task|Write]] a [[software function]] that given a list of [[non negative integer]]s, arranges them such that they form the [[largest possible number]]. For example, given [50, 2, 1, 9], the largest formed number is 95021.
** [[Software Programming Task|Write a program]] that outputs all possibilities to put + or - or nothing between the numbers 1, 2, ..., 9 (in this order) such that the result is always 100. For example: 1 + 2 + 34 – 5 + 67 – 8 + 9 = 100.
* <B>Counter-Example(s):</B>
** a [[Test Case Creation Task]].
** a [[Systems Analysis Task]].
** a [[Data Mining Task]].
** a [[Website Designing Task]].
** a [[Bridge Engineering Task]].
* <B>See:</B> [[Production Capability]], [[Competitive Programming]].
== References ==
* http://rosettacode.org/wiki/Category:Solutions_by_Programming_Task
=== 2019 ===
* (Wikipedia, 2019) ⇒ https://en.wikipedia.org/wiki/Computer_programming Retrieved:2019-11-5.
** '''Computer programming''' is the process of designing and building an [[executable]] [[computer program]] for accomplishing a specific [[computing]] task. '''Programming''' involves tasks such as: analysis, generating [[algorithm]]s, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms in a chosen [[programming language]] (commonly referred to as '''coding'''). ... <P> ...  Tasks accompanying and related to programming include: [[Software testing|testing]], [[debugging]], [[source code]] maintenance, implementation of [[Build automation|build systems]], and management of derived [[Artifact (software development)|artifacts]], such as the [[machine code]] of computer programs. These might be considered part of the programming process, but often the term ''[[software development]]'' is used for this larger process with the term ''programming'', ''implementation'', or ''coding'' reserved for the actual writing of code. ...
=== 2014a ===
* (Wikipedia, 2014) ⇒ http://en.wikipedia.org/wiki/Computer_programming Retrieved:2014-6-8.
** <B>Computer programming</B> (often shortened to '''programming</B>) is a process that leads from an original formulation of a computing problem to executable programs. It involves activities such as analysis, understanding, and generically solving such problems resulting in an [[algorithm]], verification of requirements of [[the algorithm]] including its correctness and its resource consumption, implementation (commonly referred to as coding  ) of [[the algorithm]] in a target [[programming language]], [[Software testing|testing]], [[debugging]], and maintaining the [[source code]], implementation of the build system and management of derived artefacts such as machine code of [[computer program]]s. [[The algorithm]] is often only represented in human-parsable form and reasoned about using [[logic]]. [[Source code]] is written in one or more [[programming language]]s (such as [[C (programming language)|C]], [[C++]], [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Python (programming language)|Python]], [[Smalltalk]], [[JavaScript]], [[List of programming languages|etc.]]). The purpose of programming is to find a sequence of instructions that will automate performing a specific task or solve a given problem. The process of programming thus often requires expertise in many different subjects, including knowledge of the [[application domain]], specialized [[algorithms]] and [[logic|formal logic]].
=== 2014b ===
* ([[Marcus & Davis, 2014]]) ⇒ [[Gary Marcus]], and [[Ernest Davis]]. ([[2014]]). “[http://newyorker.com/online/blogs/elements/2014/06/do-we-really-need-to-learn-to-code.html Do We Really Need to Learn to Code?]&rdquo;. The New Yorker, June 7, 2014
** QUOTE: ... But before we reach the era of [[self-programming computer]]s, three fundamental obstacles must be overcome. ... <P> ... Tom Dean, a researcher at Google, told us, “Programming is [challenging for artificial intelligence]] not because it requires concentration and attention to detail but because the path from the conception of what you want to accomplish to the realization of code that actually accomplishes it requires artistry, insight, and creativity as well as incredible mental dexterity.” ...
=== 2013 ===
* http://rosettacode.org/wiki/Category:Programming_Tasks
** QUOTE: [[Programming task]]s are problems that may be solved through programming.  When such a task is defined, Rosetta Code users are encouraged to solve them using as many different languages as they know.  The end goal is to demonstrate how the same task is accomplished in different languages.
[[Category:Machine Learning]]
[[Category:Data Science]]

Latest revision as of 06:26, 4 December 2019