Develop an employee management system using python

Assignment Help Other Subject
Reference no: EM134018227

Fundamentals of Programming

Assessment- Employee Management System Development

Task
You will develop an Employee Management System using Python. This system will require handling multiple data sources and performing more complex data manipulation tasks, while still focusing on Classes, File Handling, and Exception Handling.

You are allowed and encouraged to use ChatGPT for assistance but must complete the coding independently. Document your interactions with ChatGPT and explain how its suggestions helped or influenced your solution.

Assessment Description
The Employee Management System project simulates a real-world scenario where a small or medium-sized business needs to manage employee data, reflecting standard business practices. The system should incorporate object-oriented programming (OOP) principles such as classes, file handling for data persistence, and error handling. The project is designed to reinforce key programming skills in Python while ensuring students understand how to structure a solution for a typical business case involving employee management. Through the application of Object Oriented Programming, students will learn how to design and implement reusable and scalable code.

Furthermore, the system incorporates multiple data files file-handling techniques, allowing data to be stored and retrieved, which mirrors the way real-world applications manage information. Exception handling ensures the robustness of the program, avoiding crashes when invalid inputs or unforeseen issues occur. In this project, ChatGPT can be used as an assistant to refine design logic, enhance code quality, and manage exceptions, but students are responsible for writing the code themselves.

Requirements Part 1: Code:
Your task is to create an Employee Management System that covers the following requirements:

Class and Behaviours
Create a class called Employee with the following parameters:
Private instance attributes: name, age, position, and salary.
Public instance attributes: department, location.

Implement the following behaviours:

Parameterised Constructor: Initialise at least 4 employee objects with the attributes mentioned above and write them into a file (.txt, .csv, or .json). Call the file Current_Employees.

Add Employee: Prompt the user to enter employee details and write the data to the Current_Employees file. Add validation checks to ensure no employee with the same name or position is added twice.

View All Employees: Read from the Current_Employees file and display all employee records.

Update Employee Details: Modify an employee's details in the Current_Employees file based on the user's input.

Delete Employee: Remove an employee's details from the Current_Employees file based on the user's input.

Search Employee: Search for an employee by their name in the Current_Employees file based on the user's input.

Sort Employees: Sort and display the employees based on salary and position in the Current_Employees file based on the user's input.

Implement a menu in main() that allows users to select different options, such as adding a new employee, viewing all employees, updating employee details, deleting an employee, searching for an employee, and sorting the employees. This should be presented to the user when the code runs.

ChatGPT Interaction: Use ChatGPT to help design the logic for your class and behaviours. Ask for feedback on improving your approach. Document this interaction.

File Handling
The system must use file handling to persist employee data. Each method should read from or write to the Current_Employees file as required. Ensure proper handling of file operations with error checking and exception handling. Concepts from Database Management DBMS can help in understanding how data is stored, retrieved, and managed efficiently.

ChatGPT Interaction: Ask ChatGPT for assistance in designing your file reading with error checking and exception handling. Document this interaction.

Exception Handling
Implement appropriate exception handling to manage potential errors, such as:
Invalid input from the user.
File not found errors.
Data type mismatches (e.g., age must be an integer, salary must be a float).

ChatGPT Interaction: Ask ChatGPT for assistance in exception handling. Document this interaction.

Part 2: Video:

As part of your assessment, you are required to create a Code Explanation Video in which you will explain the logic and reasoning behind your code. This video will demonstrate your understanding of the programming concepts you have applied in your Employee Management System and allow you to articulate your thought process clearly. Use the following guidelines for the coding explanation video:

Purpose:
The video should focus on explaining the logic and reasoning behind your code, highlighting key decisions, programming constructs, and how different components of your code work together to achieve overall functionality.

Content to Cover:
Provide a brief overview of the Employee Management System, including its main features and purpose.

Highlight key sections of your code, such as control flow, conditional logic, functions, loops, and data structures (lists, dictionaries) etc. Explain how these sections contribute to the overall system functionality.

Discuss the rationale behind your choice of algorithms, data structures, and code organisation. Justify why you used specific methods, libraries, or design approaches. Understanding Data Structures Algorithms is particularly relevant when explaining these design decisions.

Identify any challenges you encountered while coding and explain how you resolved them. This could include debugging processes, optimising code, or refining logic with ChatGPT feedback.

Mention any improvements you made based on testing or feedback and suggest areas for future enhancement.

Requirements:
The video should be between 5 to 7 minutes in length.
Use screen recording software to showcase your code directly while you explain it. Ensure your screen and audio are clear and your video is turned on.

You must be the one explaining your code; do not use any AI-generated voiceovers or

Learning outcome 1: Interpret simple program specifications.
Learning outcome 2: Use an integrated development environment to develop, debug and test a solution written in a programming language.
Learning outcome 3: Use a programming language to read and write data to a persistent storage.

Assessment Instructions
Develop a clear structure for your Employee Management System, ensuring that all code is organised logically using functions and external libraries.

The program must have user interactivity and choices so that users can use the program for as long as they want.

The program must follow proper coding standards such as including appropriate comments, be clearly organised, code must be easy to read and use appropriate variable names.

Include a transcript of all your interactions with ChatGPT. Ensure the transcript highlights the questions asked, the feedback received, and how you implemented this feedback. Document this in a Word file in the form of screenshots.

Include a transcript of all your interactions with ChatGPT. Ensure the transcript highlights the questions asked, the feedback received, and how you implemented this feedback. Document this in a Word file in the form of screenshots of full interaction.

Your video will be assessed based on your ability to clearly and accurately explain your code, demonstrate a sound understanding of programming concepts, and justify your coding decisions.

Any deviation from assessment guidelines will be considered as breach of contract and may result in academic penalty or case referred to our Academic Integrity Team.

You are only allowed to submit 4 files. 1 must be your Python code file in '. PY' format, and other file must be either MS Word or PDF file format, where you will post your ChatGPT interaction screenshots. The final file will be your video in a commonly supported format (e.g., MP4, AVI, MOV). The final file will be your Current_Employees file.

NOTE: Please refer to screenshot below showing 4 separate icons and description to submit 4 separate files respectively. For additional guidance on coding projects and assessments, refer to Programming Assignment Project Solutions.

Reference no: EM134018227

Questions Cloud

Support groups and addiction treatment : The serenity prayer is often used in support groups and in addiction treatment. What are your thoughts about this? Is this helpful?
Early childhood education setting : When explaining to parents why a student is playing an educational game in centers in an early childhood education setting.
Root cause of development of substance use disorders : Discuss what you believe to be the root cause of the development of Substance Use Disorders (spiritual, cultural, biological, or psychological).
Self esteem connect to pre operational development : How does self esteem connect to pre operational development? How does peer relationship connect to pre operational development?
Develop an employee management system using python : Develop an Employee Management System using Python. This system will require handling multiple data sources and performing more complex data manipulation tasks
Describe dynamics of the group using concepts : Describe the dynamics of the group using concepts in Chapter 8. Was there a clear leader? How did the leader "become" the leader?
Negative symptoms and positive symptoms of schizophrenia : Explain the difference between negative symptoms and positive symptoms of Schizophrenia.
What is the best leadership style for women to adopt : In what ways do you expect girls' and boys' online behavior to be similar? To be different? What is the best leadership style for women to adopt?
Slides for nuerotransmitter systems and drug classes : After recently going over the slides for the nuerotransmitter systems and drug classes. I do not agree with marijuana being legalized for the public population

Reviews

Write a Review

Other Subject Questions & Answers

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd