代写CSIT040 – Modern Computing Skills Project Autumn 2024帮做Python编程

CSIT040 – Modern Computing Skills Project

Autumn 2024

Introduction

The Final project is an important component of this course, which weights 20% of the overall marks. The purpose of the project behind it is to gain hands-on and applied research experience in applying the concepts presented in this course.  You can choose any of the topics presented below to work on, and can work in groups to do your projects. Each project group should consist of 6 students maximum.

Logistics

Group formation

Form. a group of max. 6 students, designate a group leader. Please post your group names on student forum.

Deadline and submission

November 30th, 2024: Final report submission (on Moodle – one submission per group) and project Youtube video link.

Project Report – sample outline

1. Title

2. Project Scope & Objective

3. Steps and methodology used to complete the project

4. Results and analysis

5. Conclusion & what could be improved

What to include in your project video:

You need to create a 5 minutes video showcasing your project, including:

1. Some few slides to present the team members, the project idea, the design of your solution

2. A demo of your system in action

3. One slide about what can be improved in your solution in the future

4. You need to upload your video on Youtube and send us the link on Moodle, for grading

MAKE SURE TO FOLLOW THE REPORT TEMPLATE AND INCLUDE YOUR GROUP EXCEL SHEET GIVEN ON MOODLE

Project Topics

Here are some possible project ideas. We are open to other ideas if you’d like to propose your own.

Project 1 [Python]: Personal Budget Tracker

Create a simple Personal Budget Tracker using Python that allows users to manage their monthly budget by entering income and expenses. The program will calculate the remaining balance, categorize expenses, and notify the user if their expenses exceed their budget.

Requirements:

· The program should allow the user to:

1. Set their total income (budget) for the month.

2. Add expenses to different categories (e.g., Food, Transportation, Entertainment).

3. View total expenses, category-wise expenses, and the remaining balance.

4. Receive a warning if the expenses exceed the set budget.

· The solution should use lists, variables, print statements, if conditions, loops, and functions (no external libraries).

Structure and Features:

1. Set the Monthly Budget:

o The user will input their total income (the budget for the month).

2. Add Expenses:

o The user will be able to add expenses into different predefined categories (e.g., Food, Transportation, Entertainment, Bills).

o The program will ask the user to input the category and the amount spent.

3. Track Expenses:

o The program will keep track of expenses and calculate totals for each category.

o It will continuously update the remaining budget after each expense is entered.

4. Display Summary:

o The user can view a summary of their expenses by category and check the remaining balance at any time.

5. Warning for Overspending:

o If the total expenses exceed the set budget, the program will notify the user that they are overspending.

Code Breakdown:

1. Main Menu: The user can choose from the following options:

o Set a new budget

o Add an expense

o View expense summary

o View remaining budget

o Exit

2. Predefined Categories: The categories are hard-coded into the program, and expenses are added to these categories.

Example output:

Project 2 [Python Programming]: Grocery list and Budget manager

Create a Python program that allows users to manage a grocery shopping list and budget. Users can add items to their list, specify the price of each item, and track their total spending. The program will ensure the user stays within their set grocery budget.

Requirements:

· The program will allow the user to:

1. Set a grocery budget.

2. Add grocery items to a shopping list, including their price.

3. View the list of added items and the total cost.

4. Receive a warning if the total cost exceeds the budget.

Structure and Features:

1. Set Grocery Budget:

o The user will input a budget for their grocery shopping.

2. Add Grocery Items:

o The user will add items to their shopping list, including the name of the item and its price.

o The total cost will be updated with each new addition.

3. View Grocery List and Total Cost:

o At any point, the user can view the list of items and the total cost so far.

4. Warn for Exceeding Budget:

o If the total cost exceeds the set budget, the program will notify the user.

Project 3 [Python]: Fitness Progress

 Create a Python program that helps users track their fitness progress over time. Users will input their daily exercise routines and log their workouts. The program will calculate the total time spent on exercises and provide a summary of the user’s progress at the end of the week.

Requirements:

· The program will allow the user to:

1. Log daily exercises (type of exercise, time spent).

2. Track the total exercise time for each day and provide a weekly total.

3. Receive feedback on whether the user is meeting their fitness goals.

4. View a summary of each day’s activities.

Structure and Features:

1. Set Weekly Fitness Goal:

o The user will input their fitness goal for the week (e.g., 300 minutes of exercise).

2. Log Daily Exercises:

o Each day, the user will input exercises they performed and the time spent on each exercise.

