Abstraction

Description

HS Computer Science Slide Set on Abstraction, created by Shannon Anderson-Rush on 19/11/2018.
Shannon Anderson-Rush
Slide Set by Shannon Anderson-Rush, updated more than 1 year ago
Shannon Anderson-Rush
Created by Shannon Anderson-Rush over 5 years ago
5121
4

Resource summary

Slide 1

    Abstraction in Computer Science
    In computer science, abstraction is a technique for managing complexity of computer systems. It is the process of simplifying, condensing, and encapsulating and is an important problem solving skill.

Slide 2

    Abstractions in hardware and software help to reduce complexity and make computer systems easier to use and understand. Computer programming languages contain constants and variables, both of which are abstractions.
    Caption: : Computer languages have procedures that perform certain calculations for us.

Slide 3

    Abstraction works by establishing a level of complexity on which a person interacts with the system, suppressing the more complex details below the current level. In computer science, the programmer works with an idealized interface (usually well defined) and can add additional levels of functionality that would otherwise be too complex to handle.

Slide 4

    For example, a programmer writing code that involves numerical operations may not be interested in the way numbers are represented in the underlying hardware (e.g. whether they're 16 bit or 32 bit integers), and where those details have been suppressed it can be said that they were abstracted away, leaving simply numbers with which the programmer can work.
    In addition, a task of sending an email message across continents would be extremely complex if you start with a piece of optic cable and basic hardware components. By using layers of complexity that have been created to abstract away the physical cables, network layout and presenting the programmer with a virtual data channel, this task is manageable.

Slide 5

    Using an interface to simplify a process
    Software programs such as Microsoft Word and Adobe Photoshop often provide features that automatically convert a file to a new format, without the user having to know any of the details about individual formats.

Slide 6

    Banks provide simple features to transfer funds from one account to another, while hiding the underlying communication and security needed to ensure the privacy of such transactions.
    Video editing software provides features to combine video files, allowing the user to focus only on the task of transforming the video or photo, rather than on the lower level concepts of bit representation.

Slide 7

    Consider developing a software-based "physics engine" that could be used to simulate the gravity and other physics laws in a simulation for a video game. In reality, objects moving through space are affected by resistance from wind/water in a very complex process. A physics engine might simplify this down to a simple coefficient affecting your movement through water. Move half speed in water moving against you and double speed in water moving with you.
    Gravity & Resistence
    Caption: : An avatar in a video game would move slower when against the flow of water and faster when walking with the flow of water.

Slide 8

    Wind has a calculable effect on the trajectory of projectiles (e.g., a strong crosswind will push a golf ball of course) and when wind changes this effect becomes increasingly difficult to calculate. Many games disregard this effect when calculating paths. Note that reduction eliminates a number of complex calculations, but introduces a level of inaccuracy.
    Wind

Slide 9

    When we group information into chunks (such as objects in programming) we can manage many complicated pieces at once. Java classes and objects help programmers write complex software.
    Summary

Slide 10

    Review
    Abstraction occurs A.  in computer operations at the hardware, low-level only. B.  in computer operations at the application, high-level only. C.  primarily at the electrical hardware level D.  at every level and stage of operations  

Slide 11

    Answer & Explanation
    Abstraction occurs at every level and stage of computer operations.

Slide 12

    Review
    An airplane simulation to train new pilots on typical take-offs and landings is designed specifically for cargo planes.  Which variable does NOT need to be included? A.  Weight of the aircraft B.   Number of crew for the airplane C.  Where the cargo is located in the cargo hold D.  Number of monthly bird strikes for this type of aircraft

Slide 13

    Answer & Explanation
    The number of bird strikes are not needed to practice typical take-offs and landings.

Slide 14

    Review
    Before the world's largest ocean liner, the Queen Mary 2, started construction, a 15 foot model is used in a 600 meter water basin using sophisticated computer simulations.  Which of the following is NOT a benefit of such simulations? A.  It assists in selecting the optimal hull design of the ship for all weather conditions. B.  It helps to determine the size of the crew necessary to manage all of the ship's needs. C.  It allows testing of dangerous water conditions without danger to people or ship. D.  It can save money by not using a faulty design that is very expensive to alter.

Slide 15

    Answer & Explanation
    The simulation would not help to determine the size of the crew necessary to manage all of the ship's needs.
Show full summary Hide full summary

Similar

HTTPS explained with Carrier Pigeons
Shannon Anderson-Rush
LAN and WAN
Nathan Roberts
Computing Hardware - CPU and Memory
ollietablet123
SFDC App Builder 2
Parker Webb-Mitchell
Data Types
Jacob Sedore
Intake7 BIM L1
Stanley Chia
Software Processes
Nurul Aiman Abdu
Project Communications Management
farzanajeffri
Common Technology Terms
Julio Aldine Branch-HCPL
Design Patterns
Erica Solum
CCNA Answers – CCNA Exam
Abdul Demir