联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2024-03-06 09:34

Assessment Brief

PROG2007 PROGRAMMING II

Summary

Title Assessment 1

Type Portfolio

Due Date Monday 18th March 11:59 pm AEST/AEDT (start of Week 3)

Length NA

Weighting 20%

Academic Integrity

(See below for limits

of use where GenAI

is permitted)

GenAI MAY NOT be used for this assessment.

Submission Please see the Submission section below on how to submit your

assessment.

Unit Learning

Outcomes

This assessment task maps to the following ULOs:

ULO1: modify and expand short object-oriented programs that use

standard control structures

ULO2: design, implement, test, and debug simple programs in an objectoriented programming language

ULO4: analyse and determine appropriate data structures and iteration

methods to support a solution.

Rationale

No matter what field of IT you go into when you graduate from university, the ability to develop

software in an object-oriented programming language is an important skill to have. This may seem

obvious for students planning on a career in software development. However, it's also important for

those students pursuing careers in fields like networking, cyber security, and data analysis. For

networking, the ability to develop programs simplifies tasks such as device configuration and

network analysis. In cybersecurity, it's used to develop programs for penetration testing,

vulnerability scans, and automation of security incident responses. For data analysis, programming

enables efficient data manipulation and analysis, making it an indispensable tool for extracting

insights from large datasets.

Task Description

In this assignment, you will start to master a very important component of software development –

classes and objects. The assignment contains three programming parts as follows:

? In part one you will modify and expand an existing program that requires one class.

? In part two you will modify and expand an existing object-oriented program that requires a

minimum of two classes.

? In part three you will design and implement a simple object-oriented program that requires

a minimum of three classes.

This assignment also requires you to create a video explaining why you completed the assignment

the way you did.

You can use PyCharm or VSCode to complete the assignment and your assignment must run using

Python 3. This is covered in the Getting Started section of MySCU.

2

Assessment Brief

However, when submitting your assignment:

? Given that your marker may be using a different IDE, you are only required to submit your

Python files and not your project files.

? You are also required to use an industry standard plugin in your IDE called WakaTime and

submit a screenshot of your WakaTime dashboard when submitting your assignment.

Both above points are covered in the submission instruction video associated with this

assignment. You can find this video in Task 1 folder under the Assessment Task and Submission

section. Please DO NOT start the assignment without watching the video.

Task Instructions

Part 1 – Simple class

This part of the assignment assesses:

? ULO1: modify and expand short object-oriented programs that use standard control structures.

In the final assignment of Programming I, you were provided with the following code that reads a csv file:

1. import csv

2.

3. with open("student_folder/playerCustomisation.csv", "r") as input_file:

4. reader = csv.reader(input_file)

5. for row in reader:

6. print(row)

7.

Your player number was based on the last digit of your student id. For example:

? A student with a student id 21367890 will be customising the game for Player 0

? A student with a student id 21370098 will be customising the game for Player 8

Based on your assigned player number (rows 0-9 in the file) you were required to read that row from

the file and assign the width and height, number of monsters and walls, as well as the player’s

animal and sound to variables. You then had to create a video and discuss and explain how to use a

class to store the data.

In this assignment, you will create and use that class to store the data. You are required to:

? Design a simple class that is suitable for storing the data associated with your assigned

player in the file. The file is available in Task 1 folder under the Assessment Task and

Submission section.

? Update the code provided above that reads the file. Instead of storing the values associated

with your player number in variables, you must create an instance of the class and use it to

store the data associated with your assigned player in the file.

? Output the object’s attributes formatted for readability.

You should have a good idea on how you will implement the class for this part of the assessment

based on the video you made in Programming 1. While designing the class, think about the

following:

? What attributes should this class have?

? Does it require any methods?

? How can you secure and validate the data in the class?

3

Assessment Brief

Part 2 – Shopping cart system

This part of the assignment assesses:

? ULO1: modify and expand short object-oriented programs that use standard control

structures.

? ULO4: analyse and determine appropriate data structures and iteration methods to support

a solution.

All online shops require a shopping cart system where users can add items, remove items, and view

their cart contents.

Imagine that another programmer has started writing the code to implement a shopping cart

system. However, they are unable to finish, and you must complete the program. You have been

provided with the following Product class.

1. class Product:

2. def __init__(self, product_id, name, description, price):

3. """

4. Initialize a new Product instance.

5.

6. :param product_id: Unique identifier for the product (int or str)

7. :param name: Name of the product (str)

8. :param description: Description of the product (str)

9. :param price: Price of the product (float or int)

10. """

11. self.product_id = product_id

12. self.name = name

13. self.description = description

14. self.price = price

15.

16. def display_product_info(self):

17. """

18. Display the product's information.

19. """

20. print(f"Product ID: {self.product_id}")

21. print(f"Name: {self.name}")

22. print(f"Description: {self.description}")

23. print(f"Price: ${self.price:.2f}")

24.

You have also been provided with the following class requirements for the program.

Product class

You can make any changes that you think are necessary to the Product class. While doing so,

consider the following questions:

? Are any other attributes required? If so, should they be object attributes or class attributes?

? What other methods would be useful for the product class?

? How can you secure and validate the data in the Product class?

Shopping Cart class

To complete the program, you will need a shopping cart class. The shopping cart class must keep

track of products a user is planning on buying and have the ability to add products, remove products,

and display all of the products in the shopping cart. When programming the shopping cart class

consider the following questions:

? How are you going to store the products the user is planning on buying (you learned the

concepts required for this in Programming 1).

? What attributes should this class have?

4

Assessment Brief

? Does the class require any default parameters?

? What methods should this class have?

? How can you secure and validate the data in the shopping cart class?

Other classes

You are not required to have any other classes in the program. However, if you want to have

additional classes you are more than welcome to do so.

Testing

To complete this part of the assignment you are required to write the code that demonstrates that

you can add a product to the shopping cart, remove the product from the shopping cart, and view

the shopping cart contents.

Hints

You have learned all the skills you require to complete this part of the assessment in:

? Programming 1.

? In module one and the first half of module 2 (up until the section on inheritance)

Make sure that you have completed the final activities of module 1 and module 2 as all of the

concepts required to complete this part of the assessments are demonstrated in the video content

in these sections.

Part 3 – Student management system

This part of the assignment assesses:

? ULO2: design, implement, test, and debug simple programs in an object-oriented

programming language.

? ULO4: analyse and determine appropriate data structures and iteration methods to support

a solution.

Imagine you are part of a team that is writing a student management system for the University. Your

job is to write the component of the student management system that tracks the following:

? Students.

? Units.

? Degrees.

Your program has the following requirements:

? Add students, remove students, and view students in a unit.

? Add units, remove units, and view units in a degree.

Hints

? This part is very similar to Part 2 with one additional class.

? While you should make this program as realistic as possible you do not need to track every

attribute that a student, unit, or degree would have in the real world.

Testing

To complete this part of the assignment you are required to write the code that demonstrates that

you can:

? Add a student to a unit, remove a student from a unit, and view all students in the unit.

? Add a unit to a degree, remove a unit from a degree, and view all units in the degree.

5

Assessment Brief

Hints

Just like in part 2 of this assignment, make sure that you have completed the final activities of

module 1 and module 2 as all the concepts required to complete this part of the assessments are

demonstrated in the video content in these sections.

Part 4 - Video

You are required to create a video explaining why you completed the assignment the way that you

did. Your video should address each part of the assignment separately i.e. cover part one first, then

part two, then part three. You are not required to explain your code line by line. Rather for each

part of the assessment your video should focus on the following:

? The attributes in each class and why you chose them.

? The methods in each class and what they do.

? Any techniques you've employed to secure and validate your data.

? Any design considerations you made when designing your classes.

? The code you wrote to demonstrate your classes, what it does, and why you wrote it the

way you did.

Resources

Everything that you need to know to complete this assessment was covered in:

? Programming I

? Module 1 and the first half of module 2 (up until the section on inheritance) in programming 2.

Task Submission

As mentioned at the start of this assessment you can use PyCharm or VSCode to complete the

assignment and your assignment must run using Python 3. This is covered in the Getting Started

section of MySCU.

However, when submitting your assignment:

? Given your marker maybe using a different IDE you are only required to submit your Python

files and not your project files.

? You are also required to use an industry standard plugin in your IDE called WakaTime and

submit a screenshot of your WakaTime dashboard when submitting your assignment.

Both above points are covered in the video submission video associated with this assignment.

Please DO NOT start the assignment without watching the video.

The video covers how to submit your Python files, your screenshot of the WakaTIme dashboard,

and your video.

Please note that all submission instructions in this assignment and the submission video must be

followed EXACTLY, including the folder names you are instructed to use. Failure to do so will result in

a requirement to resubmit. The reason for this is as a programmer, you will often work as part of a

team and will be required to follow design documentation. If the design parameters are not followed

precisely, bugs will be introduced into the software when all of the individual components of the

program are assembled.

6

Assessment Brief

Academic Integrity

Please note the following points:

? Your source code for this assignment will be run through a plagiarism detection system

designed for code that compares all assignments and highlights identical or very similar

submissions. If you are found to have colluded with other students, you will be submitted for

academic integrity. Test submissions generated using GenAI software will also be included in

the source code comparison to pick up those assessments that were programmed using

GenAI.

? If your marker deems your submission suspicious, you may be asked to attend an interview

in your tutorial class to explain your code. You may be submitted for academic integrity if

you cannot explain your code. Possible reasons your submission may be deemed suspicious

could include:

o Using programming concepts not taught in the unit.

o Using programming concepts considered by your marker to be beyond your

programming abilities as demonstrated in the class.

o Submitting code suspected of being generated using GenAI software.

At Southern Cross University, academic integrity means behaving with the values of honesty,

fairness, trustworthiness, courage, responsibility and respect in relation to academic work.

The Southern Cross University Academic Integrity Framework aims to develop a holistic, systematic

and consistent approach to addressing academic integrity across the entire University. For more

information, see: SCU Academic Integrity Framework

NOTE: Academic Integrity breaches include unacceptable use of generative artificial intelligence

(GenAI) tools, the use of GenAI has not been appropriately acknowledged or is beyond the

acceptable limit as defined in the Assessment, poor referencing, not identifying direct quotations

correctly, close paraphrasing, plagiarism, recycling, misrepresentation, collusion, cheating, contract

cheating, fabricating information.

GenAI May Not be Used

Generative artificial intelligence (GenAI) tools, such as ChatGPT, may not be used for this assessment task. You

are required to demonstrate that you have developed the unit’s skills and knowledge without the support of

GenAI. If you use GenAI tools in your assessment task, it may result in an academic integrity breach against

you, as described in the Student Academic and Non-Academic Misconduct Rules, Section 3.

Special Consideration

Please refer to the Special Consideration section of Policy.

https://policies.scu.edu.au/document/view-current.php?id=140

Late Submissions & Penalties

Please refer to the Late Submission & Penalties section of Policy.

https://policies.scu.edu.au/view.current.php?id=00255

7

Assessment Brief

Grades & Feedback

Assessments that have been submitted by the due date will receive an SCU grade. Grades and

feedback will be posted to the ‘Grades and Feedback’ section on the Blackboard unit site. Please

allow 7 days for marks to be posted.

8

Assessment Brief

Assessment Rubric

Marking Criteria and %

allocation

High Distinction

(85–100%)

Distinction

(75–84%)

Credit

(65–74%)

Pass

(50–64%)

Fail

0–49%

Enhancing objectoriented programs

(Parts 1 and 2)

(ULO1)

20%

Demonstrates

exceptional proficiency

in enhancing an

existing objectoriented program

utilizing all of the

concepts covered in

Module 1 and the first

half of Module 2.

Demonstrates

advanced expertise in

enhancing an existing

object-oriented

program, applying key

concepts from Module

1 and early Module 2,

with minor areas for

improvement.

Shows solid

understanding and skill

in enhancing an

existing objectoriented program with

Module 1 and early

Module 2 concepts,

despite some

inconsistencies.

Displays basic skill in

enhancing an existing

object-oriented

program using

foundational concepts

from Module 1 and

early Module 2, though

the application is

somewhat shallow and

incomplete.

Shows insufficient

understanding and

application of Module

1 and early Module 2

concepts in enhancing

an existing objectoriented program,

indicating a

fundamental

implementation

shortfall.

Design object-oriented

programs

(Parts 2 and 3)

(ULO2)

30%

Demonstrates

exceptional proficiency

in designing and

implementing an

object-oriented

program utilizing all of

the concepts covered

in Module 1 and the

first half of Module 2.

Demonstrates

advanced expertise in

designing and

implementing an

object-oriented

program, applying key

concepts from Module

1 and early Module 2,

with minor areas for

improvement.

Shows solid

understanding and skill

in designing and

implementing an

object-oriented

program with Module

1 and early Module 2

concepts, despite some

inconsistencies.

Displays basic skill in

designing and

implementing an

object-oriented

program using

foundational concepts

from Module 1 and

early Module 2, though

the application is

somewhat shallow and

incomplete.

Shows insufficient

understanding and

application of Module

1 and early Module 2

concepts in designing

and implementing an

object-oriented

program, indicating a

fundamental

implementation

shortfall.

Data Structures and

Methods

(Parts 2 and 3)

(ULO4)

30%

Demonstrates

exceptional proficiency

in using data structures

and programming

associated methods to

Demonstrates

advanced expertise in

using data structures

and programming

associated methods to

Shows solid

understanding and skill

in using data structures

and programming

associated methods to

Displays basic skill in

using data structures

and programming

associated methods to

manipulate the data

Shows insufficient

understanding in using

data structures and

programming

associated methods to

9

Assessment Brief

manipulate the data

structure to meet the

programs

requirements.

manipulate the data

structure to meet the

programs

requirements.

manipulate the data

structure to meet the

programs

requirements.

structure to meet the

programs

requirements.

manipulate the data

structure to meet the

programs

requirements.

Explain Design and

Implementation

Decisions in Video

(ULO1 ,2, 4)

20%

Provides an

exceptionally clear,

comprehensive, and

insightful explanation

of design and

implementation

decisions,

demonstrating

advanced

understanding and

reasoning that

significantly enhances

the assignment's

objectives.

Provides a very

detailed and coherent

explanation of design

and implementation

choices, showing a high

level of understanding

and analytical thinking

with minor areas for

further clarification.

Explains design and

implementation

decisions clearly

communicating the

rationale behind

approaches with some

room for deeper

analysis or clarity.

Adequately explains

design and

implementation

decisions, covering

basic rationales and

justifications but with

some gaps in clarity or

detail.

Fails to provide a

coherent explanation

of design and

implementation

decisions, with

significant gaps in

understanding or the

ability to articulate the

reasoning behind

approaches.

10

Assessment Brief

Description of SCU Grades

High Distinction:

The student’s performance, in addition to satisfying all of the basic learning requirements, demonstrates distinctive insight and ability in researching, analysing and

applying relevant skills and concepts, and shows exceptional ability to synthesise, integrate and evaluate knowledge. The student’s performance could be described as

outstanding in relation to the learning requirements specified.

Distinction:

The student’s performance, in addition to satisfying all of the basic learning requirements, demonstrates distinctive insight and ability in researching, analysing and

applying relevant skills and concepts, and shows a well-developed ability to synthesise, integrate and evaluate knowledge. The student’s performance could be described

as distinguished in relation to the learning requirements specified.

Credit:

The student’s performance, in addition to satisfying all of the basic learning requirements specified, demonstrates insight and ability in researching, analysing and applying

relevant skills and concepts. The student’s performance could be described as competent in relation to the learning requirements specified.

Pass:

The student’s performance satisfies all of the basic learning requirements specified and provides a sound basis for proceeding to higher-level studies in the subject area.

The student’s performance could be described as satisfactory in relation to the learning requirements specified.

Fail:

The student’s performance fails to satisfy the learning requirements specified.


相关文章

版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp