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         

电力系统潮流计算是电力工程领域的一项核心技术,主要用于分析电力网络在稳态运行条件下的电压、电流、功率分布等运行状态。MATLAB凭借其强大的数值计算功能和便捷的编程环境,成为电力系统潮流计算的重要工具,它提供了丰富的数学函数库,能够高效地处理复杂的电力系统计算任务。 本压缩包中的“潮流计算MATLAB程序”是一套完整的电力系统潮流计算解决方案,主要包括以下几个关键部分: 数据输入模块:该模块负责读取电力系统的网络数据,包括发电机、线路、变压器等设备的参数。这些数据通常来源于IEEE测试系统或实际电网,并以特定格式存储。 网络建模:基于输入数据,程序构建电力系统的数学模型,主要涉及节点功率平衡方程的建立。每个节点的注入功率等于其消耗功率,对于发电机节点还需考虑其有功和无功功率的调节能力。 迭代算法:潮流计算的核心是求解非线性方程组,常见的算法有牛顿-拉夫森法和高斯-塞德尔法。MATLAB的优化工具箱可辅助实现这些算法,通过迭代更新节点电压和支路电流,直至满足收敛条件。 结果输出:计算完成后,程序能够输出关键性能指标,如节点电压幅值和相角、支路功率流、发电机的有功无功功率等。这些信息对于分析电网运行状态和制定调度策略具有重要意义。 可视化功能:程序可能包含图形用户界面(GUI),用于展示计算结果,例如绘制网络拓扑图并标注节点电压和支路功率,便于用户直观理解计算结果。 错误处理与调试:良好的程序设计应包含错误检测和处理机制,以应对不合理数据或计算过程中出现的问题,并给出适当的提示。 对于电力系统分析课程的学生来说,这个MATLAB程序是一个宝贵的学习资源。它不仅有助于学生掌握电力系统的理论知识,还能让他们了解如何将理论应用于实践,通过MATLAB解决实际问题。尽管该程序是作者一周内完成的,可能存在一些未完善之处,但使用者可以在参考的基础上逐步改进和完善,使其更贴合自身需求。 总之
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值