联系方式

您当前位置:首页 >> Java编程Java编程

日期:2024-11-14 08:52

Computing

CPT111: Java Programming

Semester 1, 2024-25

Coursework 3: Programming Project – A Simple Quiz System

Read carefully — no dispensation will be given for lack of awareness of the rules

Assignment type This is a group programming assignment. You are required to work as a

group of 4 to 5 students, which will be allocated randomly.

(You should be able to find your group members’ information from

Learning Mall (LM), and should contact the instructors if there is any

problem.)

Weighing Total marks available: 100, accounting for 30% of overall module marks.

Release date 1pm CST Wednesday 6 November 2023

Due date 11:59pm CST Sunday 1 December 2024

Learning outcomes

(A) Understand and appreciate the principles of using object-oriented programming techniques

for the construction of professional robust, maintainable programs deployed to meet real

world business goals;

(B) Design, write, compile, test, debug and execute object-oriented program using an Integrated

Development Environment (IDE);

(C) Effectively develop object-oriented programs as a member or a leader of a software

development team with continuous development strategy supported by AI technology;

(D) Implement object-oriented programming to represent, display, and manipulate data while

mitigating security risks;

(E) Evaluate legal, social, environmental, ethical, diversity, inclusion, and intellectual property

issues related to object oriented program development;

(F) Apply knowledge of engineering management principles, commercial context, project and

change management in object-oriented program.

Submission platform Each group is required to submit an electronic copy of your assignment

via LM.

You are allowed ONE submission only. It is your responsibility to upload

the correct document.

Late submissions Penalties will apply for any work submitted after the due date unless you

have obtained a formal extension prior to the date for submission. The

penalty applied will be 5% of the available marks for the assignment for

each working day or part thereof that the assignment is late. The penalty

will be capped at five working days (120 hours) from the assignment

deadline. Work submitted after five working days will receive a grade of

zero.

Continued on next page

CPT111: Java Programming Semester 1, 2024-25

Submission

confirmation

We strongly advise you to double check that you have submitted the

correct document / final version of your answer.

Submission of incorrect file

If you have submitted the incorrect file, you should email the correct file

to the instructors prior to the deadline. Submitting the incorrect file can

result in failure.

Special consideration Requests for an extension due to illness, misadventure, or other

extenuating circumstances beyond your control will only be considered

via a formal application for special consideration through e-Bridge.

Report format ALL answers must be written in English.

The report must:

• be submitted as a .doc, .docx (do not submit PDF or Apple Pages)

• contain headings and subheadings

• have 3 cm margins

• use a legible font (e.g., Calibri, Arial or Times New Roman)

• be presented in 11 point font size with 1.5 line spacing

• be paginated

Plagiarism and

academic misconduct

It is assumed that you are thoroughly familiar with the policies of XJTLU

regarding academic misconduct and plagiarism. Ignorance of the rules is

not an acceptable defence against an allegation of academic misconduct.

There are no excuses for engaging in plagiarism. Assignment answers

will be checked for plagiarism. Impermissible similarities between student

answers (current and former) can be detected by academic integrity

software and by instructor, and will be referred to the School’s Examination

Officer for investigation. Penalties will follow those of the University’s

Academic Integrity Policy on e-Bridge and can ranged from capped marks

to expulsions from the university.

For use of Generative Artificial Intelligence (AI), see below.

Use of Generative

Artificial Intelligence

(AI)

Simple Editing Assistance

For this assessment task, you may use standard editing software but

not generative AI. You are permitted to use the full capabilities of the

standard editing software, such as Microsoft Office suite, Grammarly, and

Integrated Development Environments (IDEs) for coding. If the use of

generative AI such as ChatGPT is detected, it will be regarded as serious

academic misconduct and subject to the penalties mentioned above.

Tips • Read the questions carefully.

• Write succinctly, and avoid repetition.

• Avoid being overly descriptive.

• Remember to save/back up your work regularly. XJTLU provides all

students free access to XJTLU Box. It may be prudent to save your

work to your XJTLU account so that you can access it from multiple

devices in case you encounter hardware issues.

• You are encouraged to post administrative/procedural questions

about the assignment on the LM Q&A Forum. The instructors will

answer for the benefit of all students.

Coursework 3: Programming Project – A Simple Quiz System 2

CPT111: Java Programming Semester 1, 2024-25

Coursework 3: Programming Project – A Simple Quiz System

The purpose of this assignment is to design and develop an application that can be used to facilitate

educational quizzes, allowing users to select topics of interests, take quizzes related to those topics,

and view their quiz scores on a personal dashboard. The primary aim is to create a user-friendly