o The program will store these entries in a list.

3. Track Progress:

o The program will calculate the total exercise time logged each day and the total for the week.

o It will compare the weekly total against the fitness goal and provide feedback.

4. View Exercise Summary:

o At any time, the user can view a summary of their exercises for the week, showing how much time was spent on each day.

Project 4 [AI/Python]: Robot Maze solving

Go to https://gears.aposteriori.com.sg/  and select the following:

- Robot: Maze Runner

- World: Maze Map, imperfect

Write a python code that asks the user for a certain color (Blue, red, green, or yellow) and then solve the maze and get to that color spot.

Project 5 [AI]: Clustering

Your spaceship has just returned from an exploratory mission on a distant planet, and you have collected a sample of 1000 rocks from various locations. These rocks vary in their physical characteristics, such as their length, weight, and color. Your task as a data scientist is to analyze the dataset containing these measurements and determine how many distinct categories (clusters) of rocks are present.

Objective:

You are provided with a dataset containing 1000 samples, each representing a rock. The dataset includes the following features:

· rock_length: The length of the rock.

· rock_weight: The weight of the rock.

· rock_color: The color of the rock (e.g., Red, Green, Blue, Yellow, Brown).

Your task is to use clustering techniques to analyze the physical properties of the rocks and determine the natural groupings (clusters) in the data.

Steps:

1. Load the dataset: The dataset contains the rock_length, rock_weight, and rock_color features for 1000 rocks.

2. Preprocessing: Since color is categorical, you should either encode or ignore it during the clustering process. You will use the rock_length and rock_weight features for clustering.

3. Clustering Algorithm: Apply the K-Means algorithm to cluster the rocks based on their rock_length and rock_weight.

4. Analysis:

o How many distinct categories (clusters) are present among the rocks?

o Visualize the clusters and describe the characteristics of each group.

o Is there a relationship between the clusters and the rock colors?

Data: on moodle

Project 6 [AI]: Data Analytics

You are considering opening a gaming booth in one of three malls. You have a dataset that contains detailed information about mall visitors, including their age group, the day of the week, the time of day they visit, and their total bill spent during their visit. To maximize your booth's success, you want to identify the ideal mall, day, and time to open the booth, targeting the times when potential customers are most likely to visit.

Objective:

Using the dataset containing the following information:

· Mall: The name of the mall (3 options)

· Age Group: The age group of visitors (e.g., 10-20, 21-30, etc.)

· Day of the Week: The day of the week (Monday-Sunday)

· Time of the Day: The time of day (Morning, Afternoon, Evening)

· Total Bill: The total amount spent by visitors

Analyze the data to determine:

1. Which mall has the highest potential for a gaming booth (based on total bill or visitor trends).

2. What time of day would be best to attract your target audience.

3. Which day of the week typically sees the highest engagement or sales.

Steps:

1. Load and explore the dataset to understand the distribution of visitors across the malls, days, times, and total spending patterns.

2. Segment the data by age group to identify which age group spends the most and during what time/day they frequent the mall.

3. Analyze spending patterns across malls, days of the week, and times of the day to determine high-traffic times for your target audience.

4. Use this information to decide the best mall, best time, and best day of the week to set up your gaming booth for maximum success.

Data: on moodle

Project 7 [AI/Python]: Robot Arm controller

Write a Blockly or python script. for the dobot arm to pick up three cups and put them on top of each other.

· Use 3 cups of different colors and place them in the reach zone of the robot

· Note down the location of Home and positions of the plates/cups

· Attach the suction cup to the gripper

Project 8 [PYTHON / cyber security] : Python-based Password Manager

Create a command-line password manager that allows users to securely store, manage, and retrieve their passwords for different accounts. The application should follow cybersecurity best practices, such as encrypting stored passwords.

Features:

1. User Authentication: Implement a login system with username and password authentication.

2. Add Accounts: Users can store account details, including the service name (e.g., "Gmail"), username, and password.

3. View Accounts: Users can view their stored account details.

4. Edit Accounts: Users can update their account information, including the password.

5. Delete Accounts: Users can delete stored accounts.

6. Password Encryption: Ensure that stored passwords are encrypted using an encryption algorithm.

7. Search Accounts: Users can search for stored accounts by service name.

Additional Challenges:

1. Save and Load: The application should save encrypted account data to a file (e.g., JSON or CSV) and load it securely.

2. Password Strength Validation: Implement a feature to validate password strength (length, special characters, numbers, etc.).

