Test your python skills in exploring and manipulating text

Assignment Help Python Programming
Reference no: EM132368215

Assignment - Sonnets and Doublets

Overview

In this assignment you will have the opportunity to test your Python skills in exploring and manipulating text. Throughout the assignment you are expected to apply the principles of problem solving that we have already discussed in this course.

Learning Outcomes Assessed

The following course learning outcomes are assessed by completing this assessment:

Knowledge:

K1. Identify and use the correct syntax of a common programming language.

K2. Recall and use typical programming constructs to design and implement simple software solutions.

K4. Explain the importance of programming style concepts (documentation, mnemonic names, indentation).

Skills:

S1. Utilise pseudocode and/or algorithms as a major program design technique.

S2. Write and implement a solution algorithm using basic programming constructs.

S4. Describe program functionality based on analysis of given program code.

Application of knowledge and skills:

A1. Develop self-reliance and judgement in adapting algorithms to diverse contexts.

A2. Design and write program solutions to identified problems using accepted design constructs.

Assessment Details

Part 1 Sonnets - Background

Sonnets are poems which have the following form1 (Shakespeare's sonnet 116):

Let me not to the marriage of true minds (A)
Admit impediments, love is not love (B)
Which alters when it alteration finds, (A)
Or bends with the remover to remove. (B)

O no, it is an ever fixèd mark (C) That looks on tempests and is never shaken; (D)

It is the star to every wand'ring bark, (C)

Whose worth's unknown although his height be taken. (D)

Love's not time's fool, though rosy lips and cheeks (E)

Within his bending sickle's compass come, (F)

Love alters not with his brief hours and weeks, (E)

But bears it out even to the edge of doom: (F)

If this be error and upon me proved, (G)

I never writ, nor no man ever loved. (G)

There are 3 quatrains (group of 4 lines) and a couplet (2 lines) making a total of 14 lines. The rhyming pattern is shown with the letters at the end of each line.

Each line is in iambic pentameter2 (weak-strong). A standard line of iambic pentameter is five iambic feet in a row:

Shakespeare has written some 154 sonnets together with many plays - doubt (Craig & Kinney, 2009; Holmes & Kardos, 2003; James & Rubinstein, 2006; Jarmusch et al., 2013; Rubbo et al., 2008) exists as to whether, the person known to be called Shakespeare, was the actual author of all the work presented under this name.

There is a considerable prize still to be claimed by anyone who can prove or disprove this.

Your Task - explore possible authorship

Even though we have just become familiar with Python, there are three very simple tests that we can apply to authorship - and we have the means, with lists and strings in Python, to implement them:

1. Count the occurrences of each letter4 in the text.

2. Print the number of one-letter, two-letter, three-letter words and so on.

3. Print the number of occurrences of each different word in the text.

The first pass might be to see if there is consistency across all the sonnets.

Use the text from the sonnets and apply these three metrics. (We shall leave the actual plan and algorithm up to you - discuss it with your lecturer/tutor if you wish)

Three possible authors who might have written under Shakespeare's name are: Francis Bacon, Ben Jonson and Christopher Marlowe. Their works are readily available online.

Part 2: Doublets

Doublets (or word ladders) are often found in magazines and newspapers together with cryptic crosswords and other puzzles.

The idea is very simple: you might be given two words - often they are antonyms - and your task is to create a ladder of words with these two words at the top and bottom of the ladder.

For example:

HEAD

HEAL

TEAL

TELL

TALL

TAIL

The aim is to make the number of words joining HEAD and TAIL as few as possible.

In this assignment you are given a file5 of some 5700 words together with the pairs of words below (to use as a start and end); you are asked to use your Python skills to find the fewest words that will link them.

Use the following pairs of words:

i. FLOUR-BREAD
ii. CHAOS-PEACE
iii. TEARS-SMILE
iv. WITCH-FAIRY
v. BLACK-WHITE
vi. SLEEP-DREAM
vii. RIVER-SHORE

Then, choose 3 different pairs of words from the file and use these as well.

You may supply your word processed documentation in either Microsoft Word or LibreOffice/OpenOffice formats only - no proprietary Mac specific formats, please.

In addition to the marking criteria, marks may be deducted for failure to comply with the assignment requirements, including (but not limited to):
• Incomplete implementation(s), and
• Incomplete submissions (e.g. missing files), and
• Poor spelling and grammar.

You might be asked to demonstrate and explain your work.

Attachment:- Assignment.rar

Reference no: EM132368215

Questions Cloud

Solution algorithm using basic programming constructs : Develop self-reliance and judgement in adapting algorithms to diverse contexts and Design and write program solutions to identified problems using accepted
What is the probability that allele : What is the probability that allele "x" will eventually become fixed in the population?
Consider a study which researchers compared : Consider a study which researchers compared the levels of BPA found in water stored
Amy wants to become an orthopedic surgeon : Why bone is vascularized, explain your answer to her, because she does not like blood and she thinks that bone does not have blood.
Test your python skills in exploring and manipulating text : Recall and use typical programming constructs to design and implement simple software solutions - Explain the importance of programming style concepts
Why is it accurate to say that a fish : Why is it accurate to say that a fish has a more complex immune system than a jellyfish?
Lose an electron to become sodium ion : Why is sodium (atomic number 11) inclined to lose an electron to become sodium ion (Na+), while chlorine (atomic number 17) is inclined to take up
What determines if an atom is chemically reactive : What determines if an atom is chemically reactive? Is neon (the gas once lighting the Las Vegas strip) chemically reactive? Explain.
How are electrons placed into the orbitals : Given that fluorine has an atomic number of 9, how are electrons placed into the orbitals? In what sense it the outer electron shell incomplete?

Reviews

Write a Review

Python Programming Questions & Answers

  Compare the scores of two volleyball teams

Compare the scores of two volleyball teams that play each other. To win a match in volleyball, a team must get 25 points.

  Write a program to compute the value of f with given n input

The Fibonacci Sequence is computed based on the following formula. Write a program to compute the value of f(n) with a given n input by console.

  Write the definition of and test the function toupper

Write the definition of, and test the function toUpper which has a parameter letter: toUpper.The function returns the upper case of a given letter if possible.

  Write a program to take in telephone number that uses letter

Write a program to take in a telephone number that uses letters instead of numbers, such as 1-800-CALL-ATT. The program should use a function.

  The function should return the day name (''su'',''mo''..etc)

Write the function day(d,m) where m is an integer from 1 through 12 expressing a month, and d is an integer from 1 through 31 expressing the day part of a date in 2014.

  Compute the value of e using all three of the methods

Write a program that computes the value of e using all three of the methods described. Use values of 1, 2, 5, 10, 100, 1000, and 10000 for the first method.

  Write a boolean function which takes an integer as argument

Write a Boolean function named is_prime which takes an integer as an argument and returns true if the argument is a prime number, or false otherwise.

  Develop program which reads data file containing information

In this assignment you will write a program which reads a data file containing information in different formats, validates this data, and prints out a report incorporating this data.

  Write a program to check if a number is a prime number

Write a program that will take users input and evaluate whether the number entered is a zero,negative or positive. A program to check if a number is a prime no.

  Create a python script that takes two parameters

Create a Python script that takes two parameters. List all files names, size, date created in the given folder. Use catch-exception block.

  Write a program that reads a file containing two columns

Write a program that reads a file containing two columns of integers. Print the sum of each column. Use a loop to read the data from the file.

  Write program that is capable of generating a set words

You will write a Python program that is capable of generating a likely set of completion words given the start of a word as input to the program.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd