Create the instructions for binary addition and subtraction. Walk through one addition example and one subtraction example.

Lab Challenge

Create the instructions for binary addition and subtraction. Walk through one addition example and one subtraction example. The examples should be at least four bits adding/subtracting at least one bit.

Example: 1001 + 1 = 1010

Describe the situation that results from running the processes above in a multiprocessing environment.  In the space below, rewrite the producer and consumer code in such a way that it fixes the problem you described above. 

Semaphores Assignment Instructions

Instructions

Problem #1:

The following code is for a producer and a consumer process. Assume that these processes are run in a multi-processing environment and answer the questions below.  Remember that in a multi-processing environment, the producer can execute one or a few lines of code, followed by the consumer executing one or a few lines of code, followed by the producer again, and so on.

// semWait(x)   =>  if (x.value == 1)  x.value = 0 and can continue running else  block until signaled on x

// semSignal(x) =>  x.value = 1.     Process waiting on x can run

 

int n = 0;                                               // number of items in the buffer

binary_semaphore     s = 1;              //  mutex for buffer access

binary_semaphore     delay = 0;      //  force consumer wait if buffer empty

void producer()   // One producer

{

while (true) {

produce();                                          // Produce an item

semWait(s);                               // Wait on Buffer

append();                                   // Critial Section

n++;                                             // Critical Section

if (n==1) semSignal(delay);     // Critical Section

semSignal(s);

}

}

void consumer()                      // One consumer

{

semWait(delay);

while (true)  {

semWait(s);

take();                                    // Critical Section

n–;                                        // Critical Section

semSignal(s);

consume();                           // Consume an item

if (n==0) semWait(delay);

}

}

void main()

{

n = 0;

parbegin (producer, consumer);     // Create  producer and  consumer  entities.

}

The table below traces through a possible outcome of running the processes above.

 

  Producer Consumer s n delay
      1 0 0
1 produce()   1 0 0
2 semWait(s)   0 0 0
3 append()   0 0 0
4 n++   0 1 0
5 if (n==1) semSignal(delay)   0 1 1
6 semSignal(s)   1 1 1
7   semWait(delay) 1 1 0
8   semWait(s) 0 1 0
9   take() 0 1 0
10   n– 0 0 0
11   semSignal(s) 1 0 0
12   consume() 1 0 0
13 produce()   1 0 0
14 semWait(s)   0 0 0
15 append()   0 0 0
16 n++   0 1 0
17 if (n==1) semSignal(delay)   0 1 1
18 semSignal(s)   1 1 1
19   if (n==0) semWait(delay) 1 1 1
20   semWait(s) 0 1 1
21   take() 0 1 1
22   n– 0 0 1
23   semSignal(s) 1 0 1
24   consume() 1 0 1
25   if (n==0) semWait(delay) 1 0 0
26   semWait(s) 0 0 0
27   take() 0 0 0
28   n– 0 -1 0

 

Question 1:  Describe the situation that results from running the processes above in a multiprocessing environment.  Be very specific in your answer.  Elaborate on what has happened in the above scenario and why.

 

 Question 2:  In the space below, rewrite the producer and consumer code in such a way that it fixes the problem you described above.  Be sure to highlight your changes in yellow like this.

 

Problem #2:

The following code is for another producer and a consumer process. Assume that these processes are run in a multi-processing environment and answer the questions below.  Remember that in a multi-processing environment, the producer can execute one or a few lines of code, followed by the consumer executing one or a few lines of code, followed by the producer again, and so on.

// semWait(x)   =>  if (x.value == 1)  x.value = 0 and can continue running else  block until signaled on x

// semSignal(x) =>  x.value = 1.     Process waiting on x can run

 

  int n = 0;                                            // number of items in the buffer

binary_semaphore     s = 1;             //  mutex for buffer access

binary_semaphore     delay = 0;     //  force consumer wait if buffer empty

 

void producer()     // One producer

{

while (true) {

produce();                                  // Produce an item

semWait(s);                               // Wait on Buffer

append();                                   //Critical Section

n++;                                           // Critical Section

semSignal(delay);     // Critical Section

semSignal(s);

}

}

 

void consumer()        // One consumer

{

semWait(delay);

while (true)  {

semWait(s);

take();                                 // Critical Section

n–;                                      // Critical Section

consume();                         // Consume an item

semWait(delay);

}

}

   

