Order for this Paper or similar Assignment Help Service

Fill the order form in 3 easy steps - Less than 5 mins.

Posted: December 8th, 2022

INSY 5336 Python Programming Assignment

INSY 5336
Python Programming
Assignment

The following guidelines should be followed and will be used to grade your homework:
• All code to be implemented and submitted as a jupyter notebook (.ipynb) file. Submit a single ipynb file.
• This is an individual homework assignment, no group submissions will be accepted. If you discuss in groups, please write your code individually and submit.
• Sample runs shown in the question should be used as a guide for implementation. However extensive testing needs to be done on your code to deal with all test cases that might possibly be executed.
• The logic of how you are solving the problem should be documented in the cell preceding the code in markdown language. In the case that your code is incorrect, your logic counts as effort points.
• Every code segment in the jupyter notebook cells should be well documented with comments. Use # in the code to provide comments and they should explain the algorithm step and what the code segment is doing. Follow the example in the notebook files provided in the lectures.
• Error checking in your code is very important and differentiates a high quality programmer from a low quality one. Use try/except blocks, if statements and other python code constructs to deal with unexpected errors and deal with them gracefully. The homework will be graded for robustness of your code. You will lose 50% of the points if your code contains error/does not run! You will lose 10% of the points if your code runs but produces wrong result. In the second situation, you will gain some points back if your logic is clear and correct. Error checking in your code is critical and distinguishes a high-quality programmer from a low-quality programmer. To handle unexpected errors gracefully, use try/except blocks, if statements, and other python code constructs. The robustness of your code will be graded in the homework. If your code contains errors or does not run, you will lose 50% of your points! You will lose 10% of the points if your code runs but produces wrong result. In the second situation, you will gain some points back if your logic is clear and correct.

(100 points) Write a python program that fetches movie information for the top 500 most popular movies from Metacritic. On this websites, there is an option to show the top movies called “Movies of all times”: https://www.metacritic.com/browse/movies/score/metascore/all/filtered?sort=desc

You will first write python script that collect the movie information for the top 500 movies from the website. Next, from the movie information you have collected, extract 2 pieces of information: The name of the director(s), and the genre information of the movie (drama, action, thriller, etc). Build a dictionary of the movies that contain these information. Arrange them in any way you prefer but make sure we can access the information we need at any time. Store them in a comma separated file (called [your name]_movies.csv). (50 points)

Your main program should ask users for three choices:

1. The 1st option is ‘movie’, when user chooses this one, then your program should ask for the name of a movie (your program should be able to handle all upper and lower cases), your program should find the movie and display the director information and genre information. (10 points)

2. The 2nd option is ‘director’, when user chooses this one, then your program should ask for the name of a director, then your program should find the person, and display: (a) all the movies that this person has directed, (b) a summary of the genres of the these movies (15 points)

3. The 3rd option is ‘comparison’, when user choose this one, then your program should ask for the names of 2 directors, then calculate their cosine similarity based on the genre of movies they have directed (An example is given below on how to calculate cosine similarity). (15 points)

Lastly, writing task:
Pick 3 of your favorite directors from this list of top 500 movies. Compare the career of these 5 directors (a vs b, b vs c, a vs c), do you see any similarity? Write a short report to summarize your finding (Times new roman, 12 font size, no more than 1 page).
(10 points, attention: Do not write a description of your code, do not write a description of the result, I want to see your personal observation here)

Your submission will include 3 files.
1) The ipynb file with your python code.
2) Your .csv file that stores the reviews.
3) Your short report in word document.

Example 1:
What do you want to check on Metacritic? (Please choose ‘movie’, ‘director’, or ‘comparison’)
input: Movie
What movie do you want to check?
input: savING private RYAN

Output:
The director of the movie is Steven Spielberg.
The genre of the movie is action, war, drama.

Example 2:
What do you want to check on IMDB? (Please choose ‘movie’, ‘director’, or ‘comparison’)
input: director
Who do you want to check?
input: Michael Bay

Output:
Michael Bay has directed Transformer 1, Transformer 2, Transformer 3, Transformer 4…… etc
His most directed genres are drama: 22, war: 6, action: 10, crime: 4, thriller: 9.

Example 3:
What do you want to check on IMDB? (Please choose ‘movie’, ‘director’, or ‘comparison’)
input: COMparison
Who do you want to compare?
input 1: Michael Bay
input 2: Steven Spielberg

Output:
Michael Bay has directed Transformer 1, Transformer 2, Transformer 3, Transformer 4…… etc
His most directed genres are drama: 22, war: 6, action: 10, crime: 4, thriller: 9.

Steven Spielberg has directed Saving Private Ryan, Shindler’s List….etc
His most often played genres are drama 17, crime 20, action 31.

Based on that, they have a cosine similarity score of 0.54.

Hint 1: Organize your data in dictionaries with multiple layers.
{‘Saving Private Ryan’:{( ‘Steven Spielberg’….): [‘action’, ‘war’, ‘drama’….]}}
Movie name is the key on 1st level
The director and genre form a sub-dictionary that is the value on 1st level.
The director is the key on 2nd level (in the sub dictionary) (key cannot be mutable type, but some movies have multiple directors, so what do we do here?)
The genre is the value on the 2nd level (in the sub dictionary)

Hint 2: Some movies may be missing some information, your program will run into errors if you try to extract the same information for every movie. Think about how you deal with this.

Example 2:
Michael Bay = Transformer: [action, sci-fi, drama], Batman:[ action, drama]

Steven Spielberg = Schindler’s List:[ drama, war], American Gangster:[ drama, crime, action]

Michael Bay = {‘action’: 2, ‘drama’: 2, ‘sci-fi’: 1}
Steven Spielberg = {‘drama’: 2, ‘war’:1, ‘crime’:1, ‘action’ : 1}

Common vector = (action, drama, sci-fi, war, crime)
Michael Bay = (2,2,1,0,0)
Steven Spielberg = (1,2,0,1,1)

Then calculate the cosine similarity.

Order | Check Discount

Tags: INSY 5336 Python Programming Assignment

Assignment Help For You!

Special Offer! Get 20-30% Off on Every Order!

Why Seek Our Custom Writing Services

Every Student Wants Quality and That’s What We Deliver

Graduate Essay Writers

Only the finest writers are selected to be a part of our team, with each possessing specialized knowledge in specific subjects and a background in academic writing..

Affordable Prices

We balance affordability with exceptional writing standards by offering student-friendly prices that are competitive and reasonable compared to other writing services.

100% Plagiarism-Free

We write all our papers from scratch thus 0% similarity index. We scan every final draft before submitting it to a customer.

How it works

When you opt to place an order with Nursing StudyBay, here is what happens:

Fill the Order Form

You will complete our order form, filling in all of the fields and giving us as much instructions detail as possible.

Assignment of Writer

We assess your order and pair it with a custom writer who possesses the specific qualifications for that subject. They then start the research/write from scratch.

Order in Progress and Delivery

You and the assigned writer have direct communication throughout the process. Upon receiving the final draft, you can either approve it or request revisions.

Giving us Feedback (and other options)

We seek to understand your experience. You can also peruse testimonials from other clients. From several options, you can select your preferred writer.

Expert paper writers are just a few clicks away

Place an order in 3 easy steps. Takes less than 5 mins.

Calculate the price of your order

You will get a personal manager and a discount.
We'll send you the first draft for approval by at
Total price:
$0.00