# [Py4Fin] Thông báo về việc <i>"Nộp bài tập kết thúc Module 1"</i>
## Quy định chung
:::warning
**Thời gian làm bài**: Từ 00h00 ngày 16/9 đến 23h59 ngày 22/9
**Trang web làm bài**: https://leetcode.com/
**Số lượng bài tập cần làm:** 7 - 10
:::
## Yêu cầu
- Tạo tài khoản trên LeetCode, sau đó chọn ra 7 - 10 bài mức độ **Easy** để làm bài. Để chọn ra bài tập cần làm, hãy chọn mục **Problems**
- Trong quá trình làm bài, nếu như có thắc mắc hoặc vấn đề về lời giải, bạn có thể chọn xem danh sách những bài giải mẫu + kèm hướng dẫn ở thẻ **Discussion**
- Nếu muốn được giải đáp chi tiết, hãy liên hệ với người hướng dẫn trên group chat Messenger, người hướng dẫn có trách nhiệm giải đáp thông qua chat hoặc trực tuyến thông qua Google Meet trong vòng 72 giờ (*3 ngày*)
- Người làm bài có thể chọn ra bất kỳ bài nào để thực hiện, nếu vẫn không thể giải được bài vì độ khó hoặc dạng bài lạ, có thể bỏ và chọn bài khác để làm.
## Hình thức nộp bài
- Người nộp bài sẽ bôi đen tên của mình trong phần **Danh sách Lớp học** và chọn vào nút comment. Trong phần comment, người nộp bài sẽ gắn link **google drive** dẫn đến **ảnh chụp màn hình bài làm** sẽ nộp.
## Hình thức chấm
- Bài làm của người nộp bài sẽ được người hướng dẫn nhận xét chi tiết và cho điểm dựa theo tiêu chí (*xem mục **Tiêu chí chấm điểm***).
- Trong quá trình chấm bài, người hướng dẫn sẽ yêu cầu người nộp bài giải thích cách làm của mình trong **1 - 3 bài ngẫu nhiên** theo các yêu cầu bên dưới:
- Phân tích component code
- Phân tích luồng chạy của code
- Phân tích chức năng hoặc ý nghĩa của đoạn code
- Phân tích đề bài, cách giải quyết
- Khó khăn trong quá trình làm bài và hướng giải quyết hoặc tiếp cận vấn đề được vượt qua khó khăn đó
## Tiêu chí chấm điểm
| Mục | Nội dung | Trọng số | Quy cách tính điểm |
| :-: | :- | :-: | :-
| 1 | **Số lượng bài làm** | 60% | *Xem mục 1*
| 2 | **Cách thức trình bày code** | 5% | Code đúng chuẩn, format, đẹp, dễ đọc, đặt tên logic
| 3 | **Trình bày đoạn code** | 35% | *Xem mục 2*
<u>Giải thích tiêu chí:</u>
1. **Với phần số lượng bài làm**:
- Nếu số lượng bài làm dưới 5 thì xem như không nộp bài.
- Số lượng bài làm từ 5 trở lên: nguời nộp bài được tính vào 40% điểm của mục 1. Với mỗi bài làm thành công, người nộp bài sẽ được cộng 12% vào điểm mục 1.
2. **Với phần trình bày đoạn code**:
- Nếu giải thích được đủ 5 gạch đầu dòng (*đã đề cập ở phần **Hình thức chấm***) cho 1 bài thì sẽ được tính tròn số điểm mục 3
- Nếu giải thích được đủ 1 - 3 bài làm (*đã đề cập ở phần **Hình thức chấm***) mà không đủ 5 gạch đầu dòng vẫn được tính là tròn số điểm mục 3
- Nếu giải thích được 1 - 2 gạch đầu dòng cho 1 - 2 bài, sẽ được tính từ **50% - 75%** tuỳ vào mức độ giải thích của người nộp bài.
- Nếu không gỉải thích bất kỳ gạch đầu dòng nào từ 2 - 3 bài sẽ không được tính điểm phần giải thích.
**Ví dụ chấm điểm**:
*Người nộp bài hoàn tất được **8 bài**, trong quá trình chấm được yêu cầu **giải thích 2 bài**. Với bài 1, người nộp bài trả lời được tròn vẹn **3 gạch đầu dòng**, bài 2, người nộp bài trả lời được **2 gạch đầu dòng**. Số điểm người nộp bài nhận được là:*
$$
Point = 60\% * (8 * 12\%) + 5\% * 0 + 35\% = 92.6\%
$$
***Người nộp bài hoàn tất được **10 bài**, trong quá trình chấm được yêu cầu **giải thích 3 bài**. Với bài 1, người nộp bài trả lời được tròn vẹn **1 gạch đầu dòng**, bài 2, người nộp bài trả lời được **2 gạch đầu dòng**, và bài 3 người nộp bài không thể giải thích hoặc trình bày. Số điểm người nộp bài nhận được là:*
$$
Point = 60\% + 5\% * 0 + 35\%*(60\%) = 81\%
$$
### Khung trình độ
Ứng với tỉ lệ % nhận được, người nộp bài sẽ được đánh gía theo thang như. Lưu ý, tỉ lệ % được ghi chú theo quy tắc nửa khoảng $(x;y]$
| Bậc | Tỉ lệ % | Ý nghĩa |
| :-: | :-: | :- |
| **S** | 95% - 100% | Hoàn thành rất đầy đủ bài tập cần làm, hiểu rõ được code, giải thích và trình bày khoa học, thuyết phục về phần bài làm. Code có thể format theo chuẩn và giúp người đọc thấy được sự logic, khoa học. **Đoạn code viết ra và kĩ năng gốc tốt hơn đa số lập trình viên có chuyên môn**
| **A+** | 90% - 95% | Hoàn tất đầy đủ số lượng bài tập, hiểu rõ và trình bày được đoạn code. Code có thể format theo chuẩn logic, khoa học. **Đoạn code viết ra và kĩ năng gốc tương đương hoặc tiệm cận lập trình viên có chuyên môn**
| **A** | 85% - 90% | Hoàn tất đầy đủ lượng bài tập, hiểu và có thể trình bày được một phần đoạn code. Code có thể format theo chuẩn một phần. **Tương ứng với đoạn code và kĩ năng của Sinh viên tốt nghiệp ngành CNTT**
| **B** | 80% - 85% | Hoàn tất gần như đây đủ lượng bài tập, trình bày hạn chế đoạn code của mình viết ra. Code có thể format theo chuẩn một cách hạn chế.
| **C** | 70% - 80% | Hoàn tất tối thiểu lượng bài tập, có thể trình bài hạn chế hoặc không thể trình bày đoạn code đã nộp.
| **D** | 60% - 70% | Hoàn tất tối thiểu lượng bài tập, tuy nhiên lại không thể trình bày được phân code đã thực hiện
| **F** | < 60% | Không hoàn thành phần bài làm kết thúc Module
## Danh sách lớp
| STT | Tên người nộp bài |
| :-: | :-: |
| 0 | Quốc Hùng |
| 1 | Thanh Tuyền |
| 2 | Ngọc Nhiều |
| 3 | Lan Vy |
| 4 | Quỳnh Trịnh |
| 5 | Nhật Minh |