void main()

{n = 0;parbegin (producer, consumer);     // Create  producer and  consumer  entities.}

To trace through the possibilities, you may find it helpful to fill in the table below to keep track of the values in s, n, and delay.  You may add as many rows as needed to the table.  This table will not be graded, however.  Only your answers to the questions below will be graded.

 

  Producer Consumer s n Delay
      1 0 0
1          
2          
3          
4          
5          
6          
7          
8          
9          
10          
11          
12          
13          
14          
15          

 

Question 1:  Describe the inevitable outcome of running these processes in a multiprocessing environment.  Be very specific in your answer.  Elaborate on what has happened and why.

 

Question 2:  In the space below, rewrite the consumer and producer code in such a way that it fixes the problem you described above.  Be sure to highlight your changes in yellow like this.

Problem #3:

In a minimum of 150 words, compare and contrast mutex locks and semaphores.

 

Problem #4:

In a minimum of 150 words, discuss the concept of priority inversion and describe one way to solve the problem.

Problem #5:

After reading section 5.7.2 in your textbook and “Concurrent Control with ‘Readers’ and ‘Writers’” in your Reading & Study folder, Describe the first and second variations of the Readers-Writers problem.  Include in your discussion the problem that may result from either variation and a possible solution for each.  You may express your answer to the “possible solution for each” in code or pseudo-code, but be sure to describe in your own words the algorithm that you are suggesting as a solution.

Write a Python program that creates and uses variables of different types. Create variables with information about yourself. Use the print() function to print information to the user.

Assignment 1 – Two Truths and a Lie

Learning Objective

Write a Python program that creates and uses variables of different types.

Assignment Description

Create variables with information about yourself. Use the print() function to print information to the user.

Steps

  1. In PyCharm (Community Edition), open an existing ITP115 project. If you do not have a project, then create a new project in PyCharm. This project can be anywhere on your computer that is convenient to access such as in your Documents folder or on your Desktop. Follow the instructions in the installation document.
  2. Under the Assignments directory, create a new directory called a1_last_first where last is your last/family name and first is your preferred first name. Use all lowercase letters. If you do not have an Assignments directory, then first create a new directory in PyCharm in your ITP115 project.
  3. In the a1_last_first directory, create a new Python file called assignment1.py.
  4. At the top of the file, put comments in the following format and replace the name,

email, and section with your actual information:


# ITP 115, Fall 2022
# Section: number or nickname
# Assignment 1
# Description:
# Describe what this program does such as:
# This program displays two truths and a lie.

  1. Create the following variables with information about yourself:
    o 5 strings (str): first, last, statement1, statement2, statement3 o 3 Booleans (bool): truth1, truth2, truth3

This content is protected and may not be shared, uploaded, or distributed.

ITP 115 2022-08-21 o 2 integers (int): pets, siblings

  1. The variable named first should hold your preferred first name while the variable named last should hold your last/family name.
  2. The statement1, statement2, and statement3 variables should be three statements about you such that two of them are true and one of them is a lie.
  3. The truth1, truth2, and truth3 variables should be set to True or False depending on if the corresponding statement is a truth or a lie. Two of them should be set to True and one them should be set to False.
  4. The variable named pets should be an integer representing the number of pets you have.
  5. The variable named siblings should be an integer representing the number of sibling you have.

11.Print your full name on one line using one print statement and the two appropriate variables.

12.Print the number of pets and siblings using the appropriate integer variables.

13.Print the three statements using the appropriate string variables.

14.Print messages saying if each statement is true by using the appropriate Boolean variables.

15.Be sure to comment your code. This means that there should be comments throughout your code. Generally, a comment for every section of code explaining what it does. Points will be deducted for not having comments.

16.Test the program. Look at the Sample Output below. Assignments that do not run are subject to 20% penalty.

17.Prepare your submission:
o Find the a1_last_first folder on your computer and compress it. This cannot be

done within PyCharm.

o On Windows, use File Explorer to select the folder. Right click and select the Send to -> Compressed (zipped) folder option. This will create a zip file.

o On Mac OS, use Finder to select the folder. Right click and select the Compress “FolderName” option. This will create a zip file.

18.Upload the zip file to your Blackboard section:

o On Blackboard, navigate to the appropriate item.
o Click on the specific item for this assignment.
o Click on the Browse Local Files button and select the file. o Click the Submit button.

Grading

  • §  This assignment is worth 20 points.
  • §  Make sure that you the program runs. Points will be taken off if the graders have to edit the source code to test your program.
  • §  Make sure to submit your assignment correctly as described above. Points will be taken off for improper submission.

Item Points

Creating 5 str variables 5

Create 3 bool variables 3

Create 2 int variables 2

Print using variables 5

Comments, followed instructions, and proper submission 5

Total 20

Sample Output

Full name: Trina Gregory

Number of pets: 2

Number of siblings: 1

Statement 1: I have lived in a country outside of the US. Statement 2: I can juggle.
Statement 3: I have ice skated at Rockefeller Center in NYC.

Statement 1 is False

Statement 2 is True

Statement 3 is True

 

 

Create the instructions for binary addition and subtraction. Walk through one addition example and one subtraction example. The examples should be at least four bits adding/subtracting at least one bit.

Lab Challange

Create the instructions for binary addition and subtraction. Walk through one addition example and one subtraction example. The examples should be at least four bits adding/subtracting at least one bit.

Example: 1001 + 1 = 1010

Write a Python program that creates and uses variables of different types. Get and store input from the user. Output information including escape characters. Create your own Mad Libs story.

Assignment 2 – Mad Libs Story

Learning Objective

Write a Python program that creates and uses variables of different types. Get and store input from the user. Output information including escape characters.

Assignment Description

Create your own Mad Libs story. The idea of the Mad Libs game is to write down different words that fit parts of speech, and then incorporate those words into a prewritten story.

Steps

  1. In PyCharm (Community Edition), open your existing ITP115 project.
  2. Under the Assignments directory, create a new directory called a2_last_first where last is your last/family name and first is your preferred first name. Use all lowercase letters.
  3. In the directory, create a new Python file called assignment2.py.
  4. At the top of the file, put comments in the following format and replace the name, email, and section with your actual information:


# ITP 115, Fall 2022
# Section: number or nickname
# Assignment 2
# Description:
# Describe what this program does such as:
# This program creates a Mad Libs story.
# It gets input from the user and prints output.

  1. Use the input() function to user input for the following input and store them in variables:

o 5 strings (str)
o 3 integers (int)
o 1 floating point number (float)

This content is protected and may not be shared, uploaded, or distributed.

ITP 115 2022-08-21

o Name the variables whatever you want, but use good coding practice.

o You can get more user input if you want.

o The strings need to be different parts of speech such as a noun, verb, adjective, adverb, or preposition. You can also ask for a special type of the part of speech, such as a place (“Disneyland”), a proper name (“Khurram”), or a color.

  1. At least two of the values entered must be in used in some mathematical calculation (e.g. adding, multiplying, etc.), and the result should be used in the story. Make sure to use the int() and float() functions to convert the strings entered by the user to the appropriate number type.
  2. Your program must then print out the story with the user’s words injected into the story. You may use multiple print() statements. If you do not use multiple print() statements, then use the new line escape character to print on multiple lines.
  3. Signify to the user their input in the story using “” (e.g. “chicken” or “42”). To do this, use escape characters. In other words, when the story is printed, the values of the variables will be surrounded by quotes.
  4. Since there will quotation marks around the words, follow proper formatting and ensure there are no extra spaces (e.g. “42”, not ” 42 “).

10.Create your own story. Do not use the story in the Sample Output.

11.Be sure to comment your code. This means that there should be comments throughout your code. Generally, a comment for every section of code explaining what it does. Points will be deducted for not having comments.

12.Follow coding conventions.

13.Test the program. Look at the Sample Output below. Assignments that do not run are subject to 20% penalty.

14.Prepare your submission:
o Find the a2_last_first folder on your computer and compress it. This cannot be

done within PyCharm.

o On Windows, use File Explorer to select the folder. Right click and select the Send to -> Compressed (zipped) folder option. This will create a zip file.

o On Mac OS, use Finder to select the folder. Right click and select the Compress “FolderName” option. This will create a zip file.

 

15.Upload the zip file to your Blackboard section:
o On Blackboard, navigate to the appropriate item.
o Click on the specific item for this assignment.
o Click on the Browse Local Files button and select the file. o Click the Submit button.

Grading

  • §  This assignment is worth 25 points.
  • §  Make sure that you the program runs. Points will be taken off if the graders have to

edit the source code to test your program.

  • §  Make sure to submit your assignment correctly as described above. Points will be taken off for improper submission.

Item Points

Reading in each individual input (9) 9

Mathematical calculation 2

User input is in the story with surrounding quotes 9

Comments, style, and proper submission 5

Total 25

 

Sample Output

Enter an animal (plural): sloths

Enter an adjective: funny

Enter another adjective: hungry

Enter a verb: fly

Enter a verb ending in ‘ing’: playing chess Enter a number: 3
Enter a second number: 10
Enter a third number: 4

Enter a number with a decimal: 3.2

Today I adopted “3” pet “sloths”.
I learned that each animal needs “3.2” hours of “playing chess” every day, and that they travel in groups of “4”.
They are so “funny” that I decided to adopt “10” more.
Now I have “13” “sloths” and I am so “hungry” that I want to “fly”.

 

 

Write a Python program that uses arithmetic operators and branching statements. Write a program that calculates the amount of change to be returned from a vending machine using Harry Potter currency.

Assignment 3 – Vending Machine

Learning Objective

Write a Python program that uses arithmetic operators and branching statements.

Assignment Description

Write a program that calculates the amount of change to be returned from a vending machine using Harry Potter currency. In the wizarding world of Harry Potter, the currency system is not based off dollars and cents, but instead 3 different coins: knuts, sickles, and galleons. The conversion values for these coins in knuts are as follows:

  • 1 knut = 1 knut
  • 1 sickle = 29 knuts
  • 1 galleon = 493 knuts

The knut is similar to a cent (or penny) in U.S. currency, and the sickle is similar to a U.S. quarter. One dollar equals 4 quarters or 100 cents. In Harry Potter currency, one galleon equals 17 sickles or 493 knuts.

The vending machine dispenses 4 options: Assortment of candy for 11 sickles and 7 knuts, Butterbeer for 2 sickles, Daily Prophet for 5 knuts, and Quill for 6 sickles.

The vending machine accepts galleons, sickles, and knuts for payment.

Steps

  1. In PyCharm (Community Edition), open your existing ITP115 project.
  2. Under the Assignments directory, create a new directory called a3_last_first where last is your last/family name and first is your preferred first name. Use all lowercase letters.
  3. In the directory, create a new Python file called assignment3.py.
  4. At the top of the file, put comments in the following format and replace the name, email, and section with your actual information:
  1. # ITP 115, Fall 2022

This content is protected and may not be shared, uploaded, or distributed.

ITP 115

2022-08-21

# Section: number or nickname
# Assignment 3
# Description:
# Describe what this program does such as:
# This program creates a Harry Potter vending machine.
# User enters payment and the program determines the change.

  1. Display the following to the user:
  1. Please select an item from the vending machine:
  2. a) Assortment of Candy for 11 sickles and 7 knuts
  3. b) Butterbeer for 2 sickles
  4. c) Quill for 6 sickles
  5. d) Daily Prophet for 5 knuts
  1. Get input from the user for their menu choice using the following prompt:

