How to use USTC CourseGrading Online Judge for beginners
How To Use USTC CourseGrading Online Judge For Beginners
If you are new to the USTC CourseGrading Online Judge, it can look a little intimidating at first. The good news is that once you understand the basic steps, it becomes a powerful tool to practice programming, track your progress, and prepare for exams. This guide walks you through the main features in simple, beginner friendly language.
1. What CourseGrading Online Judge Is
CourseGrading is an online system used by the School of Computer Science at USTC to manage programming exercises and contests. Students can
- Log in with their student account
- Browse the problem set
- Submit code in several languages
- Receive automatic feedback and verdicts
- Join contests and view rankings
Instead of waiting for a teacher to compile and test your code, the Online Judge does it for you in a few seconds.
2. Getting Started: Login And Registration
If your student ID has already been imported by a course, you can log in directly with your student number.
- Open the Online Judge main page.
- Click “登录” if you already have access.
- Enter your student ID and password.
- If you do not have an account, use “注册” and follow your course instructions.
If you have trouble logging in, check with your course teacher or teaching assistant, because some courses handle account creation centrally.
3. Exploring The Interface
After login, you will see a top navigation bar with several options:
- 首页 Home: general information and statistics
- 题库 Problem Set: list of problems to solve
- 竞赛 Contests: time limited competitions
- 排行榜 Rankings: leaderboards for solved problems
- 讨论区 Discussion: place to ask questions and discuss
- F.A.Qs: common questions and answers
For a beginner, the most important sections are “题库” and “F.A.Qs.” The FAQ page explains common error messages and submission rules, which will save you a lot of frustration.
4. Choosing Your First Problem
Click on “题库” to open the problem set. You will see a large list of problems, often grouped by topic or by contest. Each problem usually has
- A short title
- An ID number
- Statistics such as number of accepted solutions
To choose a first problem:
- Start with problems that your teacher assigns.
- Look for problems with many accepted submissions, since they are usually easier.
- Avoid very advanced topics until you are comfortable with input output and basic loops.
Click on a problem title to open its full description. Read the description carefully. Pay attention to
- Input format
- Output format
- Constraints
- Sample input and sample output
Make sure you understand exactly what the program is supposed to do before you start coding.
5. Writing And Submitting Your Code
When you are ready to submit, click the “提交” or “Submit” button for that problem. The system will show a submission page where you choose
- Language, for example C, C plus plus, Java, Python, and others
- Your code text
Practical tips before you click submit:
- Test your code with the sample input locally.
- Make sure your output format matches exactly, including spaces and line breaks.
- Avoid printing extra debug messages.
Paste or type your code into the editor and submit. The Online Judge will compile and run your program on hidden test cases and then show a verdict.
6. Understanding Common Verdicts
CourseGrading uses standard Online Judge verdicts. Some of the most common are
- Accepted: your solution is correct for all test cases.
- Wrong Answer: your program runs, but produces incorrect output for at least one test.
- Time Limit Exceeded: your program is too slow and does not finish in time.
- Memory Limit Exceeded: your program uses too much memory.
- Runtime Error: your program crashes while running, for example due to invalid array index.
- Compilation Error: the system could not compile your code.
When you get anything other than Accepted, read the FAQ and discussion area to understand what might have gone wrong. Then review your code, test with more cases, and submit again.
7. Learning From Problem Statistics
Each problem has a list of recent submissions with user names, languages, verdicts, and resource usage.
You can use this information to learn:
- Which languages are commonly used for that problem
- How much time and memory a typical accepted solution uses
- How many attempts students needed before getting Accepted
If you see many Time Limit Exceeded results, you know that efficiency matters. If most submissions are Accepted, it is probably a good practice problem.
8. Joining Contests And Checking Rankings
The “竞赛” section lists contests that use the Online Judge, such as course exams or practice competitions. When you join a contest
- Read the rules and time window
- Make sure your internet connection is stable
- Plan your time per problem
The “排行榜” page shows how many problems users have solved and their total submissions, with recent six month ratings and historical totals. This can motivate you to keep solving problems and slowly move up the list. Do not compare yourself harshly with top users. Use it as gentle motivation, not pressure.
9. Building Productive Habits Around Online Judge Practice
Using CourseGrading effectively is not only about technical skills. It is also about time management and daily habits. Try to
- Reserve regular short slots for problem solving, for example thirty minutes a day.
- Keep a simple notebook where you write down tricky ideas and patterns.
- Review old problems before exams instead of only reading notes.
If you struggle with missed deadlines or forgotten contests, it helps to keep your due dates visible where you work. For example, many students benefit from using an always on desktop calendar to show assignment deadlines next to their coding sessions.
10. Final Encouragement
At first, CourseGrading Online Judge might feel strict. It does not give partial credit, and it may reject your solution many times. This is normal. With every submission, you learn something about input, output, corner cases, and efficiency.
Treat each verdict as feedback, not as a judgment of your ability. Ask questions in the discussion area, talk to classmates and teaching assistants, and read the FAQ when you are stuck. Over time, you will notice that problems which once seemed impossible become manageable.
By using the USTC CourseGrading Online Judge regularly and thoughtfully, you will not only improve your programming skills, you will also build strong habits in problem solving, debugging, and time management that will help you far beyond a single course.