Write Up

Describe Procedural Abstraction, discussion on code and abstraction techniques used: Frontend/Backend, Functions, Classes, etc

  • Procedural Abstraction involves breaking down complex tasks into simpler steps, using techniques such as frontend/backend separation, functions, and classes. This helps to manage code complexity and makes it easier to modify and understand.

Describe Data Abstraction, discussion on data used and data structures to support project: JSON, Dictionaries, Lists, and/or Database Tables.

  • Data Abstraction involves hiding the implementation details of data structures to provide a simpler interface for interacting with them. It can be implemented using data structures like JSON, dictionaries, lists, and database tables, which help manage complexity and ease maintenance of the project.

Describe Usage of Control Structures, ie Iteration and Conditional Statements. Areas where you use lists and interation in Frontend Display. Areas were you decide and execulte different paths of code, for instance Create vs Read vs Update vs Delete. Also, show a function where a different parameter or condition causes a differen result.

  • Control Structures like iteration and conditional statements are essential for controlling the flow of execution in a program. They are useful for processing lists and arrays, displaying dynamic sets of items, and executing different paths of code, such as in Create, Read, Update, Delete operations. A function example could be a price calculator that returns a discounted price if the discount parameter is greater than 0, and the original price if it is 0 or negative.

Technical Feature 1

Initially, my group assigned me the critical task of creating a database that stores information about stocks. Although we ultimately decided not to use it, I would like to take this opportunity to explain the process in detail. To begin, I wrote initiation code that imports both the stock and the API used for building rest APIs. Next, I developed the create and read portions of the code, which are available here. For those interested in viewing a demonstration of how this database works, I have created a video that walks through the process step-by-step.

Technical Feature Runtime Link Code
Backend API Model Group decided not to implement link to code
Backend API Endpoint Group decided not to implement link to code

Technical Feature 2

Unfortunately, my group decided not to implement this database, and they informed me of this decision at the last minute, which left me with no time to prepare for my next role. Nevertheless, I embraced the challenge and focused my energy on developing a page that would allow users to input a stock and receive information about it in return.

During this process, I encountered some issues, such as repeated information when two or more stocks were entered simultaneously. I overcame this obstacle by utilizing a remove feature that allowed me to erase the original stock information each time a new stock was entered, thereby ensuring that only one variant of the initial stock information was added.

In addition to my contributions to the database and the stock input page, I also played an integral role in the development of the stock quiz and game features on our website. As a result of these contributions, I believe that my growth and development have been apparent when comparing my work this trimester to that of the previous trimester. I have learned a great deal and have been able to apply this knowledge to enhance my assignments and tickets significantly.

Technical Feature Runtime Link Code
Frontend API Call Website Link Link to code
Editing the dom Website Link link to code

Finally, I would like to note that while I may not be able to demonstrate the stock input process during class due to the API and connection, I have created a video that provides a live demonstration of the entire process.

Reporting Category Scoring Explanation
Program Purpose & Algorithm Implementation 2/2 4A & 2B: On the game section of our website there is an option for how many shares of a certain stock you would like to purchase (the input), the program will then multiply the stock price by the imputed value and give the product of the equation as the amount spent (output).

Here is an example of how the code will work-

<body>
  <head>
    <script>
    function notify() {
      alert(document.getElementById("result").innerHTML = "Result: " + result);
    }
    </script>
    </head>
<body>
<p id="result"></p>


<script>
  function multiplyByTwo() {
    var num = document.getElementById("numInput").value;
    var result = num * 141.86;
    alert(document.getElementById("result").innerHTML = "Just confirming the transaction of $" + result);
  }
</script>
</body>
Reporting Category Scoring Explanation
Data Abstraction & Managing Complexity 2/2 3B & 3C: On the section of the website referred to as the “game” the output to the code above will be stored in a list and when called upon will subtract the stored (listed) values from your wallet (your cash holdings). The same information will be pulled to display a visual of your earning report when the game is finished playing.

Here is an example of how the code will work-

def store_input_in_list():
    input_list = []
    input_value = input("Enter a value: ")
    input_list.append(input_value)
    return input_list


print(store_input_in_list())
Reporting Category Scoring Explanation
Procedural Abstraction 1/1 3B: The values that were stored in the list above will be pulled and added to the players/users wallet (cash holdings) to display a new cash holding price (output)

An example of the code is shown below-

def add_to_10000(input_list):
    value = input_list[0]
    result = int(value) + 10000
    return result


input_list = [5]
print(add_to_10000(input_list))