0% found this document useful (0 votes)
33 views4 pages

CMP1902M Programming Fundamentals Assessment 2 Brief 2324

This document provides instructions for Assessment 2 of the CMP1902M Programming Fundamentals module. The assessment consists of two tasks. Task 1 (20%) involves writing a Python script to analyze user-inputted numbers, and Task 2 (80%) requires implementing a Connect 4 game in Python. The assessment is individually completed and submitted as a ZIP file by the deadline. Plagiarism and use of unauthorized tools are prohibited.

Uploaded by

ROSHAN TEJA
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views4 pages

CMP1902M Programming Fundamentals Assessment 2 Brief 2324

This document provides instructions for Assessment 2 of the CMP1902M Programming Fundamentals module. The assessment consists of two tasks. Task 1 (20%) involves writing a Python script to analyze user-inputted numbers, and Task 2 (80%) requires implementing a Connect 4 game in Python. The assessment is individually completed and submitted as a ZIP file by the deadline. Plagiarism and use of unauthorized tools are prohibited.

Uploaded by

ROSHAN TEJA
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

University of Lincoln

School of Computer Science


Assessment Briefing 2023-2024
The use of AI (Artificial Intelligence) tools to generate all or part of your assessment submission
is not permitted unless specifically mentioned below.

Module Code and Title: CMP1902M Programming Fundamentals


Contribution to Final Module Mark: 80%
Description of Assessment Task and Purpose:
This is Assessment 2 and is an individual assignment that consists of two tasks. Task 1
contributes 20% of the assessment mark and Task 2 contributes 80%. You can use the
provided code as a template to help you begin the implementation of the tasks. Please see the
Criterion Reference Grid for details of how tasks will be graded.

Task 1 (20%): Number Statistics


In this task, you are asked to write a Python3 script (task1.py) that:
• Prompts the user to input integer numbers at the terminal (numbers with decimals
should not be accepted)
• Saves those to a list
• Counts the amount of the provided numbers.
• Calculates their sum, mean, minimum and maximum
• Finds the prime number(s), if any
• Prints all the above information at the terminal (numbers’ count, sum, mean, min, max
and prime numbers)
Important: The script should start and end without problems. There should be no ‘crashing’ or
‘unhandled exceptions’ due to erroneous input. The use of any bult-in method that preforms
the above operations is not allowed. The code must be commented, including header
comments and in-line comments. Consideration must be given to the naming convention of
variables and function names.

Task 2 (80%): Variant of the Connect 4 game


Background: Connect 4 is a well-known board game released in 1974 and is played by two
players. The board has size of 6 rows and 7 columns, and each player has discs that are
inserted in the board’s columns. The objective is to connect four discs horizontally, vertically,
or diagonally. You can play the game here.
Task: For this task you will have to implement a python3 script (task2.py) with multiple
functions that enables two players to play a variant of the Connect 4 game using the terminal
(graphical user interface is not required). The board will consist of 6 rows and 7 columns.
During each player’s move, a disc is dropped in a selected column. The disc is placed at the
last free row of the selected column. For example, if a player selects column 1 and there
already exists a disc at the last row of column 1, the new disc is placed at the row before the
last. The players score one point if they connect four discs horizontally, vertically, or
diagonally. The game terminates when all the slots of the board have been filled. The winner is
the player with the most points at the end of the game.
Therefore, the desired functionality should be the following:
− At the beginning, the board should contain a randomly placed 2-by-3 (2 rows and three
columns) block of obstructed cells which has to be placed at the bottom of the board. A
disc cannot be placed in the obstructed cells.
− Each player has 5 seconds to make a move. If a move is not performed, the turn is lost,
and the other player continues the game.
− The players have a special disc that can be played only once. The special disc, when
played, will remove both players’ discs at the adjacent cells.
− The game is updated correctly. In detail, the board should be printed and updated
correctly after each move, players should be able to take turns correctly, the score
should be displayed. Furthermore, the winner (if any) should be announced at the end.
− Players make moves by typing the desired column at the terminal
− Any erroneous input from the players should be handled appropriately and not result to
crashing or unhandled exceptions.
Additionally, the following advanced functionality can be implemented:
− PopOut: During each turn, a player can also remove one of their own discs from the
bottom row. Removing a disc out from the bottom drops every disc above it down one
space, changing their relationship with the rest of the board and changing the
possibilities for a connection.
− The players can choose how many discs should be connected to win a point. They
should be able to select between 3 (connect-3) ,4 (connect-4) and 5 (connect-5) at the
beginning of the game.
− The size of the obstruction block is given by a player at the beginning of the game. The
size of the obstacle should not exceed the dimensions of the board
You can import the following four modules: time, sys, random, NumPy. Any other modules
except user-defined ones are prohibited for use. The program should run ‘cleanly’. It should
start and end without problems. There should be no ‘crashing’ or ‘unhandled exceptions’ due
to erroneous input.

