Applications

CSCI 1933 – Introduction to Algorithms and Data Structures
Adriana Picoral

Problem 1 – Student Grade Book

Write a Java application that stores student grades. Each student maps to a list of their quiz scores. Your program should:

  1. Add quiz scores
  2. Compute the average score for each student
  3. Print the name of the student with their quiz average for a course with N students, from highest average to lowest

Example output:

       Roster:
       1. Carol: 91.3
       2. Alice: 88.5 
       3. Bob: 74.0

Problem 2 – Temperature Log

Write a Java application that tracks daily high and low temperatures (7 days max). Your program should:

  1. Add temperatures for each day (high, low)
  2. Calculate the average temperature high and low for a week

Problem 3 – Phone Book

Write a Java application to store a phone book (name → phone number). Your program should:

  1. Add a contact
  2. Look up and print the phone number for a given name (print a message if not found)
  3. Print all contacts whose names contain a substring (search), in alphabetical order

Problem 4 – Anagram Groups

Write a Java application that groups a list of words into anagram families. Your program should:

  1. Ask user to enter a valid word, calculate all combinations of characters to form new words, print each word and ask the user to indicate if the word is valid or not, storing anagrams
  2. Print each anagram group that has more than one word

Example output:

       Enter a valid word: eat
       Is "aet" a valid word [Y]es or [N]o? N
       Is "ate" a valid word [Y]es or [N]o? Y
       Is "eta" a valid word [Y]es or [N]o? N
       Is "tae" a valid word [Y]es or [N]o? N
       Is "tea" a valid word [Y]es or [N]o? Y

       [eat, tea, ate]
       [race, care, acre]

Student Rating of Teaching

Go to canvas, on the menu on the left you will see a “Student Rating of Teaching” option.

Please complete the survey: it’s anonymous, I don’t get the results until summer break, results are used for improving my teaching (and providing feedback to my boss)