Flashcards
2.1 - Elements of computational thinking - Flashcards
Cards in this deck (23)
- 1Computational ThinkingA problem solving approach that borrows techniques from computer science, notably abstraction, problem decomposition and the development of algorithms
- 2DecompositionBreaking down a problem into smaler parts that are easier to solve (sometimes seperatly and recursively)
- 3How can Computational Thinking help ?- Look at the problem and assess how difficult it is
- Use recursion to apply a simple solution repetatively
- Reformulate a problem into something familiar that we know how to solve
- Model a problem so that it can run on a computer
- Look at a proposed function and assess it for elefance and efficiency
- Scale solutions to cope with bigger problems - 4Modular, top-down designSplitting the larger main task into a series of subtasks, then dividing the subtasks into subtasks and so on - until you have a number of subtasks that can all interact with the main task but are small enough to manage on their own
- 5Stepwise RefinementThe process of splitting tasks down doe multiple steps
- 6Advantages to Modular, top-down design- Some modules will be standard procedures and can be reused
- Modules are small enough to understand
- Program maintenance becines easier
- In large projects, indivdual programmers can be given particular modules matched to their skills, easier to take over modules if needed
- Makes a large project easier to manahe and control - 7Disadvantages to Modular, top-down design- It assumes the whole solution to the probkem is knowable in advance
- Plans and ideas change as a project develops
- Less useful with event driven programs - 8DFDs(Data Flow Diagrams)
Used to detemine how a system operates and how data tracels around an organisation
4 types:
Process, Data Flow, Data Store, Entity - 9Rules for DFDs- Entities are either 'sources of' or 'sinks' for data input and output (Originators or Terminators for data flows)
- Entity --> Process
- Process --> Entity
- Processes and Datta Stores must have both inputs and outputs
- Processess --> Data Stores
- Data Stores --> Processes - 10Structured ProgrammingA language consisting of subroutines asigned to perform just one, or very limited taks
Computing Contructs:
- Sequence
- Selection
- Iteration - 11SequenceExecuting one statement after another
- 12SelectionBranching to a different place in another program according to the value of a BOOLEAN expression
- 13IterationRepeating a section of code until a BOOLEAN expression is true
- 14OOP(Object-Oriented Programming)
A program made up of objects that interact - 15ObjectsCustom mode data structures to represtn often-used real-world entities
Based on classes which contain attributes (data) and methods (code) - 16Data EncapsulationIf data is not in the class the methods cannot use it (helps with referential integrity)
Can have subclasses where all attributes/data and methods/functions/operations can also be used - 17AbstractionA concept of reality
- 18ItemisingLissting information from data
- 19Levels of AbstractionIn complex systems it is often useful to cinstruct an abstraction to represent a large problem and to create lower-level abstractions to deal with component parts
- 20CachingRecently used information is temporarliy stored
- 21PrefetchingObtaining files before the system requires them
- 22Preconditioning and ReusabilityReusing old code for new programs
Saves time writing code
Code has been tested previously - 23Gantt ChartsA diagram used to organise multiple procedures occuring simultanously over time
Information
- Description
- A2 - Level A2 Computer Science Flashcards on 2.1 - Elements of computational thinking - Flashcards, created by Nathan Hall on 04/04/2016.
- Created by
- Nathan Hall
- Views
- 2
- Rating