You are on page 1of 3

Advanced Programming Reflective Report

Introduction
In the spread of content, how to easily locate one's favourite show into movies or web
series focused on various genres in a vast range of movies and shows, is becoming a very
interesting question. The user recommendation system can play an important role, particularly if
the user does not have a specific target movie. However I tried to develop and implement a
movie, TV show, or web series recommendation framework prototype combined with the real
needs of a recommendation.

Web App Development


In the last 54 days, my understanding of computer science and information technology
has transformed from learning a programming language to problem-solving to deliver a
conclusive or near-precise solution to a puzzle. Between one time and another, each new
experience is the first one; in the meantime, I developed my first application. During the
development in each step, the fundamentals, advanced programming came into the hands-on
experience which shifted my thought process to the rational paradigm. In addition to being
technical, the module's intensity was a factor that I have boosted myself to complete my first web
application development with full of vim and vigour. This is a demo application that focused on
analysis in open data of Anime Recommendations Database with a huge number of user ratings
by users, total number of users watching each show, and count of episodes released. This dataset
consists of two csv files. My interpretation was based on "the Inspiration, Building a better
anime recommendation system based on user viewing history which is described in the dataset
information." At this stage as part of this course, my objective is to achieve an Intermediate level
understanding of problem-solving, in this case by using a programming language and relational
database management system to parse and create a database from .csv files, the web framework
for web application and basic markup language to present the analysis in a web browser using
different components, version control management system for tracking of every development
step, and a platform to deploy the final result.

The solution is based on the principle to find The Referrer systems, that have turned industry and
the common man to themselves in the new age of innovative web technology due to their role
and importance in e-commerce and in receiving the highest possible acceptance of customers. E-
commerce is today thought to be closely related to customer retention, and customer loyalty is
indeed the ultimate achievement. The application design purpose is targeted towards academic
assessment. So the planning and resources needed and used are cost effective or no cost. Mostly
known, recommendation systems, they are fundamental algorithms which aim to provide
individual with the most appropriate, reliable information by extracting useful knowledge from a
comprehensive database. Recommendation algorithms identify user patterns and generate results
that are relevant to user preferences and desires, ratings.

1
Student ID: 52197851
Advanced Programming Reflective Report
The development of this application started with the parsing of csv file data and then created the
database, after this step, the definition of the database was created with tables having structured
schema of one to many relationships. The dataset taken from open source data, with License
CC0: Public Domain. “This data set contains information on user preference data from 73,516
users on 12,294 anime. Each user is able to add anime to their completed list and give it a rating
and this data set is a compilation of those ratings.” This dataset consists of two csv files namely
Anime.csv, Rating.csv, from those records I considered first two hundred users recommendation
information based on user_id column of the rating.csv file which has foreign key relationship
with the anime_id primary key column in the anime.csv file using Microsoft excel. I created .sql
schema file which creates a database structure when it is called or executed in the meantime
created the git account and integrated it with the account, github repository code hosting
platform as version control tracking for my application. I created repository in the github and
cloned it into my local system codio. The design of application was done in three steps, first I
created a program which reads from csv files and created database with two tables using .sql file.
Then I displayed them in the HTML page, by using main python program made connection with
database using sqlite3 and flask modules. I followed MVC model to present the application. The
Top Rated Anime, Most viewed Anime, Anime with most episodes, user with user_id 54 rated
most shows. The number of shows user rated in rating table is 834, Anime with anime_id 1535
(details: [1535, 'Death Note', 'Mystery, Police, Psychological, Supernatural, Thriller', 'TV', 37,
8.71, 1013917]) has most ratings. The number of ratings this anime has in rating table is 112,
number of users who gave "9" rating for the anime "[1535, 'Death Note', 'Mystery, Police,
Psychological, Supernatural, Thriller', 'TV', 37, 8.71, 1013917]" are 24 the outputs were written
using python classes, collections modules. The outputs are written in index.html file as end
product.
1. Model
Models are information. I used python classes, collections, object or other object structure. The
text provides the reader with facts. The model is either a logic, a database, or the records. The
view is just how you set out the data and how it is seen. The classes used for storing and
modifying status, normally in a certain database. On the one hand, the model and its components
should conform to the world depicted as viewed by its owner on the other hand. There should be
a single correspondence. The "skeleton" is the HTML of the foundation material. The website is
nothing but with POSTs and GETs that routes pages using flask and sqlite.
2. View
I used HTML to show the end results.

3. Controller
The  controller is a user-system by using flask and sql gave the user the suitable views to appear
at the right spot on the screen. I offered user output means by providing tables, menu button or
enter commands . The user output is sent to the controller, it is translated into relevant messages
and transmitted by the controller into one of more views. The browser integrates and converts the
HTML into a collection of ultimate pixels on the screen. 
Your Changing Perception of Advanced Programming

2
Student ID: 52197851
Advanced Programming Reflective Report
The Advanced programming module is well-structured and delivered but according to me the
time for module is very less and it is impossible to go through and cover every bit of it but
learned the precise understanding of how a website works.

If I Did This Again


If I get a chance again to do this application I will go for testing environment knowledge because
of less span of time I didn’t perform or learn sufficient manner. The first module which is
fundamentals of programming should include more content to ease the advanced programming
learning.

My Opinion and Conclusion


Finally, I have mixed opinions about the module advanced programming. I had learned about
programming concepts like testing, designs, design patterns, and also agile, scrum and extreme
programming which will help further and improve my future coding skills, gave me a
preliminary view of team and individual role management in a project. It will ease my interaction
with next modules software project management, how to be a team player and individual piller to
a team.
References
W3Schools(2021) ‘Python, HTML, CSS and Javascript’. Available at:
https://www.w3schools.com
SQLite Tutorial (2021) ‘Sqlite’. Available at: https://www.sqlitetutorial.net
Dr Bruce, S. (2021) ‘Advanced Programming’ University of Aberdeen. Available at:
https://abdn.blackboard.com
Dr Bedour, A. (2021) ‘Introduction to Programming’ University of Aberdeen. Available
at: https://abdn.blackboard.com
Mrs Wendy, L. (2021) ‘Advice on Academic Writing’ University of Aberdeen.
Stackoverflow (2021) ‘Open community for coders’ Available at:
https://www.stackoverflow.com
Heroku Dev Center (2021) ‘Technical documentation for Heroku platform’ Available
at: https://devcenter.heroku.com/categories/reference
Scott, C., Ben, S. (2021) ‘ProGit: Everything you need to know about git’. Available at:
http:// https://git-scm.com/book/en/v2
Chartjs docs (2021) ‘Javascript charting for developers’ Available at:
https://www.chartjs.org/docs/latest/

3
Student ID: 52197851

You might also like