Choice: b

  1. Your code must handle the user entering upper case and lower case letters. For example, the user can enter b or B to select a Butterbeer. Create some variables to hold the item (string) and the cost (int). The user input is shown in green.
  2. Your code must handle the user entering an invalid menu choice. If the user enters something other than the choices on the menu, then tell them they have entered an invalid option. Since we have not covered how to repeat code yet, just pick an option for them. Here is an example:
  1. You entered an invalid choice, thus the item selected is the Quill
  1. Have the user enter in the number of galleon, sickles and knuts. When testing, the grader will only enter in an integer value.
  1. Please pay by entering the number of each coin
  2. Number of galleons: 1
  3. Number of sickles: 0
  4. Number of knuts: 0

10.Calculate the cost of the item in knuts and put that into a variable. Calculate the payment in knuts and put that into a variable. Print out the cost and the payment. Here is an example:

   Cost in knuts: 326

   Payment in knuts: 493

Page 2 of 6

ITP 115 2022-08-21

11.If the payment is less than the cost, then print a message to the user saying that the user will not receive their item. Here is an example:

   You did not enter enough money and will not receive the Quill

12.If the payment is enough, then calculate the change in knuts. Print the item and the change in knuts. Using the division and modulo operators, calculate the change that will be dispensed in galleons, sickles, and knuts. Print the number of each coin for the change. Feel free to create variables to hold information.

