Create events

Examine exam questions

Search for a test

Check the contents of the test you want the user to take. The test contains one or more problems, we will check the problem and decide which test to use. In addition, tests and problems will be provided from time to time from time to time. From the side menu “Test”, click “Test management”.

Click on the test code to display detailed information on the test.

To check the problems associated with the test, click the flag icon in the “Problem” column at the bottom of the test details information.

If you click the flag icon problem will be displayed.

If you click , an example of the answer prepared by the questioner is displayed. Depending on the problem, the programming language of the answer example is different.

If you click , an example of the answer prepared by us will be displayed. These will be added from time to time.

List of Test Management shows average score, the average number of correct answers, the number of examinees, etc. of 1 company and whole companies.

About tags

The following categories and tags are associated with each problem. Categories and tags may be added or modified.

Basic grammar

  • Loop
  • Character / String
  • Array
  • Four arithmetic operations
  • Conditional branch

Basic knowledge

  • 2D-array
  • Round / Floor / Ceil
  • Remainder (mod)
  • Floating-point precision

Basic function

  • Total sum
  • Max / Min
  • Sort
  • Sqrt
  • Abs


  • GCD / LCM
  • Combination
  • Probability
  • Log
  • Prime factorization
  • Coodinate
  • Factorial

Data structure

  • Priority queue
  • Associative array
  • Set
  • Variable-​length array
  • Union-Find tree
  • Stack / Queue

Search algorithm

  • BFS
  • Binary search
  • Permutation exhaustive search
  • Bit exhaustive search
  • Exhaustive search
  • DFS

Typical algorithm

  • Prefix sum
  • Repeated squaring
  • Greedy algorithm
  • Two pointers

Ad-hoc thinking

  • Ad-hoc thinking

Dynamic Programming

  • Bit DP
  • Dynamic programming

Tree / Graph

  • Dijkstra’s algorithm

Uncategorized / Others

  • Preprocessing
  • Practice
  • Query

Event creation

In TOPSIC, programming tests and programming contests to be held are called events. In order to provide a candidate with a programming exam, it is necessary to create an event.

Create a new event

  1. Click “Event Management” from “Event” in the side menu.

  2. Click the “New” button.

  3. Enter the required information (event name, duration, event description, etc.).

  4. Associating a test with the event
    * It is necessary to link tests to events.
    Also, one or more problems are linked to the test. Tests and problems will be provided from time to time from time to time.

    1. Click the search icon of “Test”, the test selection screen will be displayed.
    2. Select one test you want to use, and click the “Set” button.
  5. After entering the required information, click the “Register” button to register the event. To register an event in succession, click the “New” button.

Register candidates for the event

After you create an event, you can register candidates for the event.

  1. Click the search icon in the “Examinee List” at the bottom of the event management screen, the examinee selection screen will be displayed.
  2. Search for the user who wants to take the created event and click the “Set” button.

If the same test is used at other events, it is possible that examinees have already taken the test or are available to take it. Please check “Exam status of the same test”. There are three statuses: Unregistered, Registered, and Started exam.

  • Unregistered
    This user is not registered for any other events with the same test.
  • Registered
    This user is registered for other events with the same test.
  • Started exam
    This user has already taken the same test in other events.

You can also register examinees for multiple events at once. Please check here for more details.

About event options

There are various options for the event.

Submission type

There are two types of submission methods: “One-shot” and “Unlimited”. Please check here.

Results visibility

You can set whether candidates can view their answers, rankings and reporting information.

  1. No
    Examinees cannot see their own exam results.
  2. Yes - their own results only
    Examinees can see their own score.
  3. Yes - their own results and rankings
    Examinees can see their own score and rankings.
  4. Yes - their own results, rankings, and reports
    Examinees can see their own score, rankings, and reports.

Example answer visibility

You can publish example answers and user example answer to the examinees who have completed the examination.

If you choose “Open”, examinees can see the example answers prepared by TOPSIC on the examination result page. If results visibility is “No”, examinees cannot access their examination result pages regardless this setting and cannot see example answers.

Submissions visibility

You can share all the source code submitted at an event to the users who took the event. They will be published anonymously on the details screen of each examination result. * If you are an administrator, you can also check the submitter’s information.

You can also select the publishing conditions from the following.

  1. Close
  2. Open - for correct answerers
  3. Open - for correct answerers (including retry)
  4. Open - for all who have taken

Receive exam completion email

Administrators can receive “Exam completion email” for each event. “Exam completion email” is an email to notify the administrator that the candidate has taken the event and has submitted the final submission. * You will also receive a “Retake exam completion email” when someone performs “Retry the exam”.

The destination can be set for each event. If it is not set, it will be notified to the contractor’s email address. You can check the contractor’s email address from “Organizational Information” on the “Organizations” tab. You can select the language of the email text in “Email Language”. Available languages are Japanese and English.

