Programming: Difference between revisions

From Computer Science Wiki
No edit summary
(18 intermediate revisions by the same user not shown)
Line 3: Line 3:
   [[File:Exclamation.png]] This is one of '''the most important ideas''' you can remember:  
   [[File:Exclamation.png]] This is one of '''the most important ideas''' you can remember:  


   '''Decompose''' a problem into smaller parts, '''model''' a problem with flowcharts. Learn to think '''sequentially'''
   '''Decompose''' a problem into smaller parts, '''diagram''' a problem. Learn to think '''sequentially'''
</blockquote>
</blockquote>
</center>
</center>
Line 9: Line 9:
[[file:computation.png|right|frame|Programming<ref>http://www.flaticon.com/</ref>]]
[[file:computation.png|right|frame|Programming<ref>http://www.flaticon.com/</ref>]]


When you are programming a computer you use common constructions. Please remember every computer programming language approaches '''syntax''' differently. All programming languages share common features, below:


== Introduction to programming ==


=== Introduction to programming ===
Programming is the issuing of instructions to a computer. You must learn how to issue instructions to a computer.


* [[What is a programming language?]]
* [[What is a programming language?]]
* [[High level languages]]
* [[Compiler]]
* [[Compiler]]
* [[Low level languages]]
* [[Translating high-level code to low-level code]]
* [[Control flow]]


== Use of programming languages ==
== Basic understanding ==  


* [[Variables]]  
* [[Variables]]  
* [[Constants]]
* [[Constants]]
== Primitive data types ==
In computer science and computer programming, a data type or simply type is a classification of data which tells the compiler or interpreter how the programmer intends to use the data. Most programming languages support various types of data, for example: real, integer or Boolean.<ref>https://en.wikipedia.org/wiki/Data_type</ref>
The list below describes some of the more common primitive data types
* [[Objects]]  
* [[Objects]]  
* [[Operators]]
* [[Boolean]]
* [[Int]]
* [[Float]]
* [[Char]]
* [[String]]
 
== Common data structures ==
 
* [[Arrays]]
* [[Collections]]
* [[Linked list]]
* [[Lists]]
* [[Dictionaries]]
* [[Sets]]
* [[Tuple]]
 
== Control Flow ==
In computer science, control flow (or flow of control) is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated. <ref>https://en.wikipedia.org/wiki/Control_flow</ref>
* [[Conditionals]]
* [[Conditionals]]
**  [[Operators]]
* [[Loops]]
== Basic program organization ==
* [[Algorithms]]
* [[Algorithms]]
* [[Arrays]]
* [[Collections]]
* [[Functions]]
* [[Functions]]
* [[Loops]]
 


== Other important ideas in programming ==
== Other important ideas in programming ==
Line 39: Line 61:
* [[Design Patterns]]
* [[Design Patterns]]
* [[Object-Oriented Programming]]
* [[Object-Oriented Programming]]
 
* [[Working with files]]
== Standards ==
{| style="width: 95%; font-size: 12px;" class="wikitable sortable"
|-style="background-color:#E6F9E6;"
| colspan="2" | '''Computational thinking, problem-solving and programming'''
|-
| Identify the procedure appropriate to solving a problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Evaluate whether the order in which activities are undertaken will result in the required outcome.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Explain the role of sub-procedures in solving a problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Identify when decision-making is required in a specified situation.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Identify the decisions required for the solution to a specified problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Identify the condition associated with a given decision in a specified problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Explain the relationship between the decisions and conditions of a system.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Deduce logical rules for real-world situations.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Identify the inputs and outputs required in a solution.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Identify pre-planning in a suggested problem and solution.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Explain the need for pre-conditions when executing an algorithm.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Outline the pre- and post-conditions to a specified problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Identify exceptions that need to be considered in a specified problem solution.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Identify the parts of a solution that could be implemented concurrently.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Describe how concurrent processing can be used to solve a problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Evaluate the decision to use concurrent processing in solving a problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Identify examples of abstraction.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Explain why abstraction is required in the derivation of computational solutions for a specified situation.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Construct an abstraction from a specified situation.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Distinguish between a real-world entity and its abstraction.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Describe the characteristics of standard algorithms on linear arrays.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Outline the standard operations of collections.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Discuss an algorithm to solve a specific problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Analyse an algorithm presented as a flow chart.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Analyse an algorithm presented as pseudocode.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Construct pseudocode to represent an algorithm.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Suggest suitable algorithms to solve a specific problem.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Deduce the efficiency of an algorithm in the context of its use.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Determine the number of times a step in an algorithm will be performed for given input data.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| State the fundamental operations of a computer.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Distinguish between fundamental and compound operations of a computer.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Explain the essential features of a computer language.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Explain the need for higher level languages.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Outline the need for a translation process from a higher level language to machine executable code.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Define the terms: variable, constant, operator, object.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Define common operators.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Analyse the use of variables, constants and operators in algorithms.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Construct algorithms using loops, branching.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Describe the characteristics and applications of a collection.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Construct algorithms using the access methods of a collection.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Discuss the need for sub-programmes and collections within programmed solutions.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-
| Construct algorithms using pre- defined sub-programmes, one- dimensional arrays and/or collections.|| [[Computational thinking, problem-solving and programming | Computational Thinking]]
|-style="background-color:#E6F9E6;"
|}


== References ==
== References ==

Revision as of 10:10, 23 January 2019

Exclamation.png This is one of the most important ideas you can remember:

Decompose a problem into smaller parts, diagram a problem. Learn to think sequentially

Programming[1]


Introduction to programming[edit]

Programming is the issuing of instructions to a computer. You must learn how to issue instructions to a computer.

Basic understanding[edit]

Primitive data types[edit]

In computer science and computer programming, a data type or simply type is a classification of data which tells the compiler or interpreter how the programmer intends to use the data. Most programming languages support various types of data, for example: real, integer or Boolean.[2]

The list below describes some of the more common primitive data types

Common data structures[edit]

Control Flow[edit]

In computer science, control flow (or flow of control) is the order in which individual statements, instructions or function calls of an imperative program are executed or evaluated. [3]

Basic program organization[edit]


Other important ideas in programming[edit]

References[edit]