Skip to content

Summary #4

@jmcrey

Description

@jmcrey

Rubric Score

Criteria 1: Valid Python Code

  • Score Level: 4/4
  • Comment(s): The code provided runs without any errors.

Criteria 2: Implementation of Project Requirements

  • Score Level: 4/4
  • Comment(s): The code produces the suite of functions and classes required of it and calls them in an appropriate order. This is especially apparent in the TextSample class and find_text_similarity functions, in that they use all the other functions to achieve their goals. Nice job!

Criteria 3: Software Architecture

  • Score Level: 4/4
  • Comment(s): Code is separated into distinct classes and functions, each of which are invoked for their own purposes.

Criteria 4: Uses Python Language Features

  • Score Level: 4/4
  • Comment(s): Code uses languages features appropriately -- if a task can be solved with a Python language feature, it is. My personal favorite is the use of range(len()) in the ngram_creator function. Nice job!

Criteria 5: Produces Accurate Output

  • Score Level: 2/4
  • Comment(s): Unfortunately, the code output is incorrect due to a small bug in the frequency_comparison function. More on this here.

Overall Score: 18/20

Overall, this was a very nice project! The only major thing I noticed was the bug in the frequency_comparison function, where we just had to switch the len() function calls with sum().
Besides that, our code had a nice way to handle the bug in get_average_sentence_length(). However, the solution of subtracting 1 from the total is somewhat limited because there may be no extra spaces or multiple extra spaces in some sentences. So, to make the solution more expandable, we can add an if statement to our for loop to filter out all non-sentences from our calculation. This is explained more here. One other very small thing is that the build_frequency_table() function did not need the keyword pass (more on this here).

In any case, the project was still very well done! Most of the functions were 100% accurate, and the code was well-organized, easy to read, made good use of Python builtin features, and had very helpful comments. So, overall, great job with this project!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions