










Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An in-depth exploration of various computational thinking concepts, including abstraction, data abstraction, graph theory, caching, inputs, outputs, preconditions, reusable program components, procedural abstraction, and more. It delves into their definitions, uses, and advantages, offering a comprehensive understanding of these concepts for students and professionals.
Typology: Quizzes
1 / 18
This page cannot be seen from the preview
Don't miss anything!











Abstraction A Simplifying a problem by only taking into consideration the necessary details required to obtain a solution leaving a representation without any unecessary details 2 Q Data abstraction A details about how data is being stored are hidden 3 Q Graph theory A A branch of paths that can be used to abstractly represent problems using a collection of nodes connected by edges 4 Q Caching A The temporary storage of data by the system in cache or memory for the benefit of faster retrieval if it is needed again in future
Inputs A Any information relevant to the problem that is required by the system for processing 6 Q Outputs A The result returned by a system for a given input after running the entire process or part of a process 7 Q Preconditions A A perquisite or state of a system and its surroundings required to run a use case and return a valid solution 8 Q Reusable program components A Components that have already been written, debugged and tested that can be transplanted into new systems to save development time in project completion 9
Concurrent processing A Processing where the system appears to perform multiple tasks simultaneously 14 Q What is abstraction by generalisation A grouping together similarities within a problem to identify what kind of problem it is where a common solution can be used to solve these problems 15 Q How does procedural abstraction work A It models what a subroutine does without considering how this is done. Once a procedure has been coded, it can be reused as a black-box 16 Q What do large problems make use of in relation to abstraction A multiple levels of abstraction, where each level performs a different role 17
What are the highest levels of abstraction when multiple are used A closest to the user and are usually responsible for providing an interface for the user to interact with hardware 18 Q What are the hlowest levels of abstraction when multiple are used A e lowest levels of abstraction are responsible for actually performing these tasks through the execution of machine code. 19 Q TCP ip model abstraction A abstraction for how networks function, separated into four layers of abstraction 20 Q Do each layer in the TCP IP model need to know how the others work A No 21
Inputs? A Any data that is required to solve a problem, usually entered into the system by the user 26 Q Outputs? A The results that are passed back once the inputs have been processed and the problem solved 27 Q What considerations do programmers need to make about inputs and outputs when thinking ahead? A Method of input/output (device used) Data structures used Data types used Order of data 28 Q You must be able to extract inputs and outputs from a real world scenario… Book reservation system, e.g. at a library? Study These Flashcards
Inputs - Book details: name, author, ISBN, Borrower details: name, library card number, Collection point Outputs - Expected waiting time, Confirmation, Availability at other libraries 29 Q What are preconditions? Study These Flashcards A Requirements which must be met before a program can be executed 30 Q Where can preconditions be defined? Study These Flashcards A Within the code or within documentation 31 Q Where are preconditions required? Study These Flashcards A Stack functions - check stack isn’t empty when popping an element from a stack, or is full when pushing an element onto the stack Factorial function - the number passed to the function cannot be negative
What are the advantages of caching web pages? Study These Flashcards A Content can be loaded without delay images and text do not have to be downloaded again multiple times Frees bandwidth for other tasks on a network Less time is spent wasting 36 Q What is the name given to the technique in which algorithms are used to predict which instructions are likely to soon be used? Study These Flashcards A Prefetching 37 Q What are the limitations of caching? Study These Flashcards A Accuracy of the algorithm used Effectiveness of algorithm in managing the cache Size of the cache 38 Q What are the advantages of reusable components?
Study These Flashcards A More reliable than new components, as they have already been tested As developing from scratch is not required, this saves time, money and resources 39 Q What are some examples of reusable components? Study These Flashcards A Abstract data structures e.g. queues and stacks Classes Subroutine 40 Q What are the limitations of using reusable components? Study These Flashcards A Compatibility issues with the rest of the software Causing to be more costly and time-consuming then developing them in-house 41 Q What is the first stage of thinking procedurally? Study These Flashcards A
Study These Flashcards A Problems can be solved and modules developed by different people Tasks can be tested separately, modules are self-contained 46 Q What sort of problems is top-down design suited to? Study These Flashcards A Large, complex problems 47 Q What is the second stage of thinking procedurally in software development? Study These Flashcards A Identifying components of a solution 48 Q How can the lowest level subproblems in top-down design in code? Study These Flashcards A As self-contained modules or subroutines 49 Q
What do software developers need to consider when recombing components of a solution? Study These Flashcards A The order in which subroutines are executed, and how they interact with each other, based on their role in solving the problem 50 Q What must a software developer do before designing a subroutine to solve a particular problem? Study These Flashcards A See whether it is possible for an already existing subroutine or module to be used 51 Q What are the advantages of utilising reusable components? Study These Flashcards A More reliable than newly-coded components, as they have already been tested This saves time, money and resources 52 Q What is a decision? Study These Flashcards A A result reached after consideration.
By evaluating the importance of different factors and selecting options which satisfy the needs of the task the most appropriately 57 Q Does the result of a decision affect the flow of the program? Study These Flashcards A The program will follow a different route depending on the decision made by the user 58 Q What is concurrent thinking? Study These Flashcards A It is completing more than one task at any given time 59 Q Are concurrent processing and concurrent thinking the same thing? Study These Flashcards A No, one uses computer processors, one uses the human brain 60 Q What is parallel processing?
Study These Flashcards A Completing multiple tasks simultaneously at any given time 61 Q What is concurrent processing? Study These Flashcards A Giving a slice of processor time to tasks to give the illusion of parallel processing 62 Q What are the benefits of concurrent processing? Study These Flashcards A More tasks can be completed in a given time Other tasks can be completed while waiting for an input/user interaction 63 Q What are the drawbacks of concurrent processing? Study These Flashcards A If lots of users are requesting for tasks to be completed, it takes longer for everyone to complete their task 64