Learning Outcomes Assessed:


On successful completion of this component a student will have demonstrated competence in
the following areas:

• [LO1] To understand programming basics, learn the syntax and semantics of


programming, Identify, select, and apply appropriate data structures and operators in
common programming solutions
• [LO2] To implement control flow with decisions and loops using good programming
practices
• [LO3] To use appropriate knowledge of programming concepts, construct code
segments and functions to perform input and output operations with error handling
Knowledge & Skills Assessed:
Subject Specific Knowledge, Skills and Understanding: literature searching,
mathematics, logic, algorithm development, solution designing, code implementation,
solution testing and python programming knowledge including managing program flow,
Boolean algebra, lists, functions, managing inputs and outputs, debugging and basic
string manipulation, etc.
Professional Graduate Skills: independence and personal responsibility, adaptability,
verbal communication, written communication, creativity, critical thinking, IT skills,
problem solving, research skills, effective time management, working under pressure to
meet deadlines.
Emotional Intelligence: self-awareness, self-management, motivation, resilience, self-
confidence.
Career-focused Skills: An understanding of the range of skills and attributes required by
employers from the software development field, a range of strategies to present skills
and attributes to employers.

Assessment Submission Instructions:

Please zip up your code files (.py files) as a compressed ZIP file (no RAR or any other file
formats will be accepted. Please use the standard ‘Windows Compressed File’ zip format or
other platform standard zip formats) and should be submitted through Blackboard in the
‘CMP1902M Assessment Item 2 Supporting Documentation Upload’ section of the
Assessments folder. You can make multiple submissions, but only the last one will be marked.
The file should be named using the format of ‘Initials_Surname.zip’. This assessment is
graded using a criterion reference grid. You should be clear in your understanding of the
grading principles; if you are not, please seek the advice of the module staff. The deadline for
submission of this work is included in the School Submission dates on Blackboard.

Date for Return of Feedback:


You can find the date for the return of feedback in the School Hand-in Schedule which is
available on Blackboard under the Assessment Page of this module.

Format for Assessment:


All solutions for the tasks should be written in Python 3 script files. You are provided with some
skeleton code to start with. Please add your code to the provided templates. Comments to
explain the functionality and logic should be inserted at appropriate places in the scripts. As
stated in the task description, you must not import or use unauthorised pre-built-in libraries and
functions for this assessment.

Feedback Format:
Written feedback will be given to you through Blackboard.

Additional Information for Completion of Assessment:

This assessment is an individually assessed component. Your work will be checked for any
dishonesty and plagiarism. Please make sure you have a clear understanding of the grading
principles for this component as detailed in the accompanying Criterion Reference Grid.

Assessment Support Information:


If you are unsure about any aspect of this assessment document, please seek advice from a
member of the delivery team.

Important Information on Dishonesty, Plagiarism and AI Tools:


University of Lincoln Regulations define plagiarism as 'the passing off of another person's
thoughts, ideas, writings or images as one's own...Examples of plagiarism include the
unacknowledged use of another person's material whether in original or summary form.
Plagiarism also includes the copying of another student's work'. Plagiarism is a serious offence
and is treated by the University as a form of academic dishonesty.

Please note, if you use AI tools in the production of assessment work where it is not
permitted, then it will be classed as an academic offence and treated by the University as a
form of academic dishonesty.

Students are directed to the University Regulations for details of the procedures and penalties
involved.

For further information, see www.plagiarism.org

You might also like