PS6 Guidelines

TASK 1: Unjumbler
Task's soft copy uploaded on time.
The name of the folder is ps06, the name of the subfolder is Unjumbler, and the name of the file is unjumble.py (all lower case).
Folder ps06/Unjumbler also contains the files tinyWordList.txt, mediumWordList.txt, and largeWordList.txt.
Header comment includes: student name, problem set number, and title.
Program executes without errors and generates results as the ones shown in the task description.
The function unjumbleKey appropriately returns a string that is the unjumble key of its input.
The function makeUnjumbleDictionary appropriately returns a dictionary that associates unjumble keys with all words with that unjumble key.
The function makeUnjumbleDictionary uses the helper function getWordsFromFile.
The function unjumble returns a list of words from the appropriate unjumble dictionary or an empty list.
Good programming style is observed: code is concise and elegant and comments used throughout to explain non-obvious aspects of the code.
TASK 2: Location Tracker
Task's soft copy uploaded on time.
The name of the folder is ps06, the name of the subfolder is Location, and the name of the file is analyzetracks.py (all lower case).
Folder ps06/Location also contains the files trackshelper.py and sampletracks.csv.
Header comment includes: student name, problem set number, and title.
Program executes without errors and generates printouts as the ones shown in the task description.
The readEntriesFromFile(filename) function works correctly and satisfies its contract.
The trackDistance(entries) function works correctly and satisfies its contract: uses list comprehensions and other Python list operators correctly and appropriately (loops are not used).
The trackTime(entries) function works correctly and satisfies its contract: returns the amount of time in hours, not seconds.
The trackURL(entries) function works correctly and satisfies its contract: uses list comprehensions and other Python list operators correctly and appropriately (loops are not used).
Good programming style is observed: code is concise and elegant and comments used throughout to explain non-obvious aspects of the code.
TASK 3: Titanic
Task's soft copy uploaded on time.
The name of the folder is ps06, the name of the subfolder is Titanic, and the name of the file is titanic.py (all lower case).
Folder ps06/Titanic also contains the files titanic.txt and readtitanic.py.
Header comment includes: students' names, problem set number, and title.
Program executes without errors generates results as the ones shown in the task description (especially the two charts).
Program makes use of helper functions with parameters as neccessary to capture patterns that are independent of a specific problem.
Task 3a: The createSurvivalDictionaries function is correctly defined, fulfilling its contract.
Task 3b: The barChartOfSurvivalRates function is correctly defined. It should call createSurvivalDictionary and other helper functions that you might have created. It displays on the console a horizontal bar chart of sorted survival rates (from the highest to the lowest)
Task 3c: The pieChartOfVictimsCabinClasses function is correctly defined. It should call createSurvivalDictionary and other helper functions that you might have created. It displays on the console a pie chart of sorted fractions of life loss by cabin, appearing clockwise from the lowest to the highest fraction. Labels and numerical values are also displayed on the pie chart.
Good programming style is observed:
- Code is concise and elegant;
- Variable names are well-chosen, indicating the kind of value(s) stored in the variable;
- Helper functions are used liberally throughout the program obeying the tenets of abstraction and modularity;
- Comments are used throughout the program to ensure readability and to explain nonobvious aspects of the code.