目录
- Deadline
- Part1:Homework content
- 1. Basic calculator functions
- 2. Extended function: Scientific calculator
- 3. Other instructions
- Part2:Coding requirement
- 1.Use of Github
- 2.Code Standards Development
- 3.Technologies and Frameworks
- Part3:Blog Writing Requirements
- Part4:Assignment Grading Criteria and Evaluation Rule
- Part5:Rules & Format
(Second assignment-- Back-end separation calculator programming)
To avoid missing homework content, here is a checklist for students to quickly review
Programming implementation
Basic function implementation
Implementation of additional functions
Deployment
Release version released
Write a blog and submit a blog before the deadline
Include job description and directory
Check scoring criteria
Due to the first time using community Posting to submit homework, many students did not submit correctly, the following is a gif demo:

In the last assignment, we have completed the most basic design of a calculator function, so now continue to achieve more perfect calculator function. Because we understand that everyone basically has a certain programming foundation, this assignment allows the use of any visualization technology: web, Android, applet of WeChat, etc., but to reflect the front and back end separation to achieve the following functions.
Deadline
The deadline for this assignment is: October 22, 2023 23:59
Note: The blog needs to be reviewed after publication, please remember to publish the blog in advance to avoid affecting the assignment submission.
Part1:Homework content
1. Basic calculator functions
- Function 1: addition, subtraction, multiplication, division, remainder
- Basic
+, -, *, /, %
,operations, requiring the correct order of operations, the correct result, and store the input string and the result in a back-end database
- Function 2: Read history
- Can use the
ans
button to return the previous calculation result, and view the history to read the last ten string formula and the corresponding calculation result, must be read from the back-end database, can not use the cache.
2. Extended function: Scientific calculator
- Calculate radical sign, trigonometric function, log, scientific notation
- Implement bracket computation
- Better looking UI interface
3. Other instructions
- About Extended features
- You can extend the function you want to extend, the extension function will be recorded as additional points, for the extension function please describe in detail in the blog.
- About development
- It is recommended to develop based on Web, using Web frameworks, such as common JSP, Servlet, spring series, flask, php, express and so on. Allows the use of any visualization technology: web, Android, wechat mini program, etc. But the front and back ends should be separated.
- The technology used should be platform compatible and not dependent on the specific environment.
- The main objective of this assignment is to achieve functionality, and technical considerations only count for a certain number of points. Do not use the prototype tool to generate code, set 0 points directly who gets caught.
Part2:Coding requirement
1.Use of Github
This assignment will continue to follow Github, which requires the development technology of front end and back end separation. Please submit the front end and back end separately in different warehouses, and the link of code warehouse in the blog is convenient for teaching assistants to check.
Frontend Project Directory Structure
|-Student ID_calculator_frontend
|- src
|- basecalculator.html/.xml/.wxml
|- ......other files
|- README.md
|- codestyle.md
Backend Project Directory Structure
|-Student ID_calculator_backend
|- src
|- ...
|- controller
|- calculator.java/.go/.py...
|- ....other files
|- README.md
|- codestyle.md
2.Code Standards Development
The assignment for this time still requires the creation of a codestyle.md
as a code standard document. However, it is required that this code standard be derived from mainstream official standards or those recommended by major companies, and the source should be indicated at the top of the code standard document.
3.Technologies and Frameworks
The current assignment does not restrict the choice of programming language, libraries, or frameworks to be used.
Part3:Blog Writing Requirements
- Assignment Description
- You can include the Gitcode repository address at the beginning of your article. Here's how you can incorporate it into your blog post's introduction:
- Before starting the implementation of the program, record your estimated and actual time spent on the development of various modules of the program in the PSP table. After implementing the program, record the actual time spent in the PSP table.
- Provide the access link after deploying the project to the cloud server.
- Present your finished product, requiring the provision of 10 or more images, or the use of GIFs or embedded videos to demonstrate the required functionality of the assignment. Each displayed image should be accompanied by a brief text description.
- Describe the design and implementation process and provide a functional structure diagram.
- Code explanation. Display the key code of the project and explain the thought process.
Part4:Assignment Grading Criteria and Evaluation Rule
The total score for this assignment is 100 points.
(30') Basic Requirements [Covering Course Objective 2]
- (15‘) Blog Formatting, using Markdown formatting; Provide the Gitcode repository link correctly and the code standard link
- (15‘) Function Analysis and Design of the Implementation Process
(70‘) Coding Implementation [Covering Course Objective 4]
- (20‘) Frontend Page Presentation
- (50‘) Backend Functionality Implementation
- (30‘) Feature 1: Four Arithmetic Operations and Remainder
- (20‘) Feature 2: Reading History Records
(Extra Credit: 0' to 20) Additional Features
- Additional Feature 1: Scientific Calculator Extra Credit: 0 to 5 points
- Additional Feature 2: Implement bracket computation Extra Credit: 0 to 5 points
- Additional Feature 3: Page Prototype Design Extra Credit: 0 to 5 points
- Additional Feature 4: Project Deployment Extra Credit: 0 to 5 points
- To facilitate readability and assist teaching assistants in grading, please provide a table of contents at the beginning of your blog as a content index. Ensure that the table of contents can navigate correctly!
Be sure to include the following major headings; similar meanings are acceptable, and you can personalize your own titles:
- Git Repository Link and Code Standards Link
- PSP Table
- Presentation of the Finished Product
- Design and Implementation Process
- Code Explanation
- Personal Journey and Learnings
- To help teachers or teaching assistants from other schools understand the course situation, please add a format description at the beginning of the assignment:
Course for This Assignment | |
---|
Assignment Requirements | |
Objectives of This Assignment | |
Other References | ... |
- Submission Rules
- The submission time for the blog post is based on the class assignment page; the time of code submission is based on Gitcode.
- Submitting before the deadline will be graded based on the actual score.
- If the post is under review (the post shows 404) after publication, you can first submit the link to the assignment page before the deadline and wait for it to be approved.
- Excuses like upload failure or network issues for late submissions will not be accepted.
- Late Submission: Submitting within two days after the deadline is considered a late submission, and the score will be 50% of the actual score; forgetting to submit the assignment and late submissions will be penalized equally.
- Missed Submission: Failing to submit within two days after the deadline will result in a score of 0.
- Plagiarism: When the teaching assistant finds that two blog posts have text/images/code that are too similar, both blog posts will be considered as plagiarism, and both will receive a -100% score (note that it's negative!).
- Falsifying Submissions: Although the assignment blog may not be completed, submitting it early to reserve a spot will be considered a falsified submission, and the score will be 0.
Note: For assignments submitted in advance, if you can actively respond to feedback from teaching assistants and make corresponding revisions before the deadline, these improvements will also be taken into consideration during subsequent grading. Being well-prepared in advance has many benefits~
- Notices
- Class group announcements are also part of the assignment requirements. Please check group announcements in a timely manner. If you need to fill out relevant information in the group and fail to do so before the deadline, you will be penalized by 50% of the actual score. If you have any questions about the assignment, please raise them in the class group three days before the deadline. If there are any changes to the assignment requirements by the teaching assistants, they will be announced in the group, so please be sure to check and improve your assignment according to the new requirements. Please respond promptly to feedback from the teacher or teaching assistant. Even after submitting the assignment, you should pay attention to announcements from teaching assistants in the class group!
- Clarifications
- If you find any unclear or misunderstood parts of the assignment, you can leave a comment below this blog post or directly ask questions in the QQ group or WeChat group.