and interactive platform that enhances the learning experience through topic selection and question

assignment.

1 Functional requirements

As this is a programming assignment, not a software design one, here is a skeleton to guide you in

the creative part.

1.1 At startup

• The program should load data, such as user information, questions, etc., from selected files,

and store it in memory (using relevant variables and data structure).

– You may assume that all user information are stored in a comma-separated values (CSV)

file1

, as illustrated in resources user.csv, where the 1st, 2nd, and 3rd columns of the

file represent the user id, user name, and password of the user, respectively.

– You can assume that all questions are stored in some XML files, as illustrated in folder:

resources questionsBank. A Java class ReadQuestions has been provided to

you in the src folder demonstrating how the questions can be read from the XML files

into the memory, and the Javadoc of the classes used can be found under the folder

repositories javadoc xjtlu.cpt111.assignment.quiz.

Note: You need to add the library:

repositories xjtlu cpt111 xjtlu.cpt111.assignment.quiz

0.0.1 xjtlu.cpt111.assignment.quiz-0.0.1.jar

to the class path (of your IDE) first before running the ReadQuestion class.

• The program should:

– show information about data loaded.

– validate the questions read. That is, in our case, a question is valid if it

(i) falls into a topic (either new or an existing one)

(ii) has a question statement,

(iii) has more than one answer available for selection, and

(iv) has one-and-only-one answer.

– show a menu that present a list of interactions possible.

• Besides, you may need to add more questions (under different topics) to the question bank

yourself.

1CSV file: a text file format that uses commas to separate values, and newlines to separate records.

Coursework 3: Programming Project – A Simple Quiz System 3

CPT111: Java Programming Semester 1, 2024-25

1.2 Menu — General behaviour

The application should support, at least, the following functions.

• User registration and authentication

• Topic selection

– The topics available should be based on the input from the questions.

• Quiz taking

– You can decide the number of questions in a quiz. However, each quiz should contains

questions at different level of difficulties.

– The questions should be shown to the user one-by-one!

– The order of answers available for selection should be shuffled every time before a

question is shown to the user.

• The score of the quiz should show to the user immediately after the quiz has been finished

and the results should be saved into a score file

– You should design the structure (and format) of the score file on your own, and make

sure that you can read its content back when the program start!

• User dashboard for viewing quiz results of each topic and history of the previous 3 tests

attempted.

• Leaderboard for showing the names of the users with the highest score in each topic.

1.3 Technical requirements

The objective of this assignment is for you to program a simple quiz system so it should be interactive

in the form of showing text to the user and requesting their answer and data update through user

input as well as reading data from different file types. If you fail to do so, your submission will

automatically attract a penalty of 50%.

1.4 Concept requirements

Your code must feature and make use of the following elements.

• All your code must be divided in relevant/meaningful functions and classes.

• Declare/define and use variables with the appropriate data types and meaningful names.

• Input will always be converted into proper data type.

• The program should prevent crash in any situation, thus make sure you test your program

properly.

1.5 Constraints

Dependencies Using libraries or modules that are NOT covered in this course is strictly prohibited

and will result in zero (0) marks automatically in this assignment.

Internet connectivity The application is assumed to be run locally on a computer; hence no internet

connection is required.

Coursework 3: Programming Project – A Simple Quiz System 4

CPT111: Java Programming Semester 1, 2024-25

2 Important reminder

Documentation is also a critically important part of your software engineering. Your use of comment

(in Java source file) will be graded.

You must write the final version of the program totally on your own. Sophisticated plagiarism

detection system are in operation, and they are pretty good at catching copying! Re-read the policy

on the university home page, and note the University’s tougher policy this year regarding cheating.

Using libraries or modules that are NOT covered in this course is strictly prohibited and will

result in zero (0) marks automatically in this assignment.

Your programming style (how clearly and how well you speak a programming language, i.e.,

Java in this course) is what will be graded. Correct functioning of your program is necessary but

not sufficient; you must use the concepts covered in class and meet all requirements stated in this

assignment and as detailed in the marking rubrics (Section 4).

3 Submission requirements

Your assignment has to submit to Learning Mall (LM). You should submit the following:

A. A report (written using Microsoft Word) that includes the following items:

1. A cover sheet stating the student number of your team members.

2. A description of your project

3. Information and explanation of how you add, store and handle users’ data (including the

data structure that you used to store users’ data in memory), the algorithm that you used

to identify the user names in the leaderboard, how to handle problems that appear in the

questions (e.g., questions with more than one correct answers) and other parts of the program,

etc.

