联系方式

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

您当前位置:首页 >> Python编程Python编程

日期:2025-06-26 09:09

Swinburne University and Shandong University of Technology

Object Oriented Programming

Custom Program

Overview

At this stage, you should have a conceptual understanding of OOP principles and be familiar with

the development of SplashKit and SwinAdventure programs. Now it's time to start thinking about

creating your own custom program.

There are four different custom program options, each with its own set of learning outcomes,

engagement requirements, marking criteria, and grade allocation. You only need to choose one of

the options. Your choice should be based on your OOP learning goals and workload balance.

We strongly recommend that you consult with your allocated lab instructor before selecting an

option.

Learning Outcomes

Option 1. Fundamental - up to 25 marks. The Unit Learning Outcomes (ULOs) of this option

include:

1.1 Explaining the principles of object-oriented programming (OOP), including abstraction,

encapsulation, inheritance, and polymorphism.

1.2. Using OOP and associated C# .NET and SplashKit class libraries, including file content

manipulation, user keyboard interaction, and shape drawing classes.

1.3. Developing and testing a custom C# SplashKit program using Visual Studio Code.

Option 2. Intermediate -- up to 30 marks. This option is an extension of the previous Option 1. In

addition to the ULOs of Option 1, it also includes the following ULOs:

2.1. Design new C# drawing classes that respond to various user keyboard interactions.

2.2. Construct appropriate UML class and sequence diagrams to communicate and describe

your custom project.

Option 3. Advanced - up to 35 marks. In this option, you are required to plan and outline your own

custom program. You will then implement it, deliver a presentation, participate in an interview, and

write a report about your program.

At the end of this document, a list of suggested custom program ideas is provided. However, you

are encouraged to choose an exciting and unique idea that aligns with your future career interests.

3.1. Describe and explain the factors that contribute to a good OO programing practices and

reflecting your own experiences.

Option 4. Advanced - up to 50 marks. This option builds upon Option 3. In addition to the ULOs of

Option 3, it includes the following additional ULO:

4.1. Describe and explain the factors that contribute to effective object-oriented software design

patterns, reflecting on your own experiences and drawing upon accepted best practices.

Page 1 of 8

Deadline: By 28 June 2025

Swinburne University and Shandong University of Technology

Engagement and submission requirement

Option 1 and Option 2.

+ You must have one checked-in discussion with your teacher regarding your implementation

progress before the deadline.

+ Failure to complete the check-in will result in an interview with your teacher. The interview will your

teacher will decide your grade based on your interview performance.

+ Final submission, including source code and a video demonstration. Your teacher may call you for

interview. If you are completing Option 2, you must also submit a report containing your UML class

diagram and at least one sequence diagram describing your implementation (see more details in

pages 4 and 5).

Option 3 and Option 4.

+ You must have at least one checked-in discussion with your teacher before the submission. This

check-in is for discussing your implementation, reporting progress, and receiving feedback.

+ A milestone submission is due two weeks before the deadline. It should include a basic

overview of your program (template provided), a class diagram (photo or scanned copy), and at least

one sequence diagram

(photo or scanned copy)

+ Final submission, including source code and a report, is due by the deadline (see more

details in pages 6-8).

+ An interview with your teacher will be conducted after the deadline.

Page 2 of 8

Swinburne University and Shandong University of Technology

Marking Criteria

Option 1. Marks will be based on the number of features implemented, the correctness of the

source code, and the clarity of the video demonstration or with interview performance.

Note. Failure to submit both the source code and video demonstration/interview will result in a

mark of zero.

Option 2. Marks will be based on the number of features implemented, the correctness of the

source code, the clarity of the video demonstration or with interview performance, and the quality of

the report.

Note: Failure to submit both the source code and video demonstration/interview will result in a

mark of zero.

Option 3. Marks will be based on the complexity of your custom program, the correctness of the

source code, the quality of the report, and your performance in the interview.

Note: Failure to attend the interview will result in your submission being assessed as an Option 2

project.

Failure to submit the check-in progress before the deadline will result in your submission being

