Save
Upgrade to remove ads
Busy. Please wait.
Log in with Clever
or

show password
Forgot Password?

Don't have an account?  Sign up 
Sign up using Clever
or

Username is available taken
show password


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
Your email address is only used to allow you to reset your password. See our Privacy Policy and Terms of Service.


Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.
focusNode
Didn't know it?
click below
 
Knew it?
click below
Don't Know
Remaining cards (0)
Know
0:00
Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

2.2.2

QuestionAnswer
Computable problems Have an algorithm to solve them Are practically possible (e.g. memory and hardware wise) Have features that enable computational methods - Enumeration - Theoretical approach - Abstraction - Decomposition
Algorithms are useful to programmers if they can Solve problems... In a reasonable time frame Using a reasonable amount of memory
Enumeration designing an algorithm that attempts all possible solutions until the correct one is found
Theoretical approach representing a problem in mathematical equations with a logical method to find the answer
Abstraction (computable problems) simplifies a problem, making it easier to solve, by using different methods Simulation Automation
Simulation the process of designing a model of a real system to understand its behaviour
Automation building problem-solving models and putting them into action
Problem Recognition the ability to recognise and acknowledge that an issue exists and define the problem and determine exactly what it is
To recognise the problem/solutions Is there a problem to be solved? What is the nature of the problem? What is it? What data do you need? What variables could alter state of problem? What processes and techniques could solve the problem? To what extent is the problem solvable?
Problem Decomposition The process of breaking down a problem into sub-problems until the lowest level of subproblem is recognisably solvable, possibly by using a diagram
Divide and Conquer Technique that reduces problem size with each successive iteration e.g. binary search and decomposition. Divide and conquer can be used to identify tasks that can be carried out simultaneously (so can use concurrent methods), such as merge sort
Divide and Conquer steps Generally, the steps are: 1. Take a problem, or a data set 2. Apply some rules 3. Based on the outcome, discard any data that doesn't match 4. Repeat the process with the data that is left
Use of Abstraction (to solve a problem) It is important to only include important aspects when you solve a problem/write code
Computational Methods - Backtracking - Data mining - Heuristics - Performance modelling - Pipelining - Visualizations
Backtracking (Computational Methods) good for logic problems w/ paths/route-finding Problem solved by following actions until no longer works then return to last working stage + try again (depth first search) Coding: test section at a time + save backtrack to last version in case of error
Data mining (Computational Methods) the concept of analysing vast amounts of data from a variety of sources to discover new information and trends Big data: extremely large data sets Can be used to increase profits, weather forecast, or to predict what videos a user likes
Heuristics (Computational Methods) an approach to solving problems that encourages finding a ‘good enough’ solution to a problem that may not be solvable otherwise They do not guarantee the best/optimal solution
Performance modelling (Computational Methods) Process of approximating how well models perform using maths, reducing costly, detailed testing Not always possible to test full performance, as a real-life simulation cannot be provided More controlled, beta testing
Pipelining (Computational Methods) Splitting a task into manageable, equal sized chunks and overlapping these smaller processes to speed up the overall process
Visualizations (Computational Methods) allow an image of what a program will do or how it will work to be created A problem is represented visually to aid understanding
Created by: FlashCardFun!
 

 



Voices

Use these flashcards to help memorize information. Look at the large card and try to recall what is on the other side. Then click the card to flip it. If you knew the answer, click the green Know box. Otherwise, click the red Don't know box.

When you've placed seven or more cards in the Don't know box, click "retry" to try those cards again.

If you've accidentally put the card in the wrong box, just click on the card to take it out of the box.

You can also use your keyboard to move the cards as follows:

If you are logged in to your account, this website will remember which cards you know and don't know so that they are in the same box the next time you log in.

When you need a break, try one of the other activities listed below the flashcards like Matching, Snowman, or Hungry Bug. Although it may feel like you're playing a game, your brain is still making more connections with the information to help you out.

To see how well you know the information, try the Quiz or Test activity.

Pass complete!
"Know" box contains:
Time elapsed:
Retries:
restart all cards