关键词 > INT2067/INT5051

INT2067/INT5051 Introduction to Programming and Problem Solving 2023--2024 Semester 2

发布时间:2024-06-22

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Course Project

INT2067/INT5051 Introduction to Programming and Problem Solving

2023--2024 Semester 2

1 Introduction

This project aims to apply what you have learned in this course in real-world situations. You need to

choose a problem and write a Python program to tackle it. Your scores will be given base don mainly the difficulty, originality, and practicality of the problem solved.

The project application should be text-based and should not have any graphical user interface.

2 Group Formation

Each group should consist of4 to 5 members.

3 Evaluation Criteria

3.1 Originality and practicality (20%)

You should work on aproblem that is different from the problems of other groups. If another group works on a similar topic as yours, then both groups will get a lower score in this criterion. Therefore, protect your original idea and do not disclose it to others easily.

Your application should be useful in real-world situations. It should be useful on its own. The content of your application should be coherent. It would be better if you could describe how the application could be useful in your own situations.

3.2 Difficulty (30%)

Your project will be evaluated based on how many techniques related to this course your application involves. Below lists the expected difficulty grades for some possibilities:

Grade

Possible techniques in Python application

Minimum

Output with interesting content.

Marginal

Input, output, and computation.

Satisfactory

I/O, computation, and repetitive or selective statements.

Good

I/O, repetitive and selective statements + lists, file, and/or class.

Excellent

I/O, repetitive and selective statements + lists, file, and class.

Your application should work properly. It is expected to handle reasonable errors.

The above table shows the expected difficulty grade for groups with two members. Group with three or four members are expected to do approximately 50% more work.

3.3 User interface (10%)

For example: ease of use, content correctness, clear instructions and output, whether the program handle reasonable inputs properly.

3.4 Group Presentation (20%)

The presentation should explain and demonstrate the project application clearly and concisely. It should contain all required content. Details of the expected content are given below.

3.5 Individual Report (10%)

The individual report should demonstrate your  understanding and effort on the project application and source code. It should also clearly explain your contribution to the project. More requirements for the individual report are given below.

3.6 Peer Assessment (10%)

You should give a fair assessment on the presentation of other groups with reasonable justification. More details for peer assessment are given below.

Note that if your project application does not meet the minimum difficultly level, the scores in all criteria will be severely lowered.

4 Test Cases

You should provide test cases to illustrate the important features of your project application. The test cases should show what steps the instructor should follow to test your application. You may show a sample session (with input highlighted) to illustrate each test case. You are suggested to use the text content in the VS Code output rather its screenshots to prepare the test cases.

Important note: There is no page limit for the test cases. However, the sessions altogether should not take more than five minutes to test your application. The instructor will test your program based on your test cases. Therefore, features that cannot be demonstrated by any test cases may not receive any credit. On the other hand, if your test cases are too long, some of them maybe skipped.

Example testcases: Suppose the project aims to develop an application for storing contact information.

Test case 1: Add a new contact

Enter a command: add

Enter name: Elly

Enter phone number: 20671234

Contact added successfully

Test case 2: List all contacts

Enter a command: list

Elly 20671234

Heung 20675057

5 Testing

Your project application will be tested by running Python (version 3.11 or above) in a console, i.e., a terminal window. Your source code should be named project.py. Your application will be tested as follows:

>>> python project.py

If your project application uses any files for input/output, please make sure you use relative paths and the files are put in proper locations. You are suggested to download your submitted file and check if the application can be run properly after downloading it to another location on your computer.

6 Group Presentation

A group has at most  18 minutes for presentation. Exceeding the time limit will lead to score penalty. Each member should have similar amount of time for presentation.

The presentation should include the following parts

•    Title: Use a title to briefly describe your application.

•    Membership: List the names and student IDs of your group members.

•    Practicality: Explain why your application is useful in real-world situations.

•    Features: Describe the main functions of your application. Do a demonstration for the main features.

•    Difficulty: List those skills covered in this course that you have used and explain why you need to use them.

•    Work division: List the tasks performed by each member. Write also the estimated percentage of workload for each member.

Important note: The presentation is a crucial guide for grading. It is used to evaluate your project. Therefore, explain clearly why you think you deserve a high score in your presentation. The instructor may not give you adequate credits for your project if you have not given relevant reasons in your presentation.

7 Individual Report

•    Each member has to submit an individual report with at most 500 words.

•    The report should list out the tasks the member has done individually in the project. It should also point out the difficulties  encountered by the member and explain how to solve  the difficulties.

•    The report will be graded based on:

-    How much contribution a member has made towards the group project.

-    How difficulty the tasks solved by the member as reflected in the report.

-    The writing and format of the report.

8 Peer Assessment on the Presentation of Other Groups

•    You have to submit numeric scores with a short justification for the presentation given by each other group. The score can be 0 (F), 1 (D), 2 (C-), 3 (C), ..., 9 (A), or 10 (A+).

•    Your own score for this part will depend on: (1) how close between the scores given by you and by the course instructor to the other groups; (2) whether your justification is sound; and (3) whether you have submitted the scores for all other groups.

•    The scores given by you will not affect the grades of the other groups but will affect only your own grade.

9 Submission

Each group is required to submit the following by the stated deadlines. Only one member in a group needs to submit a group work. Late submission may not be accepted.

[March 29] Project Proposal. Briefly describe what you will attempt to do (in 200 words) in Moodle. Also write the names and student IDs of your group members in Moodle.

Feedback on your project will be given if you can submit this description on time. Submitting this description also helps protect your originality score. If you have submitted this description on time, and after the deadline another group decides to work on a similar topic as yours, your originality score will not be affected. However, if both groups have submitted a similar topic by the deadline, the originality score of both groups will still be deducted. Therefore, be reminded to protect your original idea.

[April 15] Source Code and Test Cases. Submit the source code of your Python application and test cases on Moodle:

•    Name your Python file project.py.

•    Your testcases should be named project.pdf and in PDF format.

•    Zip all files (Python files, data files, and Test Cases) into one file named project.zip.

•    Submit your project code and testcases on Moodle.

[April 18 or 25] Group Presentation. For each group, the presentation could be divided into different sections/parts. All members should participate in the presentation, which could be based on the personal work and the parts. Oral presentation will be graded for each student according to the performance. Submit your group presentation slide on Moodle before the noon. INT2067 has the presentation on April 18. All students from INT2067 should attend and it is not necessary for students from INT5051 to attend the presentation. Also, INT5051 has the presentation on April 25 and it is not necessary for students from INT2067 to attend the presentation.

[April 29] Individual Report and Peer Assessment. Submit your individual report (in text format) and peer assessment on Moodle.

10 Correspondence

Correspondence between the instructor and students are made mainly through EdUHK emails and Moodle. Therefore, check your EdUHK emails often.

11 Plagiarism Policy

Your project should represent the work of your own group. Do not include in your project any code not written by your group members. You should not use any third-party libraries except the standard Python library.

Warning: Plagiarism cases will result in zero score for the project. Serious cases will be referred to further disciplinary actions.