o You must dispense change in the largest possible coins. For example, if an item costs 326 knuts and the payment is one galleon (493 knuts), the change is 167 knuts. You may not simply return 167 knuts; it should be 5 sickles, and 22 knuts.

o Example of output:

   You purchased the Assortment of Candy

   Your change is 167 knuts

   You will be given

     Galleons: 0

     Sickles: 5

     Knuts: 22

13.Be sure to comment your code. This means that there should be comments throughout your code. Generally, a comment for every section of code explaining what it does. Points will be deducted for not having comments.

14.Follow coding conventions.

15.Test the program. Look at the Sample Output below. Assignments that do not run are subject to 20% penalty.

16.Prepare your submission:
o Find the a3_last_first folder on your computer and compress it. This cannot be

done within PyCharm.

o On Windows, use File Explorer to select the folder. Right click and select the Send to -> Compressed (zipped) folder option. This will create a zip file.

o On Mac OS, use Finder to select the folder. Right click and select the Compress “FolderName” option. This will create a zip file.

17.Upload the zip file to your Blackboard section:

Page 3 of 6

ITP 115

2022-08-21

o On Blackboard, navigate to the appropriate item.
o Click on the specific item for this assignment.
o Click on the Browse Local Files button and select the file. o Click the Submit button.

Grading

  • §  This assignment is worth 30 points.
  • §  Make sure that you the program runs. Points will be taken off if the graders have to