assessed as an Option 2 project.

Option 4. Marks will be based on the complexity of your custom program, the number of design

patterns used, the correctness of the source code, the quality of the report, and your performance

in the interview.

Note: Failure to attend the interview will result in your submission being assessed as an Option 2

project.

Failure to submit the check-in progress before the deadline will result in your submission being

assessed as an Option 2 project.

**Regarding Options 3 and 4, your teacher will be holding interview sessions. You need to

discuss with your teacher about the interview time.

Each interview will be approximately 10–15 minutes long. You should prepare a short

presentation slide highlighting the key features of your custom program. The interview will include a

brief live demonstration, followed by several questions from your teacher.

Page 3 of 8

Object Oriented Programming

Specifications

I. Option 1. Fundamental custom program (25 marks)

This program continues the ShapeDrawing program that you developed by adding

following three features.

1. Allow the end-user to press a key that will simultaneously draw a random number of

different shape types—including rectangles, circles, and lines—onto the canvas. You may

choose which key to use. The shapes should appear at random locations and have

random colors. Other attributes such as width and height (for rectangles), radius (for

circles), or length (for lines) can be hard-coded.

2. Allow the end-user to press a key that will automatically draw the first letter of your first

name on the canvas. You may choose which key to use, but it must be different from

any keys already used in your existing ShapeDrawing program. You may use lines,

rectangles, circles, or a combination of these shapes to form the letter in a clear and

visible way.

3. Allow the end-user to press a key that will automatically change the colors of all shapes

on the canvas to random colors.

While developing the three new features, you must ensure that the existing functionalities

from previous weeks are preserved—specifically, the ability to save and load shapes to

and from a file.

After completing your implementation, create a video recording to demonstrate the

features you have developed and explain your source code. At the beginning of the video,

please clearly state your name and student ID.

Submission Details:

+ Source Code

+ Video Recording for Demonstration

+ Subject to Interview arranged by your teacher

The submission deadline is by the defined dealine (see page 1).

The submission link will be available on Canvas under Assignment section.

Noting that attempting Option 1 does not mean you will get up to 25 marks by default. It

depends on your source code correctness, video demonstration performance and academic

integrity.

Page 4 of 8

Object Oriented Programming

Specifications

II. Option 2. Intermediate custom program (30 marks)

This program continues the ShapeDrawing program that you have developed before,

adding following three features.

1. Allow the end-user to press a key that will simultaneously draw a random number of

different shape types—such as rectangles, circles, and lines—onto the canvas. You may

choose which key to use. The shapes should appear at random locations and have

random colors. Other attributes—such as width and height for rectangles, radius for

circles, and length for lines—can be hard-coded.

2. Allow the end-user to press a key that will automatically draw your first name on the

canvas. You may choose which key to use, but it must be different from any keys used in

your existing ShapeDrawing program. You can use lines, rectangles, circles, or a

combination of these shapes to make your name clear and visually distinct.

3. Allow the end-user to press a keyboard that will automatically scale down the size of

all available shapes on canvas. For example, reducing the width and height, radius, or

length.

While developing the above three features, you must ensure that the existing functionalities

from previous module tasks are preserved—specifically, saving and loading shapes to and

from a file.

After completing the implementation, create a video recording to demonstrate the

functionalities you have developed and explain your source code. At the beginning of the

video, please clearly display your name and student ID.

You are also required to prepare a report that includes a UML class diagram and a

sequence diagram. These diagrams should illustrate how objects collaborate and interact

with each other to achieve either the second or the third feature.

Submission + Source CodeDetails:

+ Demonstration Recording or with an interview arranged by your teacher

+ A UML report

The submission deadline is defined in page 1.

The submission link will be available on Canvas under Assignment section.

Noting that attempting Option 2 does not mean you will get up 30 marks by default. It

depends on your source code correctness, video demonstration performance, the

report's quality and academic integrity.

Page 5 of 8

Object Oriented Programming

Specifications

III. Option 3. Advanced custom program (35 marks)

Prior choosing this task, we strongly recommend you to discuss with your allocated lab

