Question Description: a) The world is facing so many challenges and computers are set to resolve most of
those challenges through various forms including artificial intelligence. Explain
algorithms in the field of computer science and engineering and how they can help resolve
those challenges. Explain at least 3 specific areas where such algorithms can be
applied and state their expected results.
b) Using practical examples from the field of computer science, compare and contrast
into detail the concepts of abstraction. Illustrate your understanding of these
concepts by discussing and explaining possible reasons abstraction is imperative in
c) Analyze and explain in detail two (2) uses of the queue in the Central Processing Unit
(CPU) and how they aid in data processing in a Core i5 processor with 8 GB RAM as
well as a core i3 processor with 4GB RAM.
Course Hero Answer & Explanation:
- Boxever, co-founded by CEO, Dave O’Flanagan, is a company that leans heavily on machine learning to improve the customer’s experience in the travel industry and deliver ‘micro-moments,’ or experiences that delight the customers along the way. It’s through machine learning and the usage of A.I. that the company has dominated the playing field, helping its customers to find new ways to engage their clients in their travel journeys.
- Amazon’s transactional A.I. is something that’s been in existence for quite some time, allowing it to make astronomical amounts of money online. With its algorithms refined more and more with each passing year, the company has gotten acutely smart at predicting just what we’re interested in purchasing based on our online behavior. While Amazon plans to ship products to us before we even know we need them, it hasn’t quite gotten there yet. But it’s most certainly on its horizons.
- Netflix provides highly accurate predictive technology based on customer’s reactions to films. It analyzes billions of records to suggest films that you might like based on your previous reactions and choices of films. This tech is getting smarter and smarter by the year as the dataset grows. However, the tech’s only drawback is that most small-labeled movies go unnoticed while big-named movies grow and balloon on the platform.
In software engineering and computer science, abstraction is a technique for arranging complexity of computer systems. It works by establishing a level of simplicity on which a person interacts with the system, suppressing the more complex details below the current level. 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. For an 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.
Abstraction can apply to control or to data: Control abstraction is the abstraction of actions while data abstraction is that of data structures.
Control abstraction involves the use of subroutines and control flow abstractions
Data abstraction allows handling pieces of data in meaningful ways. For example, it is the basic motivation behind the data type.
The recommendation that programmers use abstractions whenever suitable in order to avoid duplication (usually of code) is known as the abstraction principle. The requirement that a programming language provides suitable abstractions is also called the abstraction principle.
In operating systems, processes are loaded into memory and wait for their turn to be executed by the central processing unit (CPU). CPU scheduling manages process states and decides when a process will be executed next by using the input queue.
A queue, in computer networking, is a collection of data packets collectively waiting to be transmitted by a network device using a pre-defined structure methodology.
A queue consists of a number of packets. These packets are bound to be routed over the network, lined up in a sequential way with a changing header and trailer, and taken out of the queue for transmission by a network device using some defined packet processing algorithm like first in first out (FIFO), last in last out (LIFO), etc.
The queue dequeues, or takes out a data packet from the head, when it needs to transfer and trailer by adding new data packets to the queue, which is known as enqueuing.
A queue works almost on the same methodology used at banks or supermarkets, where the customer is treated according to its arrival.
An example would be FIFO or some other priority if they are a privileged customer.
Similarly, a network queue processes data packets based on their arrival, priority, smallest task first, and multitasking, FIFO, LIFO, emption, and pre-emption.
The term ‘network of queues’ describes a situation where the input from one queue is the output from one or more others.
A simple example of network queueing is the central server network.
This consists of a CPU (Central Processing Unit), storage units it can access and input devices to access it.
The task the CPU performs is queued on different criteria.
Also, the storage units could have their own individual queues.
Queues tend to be ordered in a number of ways.
They can also be executed either on a one-by-one serial basis or bit by bit by Time Sharing.
It is not always necessary to treat customers in a queue equally.
A priority queuing system may often be used to give some jobs preferential treatment.
Examples of queue systems :
- Time Sharing
- Priority Queues
- Emption and Pre-Emption