EWEEK 2021: SOFTWARE ENGINEERING

Date of the Problem
February 24, 2021
Image
Timothy Ma Spotlight

Solve Wednesday's Problem

Software engineering is instrumental in all fields, protecting and organizing user data, keeping business practices efficient and allowing for accessible communication and entertainment. The two main types of software engineers are applications software engineers—who design computer applications for users, such as games, word processors and internet browsers—and systems software engineers—who build full operating systems and networks for user-facing applications and integrate different software products onto single platforms.

An algorithm is a set of rules to be followed during a problem-solving operation. The ability to understand, develop and apply a wide variety of algorithms is an important part of software engineering. The following problems look at some common algorithms found in the field.

3.1) In essence, a computer screen is a grid with various points filled in to create what you see on the screen...much like a coordinate plane. Software engineers use algorithms to “fill in” these points. Write an algorithm, in the form of an equation in slope-intercept form, that can be used to create a line that passes through the two points on the computer screen shown.

Image
Software 1

3.2) René is a software engineer working on the checkout process for an online store. When customers check out, the cost of shipping and tax must be added to the base price, B, of the items to be purchased to calculate the total cost, T. If tax is a percentage of the base price and shipping is a flat rate, use the table of values shown to write an equation that represents the algorithm René should use to calculate total cost on the store’s website.

Image
Software 2

3.3) When someone sends a text message over a communications network, receivers detect if any errors occurred when the message was transmitted. A checksum is one common algorithm to do this: it identifies if an error occurred, but does not specify which error(s) and cannot catch every kind of error. For example, if numbers were assigned to every letter of the alphabet (A = 1, B = 2, ..., Z = 26), and someone sent a message that said OK, the values of these letters would be O = 15 and K = 11. The checksum algorithm would verify the message being received had a sum of 15 + 11 = 26 and, if the sum were not 26, would identify an error in the transmission. However, if the message above came through as KO, the sum would still equal 26, meaning the checksum would not catch this specific error.

Vanessa texts René the message BAD. Assigning the same numbers to the letters in the example above, and assuming all three-letter arrangements are equally likely, what is the probability that René receives a three-letter message that has an error the checksum does not catch? Express your answer as a common fraction.

CCSS (Common Core State Standard)
Difficulty