instructor. This project is your own custom program. In this task, you will provide a plan and

overview of the structure of a custom program (something you would be interested in creating).

Attached to this specification, we provide the list of potential program ideas. Your custom

program should:

1. Demonstrate the use of abstraction -- create your own classes that model the domain.

2. Demonstrate the use of inheritance and polymorphism

3. Demonstrate the use of UML class diagrams to explain how your solution works.

4. Provide supporting arguments and real-world evidence to show that your custom program

is practical and useful to its target community and end-users

Here are some steps to get you started.

1. Download the Design Report template.

2. Provide a summary of your program — What does it do? What are some of the key fea tures etc.

3. Describe the main roles: enumerations, classes & interfaces.

4. Describe the main responsibilities for the classes and interfaces. Get some detail down

now for your tutor to check, but there is no need to spend ages on this task. Have enough

that you can start to see how the program will continue to develop as you proceed.

5. Show your plans to your tutor, lecturer, help desk staffers, and/or friends to get some

feedback.

Submission Details

+ One milestone submission before the deadline to report:

• a basic overview of your program (template is provided) and

• class diagram (photo or scan), and a picture of one or more sequence diagram (photo or scan).

Noting that, this milestone is compulsory. Your tutor will provide feedback on it.

+ Final submission before the deadline (see page 1) including source code and final report. The

report include the Design Report with the final UML class diagram, usage document outlining what

your program does and how it works with screenshots, and a short summary of what you have

learned from your custom program.

+ Prepare slide presentation and conduct interview with your teacher.

+ Noting that attempting Option 3 does not mean you will get 35 marks by default. It depends on your

custom program's quality and complexity, report quality, interview performance, and academic

integrity. Page 6 of 8

Object Oriented Programming

Specifications

III. Option 4. Challenging custom program (50 marks)

Prior choosing this task, we strongly recommend you to discuss with your allocated lab

instructor. This project is your own custom program. It is an extension of the Option 3.

Attached to this specification, we provide the list of potential program ideas. Using the

Option 3 design as a starting point, add details on:

1. Which design patterns you plan on using (at least 3 design patterns).

2. What complexity or additional functionalities you will add to elevate your program from

the option 3 to this level.

3. Why is it not simple compared to the option 3.

4. You should update your UML class diagram where appropriate.

Here are some steps to get you started.

1. Download the Design Report template.

2. Provide a summary of your program — What does it do? What are some of the key fea tures etc.

3. Describe the main roles: enumerations, classes & interfaces.

4. Describe the main responsibilities for the classes and interfaces. Get some detail down

now for your tutor to check, but there is no need to spend ages on this task. Have enough

that you can start to see how the program will continue to develop as you proceed.

5. Reflect on any additional features or complexity you could add

6. Identify opportunities for applying design patterns, or places where you may have already

used a design pattern. We would expect to see at least 2, or 3 if you are using a simpler

pattern such as Singleton.

7. Describe the design patterns you will use and why.

8. Update your UML class diagram to include the design patterns you have chosen.

9. Describe what makes your new program design more complex and/or well done than an

Advanced level custom program design.

10. Show your plans to your teacher and friends to get some feedback.

Page 7 of 8

Object Oriented Programming

Submission Details

+ One milestone submission before the deadline to report:

• a basic overview of your program (template is provided) and

• class diagram (photo or scan), and

• a picture of one or more sequence diagram (photo or scan).

• what potential design patterns you plan to use

Noting that, this milestone is compulsory. Your teacher will provide feedback on it.

+ Final submission before the final deadline (see page 1) including source code and final

report. The report include the Design Report with the final UML class diagram, usage

document outlining what your program does and how it works with screenshots, and a

short summary of what you have learned from your custom program.

+ Prepare slide presentation and conduct interview with your teacher.

+ Noting that attempting Option 4 does not mean you will get 50 marks by default. It depends

on your custom program's quality and complexity, report quality, interview performance,

and academic integrity.

Page 8 of 8


相关文章

【上一篇】:到头了
【下一篇】:没有了

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

python代写
微信客服:codinghelp