ICT112 WEEK 9 LAB 1
Generated Web Site for Sports Club
Your task in this assignment is to write a Python
program that generates a small web site for a local
sports club. It will read some input data from a text
file (e.g., a spreadsheet in comma-separatedvalues, or CSV, format) and automatically generate
several web pages with links going between the
pages. The idea is that as the season progresses,
and more games are played, your program will be
run on the updated input data each week or each
month to automatically generate an updated web
site that shows the latest results.
Each web page should show a different aspect of
the club activities. For example, you might have
one web page for each team in the club, with that
page displaying all the games that that team has
played, with the scores shown for each game (and
possibly the schedule of future games to be played).
Or you might have a different page for each grade
or age level, showing all the teams and results for
that grade.
There must be one top-level page, called index.html,
that is the entry point for the web site. This must
describe the whole club, and should have links to all
the other pages.
Input Data
You first task is to choose a sport or club, and get some suitable input data..
If you play a sport yourself, see if you can get some data files for your sport.
Or talk to friends and relatives and see if they are involved in any clubs or
sports that would like to have a prototype web site generated for them.
If you cannot find, beg, or borrow any real data for a sports club, there are
web sites like Fox Sports Pulse (http://www.foxsportspulse.com/) that list
teams and results for many different local sports. Some of them have results
for previous years, as well as partial results for this year. So choose a sport
you are passionate about, and copy some grades, team names, and even
scores from those pages and put them into a CSV file. Keep it simple! If you
cannot find a local sports club, you can use your favourite national club.
ICT112 Assignment2 ICT112 WEEK 9 LAB
Learning Objectives
In this assignment you will learn how to:
1. use top-down design to divide a larger data processing task into parts;
2. use Python to read and write text files;
3. use functions to raise the abstraction level of your program;
4. use string and list methods to generate HTML.
Marking Criteria
This assignment is due at the end of Week 12 (Friday 11:55pm). You must
submit your design report, your Python program, your input data file(s), and
the generated output web pages, via Blackboard.
It will be marked out of 30. Marks will be allocated as follows:
• Design Report [7 marks]. This should be a short (1-2 pages) report
giving a brief introduction to the club/sport and the application;
describing the format of the input data file(s); giving a summary of the
format of the output web site including one of two screenshots /
images; brief user documentation of how to run your program.
• Web Design and Functionality [7 marks]. To achieve maximum
marks, the generated web site should contain several (5-10) web
pages, with an entry page (index.html) that links to all the other pages,
and the other pages linking back to the entry page; the layout and
organisation of the pages should be elegant and readable, with
appropriate choices of colours; good use of HTML tables for layout; the
generated pages should conform to HTML standards; a simple CSS file
should be used to specify the look of the web pages (this does not
have to be generated by your program); some use of images; and
several pages should display summary statistics that have been
calculated from the input data (e.g. the number of games that each
team won and lost, or the average score, or average and best times).
• Python Documentation and Coding Standards [8 marks]. To
achieve maximum marks, each function should include appropriate
function docs; your program should start with a detailed documentation
comment that describes the purpose and usage of the program; correct
naming conventions should be followed for variable and function
names; and the Python code should conform to standard layout and
formatting conventions.
• Program Structure and Algorithms [8 marks]. To achieve maximum
marks, your program should be elegantly designed; concise; structured
to use functions for each major functionality of the program; use
appropriate data structures (e.g. strings, lists, tuples, dictionaries, or
objects) to store the data; make good use of Python libraries and
methods (e.g. for strings and lists); and be reasonably efficient during
execution (e.g. reading the input files just once, rather than many
times). The key criterion is the use of functions to raise the abstraction
level of the code, and make your program more concise and readable.
Note: the generated web pages should NOT contain any Javascript, as the
goal of this assignment is to generate simple static web pages using Python.