1. Homepage
  2. Programming
  3. [2022] CMT120 Fundamentals of Programming - Synoptic Resit Coursework- File System, Amoeba Wars and Flask Website

[2022] CMT120 Fundamentals of Programming - Synoptic Resit Coursework- File System, Amoeba Wars and Flask Website

Engage in a Conversation
CMT120Fundamentals of ProgrammingFile SystemCardiffPythonJavascriptFlaskAmoeba Wars

Cardiff School of Computer Science and Informatics Coursework Assessment Pro-forma CourseNana.COM


CourseNana.COM

This assignment is worth 100% of the total marks available for this module. If coursework is submitted late (and where there are no extenuating circumstances): CourseNana.COM

  1. If the assessment is submitted no later than 24 hours after the deadline, the mark for the assessment will be capped at the minimum pass mark;
  2. If the assessment is submitted more than 24 hours after the deadline, a mark of 0 will be given for the assessment.

Your submission must include the official Coursework Submission Cover sheet, which can be found here: https://docs.cs.cf.ac.uk/downloads/coursework/Coversheet.pdf CourseNana.COM

Submission Instructions CourseNana.COM

All coursework should be submitted via upload to Learning Central. CourseNana.COM

Relative to Task 3, the following should also be pushed to the School’s GitLab server: CourseNana.COM

  • Completeprojectfolder,whichincludesalldirectoriesandsub-directories,necessary for the project deployment. DO NOT push a single .zip file - instead, this should be uploaded to Learning Central.
  • Any ’supplementary’ files, e.g. virtual environment or bytecode files or folders (venv, .git folders, .pyc files, etc.), which are not vital for the deployment should be excluded.
  • Full instructions on what you need to push your project code to GitLab are found in Section ’– Submission to the School’s GitLab’ on p. 6. Please make sure you read these carefully.

1 Any code submitted will be run on a system equivalent to the laptops provided to the students, and must be submitted as stipulated in the instructions above. The code should run without any changes being required to the submitted code, including editing of filenames. CourseNana.COM

Any deviation from the submission instructions above (including the number and types of files submitted) may result in a deduction of 25% for the corresponding task.
Staff reserve the right to invite students to a meeting to discuss coursework submissions.
CourseNana.COM

Assignment CourseNana.COM

This coursework is comprised of three tasks which you need to complete for this assignment. CourseNana.COM

Task 1 - File System Display CourseNana.COM

Write a command line program that prints the directory and file system tree structure that originates in the current directory. The algorithm used to explore the tree must be recursive. This task can be solved either in Python or JavaScript. Sample output: CourseNana.COM

./
----picture1.png ----slideShow.pptx ----UniProject --------doc1.docx --------doc2.docx --------old files ------------doc1.old ----personalstuff --------holidays.xlsx
CourseNana.COM

In the example, the current folder containts two files (i.e., ”picture1.png” and ”slideShow.pptx”) and two directories (i.e., ”UniProject” and ”personalstuff”). Directory ”UniProject” contains two file (i.e., ”doc1.docx” and ”doc2.docx”) and one folder (i.e., ”old files”) with one file. Directory ”personalstuff” contains only one file, i.e., ”holidays.xlsx”. CourseNana.COM

Task 2 - Amoeba Wars CourseNana.COM

Write a command line program that allows to play the game of Amoeba Wars for two human players. A description of the game is given below. This task can be solved either in Python or JavaScript. CourseNana.COM

........................................................................................ CourseNana.COM

The game is played on a square grid. The first player is ’O’ and the other is ’X’. The game starts with an ’O’ amoeba in the bottom left corner, and an ’X’ amoeba in the top right corner (all the examples suppose a game played on an 8x8 board): CourseNana.COM

2 CourseNana.COM

page3image59057920 CourseNana.COM

’O’ plays first and has one move. Then, the players take turns in making three consecutive moves. Each move can be to: CourseNana.COM

Create a new amoeba, by writing the player’s symbol in an accessible empty cell, or CourseNana.COM

Kill one of the opponent’s amoebas in an accessible cell, by shading the cell. A shaded cell is not empty and is not an amoeba. CourseNana.COM

A cell is accessible if it is next to one of the player’s live amoebas, horizontally, vertically, or diagonally.
For example, in the following opening firstly ’O’ played at B2, secondly ’X’ created three new Amoebaes (i.e., G7, F6, and E5), and finally ’O’ created two (i.e., C3 and D4) and killed one of ’X’s (i.e., E5):
CourseNana.COM

A player must make all of their moves in a turn. The game ends when a player cannot make all the moves. The score of a player is the number of live amoebas they have when the game ends, plus the number of opponent’s amoebas killed. The player with the highest score wins. ........................................................................................ Your program should allow to play a two-players game of Amoeba War from the command line. Initially, the game asks for the size of the board. The board must be square (e.g., 6x6, 7x7, 8x8). Once the size has been entered, the initial board is drawn and the ’O’ player starts. The drawing displays the board, the column and row references (i.e., A, B, C,... and 1, 2, 3,..., respectively), and the current score on top of the board, as illustrated (supposing an 8x8 board): CourseNana.COM

page3image59062496 CourseNana.COM

3 CourseNana.COM

