|
|
(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 == |