About submission type

There are two types of submission methods: “One-shot” and “Unlimited”.


It is a type that examinees can submit only once during the exam.

The answer time is based on the time of the final submission, and the ranking on the examination status page is based on the total score.

As with general exams and entrance exams, it is not possible to resubmit during the exam, so examinees are required to have the ability to understand the problem accurately, carefully consider corner cases, and have careful debugging ability.

In TOPSIC PG, the results of this type will be aggregated in TOPSIC grade calculation.


Examinees can submit multiple times for each question and submissions will be scored during the exam. They can check the results of submissions and resubmit during the exam.

The answer time is based on “the latest time of the first correct answer for each question”. This corresponds to the time at last increase of the total score. When there is no correct answer, the answer time is regarded as the time limit of the test.

The ranking on the examination status page is based on the total score and the answer time.

Since the time taken to correct is directly reflected in the answer time and the ranking, examinees are required to have the ability to think quickly and to implement it in a short time.

In addition, “the number of the wrong answers before the correct answer on the corrected problems” is also counted. Since this failure count of the exam will be included in the CSV output, you can use spreadsheet software to calculate the ranking with your own penalty for wrong answers.

Example 1) Failure counts are regarded as a penalty equivalent to -1 point, and the results are sorted and ranked based on “total points - failure counts” and “answer time”.

Example 2) Failure counts are regarded as a penalty equivalent to 10 minutes, and the results are sorted and ranked based on “total score” and “answer time + failure counts * 10 minutes”.

Note that compilation errors are considered to be errors before scoring using test cases and are not included failure counts.

The results of this type are not included in TOPSIC grade calculation.

Other event creation methods

You can duplicate an already registered event to create a new event, or you can update a registered event using CSV.

Duplicate events

Please check here.

Update events in bulk

Please check here.

Execute the event

Send event email

After you register examinees for an event, you will be able to send “Event email” to the examinees. “Event email” is a notification email which informs examinees certain event will be held and encourages them to take the exam. The following notification email will be sent to each examinees.

You can send a notification email from the “Exam Status” screen of each event. Use the checkboxes in the list to select the examinees you want to send the notification email to and press the “Send” button at the bottom right.

If you want to send event email to someone who got no notice about the event yet, you can search them by selecting “Not Notify” in “Notice” of the search conditions.

* Event email can be sent repeatedly. Please also use it to re-notify untested examinees.

Start the event

When the event starts, the test takers associated with the event will be able to start taking the test. For details of the user’s examination method, please check [TOPSIC PG] How to exam or [TOPSIC SQL] How to exam.

Confirmation of examination status

Confirm the exam information for the event you held. From the event management screen, search for events held. In the search result, the examination status for each event, the number of examinees and the number of examinees completed are displayed.

Click the “number of candidates” icon, the examination status screen will be displayed.

On the examination status screen, the status of each examinee is displayed in a list.

There are four examination statuses: “Before the Exam”, “Starting Testing”, “Entrance Examination”, “Scoring”. Data for which the examination status is “Examed” will be graded at the timing of opening the examination status screen and will be “graded”. To update the examination status screen, click the “Scoring result update” button.

View the results

Confirm the grades for each user

On the Examination Status screen, click on “Candidate Name” in the “Candidate” column, the examination result screen will be displayed.

On the examination result screen, the total score of the examinees, whether the problem is correct or not, and the number of correct answers are displayed.

Check the details

Click the “Result of Response” button to display the questions and answers that the examinee solved. On the response result screen, you can check the source code written by the examinee, the date and time of submission, the programming language, the state of the problem, and so on.

Register a comment on the results of the exam for each user

You can register a comment to the examinee based on the answer content, ranking etc. Enter the comment and click the “Update” button. Registered comments are displayed in the examinee’s exam history.

Export event results

From event management

On the exam status screen, test results of certain event are output in CSV or Excel format.

  • Click the Export CSV button to output the user’s examination status of the event.
  • Click the Export Code button to output the source code answered by each examinee.

On the event management screen, click the “Bulk Export CSV” or “Bulk Export Code” button. The test results of multiple events are output together in CSV format or Excel format. By using search function, you can output only the test result of search results.

You can also output aggregated data for each event by clicking the Export Events button.

From submissions

In “Submissions” in the “Examination” tab, you can search for the submissions of all events in your tenant except the practice events. You can search by events, problems, users, languages and so on, and sort results by clicking the column name.

You can check the source code and test cases from the “Detail” link in the “Submitted at” column. Click the “Export Code” button to output the search results to an Excel file including the source code.

Also, since the March 31, 2021 update, the results of the retake challenge from the examination-result page will be saved. The list also shows the submissions of the retake challenge since the update, and the retake submissions are checked in the “Retake” column.