代写Instruction for CA2 Group Assignment 2025代写C/C++编程
- 首页 >> Java编程Diploma in Information Technology
Problem Solving
Instruction for CA2 Group Assignment
Apr 2025 Semester
Assessment
100 marks (This assignment constitutes 40% of the overall assessment)
Deliverables
There are FOUR (4) deliverables in this assignment, students must complete ALL components.
1. Written project report (6%)
2. Python codes (20%)
3. User guides with sample inputs/outputs (4%)
4. Oral Presentation (10%)
The Task
The objective of this project is to allow students to design and implement a mini program. You are to use flowchart to design your program, with clear steps and flows indicated. You need to use Python programming language to code all the programs, according to the project requirement.
In your report, write a short description, in 500 words, on your program design. You need to include the flowchart of your mini program in the report. You will also include screenshot samples on how the program should run in the report.
In your Python codes, include comments to explain the purpose of each section.
Assessment Marks Allocation
|
Component Assessed |
Marks Allocation |
1 |
Part 1 – Report with flowchart |
15 |
2 |
Part 2a – Main Programs (Python) |
40 |
|
Part 2b – Additional Features |
10 |
3 |
Part 3 – User guides with screenshots |
10 |
4 |
Part 4 – Oral Presentation |
25 |
|
Total |
100 |
The Case
Singapore Computer Science University (SCSU) wants to create a job portal for its graduates to easily connect to companies looking to hire. The jobs portal will focus on 3 sectors:
- Software Engineering
- A.I and Data Science
- Cybersecurity
The jobs portal will allow companies to login and post jobs, and students (or past graduates) can login to view and apply for the jobs.
As part of the school I.T team, SCSU wants you to help develop this portal as part of its services for students.
Project Requirement
After several rounds of discussion, SCSU would like to have the following essential features to be included: · Admin system that allows the Admin to set up company and job seekers login. · Company system that allows companies to edit the company profile, post new jobs, view job applications and accept job applications. · Job seeker system that allows users to view available jobs, edit profile, apply for jobs and view applications. The application should display the below main menu when the user first opens the application: @@@@ SCSU Jobs Portal @@@@ 1. View jobs 2. Login 0. Exit Enter option: Jobs Listing The user should be able to view jobs even without logging in. If option 1 is chosen, the jobs should be displayed as follows:
Job title Category Company Job type Min Education Exp req If the user chooses to view details, the following information will be displayed. This display is similar for all jobs.
Job Title: Engineer Do note that it does not have an option to apply for the job on this screen, as he has not logged in. Only after logging in as a Job seeker, will the user have the option to apply for the job (see later section for more details on applying for job) In the job listing menu, the user can also choose to enter -1 to filter the job listings. When -1 is entered, these options will display:
1) Filter by Category Filter by Category allows the user to choose Cybersecurity, Software Engineering or Data Science. The jobs listing will then only show jobs in that category. Filter by Job Type allows the user to choose Full Time (Senior), Full Time (Junior) or Part Time. The jobs listing will then only show jobs with that type. Filter by Year Exp allows the user to enter a year, e.g. 2. The jobs listing will then only show jobs that require 2 years or less experience. Filter by Pay allows the user to enter an amount, e.g. 3000. The jobs listing will then only show jobs that have pay of $3000 or more. Log in System On the main screen, the user can choose to log in. The user will be prompted to enter the following:
Enter your username: tester Admin System The admin will be able to see the following options after logging in: 1) View all users 2) Add new users Enter option: View all users will display all the usernames, passwords and roles. Add new users require the admin to add a new username, password, repeat password, and role. The system should not allow 2 of the same usernames. Password and Repeat password must match. Roles should be either: Admin, Company or Job Seeker. Company System Company user will be able to see the following options after logging in: 1) Edit company profile 2) View jobs posted 3) Add new job Enter option:
If the user selects option 1), the screen will appear:
If user enters 2 on main menu, a list of jobs posted by the user will appear. See section on Jobs Listing on how list of jobs will be displayed. Do note the jobs list should only display jobs belonging to that company/user. When the user enters option to view job details, it will display details as shown previously, with an additional option:
If 1 is entered, the screen will display the applicants as follows:
Name Age Education Years Experience Select user to view details, or 0 to go back.
The job applicant details will be shown as follows: If 1 is entered, the application status will be changed to Approved. If -1, is entered, the application status will be changed to Rejected. Rejected applications will not be show in the list again. If not, application status will remain as Pending.
If user enters 3 on the main menu, the user will be asked to add details of new job. The following information must be entered: Job title Category (user will choose Cybersecurity, Software Engineering or AI & Data Science)
Min Pay Job Type (user will choose Part time, Full time (Junior) or Full time (Senior). Full time (Senior) will require adding Managerial skills (see below)) Min Education (user will choose Diploma, Bachelors, Masters or PhD) Years of experience Technical skills Technical skills are loaded from technical.txt (See Appendix A). Technical skills are split by category. This means that Cybersecurity, Software Engineering, AI & Data Science have their own set of technical skills. So if the category is Software Engineering, then the user will see the follow options for technical skills: 1) Python 2) Java 3) C++ 4) Javascript 5) React 6) Android 7) iOS 8) PHP 9) HTML 10) MySQL 11) LAMP 12) LEMP 13) MongoDB 14) MSSQL 15) Go Enter choices: 1,3,5,12 The user has can enter multiple choices in the same input, separating each number with a comma. Management skills Management skills are loaded from managerial.txt (See Appendix A). Management skills are only required if the position selected is Full time (Senior). There are no categories for management skills. All categories can select from the same skills. Additional job description Once completed, the job will be saved to jobs.txt. There is no fixed format for jobs.txt. You may choose your own format for saving the jobs. Job Seeker system
Job seekers will be able to see the following information after login:
After entering 1, the system will show the user’s existing profile and allow the user to edit the profile. The screen will show the user’s profile: After editing, the information should be saved to jobseekers.txt. There is no fixed format for jobseekers.txt After entering 2, the system will display the list of available jobs, as described in Jobs Listing. The only difference is there will be an option to apply for the job. Enter 1 to apply, 0 to go back If the user clicks apply, there is an additional step before the application is confirmed.
Your profile will be sent to the company. After typing the additional description, the program will ask the user to confirm. If yes, the application will be saved as Pending status. After entering 3 on the main menu, the user will be able to see the list of applications that they sent out, along with the status.
Job title Type Company Name Status Enter 0 to go back Bonus Features Below are suggestions for BONUS features for consideration. You do not have to incorporate all of them and you may include your own additional features.
1) Application rating
An application with Masters and 8 years experience will be ranked higher than an application with Bachelors and 5 years experience. A score can be given for how close the Education and years experience the application is to the job requirements. The application that has Python, Pandas and CVS will rank higher than the application that only has Python.
2) Multiple Filters 3) Use OOP Use Object Oriented Programming in your program |