首页 > > 详细

代写Instruction for CA2 Group Assignment 2025代写C/C++编程

项目预算:   开发周期:  发布时间:   要求地区:

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
1)  Engineer                      Cybersecurity               MS Pte Ltd        Full time (Junior)   Bachelors                  2
2)  Project Manager          Software Engineering   Pear Soft          Full  time (Senior)  Masters                     6
3)  Data Analyst                A.I & Data Science       XYZ Co             Part time                Diploma                    0
4)  AI Engineer                 A.I & Data Science        VisionSoft         Full time (Junior)   Bachelors                  3
To filter jobs, enter -1.
Enter the job number to view details, or 0 to go back:

If the user chooses to view details, the following information will be displayed. This display is similar for all jobs.

Job Title: Engineer
Category:  Cybersecurity
Pay: $4000 to $6000
Job Type: Full Time (Junior)
Min Education: Bachelors
Years of Experience required: 2
Company: MS Pte  Ltd
Technical skills required: Python, Cisco Firepower, Symantec Endpoint Protection, NIST Cyber Security Framework, Pen Testing, IT Security Audit
Managerial skills required: Risk management
Additional Job Description:
Work with vendors to conduct security assessments and penetration tests.
Identify security gaps, perform. threat risk assessments in current setup and propose mitigating measures.
Work with IT infrastructure team to evaluate, implement and enhance the network perimeter security, endpoint security, SIEM, secured remote access, MFA, Identity Access Management and Privileged Access Management.
Company Description:
Ms Pte Ltd is IT Integration firm with offices in Singapore, Indonesia and Malaysia. We have more than 200 staff serving clients from all around the region.
Company URL: www.mscompany.com
Enter 0 to go back

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
2) Filter by Job Type
3) Filter by Years Exp
4) Filter by Pay

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
Enter your password: abc123
Usernames, passwords and roles are saved in a txt file. The program should load the data users.txt file (See Appendix A) and based on the username, the system should be able to know which role the user is and show the correct menu.

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:
Company Name: ABC Company
Company URL: www.abcco.com
Description:
ABC company description …
Enter 1 to edit, or 0 to return back to menu:
After entering 1, the user will be able to enter the name, url, and description. This information will be saved to companyinfo.txt (See Appendix A).

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:
There are 3 applicants.
Enter 1 to view applications, or 0 to go back:

If 1 is entered, the screen will display the applicants as follows:

Name              Age          Education           Years Experience
1)  Jamie Chua     22            Bachelors            0
2)  Lee XJ             26            Masters               2
3)  M. Malik           30            PhD                     0

Select user to view details, or 0 to go back.

The job applicant details will be shown as follows:
Application status: Pending
Name: Jamie Chua
Education: Bachelors
Email: [email protected]
Age: 22
Years Experience: 0
Technical skills: Python, Javascript, HTML, Pandas
Managerial skills:
Additional description:
I am a positive thinker, and I love to learn and challenge myself. I have created
several software projects that in school that are relevant to this role.
Enter 1 to approve this applicant for interview, -1 to reject, 0 to go back

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
Max 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:
1) Edit profile
2) View Jobs
3) View Applications

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:
Name:  James Lim
Age: 22
Email: [email protected]
Education: Bachelors
Category: Cybersecurity
Years experience: 0
Technical skills: Python, Cisco Firewall, Pen testing
Managerial skills:
Enter 1 to edit, 0 to go back:

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.
Type any additional description you want to add into the job application:

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
1) Software Engineer     Full time (Junior)      ABC Company               Pending
2) Junior Developer       Full time (Senior)      PearSoft                        Rejected
3) Developer intern        Part time                   Baba Company             Approved

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
To make it easier for companies to find suitable applicants, the system can do a ranking of applications based on how close the applicant is to the job requirements. For example, the job requires:
Education:  Masters
Years experience:  6

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 system can also give scores for technical skills and management skills. For example, the job requires:
Technical skill:  Python, Pandas, CVS, NLP

The application that has Python, Pandas and CVS will rank higher than the application that only has Python.

2) Multiple Filters
On the job listing, there are 4 ways to filter the job listing, but only 1 at a time. However, you can add in the option of adding more than 1 filter, allowing the user to filter the job listing combing multiple filters, for example, Filter by Category (Software Engineering) and Filter by Years Exp (4).

3) Use OOP

Use Object Oriented Programming in your program



软件开发、广告设计客服
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 9951568
© 2021 www.rj363.com
软件定制开发网!