3. Password Generator: Implement a feature to generate strong, random passwords for users.

Project 9 [PYTHON / cyber security] : packet sniffER

Create a simple packet sniffer using Python. The packet sniffer will monitor and display network traffic on a local network interface.

Requirements:

1. Packet Capturing:

   - Use the Python library `scapy` or `socket` to capture incoming and outgoing packets on the local machine.

   - The program should display basic information about each packet, such as:

     - Source and destination IP addresses.

     - Protocol (e.g., TCP, UDP, ICMP).

     - Source and destination ports (for TCP/UDP packets).

2. Filtering by Protocol:

   - Implement a simple filter to allow users to choose which protocol (TCP, UDP, or ICMP) they want to view.

3. Continuous Packet Monitoring:

   - The program should continuously sniff packets and display them in real-time.

4. User-Friendly Output:

   - For each packet, display the captured information in a clear and readable format (e.g., “TCP packet from 192.168.1.1 to 192.168.1.2 on port 80”).

Bonus Points:

Save Logs: Add an option to save the captured packet data to a file (e.g., a CSV file) for further analysis.

Project 10 [PYTHON / cyber security] : FIle integrity checker

Develop a simple Python tool that calculates the hash of files to verify their integrity. This tool will allow users to detect any changes in their files, which is a common cybersecurity practice to ensure that files haven't been tampered with.

Requirements:

1. File Hashing:

   - Use Python's `hashlib` library to calculate the cryptographic hash (e.g., SHA-256) of a file.

   - The program should prompt the user to input the file path and then display the hash of the file.

2. Integrity Verification:

   - Allow users to store the original hash of a file in a text file.

   - The user can then re-run the program to check if the current file's hash matches the original hash, ensuring the file has not been altered.

3. User-Friendly Output:

   - Display whether the file is "Intact" (if the hashes match) or "Corrupted/Modified" (if the hashes do not match).

Bonus Points:

1. Directory Hashing: Extend the functionality to check the integrity of all files in a directory.

2. Automated Integrity Check: Schedule automatic integrity checks for important files and log the results.


热门主题

课程名

mktg2509 csci 2600 38170 lng302 csse3010 phas3226 77938 arch1162 engn4536/engn6536 acx5903 comp151101 phl245 cse12 comp9312 stat3016/6016 phas0038 comp2140 6qqmb312 xjco3011 rest0005 ematm0051 5qqmn219 lubs5062m eee8155 cege0100 eap033 artd1109 mat246 etc3430 ecmm462 mis102 inft6800 ddes9903 comp6521 comp9517 comp3331/9331 comp4337 comp6008 comp9414 bu.231.790.81 man00150m csb352h math1041 eengm4100 isys1002 08 6057cem mktg3504 mthm036 mtrx1701 mth3241 eeee3086 cmp-7038b cmp-7000a ints4010 econ2151 infs5710 fins5516 fin3309 fins5510 gsoe9340 math2007 math2036 soee5010 mark3088 infs3605 elec9714 comp2271 ma214 comp2211 infs3604 600426 sit254 acct3091 bbt405 msin0116 com107/com113 mark5826 sit120 comp9021 eco2101 eeen40700 cs253 ece3114 ecmm447 chns3000 math377 itd102 comp9444 comp(2041|9044) econ0060 econ7230 mgt001371 ecs-323 cs6250 mgdi60012 mdia2012 comm221001 comm5000 ma1008 engl642 econ241 com333 math367 mis201 nbs-7041x meek16104 econ2003 comm1190 mbas902 comp-1027 dpst1091 comp7315 eppd1033 m06 ee3025 msci231 bb113/bbs1063 fc709 comp3425 comp9417 econ42915 cb9101 math1102e chme0017 fc307 mkt60104 5522usst litr1-uc6201.200 ee1102 cosc2803 math39512 omp9727 int2067/int5051 bsb151 mgt253 fc021 babs2202 mis2002s phya21 18-213 cege0012 mdia1002 math38032 mech5125 07 cisc102 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 math21112 efim20036 mn-3503 fins5568 110.807 bcpm000028 info6030 bma0092 bcpm0054 math20212 ce335 cs365 cenv6141 ftec5580 math2010 ec3450 comm1170 ecmt1010 csci-ua.0480-003 econ12-200 ib3960 ectb60h3f cs247—assignment tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 math350-real math2014 eec180 stat141b econ2101 msinm014/msing014/msing014b fit2004 comp643 bu1002 cm2030
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图