O 01 - 01 X ------------------ 8| | | | | | | |X| 7| | | | | | | | | 6| | | | | | | | | 5| | | | | | | | | 4| | | | | | | | | 3| | | | | | | | | 2| | | | | | | | | 1|O| | | | | | | | ------------------ CourseNana.COM

 |A|B|C|D|E|F|G|H| CourseNana.COM

On each turn, the program informs the current player of the moves left and provides a list of feasible moves. For example, the feasible moves for player ’O’ in the above board are: A2, B2, and B1. The players can make their moves one at the time by entering the coordinates of the chosen cell (e.g., A2). The program recognises invalid moves and informs the player in case of a mistake. After each move, the program draws the state of the board, informs the current player of the moves left, and provides a list of feasible moves. Finally, the program recognises when the game is over and a message is displayed to show the final score and congratulate the winner. After that, the program asks if the players want to play another game. CourseNana.COM

Task 3 - Website on Security, Quality and Usability CourseNana.COM

For this task, develop a website, which provides your visitors with information on security, quality and usability. CourseNana.COM

Your website should be developed using Flask 1 and SQLite database, and have a number of pages to display content to visitors. Each web page should have: CourseNana.COM

  • -  header with navigation bar to enable the visitors to access all pages;
  • -  section that displays the main content, appropriate for each page;
  • -  footer containing relevant links to additional information, e.g. contact details, privacy policy, disclaimer, etc.;
  • -  you can also include a side bar to display any information you think is relevant and makes your website more attractive and usable.

More specifically, your website’s organisation and functionality should be as follows: 1. Home page should allow visitors to: CourseNana.COM

see a preview of each individual page available on your website - the preview should contain a title, image and a short summary of each page (3-4 lines); CourseNana.COM

1 https://flask.palletsprojects.com/en/2.0.x/ 4 CourseNana.COM

  • access each individual page by click on each page’s title or image;
  • accessloginorregistrationpages(seeexplanationofcontentandfunctionality

of these pages later); CourseNana.COM

  • see personalised greeting in the top navigation bar if they are logged in, e.g.
    a logged in customer will be greeted by their first name (e.g.
    ’Hello, Jane!’). The visitor, who is not registered or logged in will see ’Hello, Guest!’ message.

2. TWO individual pages - one page for the topic of ’Security’, and one for ’Quality’ and ’Usability’. CourseNana.COM

  • It’s up to you to decide on the actual content on these pages, but it is expected that for each topic your present: a brief explanation of main aspects of the topic, best practices in the industry, and your own reflection based on your experience in developing software systems.

NB: You are allowed to use external sources for some of the content, but full references must be provided. CourseNana.COM

  • Each individual page should allow a registered visitor to leave a comment.
  • Additional web pages on each topic are allowed, but will not attract additional

marks.
3. Registration page, which should:
CourseNana.COM

  • Display a registration form, which asks the the visitors, who wish to register, to provide their first and last name, email address (which will they use to log in) and password.
  • Performasimplecheckthatthevisitorinputtheiremailaddressintheexpected format, e.g. my email@some domain.com.

Note: this should be a simple check for the email address format - there is no need to check if this email address actually exists. CourseNana.COM

  • On successful registration: your website should redirect to the Home page, and display a message to the newly registered user confirming the registration succeeded.
  • If registration is unsuccessful: the system should display a meaningful error message, and will not redirect to any other page.

4. Log in page, which should: CourseNana.COM

    • Enable a registered visitor to log in, and if successful, the visitor is redirected

to the home page. CourseNana.COM

    • Display an error message if there is a problem with a visitor’s login. NB: make sure that error messages do not jeopardise your website’s security.
    • Allow a logged-in user to log out.

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
CMT120代写,Fundamentals of Programming代写,File System代写,Cardiff代写,Python代写,Javascript代写,Flask代写,Amoeba Wars代写,CMT120代编,Fundamentals of Programming代编,File System代编,Cardiff代编,Python代编,Javascript代编,Flask代编,Amoeba Wars代编,CMT120代考,Fundamentals of Programming代考,File System代考,Cardiff代考,Python代考,Javascript代考,Flask代考,Amoeba Wars代考,CMT120help,Fundamentals of Programminghelp,File Systemhelp,Cardiffhelp,Pythonhelp,Javascripthelp,Flaskhelp,Amoeba Warshelp,CMT120作业代写,Fundamentals of Programming作业代写,File System作业代写,Cardiff作业代写,Python作业代写,Javascript作业代写,Flask作业代写,Amoeba Wars作业代写,CMT120编程代写,Fundamentals of Programming编程代写,File System编程代写,Cardiff编程代写,Python编程代写,Javascript编程代写,Flask编程代写,Amoeba Wars编程代写,CMT120programming help,Fundamentals of Programmingprogramming help,File Systemprogramming help,Cardiffprogramming help,Pythonprogramming help,Javascriptprogramming help,Flaskprogramming help,Amoeba Warsprogramming help,CMT120assignment help,Fundamentals of Programmingassignment help,File Systemassignment help,Cardiffassignment help,Pythonassignment help,Javascriptassignment help,Flaskassignment help,Amoeba Warsassignment help,CMT120solution,Fundamentals of Programmingsolution,File Systemsolution,Cardiffsolution,Pythonsolution,Javascriptsolution,Flasksolution,Amoeba Warssolution,