edit the source code to test your program.

  • §  Make sure to submit your assignment correctly as described above. Points will be taken off for improper submission.

Item Points

Menu 4

User Input for item and payment 10

Error checking for uppercase and invalid option 5

Math operations 5

Output to user 5

Comments, followed instructions, and proper submission 1

Total

30

Page 4 of 6

ITP 115

2022-08-21

Sample Output

Example 1:

Please select an item from the vending machine:

  1. a) Assortment of Candy for 11 sickles and 7 knuts
  2. b) Butterbeer for 2 sickles
  3. c) Quill for 6 sickles
  4. d) Daily Prophet for 5 knuts

Choice: A

Please pay by entering the number of each coin

Number of galleons: 1

Number of sickles: 0

Number of knuts: 0

Cost in knuts: 326

Payment in knuts: 493

You purchased the Assortment of Candy

Your change is 167 knuts

You will be given

     Galleons: 0

     Sickles: 5

     Knuts: 22

Example 2:

Please select an item from the vending machine:

  1. a) Assortment of Candy for 11 sickles and 7 knuts
  2. b) Butterbeer for 2 sickles
  3. c) Quill for 6 sickles
  4. d) Daily Prophet for 5 knuts

Choice: c

Please pay by entering the number of each coin

Number of galleons: 0

Number of sickles: 2

Number of knuts: 42

Cost in knuts: 174

Payment in knuts: 100

You did not enter enough money and will not receive the Quill

Page 5 of 6

ITP 115

2022-08-21

Example 3:

Please select an item from the vending machine:

  1. a) Assortment of Candy for 11 sickles and 7 knuts
  2. b) Butterbeer for 2 sickles
  3. c) Quill for 6 sickles
  4. d) Daily Prophet for 5 knuts

Choice: e

You entered an invalid choice, thus the item selected is the Quill

Please pay by entering the number of each coin

Number of galleons: 0

Number of sickles: 7

Number of knuts: 3

Cost in knuts: 174

Payment in knuts: 206

You purchased the Quill

Your change is 32 knuts

You will be given

     Galleons: 0

     Sickles: 1

     Knuts: 3

Page 6 of 6

 

Write a Python program that prints output, gets user input, and uses variables. If you do not have a project, then create a new project in PyCharm.

Lab 1 – Input / Output

Write a Python program that prints output, gets user input, and uses variables.

Lab Description

Print a quote using escape characters. Get user input for the date and print a message to the user with tomorrow’s date.

