---
tags: Note
title: Psychological Coding Note
author: TomDev
license: Private Use
---
:::info
:::spoiler Table of contents
[TOC]
:::
# A. Tips to be better at coding
1. Practice and Practice
2. Repetition by Applications
3. Solve problems with editorials
4. Solving problems slightly above your level
5. Solve an optimal numbers of problems like 200-400 not 2000-4000
6. Don't get stuck for long hours
7. Find and beat/fix your weakeness
8. Don't jump to code too fast, instead, develop/make idea first
9. Read problem slowly and carefully
10. Find edge cases
11. Spaced Learning - Less study and time box (get a goal daily and don't force do more)
12. Having coding Buddies (friends)
13. Utility based learning (learn a thing when u need it)
14. DON'T Overlearning
15. Watch your progress after long period of time after practicing, not in a short time.
16. DON'T compare yourself with others
17. Stop beating your meat
18. Have clear/defined goals
19. 100% focus and attention
20. Go outside of comfort zone
21. Learn using Black Box first then fully learn that concept (because you've already what does it do, now you just need to learn how it works)
22. Stare at VSCODE for 10 mins
# B. Tips for Psychological
- https://arc.net/l/quote/cjjlwugw - Interest in the problems is what matters here.
- Learning new concept must be based on an existing thing
+ E.g: Happy --> imagine about a guy getting a lot of money and very exciting
+ Or just "hiểu mang máng" the concept
- Watch Gon and motivation vids when demotivated
- Không ăn tinh bột (ăn no = mất tập trung)
- Chia ra từng giai đoạn (VD: làm 3 tháng --> học 3 tháng --> ...)
- Dành ra 5 phút trước khi làm gì đó để nghĩ mình cần làm gì
# C. Good method to learn and remember
## 1. Kỹ Thuật Spaced Repetition (Lặp Lại Rải Rác):
- **Giải thích:** Ôn tập thông tin theo khoảng thời gian tăng dần giúp củng cố trí nhớ dài hạn.
- **Ứng dụng:** Sử dụng ứng dụng như Anki hoặc Quizlet để quản lý các đợt ôn tập.
## 2. Active Recall (Nhắc Lại Chủ Động):
- **Giải thích:** Kích thích não bộ để nhớ lại thông tin mà không cần nhìn lại tài liệu.
- **Ứng dụng:** Tạo flashcards và thường xuyên kiểm tra bản thân.
## 3. Pomodoro Technique (Kỹ Thuật Pomodoro):
- **Giải thích:** Làm việc trong khoảng thời gian ngắn (thường là 25 phút), sau đó nghỉ ngơi ngắn (5 phút). Sau 4 chu kỳ, nghỉ dài hơn (15-30 phút).
- **Ứng dụng:** Sử dụng đồng hồ Pomodoro hoặc các ứng dụng hỗ trợ kỹ thuật này.
## 4. Interleaved Practice (Luyện Tập Xen Kẽ):
- **Giải thích:** Kết hợp học các chủ đề hoặc kỹ năng khác nhau trong cùng một buổi học.
- **Ứng dụng:** Thay vì học liên tục một chủ đề, thay đổi giữa các môn học hoặc kỹ năng.
## 5. Elaborative Interrogation (Hỏi Chi Tiết):
- **Giải thích:** Đặt câu hỏi về lý do và ý nghĩa của thông tin để làm rõ và kết nối kiến thức.
- **Ứng dụng:** Khi học một khái niệm mới, tự hỏi “Tại sao điều này quan trọng?” hoặc “Nó liên quan như thế nào đến kiến thức hiện tại của tôi?”
## 6. Self-Explanation (Giải Thích Bản Thân):
- **Giải thích:** Giải thích nội dung học cho bản thân hoặc người khác để làm rõ hiểu biết.
- **Ứng dụng:** Khi học một chủ đề, thử giải thích nó cho chính bạn hoặc người khác bằng lời của bạn.
## 7. Dual Coding (Sử Dụng Đa Mô Hình):
- **Giải thích:** Kết hợp việc học bằng văn bản với hình ảnh hoặc biểu đồ.
- **Ứng dụng:** Vẽ sơ đồ, sử dụng hình ảnh minh họa trong quá trình học.
## 8. Mnemonics (Kỹ Thuật Ghi Nhớ):
- **Giải thích:** Sử dụng các câu thành ngữ, từ viết tắt hoặc hình ảnh để giúp nhớ thông tin.
- **Ứng dụng:** Tạo các mẹo ghi nhớ cho các khái niệm hoặc danh sách.
# D. General strategy to solve problems
## 1. Understand the Problem
- **Read Carefully:** Ensure you understand every part of the problem statement.
- **Identify Inputs and Outputs:** Clearly define what the input is and what output is expected.
## 2. Break Down the Problem
- **Decompose:** Break the problem into smaller, manageable parts.
- **Identify Patterns:** Look for patterns or similarities with problems you’ve solved before.
## 3. Choose an Approach
- **Brute Force First:** Start with a simple, straightforward solution. This helps you understand the problem better.
- **Optimize Later:** Once you have a working solution, think about how to optimize it for better performance.
## 4. Practice Common Algorithms and Data Structures
- **Algorithms:** Learn common algorithms (e.g., sorting, searching, dynamic programming).
- **Data Structures:** Get comfortable with different data structures (e.g., arrays, linked lists, trees, graphs).
## 5. Study Time and Space Complexity
- **Big O Notation:** Understand the efficiency of your solution by analyzing its time and space complexity.
## 6. Work on Examples
- **Manual Examples:** Work through examples by hand to understand the logic.
- **Edge Cases:** Consider edge cases and test your solution against them.
## 7. Practice, Practice, Practice
- **LeetCode, Codeforces, HackerRank:** Regularly practice problems on these platforms.
- **Mock Contests:** Participate in mock contests to simulate exam conditions.
## 8. Learn from Others
- **Solutions and Discussions:** After solving a problem, read other people’s solutions and discussions to learn different approaches.
- **Mentorship:** If possible, find a mentor or join a study group.
## 9. Review and Reflect
- **Analyze Mistakes:** Review where you went wrong in your solutions and understand why.
- **Keep a Journal:** Maintain a journal of problems you’ve solved, the approaches used, and what you learned.
## Example Workflow for a Coding Problem
1. **Read the Problem Statement:** Identify what is being asked.
2. **Break Down the Problem:** Understand input and output, break it into parts.
3. **Choose an Initial Approach:** Go for a simple, brute-force solution first.
4. **Implement the Solution:** Write code for the initial approach.
5. **Test and Debug:** Test with sample and edge cases.
6. **Optimize:** Refine your solution to be more efficient.
7. **Review and Learn:** Analyze the performance and look at other solutions.
# E. Math tips
## General
1. Ghi ra cách giải chi tiết
2. Luôn ôn lại bài cũ
3. Chép khi thực sự hiểu bài
4. Lập thời gian biểu để tập trung vào học toán
## Algebra
## Geometry
# F. Literature tips
1. Đa dạng kiểu câu (cảm thán, câu hỏi,...)
2. Sử dụng biện pháp tu từ
3. Sử dụng câu danh ngôn, câu trích dẫn
4. Ghi tóm tắt nội dung bài học, sơ đồ
5. Bố cục dễ theo dõi
6. Bám sát nội dung, ko lan mang
7. Đào sâu (phân tích, so sánh)
8. Viết khác biệt (ý tưởng sáng tạo...)
9. Nhiều góc nhìn
10. Phân tích phải là của mình (Không thêm quá nhiều trích dẫn, chỉ khoảng 2-3 thôi)
11. Sự dụng ngôn từ hay, đa dạng
12. Note từ vựng hay
13. Luyện viết
14. Lập dàn ý
# G. English tips
1. Học theo chủ đề
2. Spaced repetition
3. Học từ mới
4. Ôn bài cũ
5. Chăm làm BT
6. Note lại lỗi sai khi sửa đề
7. Nghĩ ra VD khi học từ mới
[#Number 1](https://www.youtube.com/watch?v=3Z90VgRFJB8)
[#Number 2](https://www.youtube.com/watch?v=zY2upgW9VjY)
# H. General learning tips
1. Find best time period to learn
2. Find period of time when concentrating --> neglect and break time 1/10 that time and repeat
3. Bỏ cám dỗ
4. Trang trí cho note
5. GHi to-do list
6. Đừng chỉ học --> Relax tâm trí
7. Đọc sách yêu thích
8. Thiền
9. Quy tắc 5s --> Mình được... (VD: đếm 5 đến 1 và nói, MÌNH ĐƯỢC ĐI HỌC!)
10. Làm gì đó mới mẻ (VD: nghe nhạc mới, đi đường mới, ăn món mới...)
11. Ôn tập/Học ngắt quãng
12. Học = phương pháp thú vị, VD: Quizlet, flashcards,...
13. Sáng học một học thuộc --> Tối môn Toán, tư duy
14. After learning a concept, summary them down on your own words
15. Tập coi video dài
16. Phải có áp lực khi học
17. Học từng phần nhỏ
18. Đọc 7 lần --> lần 1-3 lướt tiêu đề --> lần 4-5 đọc bình thường --> lần 6-7 vừa đọc vừa tóm tắt
# I. Tuyển sinh 10
1. Kết thúc kiến thức căn bản trước tháng 2
2. Sau và trong tháng 2 giải thật nhiều đề để quen format

:::spoiler Resources
[Roadmap 🛣️](https://www.youtube.com/watch?v=bSdp2WeyuJY)
[Funny Chinese 😂](https://www.youtube.com/watch?v=bVKHRtafgPc)
[Red on Codeforces :red_circle:](https://www.youtube.com/watch?v=y7169jEvb-Y)
:::