CSE2UI 2Python

Java Python Department of Computer Science and Information Technology

CSE2UI Assignment 2

20% of your final grade.

Objective

Demonstrate your knowledge and understanding of UI development

Due Date

11:59 PM (AEST/AEDT), Thursday 31st October 2024 (End of SWOTVAC)

Delays caused by computer downtime cannot be accepted as a valid reason for a late submission without penalty. Students must plan their work to allow for both scheduled and unscheduled downtime.

The LMS will be configured to allow you to submit as many times as you like, the most recent version will be marked.

A penalty of 5% per day will be imposed on all late assignments up to 5 days (date). An assignment submitted more than five days after the due date will NOT be accepted and zero mark will be assigned.

Students will not be granted an extension of the assignment deadline. Students are requested to apply for special consideration through Student Centre. In addition, students are advised to submit whatever incomplete work they have already done for the assignment.

If you change your submission after the due date it is considered a late submission and will incur a 5% penalty for each day that it is late.

Submission Guidelines

The deliverables are your projects with source code that your solution needs to function (separate zip or rar file for each solution), the video file and the text file, which should be submitted to LMS by one of the group members.

Problem Description

In this assignment, students will design and implement a simple graphical user interface (GUI) using Python and the Tkinter library. The goal is to create a basic drawing application similar to Microsoft Paint, where users can draw, erase, and interact with various drawing tools such as brushes and colors. Through this project, students will explore fundamental concepts in UI/UX design, event handling, and graphical programming while gaining hands-on experience with Tkinter, a powerful toolkit for building user interfaces in Python. This assignment will emphasize both functionality and the importance of user-friendly design principles.

In addition to the basic drawing tools, students are encouraged to extend their programs by implementing optional features. These may include:

· Shape tools: Allow users to draw shapes such as rectangles, circles, and lines.

· Fill tool: Add functionality to fill closed shapes with a selected color.

· Customizable brush sizes: Give users the ability to change the size of their brush for more precise drawing.

· Undo/Redo functionality: Implement a system to track user actions and allow them to revert or redo their changes.

· Save and open files: Allow users to save their drawings as image files and open previously saved work.

· Color picker: Provide an interactive color palette or picker for custom color selection.

· Layer system: Introduce multiple layers for drawing, similar to advanced graphic design tools, where users can draw on different layers and manipulate them independently.

By adding these features, students will not only enhance the functionality of their programs but also learn how to manage more complex GUI interactions and develop a richer, more versatile user experience.

Rules and Requirements

· Your program should be developed in Python.

· Your program must run correctly.

· Your code must be easy to read with necessary comments.

· Make sure you have read this document and all relevant documentation.

Group project

You can work in groups with your classmates. The members in a group can be between 1 – 3 people (maximum 3).

Please note that the marking criteria are the same regardless of the number of members. For example, no matter if you are the only person in your group or your group has 3 persons, you still need to provide least 5 solutions to get A.

 All members in a group will receive the same mark unless explicitly noted.

Different groups CAN NOT work together to complete the assessment; this is a type of academic misconduct: collusion.

Task Overview

Here are the main tasks yo CSE2UI Assignment 2Python u need to do for this assignment.

Step 1 – Select solutions for the problem in Assignment 2

The first step is to determine solutions you plan to implement for this assignment. What functionality does your program need? Which (if any) of the optional extensions do you intend to implement? How should you lay out the various widgets to make the UI more usable?

Step 2 – Implement your solutions using Python and Tkinter

Once you have designed the structure and functionality of your drawing application, it's time to bring your ideas to life by implementing them using Python and the Tkinter library. Begin by setting up a basic Tkinter window, which will serve as the main canvas for your application. You will then create essential components like the drawing area, toolbars, and buttons. As you code, ensure that each tool (e.g., brushes, erasers, shapes) is tied to appropriate event handlers to allow users to interact with the program in real-time. Use Tkinter's Canvas widget for the drawing area and incorporate additional widgets such as buttons, sliders, and color pickers for tool selection and customization.

Step 3 – Record a video

You need to record a short video walkthrough of your implemented solutions (you can do it with Zoom as assignment 1), in which you will demonstrate how your solutions work (the code, and the way to use your solution as shown in Fig. 1). 3. Please upload the video to YouTube (or similar), and put a link to the video in the text file (see the last marking criteria). In addition, you need to upload the walkthrough video to LMS.

Marking Criteria

CRITERIA

A: Excellent

(>80%)

B: Very good

(70–79%)

C: Good

(60–69%)

D: Acceptable

(50–59%)

N:Unacceptable

(<50%)

Implement the required functionality (a “pen”, a color picker, and an eraser, enabling the user to draw on a Canvas) (40%)

All 4 components are present, functional, and signified.

3 components are present, functional, and signified.

2 components are present, functional, and signified.

1 component is present, functional, and signified.

No components are fully functional.

Implement additional features (these can come from the list provided above, or you can propose your own. These should be clearly signified in the UI and commented upon in the video.) (40%)

At least 4 meaningful extensions to the basic functionality are present, functional, and signified.

3 meaningful extensions to the basic functionality are present, functional, and signified.

2 meaningful extensions to the basic functionality are present, functional, and signified.

1 meaningful extension to the basic functionality is present, functional, and signified.

No optional features are fully functional         

本项目采用C++编程语言结合ROS框架构建了完整的双机械臂控制系统,实现了Gazebo仿真环境下的协同运动模拟,并完成了两台实体UR10工业机器人的联动控制。该毕业设计在答辩环节获得98分的优异成绩,所有程序代码均通过系统性调试验证,保证可直接部署运行。 系统架构包含三个核心模块:基于ROS通信架构的双臂协调控制器、Gazebo物理引擎下的动力学仿真环境、以及真实UR10机器人的硬件接口层。在仿真验证阶段,开发了双臂碰撞检测算法和轨迹规划模块,通过ROS控制包实现了末端执行器的同步轨迹跟踪。硬件集成方面,建立了基于TCP/IP协议的实时通信链路,解决了双机数据同步和运动指令分发等关键技术问题。 本资源适用于自动化、机械电子、人工智能等专业方向的课程实践,可作为高年级课程设计、毕业课题的重要参考案例。系统采用模块化设计理念,控制核心与硬件接口分离架构便于功能扩展,具备工程实践能力的学习者可在现有框架基础上进行二次开发,例如集成视觉感知模块或优化运动规划算法。 项目文档详细记录了环境配置流程、参数调试方法和实验验证数据,特别说明了双机协同作业时的时序同步解决方案。所有功能模块均提供完整的API接口说明,便于使用者快速理解系统架构并进行定制化修改。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值