Steps

  1. In PyCharm (Community Edition), open your existing ITP115 project. If you do not have a project, then create a new project in PyCharm. This project can be anywhere on your computer that is convenient to access such as in your Documents folder or on your Desktop.
  2. Under the Labs directory, create a new Python file called lab1_last_first.py where last is your last/family name and first is your preferred first name. Use all lowercase letters. If you do not have a Labs directory, then create a new directory in PyCharm in your ITP115 project.
  3. At the top of the file, put comments in the following format and replace the name, email, and section with your actual information:

 

  1. # ITP 115, Fall 2022
  2. # Section: number or nickname
  3. # Lab 1
  1. Call the print function and use escape characters to display the following quote:

“Do your little bit of good where you are; it’s those little bits of  good put together that overwhelm the world.” – Desmond Tutu

You may call the print function one or multiple times.

This content is protected and may not be shared, uploaded, or distributed.

 

  1. Ask the user for the day of the week, month, and the date. Store each answer in a variable. Make sure to convert the date to an integer. Print a message with the day of the week, today’s date, and tomorrow’s date. You are not expected to make this work for all dates. If the date entered is the last day of the month, you do not need to update the month. The user input is shown in green text.
  1. Enter the day of the week: Tuesday
  2. Enter the month: August
  3. Enter the date: 30

Today is Tuesday, August 30. Tomorrow will be August 31.

  1. Upload the Python file named lab1_last_first.py to your Blackboard section: o On Blackboard, navigate to the appropriate item.
    o Click on the specific item for this lab.
    o Click on the Browse Local Files button and select the file.

o Click the Submit button.

Additional Notes

  • Each lab is worth 1 point. To earn the point, make sure your program runs correctly and that you submit it correctly.

ITP 115 2022-08-20 Sample Output

“Do your little bit of good where you are; it’s those little bits of good put together that overwhelm the world.”
– Desmond Tutu

Enter the day of the week: Tuesday

Enter the month: August

Enter the date: 30

Today is Tuesday, August 30. Tomorrow will be August 31.

 

 

Define computer security and privacy, discuss a specific aspect of computer security and privacy, and state your thesis. How is computer security understood? What methodology is implemented? How is data collected? Who collects the data? What limitations exist with computer security and what are the implications?

Computer security vs. Privacy

Task 1 – Research:

First, visit https://www.computerweekly.com/opinion/The-greatest-contest-ever-privacy- versus-security and read “The greatest contest ever – privacy versus security” article on computer security versus privacy to gain an understanding of the topic. Next, conduct a brief research on the “Computer Security Versus Privacy” topic referencing current events as they relate to the topic. Then, analyze the information with respect to different perspectives, theories, or solutions. Finally, present and describe your opinion on the topic.

Below is a list of topics you need to address in your paper:

  • Define computer security and privacy, discuss a specific aspect of computer security and privacy, and state your thesis.
  • How is computer security understood? What methodology is implemented? How is data collected? Who collects the data? What limitations exist with computer security and what are the implications?
  • How is privacy understood? What methodology is implemented? How is data secured? Who uses the data and for what purpose?
  • Present in-depth information regarding existing knowledge and/or research on computer security and privacy. What are the various viewpoints and ideas regarding computer security and privacy?
  • Based on existing literature and data, what insightful trends can you identify that relate to your argument?
  • What conclusions can you draw from your findings?

 

Choose an idea to evaluate for this company. Decide what your recommendation will be. Is the idea a good fit for this company? Write a report based on your research, findings and recommendation.

 

Choose an idea to evaluate for this company. Whatever idea you choose it MUST be one the company does not currently use. Some possible ideas include:

A sustainable energy source, product or policy for the company to use.
A new marketing strategy for a demographic the company does not currently target.
A social media platform or technology for the company to use.
A new business model or strategy, such as drop shipping.

Based on your research, decide what your recommendation will be. Is the idea a good fit for this company? Your answer does not have to be yes. If the idea seems good, then recommend it. If the research suggests that the idea is a bad fit for the company, then your recommendation will be to not pursue the idea.

Write a report based on your research, findings and recommendation. The report should be written in 12 pt in a professional looking font, you have to convince your audience (the board and/or CEO of the company you have researched) to follow your recommendation, so be specific about costs, savings, and benefits. Include an appendix with relevant supplementary information that supports your recommendation. Document your sources (at least three) using APA style in-text citations and a References page.

Write an essay analysis of the need of some kind of integrated repository or index to the practices in the field.

Integrated repository or Index

Write an essay analysis of the need of some kind of integrated repository or index to the practices in the field.