4. Tests performed to verify the correctness of the program.

5. Printouts/screen capture of your program’s execution and tests. (This can be incorporated

into Items 3 and 4 above)

6. Peer evaluation form (Section A). (This will be used to adjust the final mark of individual

students according to his/her contributions to the project.)

B. ALL Java source codes and resource files (e.g., images, questions and users files, etc.) that are

required to run the application.

You should compresses all files into a single “.zip” file before submission. You should NOT include

any files from the repositories folder or any files that are NOT relevant to the application into

the submission file. Failure to follow this requirement will result in mark deduction.

Coursework 3: Programming Project – A Simple Quiz System 5

CPT111: Java Programming Semester 1, 2024-25

4 Marking

Commenting and naming

convention (10 pts)

Everything is

appropriately

commented and

every variable is

appropriately named

A few comments

or variable names

are missing or

inappropriate

More than a few

comments are missing

or inappropriate but

more than 50% of

the elements are

commented; OR more

than a few variables

are inappropriate

There is less than 50%

commented OR more

than a few variables

are not properly

named

Prevent crashes (10 pts)

Program does not crash in any

situation

No program crash

Minor error –

program crash for

some very uncommon

case

Major error – program

crash in case of

unexpected type

of user input OR

program crashes

frequently

Crashes most of the

time (or always) when

tested OR circumvent

the requirement to

handle wrong kind of

user input

Appropriate data structure

and variables (10 pts)

Users and scoring

information is stored in

memory in a relevant way

and appropriately typed

variables

Users and scoring

information are

stored in memory in

a relevant way and

with appropriate data

types

Used more than

necessary variables

OR a few variables are

not typed properly

Does not use proper

data structure OR

data type to most

variable (more than

once)

NO data structure

(only simple data

types used) OR more

than one error

Loading data (10 pts)

Load data in memory and

format data in file properly

No issue found when

loading data into

memory

A small number of

data is not loaded (or

improperly) or other

minor error

One type of data

for all items is not

loaded or the file is

not formated properly

or other major error

Data is not loaded or

more than one major

error

Menu (10 pts)

Menu shows the required list

of options, and execute the

right the functionality based

on user input, and show

proper message to user in case

of any problem

The menu is shown

correctly and all

options can be

selected without any

error

Some options are not

shown to the user OR

some options cannot

be selected OR any

other minor error

Menu is not shown

“infinitely” until the

exit option is selected

OR any other major

error

There is no menu OR

it is shown only once

OR more than one

major error

Show question (10 pts)

Show the information about

a question and with answers

shuffled

The questions are

shown according to

the topic selected and

with different level

of difficulties and

answers shuffled

The questions are

shown according to

the topic selected and

with answers shuffled,

but most questions

are of the same level

of difficulties

The questions are

shown according to

the topic selected but

without shuffled the

answers or different

level of difficulties

The questions are

shown arbitrary

Scoring (10 pts)

Accumulate the score

correctly w.r.t. to users’

input

The score is updated

correctly in all cases

The score is updated

correctly in most cases

but not in all cases

The score is updated

correctly occasionally

The score is updated

incorrectly in most

cases or not update at

all

User dashboard (10 pts)

User dashboard shows the

user’s achievement in each

topic and history of the

previous 3 tests correctly

All information are

shown correctly,

especially after scores

update

One or two

information are

shown incorrectly,

or with some minor

error

Most information are

not shown correctly

OR with major error

Several major errors

OR no information is

shown on the user

dashboard

Leaderboard (10 pts)

Leaderboard shows the name

of user with the highest score

in each topic correctly

All information are

shown correctly,

especially after scores

update

One or two

information are

shown incorrectly,

or with some minor

error

Most information are

not shown correctly

OR with major error

Several major errors

OR no information

is shown on the

leaderboard

Save data (10 pts)

Save data to file with proper

formats

All data are saved in a

proper format

A small number of

data is not saved (or

improperly) or other

minor error

One type of data

for all items are not

saved OR file is not

formated properly OR

it overrides original

data OR other major

error

Several major errors

or there is no saved

information in the

new file

Criteria

Ratings

10 to > 8pts 8 to > 5pts 5 to > 0pts 0 pts

Coursework 3: Programming Project – A Simple Quiz System 6

CPT111: Java Programming Semester 1, 2024-25

A Peer evaluation form

Individual contribution for Group Programming Assignment

Name Student Id Task(s) Contribution

(%) Signature

Coursework 3: Programming Project – A Simple Quiz System 7


相关文章

版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:821613408 微信:horysk8 电子信箱:[email protected]
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:horysk8