1102
9236
10643
2376
6815
10394
3055
3750
4181
5452
10745
9896
255
9596
1254
2669
1267
1267
1327
10207
5731
8435
640
5624
1062
3946
3796
9381
5945
10612
1970
9035
1376
1919
2868
5847
685
10578
3477
3937
5994
6971
3011
4474
4344
8068
6564
2659
4064
1161
6830
5167
5686
5352
898
4316
7699
6406
6466
2802
1239
8162
398
9908
8251
8419
6245
8484
9012
6318
853
4031
868
8776
10453
1026
1984
8127
5274
6937
1960
9655
1279
9386
6697
6326
2509
7127
7802
8798
6564
7220
10650
3847
7485
10951
3883
9456
4671
2067
6871
1573
8746
7473
4713
1215
8486
6652
4054
10304
5291
2680
9108
6446
1581
7607
2032
7630
1106
3702
986
8602
556
2209
3055
886
5813
6513
3154
1534
6271
611
4001
6522
3819
8396
2364
9660
5937
2506
9002
8586
8805
552
5802
7825
5610
8169
602
5638
2072
3536
5885
9334
6393
9318
6057
5812
5647
4654
1880
634
3084
9606
2287
3032
4030
5627
1314
8489
1601
8559
2083
5520
1829
2890
4533
3225
7405
3985
5521
1127
7109
8083
3615
1475
2896
10523
7108
797
8443
169
8755
5761
9862
9032
1659
10944
6878
1253
4690
9934
8820
41
9367
1898
3554
10650
3136
3574
9682
3950
691
8247
6677
10381
8879
8660
6431
6030
365
10357
10526
9245
5291
4651
5741
800
540
6074
68
8714
5095
4578
10841
5805
6676
2547
203
10988
604
9057
3787
2397
10984
9807
1703
6382
9793
8592
1279
8005
5297
7166
4070
4252
606
6443
10827
8140
5740
10844
8834
3695
4152
10662
8791
7791
9940
831
2999
2254
1161
808
4233
3562
3301
1530
7387
6425
9907
9752
4533
7079
3305
5286
4313
1503
6501
8201
1723
9501
9878
1844
5976
6171
10265
2607
10667
2310
836
2618
9813
5907
6849
470
8794
528
2327
2200
237
618
4898
1307
3212
1007
1322
10409
6956
8653
3462
3207
9210
1309
4431
9106
7737
1698
1117
3826
5297
5589
3199
9089
5967
3156
5919
2855
5985
1780
6267
6303
9855
3843
1816
2876
5973
2888
709
6509
4320
10342
2616
4887
10470
6084
4573
2457
10205
4627
7927
1703
5034
7042
4292
Assignment 1 submission due date: Week 13 Friday 5 pm
Project 1: Video Time Logge
· Learning Objective: Working with Files in Python
Problem Description:
Kevin is a freelance video producer who makes TV commercials for local businesses. When he makes a commercial, he usually films several short videos. Later, he puts these short videos together to make the final commercial. He has asked you to write the following two programs.
1. A program that allows him to enter the running time (in seconds) of each short video in a project. The running times are saved to a file.
2. A program that reads the contents of the file, displays the running times, and then displays the total running time of all the segments.
Project 2: Fitness Tracker ( ST1/4483 Only)
· Learning Objective: Using Python Lists, Collections and Files
Problem Description:
A Personal Fitness Tracker is a wearable device that tracks your physical activity, calories burned, heart rate, sleeping patterns, and so on. One common physical activity that most of these devices track is the number of steps you take each day.
· The file “txt” at the following web link contains the number of steps a person has taken each day for a year.
· There are 365 lines in the file, and each line contains the number of steps taken during a day. (The first line is the number of steps taken on January 1st, the second line is the number of steps taken on January 2nd, and so forth.)
· Write a program that reads the file, then displays the average number of steps taken for each month.
· (The data is from a year that was not a leap year, so Fe
uary has 28 days.)
https:
drive.google.com/file/d/1fBVZlrVC69MMkN-y1ICdUk2JVt4ia4L0/view?usp=sharing (Links to an external site.)
Project 3: Employee Management System
· Learning Objective: Using Python Classes and Objects
Problem Description:
In this problem, you will develop an employee management system using Python. Here are the
ief requirements of the program:
1. Write a class named Employee, that holds information about each employee in attributes such as name, ID number, department, and job title.
2. Once you have written the class, Draw the UML diagram, and write a program that creates three objects of employee class, with following information and displays their details.
Name
ID Numbe
Department
Job Title
Susanna Mye
47899
Accounting
Vice President
Mark Joseph
39119
Info Tech
Programme
Joyce Roberts
81774
Manufacturing
Enginee
3. Create a program that stores Employee objects in a dictionary. Use employee ID number as the key. The program should present a menu that lets the user perform the following actions:
1. Look up an employee in the dictionary
2. Add a new employee to the dictionary
3. Change an existing employee’s name, department, and job title in the dictionary.
4. Delete an employee from the dictionary
5. Quit the program
4. When the program ends, it should pickle the dictionary and save it to a file. Each time the program starts, it should try to load the pickled dictionary from the file. If the file does not exist, the program should start with an empty dictionary.
5. Create a new class named ShiftEmployee, that is a subclass of Employee class. The shift employee has additional attributes in addition to name, ID number, Department and Job Title. The additional attributes are:
· Shift number (an integer, such as 1,2, or 3)
· Hourly pay rate
The workday is divided into two shifts: day and night. The shift attribute will hold an integer value representing the shift that the employee works. The day shift is shift 1 and night shift is shift 2.
6. Write appropriate accessors and mutators for each class.
7. Once you have written the classes, write a program that creates an object of ShiftEmployee class and prompts the user to enter data for each of the object’s data attributes. Store the data in the object, then use the object’s accessor and mutator methods to retrieve it and display it on the screen. Demonstrate the ShiftEmployee class by creating atleast 2 shift employee objects.
8. Create another new class named Contractor, that is a subclass of Employee class. The contractor has additional attributes in addition to name, ID number, Department and Job Title. The additional attributes are:
1. Contract End Date
2. Australian Business Number (ABN)
3. Fixed Contract Salary until the end of contract
Demonstrate this class by creating 2 contractor objects.
Submission Requirements for all projects
Each Project needs to include following project deliverables:
1. Analysis:(Describe the problem including input and output in your own words.)
2. UML Class Diagram
3. Algorithm Design: (Describe the major steps for designing the algorithm, for this problem solving.)
4. Input Validation and Exception Handling in the code
5. Console and Graphical User Interface
6. Code files
7. Test Plan: (Evidence of testing)
8. Application Testing screenshots:
Submit the following items for each Project:
1. Compile, Run, and Submit Google Colab Notebook or PyCharm project or Python files (you must submit this part, regardless of whether your code is working, not working, is complete or incomplete, co
ect, or inco
ect).
2. Include the Project deliverables (Problem Description, Analysis, UML, Algorithm Design, Code, Testing, and working application screen shots in a Word file and submit it online, in Canvas Assignment 1 submission link before the due date (Week 12 Friday 5 pm).