# Guide of goorm

## Welcome to goorm

goorm is the cloud services to maximize full potential of individual developers and teams.

## 공식 도움말

![](/files/-Ls0EheQQY-evrWhIJiZ)

{% content-ref url="/pages/-LrO0p5LhrkTbbkPBuwX" %}
[구름EDU 사용법(수강자용)](/ko/edu-student)
{% endcontent-ref %}

{% content-ref url="/pages/-LrsLqLwfbEC2YyCIpnH" %}
[구름EDU 사용법(강의자용)](/ko/edu-lecturer)
{% endcontent-ref %}

![](/files/-Ls0EpD_GlJ1zhOKfny5)

{% content-ref url="/pages/-LrO0vNXroH1kUh3xIhb" %}
[Devth 사용법(지원자용)](/ko/devth-candidates)
{% endcontent-ref %}

{% content-ref url="/pages/-LrsM5RLNyz7DiKSz11R" %}
[Devth 사용법(관리자용)](/ko/devth-interviewers)
{% endcontent-ref %}

## Release Notes

![](/files/-M0vgYVFk4S66fWvmZaI)

{% content-ref url="/pages/-LtxVr4b7Ms4oAdwNstd" %}
[goormEDU](/release-notes/goormedu)
{% endcontent-ref %}


# goorm account (for all services)

## Sign-up(Join)

There are two ways to sign-up for goorm.

![](/files/ZOiWYctnLLd3rixyX5je)

​

### 1. Through other services <a href="#id-1-with-an-e-mail" id="id-1-with-an-e-mail"></a>

You can use the social media account from Google, GitHub and BitBucket.

If you want to sign-up with your social media account, \
click the applicable button and allow goorm to access your account information.

### 2. With an e-mail <a href="#id-2-through-other-services-facebook-google-github" id="id-2-through-other-services-facebook-google-github"></a>

When you sign-up with your e-mail address, we send you an email to verify whether it is valid.&#x20;

1. Write your email and click the **`Verify`** button. &#x20;
2. And click the **`Confirm Email Address`** button on your mail.

Then you can see the check sign when you go back to sign in page. \
Set the password and write your name to create new account.

![](/files/vUpwZPrCuPGtbgbhETto)

## Sign-in(Login)

You can sign in goorm with your **social media accounts** or **your e-mail address.**

![](/files/lMtlnOLnW4vvy01wucnu)

### ​If you forgot your password

Click the **`Reset password`** text. You can change the password after verifying through your email. (Only available if you signed up with your e-mail)

![](/files/7HjWGC4ntq5ZQd1f2jEm)

{% hint style="danger" %}
If you signed up with **social media account**, please find your password on that **social media site.**
{% endhint %}

## Delete Account

Only the account owner can delete the account.

#### 1. Go to [Profile](https://accounts.goorm.io/change_info)

Click your profile image(or letter) and go to Profile page. If you are in IDE page, click your profile image(or letter) and click the setting icon.

![](/files/kBQXyWKZ7qqOgkq3fGum)

#### 2. Click the Delete Account button.

Click the **`Delete`** button at the bottom of the page.\
Please check if you using paid plan before delete your account.

![](/files/pzlkfOH9i534oQHQntfp)


# Devth (for applicants)


# Access Evaluation

Companies or organizations send the assessment details \
and the access link via the applicants' email.&#x20;

**Applicants should keep in mind the notice before assessment.**&#x20;

![Invitation mail](/files/-LuGwWZhvT9i0_PQB1OK)

Applicants can access to the assessment by clicking '**`Go to Assessment`**'. \
If you are unable to verify your email, **please check your spam box.**

![Login page](/files/-LuGwbxblqtPf4dCm7tf)

When you click '**`Go to Assesment`** ' to access your test page, \
you will be prompted to enter your authentication information.&#x20;

After filling the information, click '**`Enter`**' to take the assessment.

![Test page](/files/-LuGwoORpju1Xeyrmn2x)

When the test starts, '**`Start Exam`**' button will be activated as above and you can take the test.


# Proceed Evaluation

### Start rating&#x20;

Click 'Start Test' button to start.

![](/files/-LuH1spblxwZfy9wH-GV)

1. You can find the information needed to solve a problem, such as the title of the problem, its contents, and examples of input and output.<br>
2. Write down your code in this section.<br>
3. You can run the initialization, save, run, test case, and submit menus.
   * **Choose language:** You can select one of the development languages ​​set by the issuer.
   * **Init**: Clears all the code you wrote and returns to the basic code.&#x20;
   * **Save**: Saves the code you wrote. The code will remain even if you refresh the page or access the service again.
   * **Run**: Shows the result of the code or error messages in the terminal window.&#x20;
   * **Test case execution**: You can check the provided test cases by the issuer to see if the code runs as you intended. You can also add input and output directly.&#x20;
   * **Submit**: Submits your completed code. You may submit multiple times, but the number of submissions can be limited by the issuer.<br>
4. You can check the execution and the submission result in this section.<br>
5. You can see the compiler version, settings, notifications, and your Info menus.
   * **Compiler version:** You can find the compiler versions of all programming languages ​​available in goormDEVTH.&#x20;
   * **View Setting**: You can change the screen settings of the content and editor area. In the content area, you can set the line spacing and screen zoom. In the editor area, you can set line spacing, font size, editor frame, shortcut map, and auto save toggle.&#x20;
   * **Notification**: You can check notifications such as emergency notices during the exam.&#x20;
   * **Profile**: You can edit your information here. Log out menu is also available here.

###

### &#x20;Moving to another question

![Test screen example](/files/-LuH61najYjHxfAq2K8_)

You can move to the next or previous question by clicking the **`Next`**, \
Previous(**`Prev`**) button at the bottom.&#x20;

If you want to see the list of questions, click the icon on the top left.

![Test screen example](/files/-Ltgf3TuRMDSKFRJxdW-)

On the Question List tab, you can select the question you want to move to.

![Test screen example](/files/-LuH4i3eDeqehKDqwLRQ)

If you change the question without submitting the answer, you will see the message above. Save and submit your code before you move. You can come back and solve whenever before the exam ends.

### Different forms of questions

![Question Screen Example](/files/-LtgfL4r_0P17Zo9-8RJ)

This is the basic form of a multiple choice question without an editor. There can be multiple choice, short answer, narrative, O / X, line drawing, and file submission questions.

{% hint style="danger" %}
**All questions must be submitted by clicking the Submit button.** \
**The answers will be submitted and reflected in the results.**
{% endhint %}

![Submit confirmation](/files/-LtggTxZURYQZsA1LPqO)

Pressing the submit button will place a check mark as shown above. \
**Please make sure to submit all questions before you leave the exam.**


# FAQ

## Getting Super Powers

Becoming a super hero is a fairly straight forward process:

```
$ give me super-powers
```

{% hint style="info" %}
&#x20;Super-powers are granted randomly so please submit an issue if you're not happy with yours.
{% endhint %}

Once you're strong enough, save the world:

{% code title="hello.sh" %}

```bash
# Ain't no code for that yet, sorry
echo 'You got to trust me on this, I saved the world'
```

{% endcode %}


# The answer is correct, but it conflicts with the test case.

When you run the test case, in the output options, \
you will see "Ignore spaces before and after the answer."&#x20;

If it is not checked, it will only work when the output is exactly the same \
with the test case execution output, including spaces and line breaks.&#x20;

Please check the output options first.

![](/files/-LuH5MA8rybovTh0FSIM)

Results can be set to ignore incorrect outputs, such as spaces or line breaks, \
depending on the intention of the issuer.

An issuer can write or edit the quiz in the \
**Lecture Management > Quiz Management** tab of the created lecture.&#x20;

All questions have to be one of **Exam Mode, Submit Mode, or Run Mode.**\
In exam mode, following options can be given by the issuer for a flexible grading.

![](/files/-LuH5Ga55UFT6gKlWgjq)


# Devth (for interviewers)


# Quick Start


# Sign In & Sign Up

goormDEVTH is a software testing service that can evaluate applicants' basic algorithm knowledge and development ability with different quizzes.&#x20;

If internet is available, applicants can be evaluated in real time wherever they are. \
This makes our testing faster and more accurate compared to traditional test methods.

![https://devth.goorm.io](/files/-LvFJe733ZXWZToeioe8)

If you are on [goormDEVTH](https://devth.goorm.io/) website, you will see the screen above. \
From now on, please follow this goormDEVTH service guide. \
\
In order to use goormDEVTH, **sign up** and **log in** first. \
If you do not have a goorm integrated account, click the **`Sign Up`** button for [signing up](https://accounts.goorm.io/signup?return_url=aHR0cDovL2RldnRoLmdvb3JtLmlv).

![Sing up page](/files/-LvFJmfgoo0RjCpQQwYD)

On the sign up page, enter your email address. \
Click **`Send a Verification Mail`** to proceed email verification. \
\
**You can use every goorm service with a single integrated account.**\
Therefore, if you have signed up with your email on the other services,\
"This email has already been taken." message will come up and email verification will not be proceeded.\
In this case, please log in with the goorm account you signed up before. \
\
If you have passed the email verification, enter your password, name, and check the Terms of Service box. Then click **`Create Account`** to complete the sign up process. \
Please note that the password must be a combination of 8 to 30 alphanumeric characters and special characters. \
\
If you followed all these steps, now you are ready to use goormDEVTH service!

You can also sign in with other social accounts such as **`Facebook`**, **`Google`**, **`Naver`**, **`Github`**, **`Bitbucket`**, etc. \
\
After signing in and agreeing with the terms of service from the platform corresponding to the clicked icon, \
you can log in easily without the procedure described above.

![Sing in page](/files/-LvJm6AHHsUpe8_yXUzJ)

You can find the **`sign in`** button in the upper right corner on every goorm service page. \
Go to [login page ](https://accounts.goorm.io/login?return_url=aHR0cHM6Ly9kZXZ0aC5nb29ybS5pby8=)and log in with your account or simply log in via the social login buttons.

**Forgot your password?**&#x20;

The next page is about resetting your password.

{% content-ref url="/pages/-LvFF\_zrmqcPKjhLOjdc" %}
[Reset Password](/en/goormdevth-for-interviewers/quick-start/reset-password)
{% endcontent-ref %}


# Reset Password

​If you forgot your password, you can reset.

![](/files/-MDJ0fqM_Myxrbxd3GfH)

* Click "**Reset password**" at the bottom of the login box, \
  then it will bring you to the [password reset page](https://accounts.goorm.io/request-reset-password?return_url=aHR0cDovL3d3dy5nb29ybS5pby9nb29ybS1tYWluLw==).

![](/files/-MDJ1019nBd6gjJUfY5Q)

* fill the blank and press the **`Send verification email`** button. \
  A password reset email will be sent to you in few minutes.\
  .&#x20;

![](/files/-MDJ1XqbAX3Gi4XluvLy)

* You can reset your password by opening the email and clicking **`Reissue Password`**. \
  The password must be a combination of 8 to 15 alphanumeric characters and special characters.

{% hint style="warning" %}
You can reset your password within 24 hours after you got the email. \
If it has been more than 24 hours, please submit a new password reset request.
{% endhint %}

![](/files/-MDJ1fFmZd2vrL5ZEztH)

* Enter your new password and press the **`Reset`** button. You finished reset the password!


# Free Trial

​goormDEVTH costs 15$ per person for one test, \
**however, we offer a free trial for those who are new to our service.**&#x20;

In addition, we offer **free goormDEVTH usage for startups with 20 people or less**.

![](/files/-LwCLBldaaeBNl45dfkl)

Please click the **`Contact us`** button on [goormDEVTH](https://devth.goorm.io) website.

![](/files/-LwCKzeJtJ49Y1s0Fypv)

Submit the information about your company. \
goorm support team will contact you shortly.


# Management and Settings

​


# New Assessment

​Click **'Admin'** → **'Manage Assessment'** drop down menu \
in the top right corner to access the admin page.&#x20;

You can create an assessment as follows.

![](/files/-LvOpeUQuxqmMWNJpA2e)

In the admin page, click **`Create Assessment`** on the upper right corner \
and fill the information about your assessment.&#x20;

**Please note that coding tests can only be created with channel manager accounts.**

![](/files/-LvKP7kkyFrZLPDqc8HV)

Once you wrote the introduction of the assessment, \
click the **`Create`** button on the upper right corner to create a new one.


# Assessment Management

On the **'Manage Assessment'** page, you can see a list of assessments you created. \
Clicking on each assessment will take you to the corresponding assessment management tool page.

![](/files/-LwCMC_LDIkVMnDmFFiO)


# Assessment Information

Overview your assessment in the **Summary** tab.&#x20;

With the buttons on the upper right corner, you can edit, delete, and set the assessment. \
You can change your assessment here either private or public.

![](/files/-LwCMMWKrtey6AahqbB4)


# Assessment Settings

​In '**Assessment Setting**' you can configure detailed settings for the assessment.&#x20;

You can connect the assessment with goormIDE \
and can also add co-administrators to manage the assessments together.

![](/files/-LwCM_EUQha_mLgJIaWp)

### **Co-Admin Rights**

Only channel managers can invite others as co-managers. \
If you have an admin authority, you can invite a person to the channel as a channel manager\
&#x20;on the admin page **(https\://\[channelname] .goorm.io/admin)**. \
**(Channel manager is required to sign in goorm service beforehand.)**

![](/files/-LwCMlyA1QnL6gS-7YL5)

You can invite people to your channel by clicking **`Add a user`** in the upper right corner.


# Activity Log

In the **'Activity Log'** menu, assessment managers can check the activities \
like "created", "modified" and "deleted".

![](/files/-LvKQ_IsA-kidaxjVj_b)


# Quiz Management


# Making a New Quiz

On the top right corner, click **'Admin'** → **'Manage Assessment'** then you can see the assessments created by the administrator.​

![](/files/-LvKTL__T5d5ayISeP4p)

To access the edit page as below, click the assessment card you want to change. The bar on the left side contains various features for the assessment.

![](/files/-LvKTSmEGuGq6dV6KBk-)

Click "Manage Assessment" and **`Import Quiz`** to import quizzes provided by goorm. Or, create a new one by clicking **`Make a New Quiz`**.

![](/files/-LvKTnyB2vcNrYfR6HJS)

## **Import Quiz**

You can import a public quiz with the **`Import Quiz`** button on the upper right corner.

![](/files/-LvOAodp2IGTlXWto5tq)

Search the quiz with tags. For example, there are different types, languages, levels, and other custom item tags.

If you would like to use the sample quizzes provided by goorm, you can click on the **'Base 200'** tag in the **'Others'** category.

![](/files/-LvOB53Vxoz8Q8xmqed9)

If you select a quiz, you can see the preview like this. Click and import them into the assessment with the **`Import Selection`** button.

## **New Quiz**

If you want to create a new quiz, click the **`Create a new quiz`** button on the top right corner and select the type of the quiz you want to make.

![](/files/-LvOBBo23PFECAmTa-FO)

### Quiz Settings

This is the **'Make a new quiz'** launch screen. You can create a new quiz by selecting the **quiz type, whether to go public or private, quiz level, and tags**. If you finished all of these, click **`Get started`** and now your quiz is ready to be solved!

![](/files/-LvdH5McU_-kaUZi0KIB)

These are how the menus work.&#x20;

* **Problem Type Selection**: There are two different modes, the exam mode and the submission mode. \
  \
  In the **exam mode**, you must put the answers in the standard input / output values ​​when you make a quiz. \
  In the **submit mode**, you can make a quiz without answers. The issuer will grade the applicants' answers manually.<br>
* **Quiz Open Scope**: Who can access your quiz? Choose the open scope, between public, private, and channel option. \
  \
  Public option makes the quiz available to all domains using goorm service. \
  Channel option lets the quiz only available on the channel of the institution or school that is currently working on the quiz. \
  With Private option, you can only use the quiz in the assessment where it was created.<br>
* **Quiz Level**: The issuer can set the level of the quiz between ★ \~ ★ ★ ★ ★ ★.<br>
* **Tags**: You can set tags for searching. Tags are especially useful when you import quiz.

### Programming Language Settings&#x20;

You can select the programming languages that applicants will use for taking the quiz.\
Currently, goormDEVTH provide **28 different programming languages**. \
Select the languages and click **Apply** to move on.

![](/files/-LvOG-giq67Fws8OKAUV)

### Example Code

On the left side of the screen below, you will see a smaller red box. It provides texts such as, **quiz name, quiz guide, contents, and source of the information** that the applicants need to solve the quiz.  If you want to change the level of the quiz, click the yellow stars under the quiz name.&#x20;

In the bigger red box on the right side, you can change the default example code and settings.

![](/files/-LvOGN_SJxfu_eZeg8qV)

You can change the example code for each language. Go to the each language name tab and edit the code. \
Other settings that can be changed are as follows.&#x20;

* Compiler settings&#x20;
* Language Options&#x20;
* Run time limit when submitted
* Memory limit when submitted
* Execution container settings
* Exposed to applicants&#x20;
* Runtime limit of student's program
* Upload input file(.zip) / Settings output file path

If you want to change the language of the quiz, click **`Select language`**.

### Create Answer Code&#x20;

Go to the **Create Answer Code Tab** to write the answer code that meets the algorithms of your quiz. Though, this step is not necessary for making a quiz.

![](/files/-LvOHJoStzwzC5IMU30t)

### Setting Exam

![](/files/-LvOHU0EdqwpWmIZyAbi)

On the **Setting Exam tab**, you can write your answers based on standard I/O for automatic scoring. \
You can add individual answers by entering input and output values, or add multiple test cases at once through file upload and batch registration.&#x20;

If you check **Set to the input/output example**, the test case will be shown to the applicants as an example. \
Please add enough test cases for a number of different situations.&#x20;

The scoring option provided in the setting section on the right is a for a flexible scoring. You can ignore spaces, commas, periods, case sensitivity, and so on.&#x20;

In addition, through scoring options you can let applicants see whether each test case is correct or not, scoring method, resource usage, and more.&#x20;

You can also score using regular expressions. \
Please refer to the link below to see how to use the regular expressions.&#x20;

* [How to use regular expressions](https://www.regular-expressions.info/tutorial.html)&#x20;
* [Check Regular Expressions](https://regexr.com/)&#x20;

After completing all of the above steps, click **`Save`** to create a new quiz.


# Quiz Management

**'Quiz Management'** allows you to create and manage different kinds of\
quizzes that can be linked to hands-on courses or can be included in exams.&#x20;

Click on **'Quiz Management'** on the left to go to the page.

![](/files/-LwCOK1T-7Z9qnr-pRRf)

## Make a quiz

If you want to create a new quiz, just click the **`Make a new quiz`** button and select its type.

![](/files/-LwCOe7cSgA8ghLXbvjl)

## These are the quiz types goormDEVTH supports :

### **Block-based coding**&#x20;

* **Scratch Quiz**: A scratch 2.0(created by MIT) based quiz form.
* **Entry Quiz**: A quiz type for matching various command blocks. \
  Entry is a non-profit software learning platform provided by Naver.

### **Text based coding**&#x20;

* **Programming Quiz**: A quiz based on console programming. (Following languages are supported.)

![](/files/-LvOXlTXyZNLfZsiipnq)

* **Unit test problem**: Uses xUnit scoring method. (JUnit is also supported.)

####

### Web development&#x20;

* **Web Service / Application Development Quiz**: Supports web server programming quiz form. \
  (ex. PHP, Python \[Django, Flask], Ruby on Rails, Node.js \[Express], etc.)&#x20;
* **HTML / CSS / JS programming Quiz**: web page programming using HTML, CSS, JS This is an ongoing quiz form. (Supports jQuery and Bootstrap as a library.)

### **Database Quiz**

* SQL Quiz: A SQL database quiz form.

### General problem&#x20;

* **O / X  Quiz**: Applicants are given a question and must answer withh O (true) or X (false)
* **Subjective Quiz**:  A quiz that require answers in the form of short explanations or words.
* **Multi Choice Quiz**: Applicants are asked to select only correct answers from the choices offered as a list.
* **Paring Quiz(Matching Quiz)**: There are two adjacent lists of related words, phrases, pictures, \
  or symbols. Each item in one list is paired with another item in the other list.
* **Descriptive Quiz**: Applicants are asked to give detailed explanation in the quiz.
* **File Submit Quiz**: A quiz that requires a file as an answer.


# Import Quiz and General Settings

## Import Quiz

You can add quizzes into the assessment via **`Import Quiz`**.

![](/files/-LwCPZWcUFVpk893otKU)

\
If you click **`Import Quiz`**, you will see the screen below.

![](/files/-LwCPkddYQzMu9wPVblk)

On the left side, you can preview the content of the quiz. \
You can filter the published quizzes by tags such as \
**quiz mode, quiz type, difficulty, language,** and **etc**.&#x20;

You can also select multiple tags and exclude specific keywords when you search.&#x20;

You can select multiple quizzes at once, and sort them by \
**quiz type, quiz name, language, difficulty,** and **author**.&#x20;

####

## General settings

When you make a quiz, you have to choose quiz **type**, **visibility option** and \
**basic information** in general settings. The editing screen will be like this:&#x20;

![](/files/-LwCQL5UQyzZvN2c_4Qx)

### Select Quiz Type&#x20;

Choose the quiz type between the two below: \
**(Scoring or submit modes may not be supported depending on the quiz type)**

* **Exam Mode**: Automatically grades the submitted results and shows the results immediately. \
  If you selected Exam mode, you need to add answers and set scoring options in advance.
* **Submit mode**: The automatic scoring function will be not used. \
  The submitted results can be viewed and downloaded.&#x20;

###

### Quiz Visibility

The **Private / Public** buttons make your quiz either private or public.&#x20;

* Public: This quiz will be available in any channel.
* Private: The quiz will be only available within the corresponding test.&#x20;
* Channel: This quiz will be only available within the channel.

### Quiz information

In the quiz information, you can enter the **Title, Level(difficulty), Source, URL, Contents,** \
**Questions Intended**. You can also upload a PDF file as contents.


# New Quiz(Different Types)

​The way to creat different quizzes is the same as goormEDU service. \
Please check the links below.

### Scratch Quiz

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

###

### Entry Quiz

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

###

### General Programming Quiz

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

### Unit Test Quiz

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

### Web Service/Application Development Quiz

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

### HTML/CSS/JS Programming Quiz

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

### Create scoring script

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

### O/X Quiz

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

### Short Answer Quiz

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

### Multiple Choice Quiz

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

### Matching Quiz

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

### Narrative Quiz

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

### File Submission Quiz

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}

### Search, Edit, Delete Quiz&#x20;

{% content-ref url="/pages/-LvKR0ayY\_Tlmu3a71n\_" %}
[New Quiz(Different Types)](/en/goormdevth-for-interviewers/quiz-management-tools/new-quiz-different-types)
{% endcontent-ref %}


# Test Management

​


# Assessment List(New Assessment/Assessment Management)

You can add / edit assessments in the **'Assessment List'.**&#x200B;

![](/files/-LwCV1dMVp7X990XfcNN)

You can create a new assessment by pressing **`+ Make A New Assessment Set`** or **`Import Assessment Set`** button at the top.&#x20;

When you click the '**`Make A New Assessment`**' button, you can see the screen below. \
Set **the information for the assessment** here.

![](/files/-LwCVATnMFx9mHRHPYEy)

Click **`Select Quiz`**  to add a quiz.

![](/files/-LwCVEt4ZtnOyQ3ZLhP3)

Check the items you want to add and click the **`Selected Items Add`** button.

![](/files/-LwCVR6m3vwSWMUGlm6Q)

You can also edit created assessments in the lis&#x74;**.**&#x20;

You can see the title, author, group, status, start and end dates in the assessment list you created, \
and click the **`Preview`** button to check the test interface.&#x20;

The **`Notice`** button allows you to send notices to the applicants during the assessment. \
You can also **`Modify`** or **`Delete`** assessments with the **`Edit`** and **`Delete`** buttons.


# Exam Result Management

​In the **'Exam Result Management'** menu, you can see the results of the assessments you created. goormDEVTH provide a variety of data based on the submissions of applicants who took the assessment.&#x20;

Once the exam has been created, it will appear on the result management list.

![](/files/-LwCVoYOf3BlURH_MwQi)

Select the test name you want to see in detail. \
Test score distribution graph, ranking & score history, \
and source code similarity check between applicants will be also provided.

![](/files/-LwCYNlHAtMQWmBAS8P3)

###

### Ranking and Scoring Result

Click on the Ranking and Scoring Results tab to see the ranking of the applicants who took the exam. This tab provides rankings based on the total score.&#x20;

You can also choose view options: all or specific groups. \
You will be able to see the **user name, total score, and submitted quiz** of each applicant.&#x20;

Applicants' ranking information can be downloaded as a CSV file with **'`Export File`'** button.

![](/files/-LwCYWGzhNZ4m8lYs0J3)

###

### Similarity Check

'Similarity Check' tab allows you to compare how similar the applicants' answer is with others. \
You can prohibit cheating with this function.&#x20;

The maximum similarity rate of the answers can be adjusted by the issuer, and the result will be filtered out only if the similarity is higher than the applied rate.&#x20;

Please keep in mind that **if the code is less than 30 lines**, **the similarity check may be less accurate.**

![](/files/-LwCYp3_yRkFXndyapVJ)

In the list of applicants with similar answers, click the **`View Source Code`** button \
on each line to see a **`Compare code`** popup window that shows how similar \
the source code is of the two applicants.&#x20;

The interviewer can check the similarity here and judge whether it is cheating or not.

![](/files/-LvOd62Q-4fnJoz5YM6O)


# Real Time Status

Real Time Status function is the same as goormEDU service. \
Please check the link below.

{% content-ref url="/pages/-LvFGxqA5vQxwDKPHIBV" %}
[Real Time Status](/en/goormdevth-for-interviewers/test-management/real-time-status)
{% endcontent-ref %}


# Applicant Management and Grade Report

​


# Applicant Management

Go to the page by clicking **'Applicant Management'** in the left menu. \
Then you will see the screen as below.

![](/files/-LwCbNSBTTPTzDSoVyf-)

In **'Applicant Management'**, you can group the applicants, and check the status of each applicant.&#x20;

* **Invite A New Applicant**: You can invite people to your coding test. \
  Please check the link below for more information on inviting applicants.

{% content-ref url="/pages/-LvFH5Pa6S6YDMF-CW8L" %}
[Applicant Invitation](/en/goormdevth-for-interviewers/applicant-management-and-grade-report/applicant-invitation)
{% endcontent-ref %}

* **Add A New Group / Edit Group**: This lets you manage groups. \
  Please check the link below for more details regarding this group.

{% content-ref url="/pages/-LvFH4XU2Lb6HyZEckG5" %}
[Applicant Group Management](/en/goormdevth-for-interviewers/applicant-management-and-grade-report/applicant-group-management)
{% endcontent-ref %}

* **Export File(CSV)**: You can download a list of applicants as a .csv file.&#x20;
* **Reinvite**: Resends the invitation to the applicant who is waiting for your invitation.&#x20;
* **Cancel invite**: Cancels the invitation you sent already.&#x20;
* **View Link**: You can check the invitation link sent to the applicant.&#x20;
* **Kick(Banish)**: You can banish an applicant who is 'under evaluation' state. \
  This means banishing the applicant completely, so the applicant will not be able to take \
  the assessment unless you invite the person again.


# Applicant Invitation

You can invite applicants from the **‘Applicants Management’** menu on the left. \
Invite applicants with the **`Invite New Applicant`** button on the upper right corner.

![](/files/-LwCbgXx8tdGFMdRyoxQ)

Click **`Invite New Applicant`** and you will see the four different ways of inviting applicants:

![](/files/-LwCbk91lYohRWKhHY7T)

### Send Invitation Email

![](/files/-LwCbrGw74euryczj90c)

You can add the applicants' email addresses one by one. However, if you have many applicants, \
click '**Add a batch of applicants with CSV**' and this will be easier.&#x20;

You can download the template by clicking the **`Download CSV Template`** button.

![](/files/-LwCc2PLnoLSlHBzicxv)

If you have downloaded the template, fill out the format. \
Save the file and upload with the **`Select file`** button then click **`apply`**.

![CSV file exam](/files/-LwCcXk7vlxM8IELZbGJ)

Group registration is possible only for groups that have been set in advance.

![Registered with the CSV file](/files/-LvjEnpqL7G7i8Yp5HMo)

More information about adding and managing groups can be found at the link below.

{% content-ref url="/pages/-LvFH4XU2Lb6HyZEckG5" %}
[Applicant Group Management](/en/goormdevth-for-interviewers/applicant-management-and-grade-report/applicant-group-management)
{% endcontent-ref %}

![Mail content editing and preview screen](/files/-LwCd10QQac5tVWZELQW)

Check the e-mail preview and write down your message. Once you have confirmed, \
send an email by clicking the **`Send Invitations`** button on the upper right corner of the page.

![](/files/-LvjFvLLlX_Lu5_aKN_9)

You can check your invitation status in the **'Applicant Management'** menu.&#x20;

* **Wait for signup**: The applicant is not a goorm user and has not yet clicked the **`Go to assessment`** in the invitation mail.&#x20;
* **Invited**: The email account is registered in goorm but the applicant has not yet clicked the **`Go to assessment`** in the invitation mail.&#x20;
* **Attending**: The applicant clicked the **`Go to assessment`** link in the invitation mail.&#x20;

You can send the invitation mail again by clicking **`Reinvite`**. If you want to cancel the invitation, \
click the **`Cancel invitation`** button. (These are only available when the applicants' status is 'invited'.)

![](/files/-LwCdMJcktO6gGjMb85N)

If an applicant accepts the invitation, the status will chang to 'attending', \
you will see the **`kick`** button.&#x20;

If you press the **`kick`** button, the applicants will be removed **immediately from the assessment and will not be able to take the test.** **The name will also disappear from the management list.**

### Forward Invitation Code

Copy the assessment invitation code and pass it to the applicants.

![](/files/-LvjH5-utHF5o618BdqR)

### Create Account&#x20;

You can register and add information of the applicants to the channel using the \
**\[Authentication Info Login]** method.

Create your own authentication information (name / ID / password / group name (optional)) so that the applicant can access the relevant certification information and take the exam.

![](/files/-LwCdYE2o6LnKvG22sKg)

You can add the applicants' email addresses one by one. However, if you have many applicants, click '**Add a batch of applicants with CSV**' and this will be way easier. You can download the template by clicking the **`Download CSV Template`** button.

![](/files/-LwCddZg47q2K_eBNlXL)

As mentioned above, group registration is possible only for groups that have been set in advance.&#x20;

{% content-ref url="/pages/-LvFH4XU2Lb6HyZEckG5" %}
[Applicant Group Management](/en/goormdevth-for-interviewers/applicant-management-and-grade-report/applicant-group-management)
{% endcontent-ref %}

If you downloaded the template, fill out the format. Save the file and upload with the **`Select file`** button then click **`apply`**.

![Registered with the CSV file](/files/-LvmYAq48WHcw5fgxV_s)

After checking the registered list, click the **`Save`** button at the top right of the page.

![](/files/-LvmYP2CmmSIOH6ePxRA)

Applicants added by the '**Create account**' method will immediately be changed to '**attending.**' Applicants can access the company's goormDEVTH channel, enter their credentials and log in and take the assessment.

### Add a Temp Applicant

Applicants registered with temporary accounts will only be able to participate in \
the evaluation with the link they got from email.

![](/files/-LwCe2FAUXrc5Y55CjCI)

You can select **'New additional info'** or **'Previously used additional info'**&#x20;

When you register **'New additional info'**, you can add new information \
by pressing the **`+ Add Info`** button.&#x20;

If you have selected / added an authentication item, press the **`Next`** button \
in the upper right corner to move.

![](/files/-LwCh8J3CgwW-gBHbE1z)

![CSV file example](/files/-LwCguj1tT9ge1d24wS7)

You can add the applicants' email addresses one by one. However, if you have many applicants, click '**Add a batch of applicants with CSV**' and this will be way easier.&#x20;

You can download the template by clicking the **`Download CSV Template`** button.

Group registration is possible only for groups that have been set in advance.

{% content-ref url="/pages/-LvFH4XU2Lb6HyZEckG5" %}
[Applicant Group Management](/en/goormdevth-for-interviewers/applicant-management-and-grade-report/applicant-group-management)
{% endcontent-ref %}

If you downloaded the template, fill out the format. \
Save the file and upload with the **`Select file`** button then click **`apply`**.

![Registered with the CSV file](/files/-LvmZzgW1nXJ_zIMXmFT)

Check the e-mail preview and write down your message. If everything has confirmed, send an email by clicking the **`Send Invitations`** button on the upper right corner of the page.

![](/files/-LwCfUTLbc9es7G8iHJi)

Once an applicants who received the e-mail clicks the **`Go to Assessment`** button, it will take them to the page below. **They must put the CORRECT PRE-REGISTRATION INFORMATION to enter.**

![](/files/-LwCeaa0pHW0nWBuRrFO)


# Applicant Group Management

​goormDEVTH provide a **group setting function** to manage applicants more efficiently.&#x20;

If you have a test set according to the applicants' field, applied time, or so, you can easily manage multiple tests in one assessment by using the group setting function.

### Add a new group&#x20;

Add a new group to manage applicant groups. \
(Go to the **Applicant Management** menu and click **Add New Group**)

![](/files/-LwChZ7wMddMn8ZwkRdW)

You can move applicants' group by selecting them from an existing list.\
There are two ways.

* Add all applicants → Create groups → Move one by one
* Create groups → Add new applicants within the groups&#x20;

![](/files/-Lvmg_5RkTvIWGNJqsUZ)

Applicants will be grouped like the screen above after the group setting.

### Set Up An Assessment

If you finished setting up the groups, go to the **'Assessments List'** menu, and you can decide which groups will take a assessment. Click the exam you want to set up.

![](/files/-LwCi-OGejVwYBX6h2a1)

In **'Group setting'**, select a group for the exam. \
You can also select multiple groups.

![](/files/-LwCi9Z4kCBOTyxsiFRM)

You'll see that you've completed setting up the group to take the exam.

### Manage And Change Groups&#x20;

Grouping applicants allows you to manage applicants efficiently. \
If you selected a wrong group when you invited the applicant, you can change the group later.

![](/files/-LwCiK3JAXY9BHxOefHo)

In **Applicant Management**, select a group.

![](/files/-LwCiPC8wfEI-pafQPJ5)

After selecting the applicants whose group you want to change, move their group with the '**move group**' menu.

### Edit Groups

![](/files/-LwCiYSIq4-lGSBJNUto)

![](/files/-LwCiUDffvM0S7aldIJ9)

You can use the **'Edit Group'** function to manage your groups. \
You can rename or delete a group by clicking **'Edit Group'** on the **'Applicant Management'** tab.&#x20;

{% hint style="success" %}
**TIP!** You can use Group Settings for preventing applicants from taking the wrong exam by setting each tests' group.
{% endhint %}


# Grade Report

To see the grade, click the **'Grade Report'** on the left menu. \
You can overview the test result and see each applicants grade.

![](/files/-LwCigWINbXsb92vBouv)

### Set Report Ratio

To view the grade report, you must set the report ratio.&#x20;

If you press the **`Set Report Ratio`** button, the following window will pop up. You can generate the grade report by entering the ratio and total score of each test.&#x20;

You can also view the grades of each group in **'Group Setting'**.

![](/files/-LwCj7W9NrucPx9D3bnO)

###

### Check Your Grade Report&#x20;

After setting the appropriate ratio, the **'Grade Report'** page will be changed as shown below. \
You can check **user information, test, report ratio and overall score** here. \
You can also download the grade report as a CSV file with the **`Export File`** button.

![](/files/-LwCkS5bpHp73nhMwCMI)


# 구름 계정(공통)

## 회원 가입(Sign up)

구름 회원 가입 방법으로는 두 가지가 있습니다.

![](/files/AZZFbqvKULCKDNEmQxL6)

### **1.** 소셜 계정을 이용하여 가입(Sign in with other services)

구글, 카카오톡, 네이버, GitHub, Bitbucket, 페이코 계정을 이용해 로그인하실 수 있습니다. &#x20;

소셜 계정을 이용하고자 할 경우에는 각 로고 아이콘을 클릭하여 인증 절차를 마쳐주세요. \
만약 구름에 처음 방문하셨다면, 해당 소셜 계정에 구름이 접근할 수 있도록 승인하셔야 합니다.

### 2. **이메일 주소로 가입(Sign in** with an e-mail)

이메일 주소로 구름을 이용하시려면, 해당 이메일 주소가 유효한지 확인하기 위한 인증이 필요합니다.

![왼쪽) 이메일 인증 완료 화면, 오른쪽) 인증 후 회원가입 화면](/files/inbOCHpOluMUqFL0w1sT)

이메일 주소 입력 후 우측 **`인증`** 버튼을 누르시면 입력하신 이메일 주소로 인증 메일이 전송됩니다.\
메일 내 **`이메일 주소 확인`** 버튼을 누르시면 이메일 인증이 완료되며, \
회원 가입 페이지에 기재하신 메일 우측에 체크 표시와 함께 인증이 완료된 것을 확인하실 수 있습니다.&#x20;

회원가입 페이지에서 비밀번호 설정 및 사용자 이름을 기재하시면 가입됩니다.&#x20;

## 로그인(Login)

소셜 계정(구글, 카카오, 네이버, GitHub, Bitbucket, 페이코) 계정으로 가입하셨다면\
해당 서비스 로고를 눌러 로그인해 주세요.

이메일로 가입하셨다면, 가입 시 기재하셨던 이메일과 비밀번호 입력 후 로그인해 주시면 됩니다.

![](/files/yXZbRoEPTWhBXsE9PBYJ)

### ​비밀번호를 잊어버렸다면(Find password) <a href="#undefined" id="undefined"></a>

**`비밀번호 재설정`** 버튼을 통해 비밀번호를 재설정하실 수 있습니다.\
전송된 인증 메일에서 **`비밀번호 재발급`** 버튼을 눌러 새로운 비밀번호로 변경하시면 됩니다.

![](/files/mrxs0nadJ5dwK0GeuqWE)

{% hint style="danger" %}
**소셜 계정**을 이용해 회원가입을 하셨을 경우, 비밀번호는 **해당 소셜사이트**에서 찾아주시기 바랍니다.
{% endhint %}

## 회원 탈퇴(Delete Account)

회원 탈퇴는 가입한 본인이 직접 진행해주셔야 합니다.

#### 1. [내 정보 수정](https://accounts.goorm.io/change_info) 들어가기

구름EDU에서는 우측 상단 **프로필 이미지 클릭** → **"내 정보 수정"** 을 통해,  \
구름IDE에서는 우측 상단 **프로필 이미지 클릭** → **이름 옆** <img src="/files/2cINb3Lls13iuJxXoN2n" alt="" data-size="line">**아이콘**을 통해 접속하실 수 있습니다.&#x20;

![](/files/zags0Z6g5dKKA9EFBI1h)

#### 2. 회원 탈퇴 버튼 누르기

내 정보 수정 페이지 맨 하단에서 **`회원 탈퇴`** 버튼을 통해 탈퇴를 진행해 주시면 됩니다. \
탈퇴 전 이용 중인 서비스가 있으신지 다시 한 번 확인해 주세요.

![내 정보 수정 페이지](/files/a9ZTmmRsnVgPZ9s1GLjT)


# 구름EDU 사용법(수강자용)


# 00. 소개

\#구름EDU #구름에듀

## **구름EDU**?&#x20;

프로그래밍 이론을 바로 실습할 수 있는 환경을 제공하여 \
더 빠르고 쉬운 학습을 도와주는 소프트웨어 교육 서비스입니다.&#x20;

![](/files/-MLBjaY8qDE11nqUY5lI)

지금까지의 프로그래밍 강의는 웹사이트/블로그/슬라이드셰어(slideshare.net)에 게시된  \
컨텐츠를 읽고 혼자서 학습하는 **단방향** 실습 환경이었습니다.

**구름EDU**는 이러한 기존의 교육 환경을 개선하여  \
수강자가 직접 프로그래밍을 할 수 있는 환경을 구축하여 코딩 교육의 효율성을 극대화했습니다.

언제 어디서나 인터넷이 가능한 곳이라면 **구름EDU**를 통해 실시간으로 자료를 보고, \
프로그래밍 문제를 풀고, 자동으로 채점하는 등 다양한 서비스를 이용하실 수 있습니다.

엔트리, 스크래치 등 남녀노소 누구나 쉽고 재미있게 실습할 수 있는 블록코딩부터\
심화단계의 학습을 위한 강좌까지 다양한 분야와 난이도의 SW·AI 학습이 가능합니다.

![블록코딩 실습환경](/files/-MNlfeAbCd2805m1jdMJ)

![엔트리 실습환경](/files/-MNlo4UEdwibL28qx5KE)

![코드작성 실습환경](/files/-MNloiWjIgtmk94JQX2n)


# 01. 회원 가입 & 로그인


# 회원 가입 & 로그인

\#회원가입 #구름EDU #구름에듀

## 회원가입(Sign Up)

#### &#x20;우측 상단의 '회원가입' 버튼을 클릭하여 [회원가입 페이지](http://edu.goorm.io/signup)로 이동합니다.

![](/files/-MNlmLPECf5hsGfF20kR)

### **1) 이메일로 가입(**&#x77;ith an e-mail)

이메일 입력 > 인증메일 전송 > 가입한 이메일 계정에서 인증메일 확인 > 비밀번호 및 정보 입력 후 회원가입 버튼 클릭

![](/files/-MNllRafCSpcI_Fn3leX)

### **2) 소셜 계정 연동- 페이스북, 구글, 네이버, 카카오 등 (**&#x74;hrough other services)

![](/files/-MNllsjYOFzBdekxgKrF)

&#x20;**Facebook**, **Google**, **Naver**, **Kakao, Payco, Github**, **Bitbucket** 등의 계정과 연동

계정 연동이 가능한 플랫폼에 로그인과 서비스 이용 동의  후 이용하실 수 있습니다.


# 비밀번호 재설정하기

\#비밀번호재설정 #비밀번호찾기

비밀번호 재설정은 구름EDU 각 페이지 우측 상단에 위치한 **이름  >** [**내 정보 수정**](https://accounts.goorm.io/change_info) 메뉴 에서 가능합니다.\
※비밀번호는 8 \~ 30자리의 알파벳, 숫자, 특수문자 조합으로 설정해야 합니다.

![](/files/-MNlpMiUZ0kCRf8kjiwH)

비밀번호를 분실한 경우에도 비밀번호를 재설정할 수 있습니다. \
로그인 박스 하단에 위치한 '**비밀번호 재설정**' 을 클릭하면 [비밀번호 재설정 페이지](http://edu.goorm.io/find_pw)로 이동합니다.

![](/files/-MNlqhWrCSuzD23roa-O)

사용자 이메일 주소를 입력하고 **`인증 메일 전송`** 버튼을 클릭하면, \
아래 화면과 같이 해당 이메일 주소로 비밀번호 재발급 할 수 있는 이메일이 발송됩니다.&#x20;

![](/files/-MLC0NTCkjVHLLMqJ4z0)

해당 메일을 열고 **`비밀번호 재발급`** 버튼을 클릭하면 새로운 비밀번호로 설정이 가능합니다.

![](/files/-MLC0TI6IQwfncDSZYJS)


# 메인 페이지 안내

\#구름EDU #구름EDU서비스 #구름EDU서비스소개 #구름에듀

## 구름 메인 페이지 안내(Main page)

![](/files/-LrwyKoERLfrDTx8ouI_)

### 1. 구름 전체 서비스

[**구름EDU**](https://edu.goorm.io/) \
언제 어디서나 프로그래밍과 IT기술을 배울 수 있으며, 누구나 강의자와 수강자가 될 수 있는 \
온라인 SW교육 서비스입니다.

[**구름DEVTH**](https://devth.goorm.io) \
클라우드 기반으로 언제 어디서나 공정하고 효율적인 개발 능력 검증이 가능한 \
설치가 필요없는 온라인 코딩 테스트 서비스 입니다.

[**구름IDE**](https://ide.goorm.io/) \
설치가 필요없는 클라우드 통합 개발 환경으로 국내에서 유일한 클라우드IDE 서비스 입니다. \
무료 사용도 가능하며, 학생 인증을 하시면 저렴한 요금으로 유료 버전 이용이 가능합니다.

[**구름FORUM**](https://forum.goorm.io)\
개발자들의 놀이터! 자유로운 주제로 대화를 나누고 개발 꿀팁도 공유해보세요.

[**구름DevelUP**](https://develup.goorm.io/) \
시즌제로 운영되는 개발 레벨업 커뮤니티! 프로그래밍을 함께 배우고 즐기며 개발 실력을 레벨 업!&#x20;

[**구름CODINGPARTY**](https://codingparty.goorm.io/) \
쉽고 재미있는 온라인 코딩 파티에 참여하세요! (단, 온라인 코딩 파티 진행 기간에만 접속하실 수 있습니다.)

### 2. 전체강의 &#x20;

![](/files/-Lu0lGzI0BqBj0UBFF5-)

구름EDU의 전체 강좌를 확인하실 수 있습니다.

### 3. 강좌 검색

![](/files/-Lu0lYsvXgwghRNBxHeP)

원하는 강좌를 검색하실 수 있습니다.

###

### 4. 공지사항

서버 점검 등 주요 공지사항이 있는 경우 위 화면에서 안내해드립니다.  &#x20;

###

### 5. 내 정보 수정, 쿠폰 관리, 로그아웃

![](/files/-MLC2_zxxUUOE3Z6XIza)

* **내 정보 수정**\
  이름, 비밀번호, 추가 정보 등을 수정할 수 있습니다. <br>
* **쿠폰 관리**\
  쿠폰 코드 입력 및 유효기간 확인 가능합니다. <br>
* **로그아웃**\
  현재 로그인 상태 계정에서 로그아웃합니다.&#x20;

### 6. 내 강좌 / Q\&A

* **내 강좌 :** 수강 중인 강의  / 초대 받은 강의 / 수료증 / 획득 배지/ 구매 내역 등을 확인할 수 있습니다.

![](/files/-MLC3WVYxfTe3Q4xPqJ3)

* **Q\&A:** 수강 도중 발생한 궁금증에 대한 답변이 이 곳에 모여 있습니다 :)

![](/files/-Ltx-FACuCfkQFxJBVqe)

###

### 7. 초대 코드 입력

강좌 초대 코드를 받으신 경우, 이 곳에 입력하여 해당 강좌를 바로 수강 하실 수 있습니다.

![](/files/-MKmrJSOuVy6XL0qMGx3)

###

### 8.알림

내 계정에 대한 새로운 알림이 있는 경우 N버튼이 표시됩니다,

![](/files/-LrwpQ1nGubTdcxuaWbq)

&#x20;클릭하면 알림 내용을 확인하실 수 있습니다.

![](/files/-MNltxiXTd1qLcXcuxOn)

### 9. 언어 설정

홈페이지의 언어 변경이 가능합니다. **한국어, 영어, 일본어**를 지원합니다.

그 외에 **추천강좌, 인기강좌, 신규강좌, 할인강좌** 등이 찾기 쉽도록 노출되어 있습니다.

![](/files/-MLFtbNeP-zY1x86XVny)


# 02. 수강하기


# 강좌 찾기

\#강좌찾기 #강의찾기 #강좌검색 #강의검색

## 강좌 검색(Search lecture)

**`전체강좌`** 를 클릭하거나 **`강좌 검색창`** 을 이용하여 강좌를 찾을 수 있습니다. \
강좌 위에 마우스를 올리면 강의자, 난이도, 강좌이름, 가격, 평점 등 더 많은 정보를 확인할 수 있습니다.

![](/files/-MLFvbZMZGc_b-1a6SAZ)

좌측 강좌 카테고리 및 필터를 통해 원하시는 강좌를 손쉽게 찾을 수 있습니다.

![](/files/-MLFx2yWAHvc-bmzEJ_j)

![](/files/-MLG0ZeaVmvSHeIsNUl6)

수강하고 싶은 강좌를 클릭하면 수강 신청이 가능한 페이지로 이동합니다.


# 무료 강좌 수강하기

\#무료강좌 #무료강의 #강의수강

### 수강신청

수강신청 페이지에서는 강좌소개, 체험하기, 교육과정, 강의자 소개, 강좌 후기를 확인하실 수  있습니다.

원하는 강좌 선택 > **`신청하기`** 버튼을 눌러 수강신청합니다.\
무료강좌의 경우 신청 즉시 수강 등록이 되며, 유료강좌는 결제 이후 수강 등록이 됩니다.

![](/files/-MLCBgqH8H6FYs0Odcdu)

![](/files/-MLG23hhDoREzxdTWev_)


# 유료 강좌 수강하기

\#유료강좌 #유료강의

### 1. 수강신청(결제하기)

수강신청 페이지에서는 강좌소개, 체험하기, 교육과정, 강의자 소개, 강좌 후기를 확인하실 수  있습니다.

원하는 강좌 선택  후\
**`결제하기(하나의 강좌만 신청하는 경우)` 또는`장바구니에 담기(여러 강좌를 신청하는 경우)` 클릭**

![](/files/-MNmVzhp9le7WPp9iywb)

### 2. 결제하기(쿠폰 등록하기)

&#x20;적용 가능한 쿠폰 코드를 가지고 계신 경우, 결제 단계에서 쿠폰을 등록하여 사용하실 수 있습니다.

1\) **`쿠폰 등록하기`** 클릭

![](/files/-MNmX0yYCBAT7xHFZRI6)

2\) 쿠폰 코드 입력 후 **`쿠폰 등록`** 클릭 > 등록된 쿠폰에서 확인 후 창 닫기\
\*쿠폰코드는 대소문자를 구별합니다. 대소문자까지 모두 동일하게 입력해주세요!

![](/files/-MNmYUtNivrHkveLD5st)

3\) 등록한 쿠폰을 적용할 수 있는 강좌에는 **`쿠폰 변경`** 버튼이 나타납니다. **`쿠폰 변경`** 버튼을 눌러 쿠폰을 적용시켜주세요.

![](/files/-MNmYmAltOPYGVUEeKJ0)

4\) 쿠폰 변경 후 할인이 적용된 것을 확인하실 수 있습니다.

![](/files/-MNmZaBJ9q-2u4Pk6QvI)

5\) 결제

* 결제 안내를 살펴 보신 후 동의 여부에 체크하여 결제를 진행해주세요.

![](/files/-MNqeZn1RiN596MpHrnX)


# 내 수강 정보 화면 안내

\#수강정보 #수강정보페이지  #내강좌

## 수강 정보 페이지 - 내 강좌(My Lecture)

메인화면 > **`내 강좌`**

![](/files/-MNqeu91rpdPEpYuu0HU)

###

### **1.수강중인 강좌**

전체 수강 강좌 / 전체 학습 진행률 / 강좌별 학습 진행률을 확인할 수 있습니다.

![](/files/-MNqfzE7iHfuLuADYuRy)

### **2.찜한 강좌**

찜(❤️)한 강좌를 모아볼 수 있습니다.

![](/files/-MNqgF_w51bEyzuarSYb)

###

### **3.수료증**

강좌 완강하여 발급된 수료증을 확인할 수 있습니다.&#x20;

* 수료증은 **모든 강좌에서 발급되는 것은 아니며** 강의자가 발급 여부를 설정할 수 있습니다.
* 수료증 발급이 되지 않는 강좌의 수료증이 필요한 경우 [구름 고객지원팀](https://goorm.channel.io)으로 문의바랍니다.

![](/files/-MNqgfvHFjGujdzvGHPV)

###

### 4.획득 배지

강좌의 특정 강의를 해결하여 획득한 배지를 확인할 수 있습니다. &#x20;

* 배지는 모든 강의에서 획득할 수 있는 것은 아니며 강의자가 설정할 수 있습니다.

![](/files/-MNqh07ZzzupLHSlfU4w)

###

### 5.구매 내역

구매한 유료강좌를 확인할 수 있습니다.

![](/files/-MNqhHGrUKux0PM53V83)


# 수강 평가하기

\#수강평가 #수강후기 #리뷰 #수강후기남기기 #수강평이벤트 #이벤트 #구름이벤트

### 1.강좌 홈에서 수강평 남기기

**`수강평 남기기`**&#xB97C; 통해 수강평을 남기실 수 있습니다.

* 강의에 대한 평가는 1강 이상 수강 하셔야 가능합니다.

![](/files/-MNr-d4H1ZmuioHv_K5J)

###

### 2.강의화면에서 수강평 남기

강의화면에서도 수강평을 남기실 수 있습니다.

* 페이지를 넘길 때 자동으로 생성되거나, **`수강평 남기기`** 를 통해 남길 수 있습니다.

![](/files/-MLGMoXKc9qLxmJkLiMu)

![](/files/-MNr08O9EAtCw1UWPy-4)

수강평 이벤트 외에도 다양한 이벤트가 진행 중입니다.

자세한 사항은 [`구름 블로그`](https://blog.goorm.io/tag/event/)에서 확인해보세요 !


# 수강 취소하기

\#수강취소 #강의취소 #강좌취소

수강중인 강좌는 각 강좌 우측상단의 `...`버튼을 통해 '**수강 취소하기**' 할 수 있습니다.<br>

![](/files/-MLGO1hJdlicEktAucIW)

유료강좌의 경우, **수강내역이 없을 경우에만 환불 가능**합니다.&#x20;

{% hint style="danger" %}
**수강 내역이 있거나 결제 후 7일이 지난 경우, 수강 취소는 가능하지만 환불은 되지 않습니다**&#x20;
{% endhint %}

![](/files/-MLGOOujuhhGpvZ6N5Nf)


# 03. 학습 진행


# 강의 시작하기

\#강의듣기 #강의시작하기 #이어하기

## 강의 시작하기

**`내 강좌`  >  `수강중인 강좌`** &#x20;

* 최근 학습 강좌 정보 / 전체 강의 / 강좌 별 수강 현황

![](/files/-MLH18rK9r3ixVaiB4q5)

**수강중인 강좌** 에서 학습하실 강좌 선택하면 아래와 같이 강 페이지로 이동합니다.&#x20;

**`시작하기`** 버튼을 누르거나 원하시 챕터를 클릭하면 강의 페이지로 이동합니다.&#x20;

![](/files/-Lu1Bmq3EuLbsGbBv0M8)

수강중인 강의인 경우 **`시작하기`** 버튼이 **`이어하기`** 버튼으로 바뀌고 **수강평 남기기**가 가능해집니다.

![](/files/-Lu1BtGdvSEc8P0RAKRd)


# 수강화면 인터페이스

\#수강화면 #강의시작하기 #Q\&A

### 강의 시작하기(Start to Learning)

**`시작하기`** 또는 **`이어하기`** 를 클릭하여 강의를 시작하면 아래와 같은 강의 화면으로 이동합니다. \
우측 상단의 <img src="https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq-Q9LciN1X9EABxGkt%2Fuploads%2FootzSgRcYsy6BxCJDogZ%2Ffile.png?alt=media" alt="" data-size="line"> 버튼을 통해 줄간격 조정이 가능하고 화면 확대 / 축소가 가능합니다.

![](/files/-MLCPmagiEZItHQFPJ8L)

![](/files/-MLCSFaSD9QE6Qf2BCdC)

### 강의 이동하기(Move to Lesson)

페이지 하단의 **`< 이전`** **`다음 >`**&#xBC84;튼을 통해 한 페이지씩 이동이 가능하며 \
왼쪽 상단의 <img src="https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq-Q9LciN1X9EABxGkt%2Fuploads%2FirToWOJh5yX3ZjsUqQLf%2Ffile.png?alt=media" alt="" data-size="line"> 버튼을 이용하여 강의 내 학습하시고자 하는 챕터로 바로 이동이 가능합니다.&#x20;

아래 화면의 강의 목록에서 체크 표시(<img src="https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq-Q9LciN1X9EABxGkt%2Fuploads%2FWaAL2XV4CH0Dm7MQhu4y%2Ffile.png?alt=media" alt="" data-size="original">)는 해당 강의 수강 완료를 나타냅니다.&#x20;

**실습 화면, 시험**에서는 제시된 문제 유형별로 아래 조건 만족 시 수강 완료가 됩니다.

* 채점 모드 - 정답을 제출
* 제출 모드 - 최초 답안 제출
* 실행 모드 - 최초 코드 실행

![](/files/-MLCSaJDmCOJaPkWgcmu)

### Q\&A

우측 상단의 <img src="https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq-Q9LciN1X9EABxGkt%2Fuploads%2FnaJwVNkuZEDSBPbTryUt%2Ffile.png?alt=media" alt="" data-size="line"> 버튼 또는 우측 하단의 <img src="https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq-Q9LciN1X9EABxGkt%2Fuploads%2F9GyGw9HN1mhuNtI7b5CZ%2Ffile.png?alt=media" alt="" data-size="line"> 버튼을 이용하여 해당 강의에 대해 질문을 남길 수 있습니다.

답변이 달리면 우측 상단의 알림(<img src="https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq-Q9LciN1X9EABxGkt%2Fuploads%2FaP69VmWytcjaUELrKHEw%2Ffile.png?alt=media" alt="" data-size="line">)을 통해 확인 할 수 있습니다. \
또한, 강좌 페이지 **Q\&A**탭에서도 확인이 가능합니다.&#x20;

메인 페이지 우측 상단의 Q\&A버튼을 통해 강의의 모든 질문과 답변을 확인 하실 수 있습니다.

![](/files/-MLCTFUu6qE3XSz30OcL)

###

### 강의 종료하기 - 다른 강의 수강하기(Finish to Lesson)

좌측 하단의 나의 수강정보 또는 우측 상단의 **'**<img src="https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq-Q9LciN1X9EABxGkt%2Fuploads%2FUf2bjJt6qqkjEiGxF3fs%2Ffile.png?alt=media" alt="" data-size="line"> **> 수강정보'** 를 통해 \
**'수강정보'** 화면으로 이동하실 수 있습니다.&#x20;


# 실습화면 인터페이스

\#실습화면 #실습 #실습중심강의 #실습중심 #환경설정 #테스트 #제출 #채점

**실습 중심 강의** 수강 화면입니다.&#x20;

### 초기화 / 저장 / 실행(code init / save / run)

* **초기화** : \
  에디터 상의 소스 코드를 강의에서 제공하는 기본 소스코드로 초기화 합니다.
* **저장** : \
  소스 코드를 저장합니다. 저장된 소스코드는 새로고침 하거나 다시 서비스에 접속하더라도 \
  해당 강의에 남아있게 됩니다. 제출과 달리 강의자가 코드를 확인할 수 없습니다.
* **실행** : \
  작성한 코드의 결과나 오류 메세지가 아래 터미널 창에 출력되어 결과 확인이 가능합니다. \
  프로그램 수행 시간을 확인하실 수 있습니다.

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_REckt_1470375529092/aa4292a82f548e0c38626d09b36a41468cc1f5ba48110acf76f05374d6d6648d.png)

### 테스트케이스 실행(run the testcases)

* <img src="https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq-Q9LciN1X9EABxGkt%2Fuploads%2FhFtdPk7m4QCEr0lpex8D%2Ffile.png?alt=media" alt="" data-size="line"> **:**  입력을 동시에 실행할 수 있는 **테스트 케이스 실행 버튼**입니다. \
  강의 작성자가 예시로 설정한 입력 값들이 자동 세팅되어 예시의 출력 값과 같은 값을 출력하는지 \
  확인 할 수 있으며, '추가' 버튼을 통해 원하는 테스트 케이스를 더 추가할 수 있습니다.<br>

![](/files/-MLHI9cOJCrDStSe30fc)

###

### 제출(submit)

* **제출** : \
  강의자에게 소스 코드를 답안으로 제출합니다.\
  &#x20;제출한 답안이 맞는 경우  > `정답`문구  > 수강완료  \
  &#x20;제출한 답이 오답인 경우 > `오답` 문구 &#x20;

제출모드에서는 채점 없이 강의자에게 작성한 코드를 제출합니다. \
실행모드에는 제출 버튼이 없습니다.

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_REckt_1470375529092/266af4dc457643e8263fdbd6acf20089a71d566769381577a9c77c1dc0131d8c.png)

### 환경설정(configuration)

* <img src="https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq-Q9LciN1X9EABxGkt%2Fuploads%2FSjwm0qRwTlZO7W79hUc8%2Ffile.png?alt=media" alt="" data-size="line">  : \
  컨텐츠 영역과 에디터 영역 화면 설정 창\
  줄바꿈, 확대/축소, 줄간격, 화면크기, 글자크기, 테마, 단축키맵, 자동 저장 옵션을 조정할 수 있습니다.\
  \
  **- 줄바꿈 :** 90% \~ 300% 범위에서 10% 간격으로 조정할 수 있습니다.\
  **- 확대/축소 :** 70% \~ 400% 범위에서 10% 간격으로 조정할 수 있습니다.\
  **- 글자크기 :** 9 \~ 32pt 범위에서 1pt 간격으로 조정할 수 있습니다.\
  **- 테마 :** Dark, Light 두 가지 테마를 지원합니다.\
  **- 단축키맵 :** Default, Sublime Text, Emacs, Vim 을 지원합니다.\
  **- 자동 저장 :** 켜기로 설정하시면 별도로 저장을 클릭하지 않아도 학습하시던 코드가 저장 됩니다.

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_REckt_1470375529092/a5dfab1f7ba36c0fbbc153d23d5e36881ba4bc80e9df029015bfc532e9347569.png)


# 채점 모드 / 제출 모드 / 실행 모드

\#채점 #제출 #실행

★**강의 시작하기** 장에서 실습화면 인터페이스를 확인하지 않으셨다면, 아래 링크 먼저 확인하시기를 권장합니다.★

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice)
{% endcontent-ref %}

수강자는 실습화면 인터페이스에서 자유롭게 코드/블럭을 편집하며 \
**실행**을 통해 실시간으로 결과를 확인할 수 있으며, \
**제출**을 통해 자신이 작성한 코드/블럭을 강의자에게 보낼 수 있습니다. \
문제가 **채점** 목적으로 만들어졌다면, 곧바로 채점 결과까지 확인할 수 있습니다.<br>

강의자는 강의목표에 맞게 문제를 각각  '**실행모드**', '**제출모드**', '**채점모드**' 로 만들 수 있습니다.\
수강자는 강의 내에서 각 문제의 목적에 맞게, 문제를 실행 / 제출 / 채점 하시면 됩니다.

###

### 실행 모드(Run mode)

실행모드는 자유롭게 코드/블럭을 수정하고 실행을 통해 **실시간으로 결과를 확인**하는 것이 목적입니다. \
다양한 코드를 작성하고 연습할 수 있는 공간이니 마음껏 코딩해보시길 바랍니다.

### 제출 모드(Submission mode)

제출모드는 자유롭게 코드/블럭을 수정하고 실행을 통해 실시간으로 결과를 확인하며, \
제출한 코드/블럭을 **강의자가 확인 및 평가** 할 수 있습니다.

### 채점 모드(Auto-Grading mode)

채점모드는 강의자가 설정한 양식에 맞춰 제출한 코드/블럭을 **자동채점**하여 \
수강자가 **정답 여부를 바로 확인**할 수도 있습니다.


# 04. 시험/과제


# 모니터 화면 공유(스크린캡쳐)/웹캠 권한 허용

## 모니터 화면 공유 (permission sharing the screen)

시험 응시 전,  "모니터 화면 공유 안내" 화면이 뜹니다.

* 시험 주최자의 설정에 따라 사용을 강제하거나 하지 않을 수 있음)

![](/files/-MKm8GAS3w9MqikwRsN2)

&#x20;다중 모니터인 경우, 현재 시험을 보고 있는 화면을 선택해주세요.

![](/files/-MKm8LjkJrcoYkRBEt2L)

### ※ 화면 공유 설정이 안 될 경우(If screen sharing feature is not available)

1. <https://www.webrtc-experiment.com/getDisplayMedia/> 에서도 안되는지 체크해주세요.`Test getDisplayMedia API` 버튼을 꼭 click 하세요.
2. 크롬 버전을 확인하여 최신버전이 아닌경우 최신버전으로 업데이트 해주세요. (72버전 이상부터 지원)

## 웹캠 영상 공유 (permission sharing the webcam video)

웹캠 영상 공유 또한 부정행위를 방지하기 위함이니 설정해주시기 바랍니다.

* 시험 주최자의 설정에 따라 사용을 강제하거나 하지 않을 수 있음

![](/files/-MKm8QWOEQaFYDDo7VnA)

'허용' 버튼이 뜨지 않는다면,\
주소창 오른쪽 '카메라' 설정 혹은 주소창 왼쪽 권한 설정을 확인해주시기 바랍니다.

![](/files/-MKmyK8JZEaG4SefNi1L)

![](/files/-MLAnUS-086i4iUo2Vbm)

###

### 웹캠이 여러대인 경우 (If you have several webcams)

브라우저의 카메라 권한 설정 화면에서 드롭박스로 웹캠을 선택할 수 있습니다.

![](/files/-MLgsypJMcK4onjIXG5-)

###

### ※ 웹캠 설정이 안 될 경우 (If webcam sharing feature is not available)

1. 브라우저 권한 및 운영체제 권한을 확인해주세요.
2. 확장 프로그램 or 백신이 구동중이라면 잠시 중단하고 재시도해주세요.
3. 마이크 내장된 웹캠일 경우 마이크를 ON상태로 변경해주세요.
4. 노트북 내장 웹캠일 경우 하드웨어 설정에서 웹캠을 켜주세요.
5. &#x20;<https://webrtc.github.io/samples/src/content/getusermedia/canvas/> 에서도 안된다면 \
   크롬브라우저와 호환이 안되는 웹캠이므로 호환웹캠으로 교체를 권장합니다.


# 모바일(핸드폰) 카메라 설정

\#모바일 #핸드폰 #핸드폰카메라 #부정행위방지

## 1. 모바일 카메라 설정

시험 페이지 진입 시 QR코드가 표시됩니다.

![](/files/-Mgu9JIuFns9lCph0-jH)

이 창을 닫더라도 우측 상단 핸드폰 아이콘을 이용해 QR코드를 다시 표시할 수 있습니다.

<div align="center"><img src="/files/-Mgu9hDnjwO_-e7ehX7G" alt=""></div>

QR코드를 핸드폰으로 스캔한 뒤, 표시되는 주소로 이동해 주세요.\
카메라 페이지가 표시되면 핸드폰을 가로 모드로 변경한 뒤, "시작하기" 버튼을 눌러주세요.

![](/files/-MguADbHuVM6djVdsioC)

다음과 같이 표시되는 화면에서 카메라 권한을 허용해 주세요.

![](/files/-MguBIE_1oDFk0JuvdNc)

다음과 같이 표시되는 화면에서 마이크 권한을 허용해 주세요.

![](/files/-MguCGLFdsMwH9ILgtFR)

### ※ 1-2. 설정이 안 될 경우

1. 카메라 앱을 포함해 크롬 이외에 모든 앱을 종료한 뒤 다시 시도해 주세요.
2. 크롬에 다른 탭을 모두 종료한 뒤 다시 시도해 주세요.
3. 크롬에 시크릿 탭 기능을 이용해 다시 시도해 주세요.


# 시험/과제 화면 인터페이스

\#시험 #과제 #시험화면 #평가시작 #평가하기

## 평가 시작하기 (Start to exam)

**`시험시작`** 버튼을 클릭하면 테스트가 시작됩니다.

![테스트 화면 예시](/files/-LsMg81vbjQCqTyF1BCu)

1. 문제 정보 <br>
2. 코드 입력<br>
3. 초기화 / 저장/ 실행 / 테스트케이스 / 제출<br>

   **-초기화** \
   작성중인 코드를 모두 지우고 기본 예제 코드로 돌아갑니다.

   **-저장** \
   작성중인 코드를 저장합니다. 저장된 소스코드는 새로고침 하거나 \
   다시 서비스에 접속하더라도 해당 테스트에 남아있게 됩니다.

   **-실행** \
   작성한 코드의 결과나 오류 메세지가 아래 터미널 창에 출력되어 결과 확인이 가능합니다.

   **-테스트케이스 실행** \
   문제 출제자가 지정한 입력값으로 코드를 실행하여 코드가 문제의 의도와 맞게 작동하는지 \
   확인할 수 있습니다. 직접 입출력을 추가하여 사용할 수 있습니다.

   **-제출** \
   완성된 코드를 제출합니다. \
   제출은 여러 번 가능하지만 문제 출제자에 따라 제출 횟수가 제한될 수 있습니다.<br>
4. 실행결과 및 제출결과 확인<br>
5. 컴파일러 버전, 설정, 알림, 내 정보 보기 실행<br>

   **-컴파일러 버전 확인**  \
   구름DEVTH에서 사용가능한 모든 프로그래밍 언어의 컴파일러 버전을 확인할 수 있습니다.

   **-설정** \
   컨텐츠 영역, 에디터 영역 화면 설정을 변경할 수 있습니다. \
   `컨텐츠 영역` 줄간격, 화면 확대/축소 설정\
   `에디터 영역` 줄간격, 글자크기, 에디터 테마, 단축키 맵, 자동 저장 설정이 가능합니다.

   **-알림** \
   시험 중 긴급 공지 등의 알림을 확인할 수 있습니다.

   **-내 정보 보기** \
   내 정보 수정, 로그아웃 메뉴를 이용할 수 있습니다.

###

## 문제 이동하기 (Move to quiz)

![테스트 화면 예시](/files/-LsMaaITiFdtWqfxAp-5)

하단에 '다음', '이전' 버튼을 통해 이동이 가능하며, 좌측 상단 메뉴버튼을 통해 목록을 확인할 수 있습니다.

![테스트 화면 예시](/files/-LsMapXdh9BfmYmDg5K5)

문제목록 탭에서 원하는 문제를 선택하여 이동할 수 있습니다.

![테스트 화면 예시](/files/-LsMbfTcTI0NQjjrUt8U)

답안을 제출하지 않고 문제를 이동할 경우 위와 같은 메세지가 출력됩니다. \
**`제출하지 않고 이동`**&#xC744; 클릭하여 문제를 이동할 수 있으며 해당 문제는 다시 돌아와서 풀 수 있습니다.

### 일반 문제 화면 확인하기 (non-programming quiz)

![일반 문제 화면 예시](/files/-LsMdMOkmZDntsQjMY5O)

객관식, 주관식, 서술형, O/X, 선긋기, 파일 제출 문제가 있습니다.

{% hint style="danger" %}

#### 모든 문제는 제출버튼을 눌러야 답안이 제출되어 결과에 반영됩니다.

{% endhint %}

![제출 확인](/files/-LsMgrptuDnDfc9-rJqY)

제출버튼을 누르면 위와 같이 문제 옆에 체크 표시가 생깁니다. \
**시험을 종료하기 전 반드시 모든 문제가 제출되었는지 확인해 주시기 바랍니다.**&#x20;


# (동영상가이드)시험/과제 화면 인터페이스

#### [\[동영상 다운로드 링크\]](https://drive.google.com/open?id=168udXM_2p6tGfWBdLPhDZPRmNCgt_ccN)

####


# 05. 문제 유형 소개


# 스크래치 프로그래밍 문제 유형

{% hint style="info" %}
**스크래치 프로그래밍 문제**는 제출모드, 실행모드를 지원합니다.
{% endhint %}

**학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice)
{% endcontent-ref %}

### **스크래치 프로그래밍 문제**

청소년들이 쉽게 프로그래밍을 즐길 수 있는 사이트&#x20;

![](/files/-ML6vu0Zw6nqQ-UzvdWq)

**스크래치**는 청소년들이 진입 장벽 없이 흥미를 가지고 프로그래밍에 \
입문할 수 있도록 고안된 프로그래밍 언어입니다.&#x20;

명령어 블럭을 이용하여 필요한 블록을 마우스로 끌어와서 프로그래밍을 하는 새로운 패러다임을 \
제시한 프로그래밍 언어로 전 연령 층이 쉽게 사용할 수 있는 것이 특징입니다.&#x20;

최근에는 중등 교육과정에 채택되면서 교육용 언어로 각광받고 있습니다. \
아래에 스크래치를 짧고 명쾌하게 소개하는 동영상이 첨부되어 있습니다.&#x20;

스크래치에 대해 자세히 알고 싶다면 [**스크래치 공식 사이트**](https://scratch.mit.edu/)에 접속하여 \
스크래치 소개, 예시, 도움말 등을 살펴보기를 권장합니다.&#x20;

사이트에 접속하면 사용자들이 스크래치를 이용하여 게임, 애니메이션 등의 \
프로젝트를 만들고 공유하는 것을 확인하실 수 있습니다. \
사이트에 등록되있는 프로젝트들을 참고하며 프로그래밍을 익히는 것도 좋은 학습 방법입니다.

![](/files/-MLHNmRdHX4P1cYtCs9b)

구름EDU에서도 실습 중심 강의에 스크레치 언어 인터페이스를 사용하고 있습니다 \
문제의 요구사항에 맞는 블록과 이미지를 활용하여 재미있게 프로그래밍해보세요!<br>


# 일반 프로그래밍 문제 유형

{% hint style="info" %}
**일반 프로그래밍 문제**는 채점모드, 제출모드, 실행모드를 지원합니다.
{% endhint %}

**학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice)
{% endcontent-ref %}

### **일반프로그래밍 문제** &#x20;

**일반 프로그래밍 문제**는 콘솔 기반의 프로그래밍을 할 수 있는 문제 형태입니다. \
주어진 문제 내용과 입출력 예시를 확인하고 이를 기반으로 프로그래밍을 하는 방식입니.

\
&#x20;**`C/C++`**, **`JAVA`**, **`Python`**, **`Go`** 등 다양한 프로그래밍 언어를 사용하실 수 있습니다.

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_EjkHt_1469021359353/2e1f06677cafca647bfdbe6911c5850a89c342839bf63f3a9388cd650a4e249c.png)

**일반 프로그래밍** 문제 인터페이스입니다. \
1\) 좌측에 이론 설명과 실습 내용이 주어집니다. \
2\) 주어진 내용을 바탕으로 원하는 언어를 선택하여 기본 예제 코드가 주어진 에디터에 답안을 작성합니다. \
3\) 작성된 답안을 제출하면 채점 결과를 알 수 있습니다.


# GUI 프로그래밍 문제 유형

{% hint style="info" %}
**GUI 프로그래밍 문제**는 제출모드, 실행모드를 지원합니다.
{% endhint %}

**학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice)
{% endcontent-ref %}

### **GUI 프로그래밍 문제**

GUI 프로그래밍 문제 요구사항에 맞게 간단한 윈도우 어플리케이션 프로그램을 작성하실 수 있습니다.&#x20;

현&#xC7AC;**`Java Swing`, `Java FX`, `Java AWT`, `PyQt4`, `Python Tkinter`, `Python3 Tkinter`, `Pygame`,`NET (C#)`**&#xC744; 지원하고 있습니다.

![GUI프로그래밍 실습 인터페이스](/files/-MLHSBjSk0Yc25hwCaCk)

이론 설명, 실습 내용, 에디터, 터미널의 배치는 다른 프로그래밍 문제와 동일합니다.&#x20;

우측 상단의 **실행** 버튼을 클릭하면 아래 화면과 같이 새 창이 뜨면서 그 결과를 웹을 통해 확인하실 수 있습니다. "실행 결과"에는 코드 실행 결과 로그를 확인할 수 있으니, 모듈 확인 및 디버깅 시에 활용하시면 됩니다.&#x20;

![](/files/-MKnQ1JPY_FFGu_vlaUF)

우측 상단의 톱니바퀴 모양의 아이콘을 클릭하여 자신의 화면에 맞게 설정하여 실행시켜 봅시다.


# 거북이 문제 (Skulpt) 유형

{% hint style="info" %}
**거북이 문제 (Skulpt)**&#xB294; 제출모드, 실행모드를 지원합니다.
{% endhint %}

**학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice)
{% endcontent-ref %}

### 거북이 문제 &#x20;

구름EDU에서는 Python의 [turtle](https://docs.python.org/2/library/turtle.html) 모듈을 사용하는 거북이 문제를 지원하고 있습니다. <br>

거북이 문제를 통&#xD574;**,**\
문제의 요구사항에 맞게 간단한 Python turtle graphics 프로그램을 작성하실 수 있습니다.&#x20;

* 거북이 문제 실행 시 [Skulpt](http://www.skulpt.org/) 라이브러리가 사용되어 웹 상에서 실행 결과를 바로 확인 할 수 있도록 지원하고 있습니다.

![거북이 문제 실습 인터페이스](/files/-MLHUzRufdr8js9bzwgi)

이론 설명, 실습 내용, 에디터, 터미널의 배치는 다른 프로그래밍 문제와 동일합니다. \
우측 상단의 **`실행`** 버튼을 클릭하면 아래 화면과 같이 결과를 웹을 통해 확인하실 수 있습니다.&#x20;

"실행 결과"에는 코드 실행 결과 로그를 확인할 수 있으니, 모듈 확인 및 디버깅 시에 활용하시면 됩니다. <br>

![](/files/-MKnQSMVmYOWHnFQuWPE)


# 유닛 테스트 문제 유형

{% hint style="info" %}
**유닛테스트 프로그래밍 문제**는 채점모드, 제출모드 그리고 실행모드를 지원합니다.
{% endhint %}

**학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice)
{% endcontent-ref %}

### 유닛테스트  문제 &#x20;

유닛테스트 프로그래밍 문제에서는 단위 테스트 도구인 JUnit을 지원하고 있으며, \
이를 이용하여 테스트 코드를 만들어 사용자 코드를 테스트하는 방식입니다.&#x20;

사용자가 실습 내용에 맞게 Class와 Method를 구현하면, \
강의자가 지정한 TestCode가 Class와 Method를 테스트하는 방식입니다.&#x20;

![](/files/-MLHbutj_effCO1AGfIu)

TestCode는 강의자가 문제를 생성 시에 옵션을 통해 사용자에게 \
보여줄지/보여주지 않을지 결정할 수 있습니다.

TestCode가 보이는 경우, 그 TestCode에 맞게 사용자 코드를 작성하면 되며, \
이것이 바로 TDD(=Test Driven Development)입니다. \
테스트 코드를 먼저 작성한 후, 그에 맞게 어플리케이션 코드(=사용자 코드)를 작성하는 것입니다.&#x20;

문제가 채점모드로 만들어진 경우, 제출 시에 채점 결과를 테스트 메소드 별로 확인할 수 있습니다. \
채점 결과가 오답인 경우, 문제의 옵션에 따라 틀린 이유에 대한 메시지를 열람할 수 있습니다.


# 로보코드(코드) 문제 유형

**학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice)
{% endcontent-ref %}

### 로보코드 문제 (Robocode)

**로보코드(코드) 문제**는 로봇의 움직임을 프로그래밍하여 상대 로봇을 이기는 문제 형태입니다. \
\
수강자님께서는 주어진 문제 내용과 로보코드에서 제공하는 함수를 확인하여, \
이를 기반으로 프로그램을 작성하게 됩니다.&#x20;

**Javascript**를 이용하여 프로그램을 작성할 수 있습니다.

![](/files/-MLHcTYhD0RJ74KHMa0z)

## **1. 로보코드 기본 정보**

### **1-1.게임 방식**

로보코드는 Javascript로 로봇을 움직이는 코드를 작성하여 전장내의 다른 로봇을 파괴하는 게임입니다.

로봇의 기본 체력은 100입니다. \
미사일을 맞거나 충돌이 발생하면 로봇의 체력이 감소하고, 0보다 낮아지면 파괴됩니다.&#x20;

게임에서 로봇이 1개가 남았을 때 게임이 종료되며, 승리 조건은 **단판승, 다전제, 점수제**가 있습니다.

* **단판승:**\
  단 1라운드의 경기로 승/패가 결정되는 방식입니다.
* **다전제:** \
  3라운드 이상의 경기를 진행하며, 모든 라운드가 끝났을 때 \
  더 많은 라운드에서 승리한 로봇이 최종 승리합니다.
* **점수제:**\
  1라운드 이상의 경기에서 각 라운드마다 게임 내용에 의해 점수가 결정되고, \
  모든 라운드가 끝났을 때 점수의 합계가 높은 로봇이 승리합니다. \
  점수 계산에 대한 자세한 정보는 **6번 항목 점수표**에서 확인할 수 있습니다.<br>

### **1-2.턴 개념**

**로봇은 1턴 단위로 움직이게되며, 기본 게임속도는 1초에 30턴이 진행되는 속도입니다.** \
예를들어 10만큼 이동하라는 명령어를 수행한다면, 1턴에 10만큼 이동하는 것이 아닌, \
조건에 의해 여러 턴동안 10만큼 움직이게 됩니다.&#x20;

마찬가지로 20만큼 회전하라는 명령어는 조건에 의해 여러 턴 동안 20만큼 회전합니다. \
이 개념은 더 나은 로봇을 만들기 위해서 이해가 필요합니다.

### **1-3.이벤트 처리**

로보코드는 이벤트에 의해 동작합니다. 기본적으로 **`onIdle`**&#xC774;라는 기본함수가 반복적으로 동작하면서, \
특정 상황에 이벤트가 발생한다면 해당 이벤트를 우선으로 로보코드가 동작합니다.&#x20;

예를 들어 대기 중일때 로봇을 회전하면서 적을 찾게되면, **`onEnemySpot`**&#xC774;라는 이벤트가 발생하여, \
해당 이벤트의 함수들을 우선적으로 동작시킵니다. \
만약 기본함수 내의 함수들과 이벤트 내의 함수가 동시에 실행할 수 있는 함수라면 \
(직진과 회전) 동시에 실행됩니다.

### **1-4.이벤트 우선 순위**

각 이벤트에는 우선순위가 지정되어있습니다. 우선순위는 아래와 같습니다.

> **`onHit`**(미사일에 맞았을 때) - **40**\
> **`onWallCollide`**(벽에 충돌했을 때) - **30**\
> **`onRobotCollide`**(다른 로봇과 충돌했을 때) - **20**\
> **`onEnemySpot`**(다른 로봇을 발견했을 때) - **10**

이에 대한 설명은 아래와 같습니다.

> 1\. \
> A 이벤트가 동작중일 때, A보다 우선순위가 높은 B 이벤트가 발생한다면, \
> A는 중지되고 B이벤트가 동작한다.\
> \
> 2\. \
> A 이벤트가 동작중일 때, A보다 우선순위가 낮은 B 이벤트가 발생한다면, B는 동작하지 않는다.\
> \
> 3\. \
> 2개의 이벤트가 한 턴에 동시에 발생한다면, 우선순위가 높은 이벤트가 실행된다.

설명이 어려울 수 있지만, 직접 해본다면 쉽게 알 수 있을 것입니다.

### **1-5.좌표**

로보코드에서 위치는 (x, y)로 표시됩니다. \
전장의 가장 왼쪽 위가 (0, 0)이며, 오른쪽으로 갈수록 x값이 증가하며, 아래로 갈수록 y값이 증가합니다.

### **1-6.각도**

로보코드에서 각도는 (0 <= 각도 < 360) 로 표시됩니다.\
북쪽이 0도이며, 시계방향으로 증가합니다. 즉, 동쪽은 90도, 남쪽은 180도, 서쪽은 270도입니다.

### **1-7.이동**

로봇은 이동함수(`this.moveForwards`, `this.moveBackwards`)에 의해 움직입니다.

속도가 증가할때는 최대 1씩 증가하며, 감소할때는 최대 2씩 감소합니다. 최대 속도는 8입니다.

만약 정지상태에서 `this.moveForwards(100)`의 함수로 100만큼 움직이게 했다면, \
속도는 0부터 8까지 1씩 증가하여 8인상태 (1턴당 8만큼 움직임)로 움직이다가 \
정지할때쯤 2씩 감소하여 0의 속도가 되어 정지하게됩니다.

### **1-8.충돌**

로봇은 벽이나 다른 로봇과 충돌할 때 피해를 입습니다.\
벽에 부딪힌다면 체력이 0.2 감소하고, 다른 로봇과 부딪힌다면 체력이 0.6 감소합니다.

## **2. 이벤트 목록**

### **2-1.대기중일때**

위의 함수는 이벤트가 아닌 로봇의 기본 동작함수로서, 로봇이 다른 이벤트가 없을 때 \
기본적으로 계속 반복되는 함수입니다.&#x20;

이곳에 코드를 작성하면 로봇이 대기중인 상태에서의 동작을 구현할 수 있습니다.<br>

### **2-2.벽에 충돌했을때**

위의 이벤트는 로봇이 벽에 충돌하는 상황에서 발생하는 이벤트입니다. \
이곳에 코드를 작성하면 로봇이 벽에 충돌했을 때의 동작을 구현할 수 있습니다.<br>

### **2-3.로봇과 충돌했을때**

위의 이벤트는 로봇이 다른 로봇과 충돌하는 상황에서 발생하는 이벤트입니다. \
이곳에 코드를 작성하면 로봇이 다른 로봇과 충돌했을 때의 동작을 구현할 수 있습니다.<br>

### **2-4.미사일에 맞았을 때**

위의 이벤트는 로봇이 미사일에 맞았을 때 발생하는 이벤트입니다. \
이곳에 코드를 작성하면 로봇이 다른 로봇과 충돌했을 때의 동작을 구현할 수 있습니다.<br>

### **2-5.적을 발견했을때**

위의 이벤트는 로봇이 미사일에 맞았을 때 발생하는 이벤트입니다. \
이곳에 코드를 작성하면 다른 로봇을 발견했을 때의 동작을 구현할 수 있습니다.&#x20;

이 이벤트에서 사용 할 수 있는 함수가 추가적으로 있습니다. \
자세히 알아보려면 **하단 5번 항목을 참조**하시기 바랍니다.<br>

## **3. 로봇 제어 함수**

### **`this.moveForwards(입력값);`**

입력값(거리)만큼 로봇을 전진시키는 함수입니다.

### **`this.moveBackwards(입력값);`**

입력값(거리)만큼 로봇을 후진시키는 함수입니다.

### **`this.turnRight(입력값);`**

입력값(각도)만큼 로봇을 오른쪽으로 회전시키는 함수입니다. \
만약 입력값이 0보다 작으면 왼쪽으로 회전합니다.

1턴에 회전할 수 있는 각도는 최대 10도입니다. (10 - 속도 \* 0.75)

### **`this.turnLeft(입력값);`**

입력값(각도)만큼 로봇을 왼쪽으로 회전시키는 함수입니다. \
만약 입력값이 0보다 작으면 오른쪽으로 회전합니다.

1턴에 회전할 수 있는 각도는 최대 10도입니다. (10 - 속도 \* 0.75)

### **`this.turnTurretRight(입력값);`**

입력값(각도)만큼 대포를 오른쪽으로 회전시키는 함수입니다. \
만약 입력값이 0보다 작으면 왼쪽으로 회전합니다.

1턴에 회전할 수 있는 각도는 최대 20도입니다.

### **`this.turnTurretLeft(입력값);`**

입력값(각도)만큼 대포를 왼쪽으로 회전시키는 함수입니다. \
만약 입력값이 0보다 작으면 오른쪽으로 회전합니다.

한번에 회전할 수 있는 각도는 최대 20도입니다.

### **`this.turnRadarRight(입력값);`**

입력값(각도)만큼 레이더를 오른쪽으로 회전시키는 함수입니다. \
만약 입력값이 0보다 작으면 왼쪽으로 회전합니다.

1턴에 회전할 수 있는 각도는 최대 45도입니다.

### **`this.turnRadarLeft(입력값);`**

입력값(각도)만큼 레이더를 왼쪽으로 회전시키는 함수입니다. \
만약 입력값이 0보다 작으면 오른쪽으로 회전합니다.

1턴에 회전할 수 있는 각도는 최대 45도입니다.<br>

### **`this.shoot(입력값);`**

입력값에 의해 결정된 공격력과 속도를 갖는 미사일을 발사합니다.

&#x20;   1\. 입력값만큼 내 로봇의 체력이 소모됩니다.

&#x20;   2\. 입력값 \* 4 **(만약 입력값이 1이상이면 2 \* (입력값 - 1) 추가)** 의 공격력을 갖습니다.

&#x20;   3\. 20 - 3 \* 입력값 만큼의 속도를 갖습니다.\
\
&#x20;   4\. 미사일이 명중하면 적은 공격력만큼의 체력이 감소합니다.

&#x20;   5\. 미사일이 명중하면 내 로봇은 공격력 \* 3 만큼의 체력을 회복합니다.

&#x20;   6\. (입력값 / 5) + 1 만큼 대포가 가열됩니다. \
&#x20;       (대포는 1턴에 0.1만큼 식고, 가열이 0이되어야 미사일을 발사 할 수 있습니다.)<br>

### **`this.setMaxVelocity(입력값);`**

로봇의 최대 속도를 입력값으로 설정하는 함수입니다.\
입력값은 0보다 크고 8보다 같거나 작아야 합니다.

### **`this.setMaxTurnRate(입력값);`**

로봇의 최대 회전각도를 입력값으로 설정하는 함수입니다.\
로봇의 최대 회전각도는 입력값과 속도에 의해 결정된 값 중 작은값으로 결정됩니다.

입력값은 0보다 크고 10보다 같거나 작아야합니다.

### **`this.setTurnRight(입력값);`**

로봇의 다음 이동 함수가 실행될 때 동시에 로봇을 입력값만큼 오른쪽으로 회전시키는 함수입니다.

`this.setTurnRight(20);`을 호출하고 그 뒤에`this.moveForwards(100);`을 호출한다면 \
로봇이 100을 이동함과 동시에 로봇을 20도만큼 오른쪽으로 회전시킵니다.

### **`this.setTurnLeft(입력값);`**

로봇의 다음 이동함수가 실행될 때 동시에 로봇을 입력값만큼 왼쪽으로 회전시키는 함수입니다.

### **`this.setTurnTurretRight(입력값);`**

로봇의 다음 이동함수가 실행될 때 동시에 대포를 입력값만큼 오른쪽으로 회전시키는 함수입니다.

### **`this.setTurnTurretLeft(입력값);`**

로봇의 다음 이동함수가 실행될 때 동시에 대포를 입력값만큼 왼쪽으로 회전시키는 함수입니다.

### **`this.setTurnRadarRight(입력값);`**

로봇의 다음 이동함수가 실행될 때 동시에 레이더를 입력값만큼 오른쪽으로 회전시키는 함수입니다.

### **`this.setTurnRadarLeft(입력값);`**

로봇의 다음 이동함수가 실행될 때 동시에 레이더를 입력값만큼 왼쪽으로 회전시키는 함수입니다.

## **4. 정보 가져오기**

### **`this.getBattleFieldWidth();`**

전장의 가로 크기를 가져오는 함수입니다.

### **`this.getBattleFieldHeight();`**

전장의 세로 크기를 가져오는 함수입니다.

### **`this.getHp();`**

내 로봇의 현재 체력을 가져오는 함수입니다.

### **`this.getHeading();`**

내 로봇이 바라보는 방향을 각도(0 <= 각도 < 360)로 가져오는 함수입니다.

### **`this.getTurretHeading();`**

내 대포가 바라보는 방향을 각도(0 <= 각도 < 360)로 가져오는 함수입니다.

### **`this.getRadarHeading();`**

내 레이더가 바라보는 방향을 각도(0 <= 각도 < 360)로 가져오는 함수입니다.

### **`this.getVelocity();`**

내 로봇의 현재 속도를 가져오는 함수입니다.

### **`this.getX();`**

내 로봇의 x좌표를 가져오는 함수입니다.

### **`this.getY();`**

내 로봇의 y좌표를 가져오는 함수입니다.

## **5. onEnemySpot 이벤트**

`prototype.onEnemySpot = function(e) {};`와 같은 형태로 onEnemySpot 이벤트에 \
파라미터를 받아온다면 아래와 같은 함수를 쓸 수 있습니다.

### **`e.getDistance();`**

발견한 적과 내 로봇의 거리를 가져오는 함수입니다.

### **`e.getHp();`**

발견한 적의 현재 체력을 가져오는 함수입니다.

### **`e.getVelocity();`**

발견한 적의 속도를 가져오는 함수입니다.

### **`e.getHeading();`**

발견한 적의 로봇이 바라보는 방향을 각도(0 <= 각도 < 360)로 가져오는 함수입니다.

### **`e.getBearing();`**

발견한 적의 방향과 내 로봇이 바라보는 방향의 차이를 각도로 가져오는 함수입니다. (-180 < 각도 <= 180)

만약 내 로봇이 20도방향을 바라보고 있는데 적 로봇이 50도의 위치에서 감지된다면\
결과는 30이되고, 만약 내 로봇이 270도 방향을 바라보고 있는데 \
적 로봇이 180도 위치에서 감지된다면, 결과는 -90이 됩니다.&#x20;

## **6. 점수표**

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_WpXcj_1481593207136/1481605507236_%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202016-12-13%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.04.50.png)

점수제 게임에서의 점수계산항목은 다음과 같습니다.

* **총 점수:**\
  다른 모든 항목들의 점수를 더한 점수입니다. 이 점수로 승패가 결정됩니다.
* **생존 점수:**\
  각 라운드에서 다른 로봇이 파괴될 때 마다 **살아있는 모든 로봇은 50점**을 얻습니다.
* **생존 보너스:**\
  각 라운드에서 마지막으로 살아남은 로봇은 **그 라운드에서 파괴된 로봇 수 \* 10점**을 얻습니다.
* **대포 점수:**\
  대포를 발사해 다른 로봇을 명중시킬때 **로봇에게 입힌 피해**만큼 점수를 얻습니다.
* **대포 보너스:**\
  대포를 발사해 다른 로봇을 명중시켜, 그 로봇이 파괴되면 해당 라운드에서 \
  그 **로봇에게 입힌 피해 \* 0.2** 만큼 점수를 얻습니다.
* **충돌 점수:**\
  다른 로봇에게 일방적으로 접근하여 충돌을 발생시키면 **충돌로 입힌 피해 \* 2** 만큼 점수를 얻습니다.
* **충돌 보너스**\
  다른 로봇에게 일방적으로 접근하여 충돌을 발생시켜, 그 로봇이 파괴되면 \
  해당 라운드에서 **그 로봇에게 입힌 피해 \* 0.3** 만큼 점수를 얻습니다.

해당 문제가 포함된 시험에서 얻을 수 있는 점수의 비율은 \
**시험 점수 \* 나의 총 점수 / 적 로봇중 가장 높은 순위의 로봇의 총점수** 입니다. \
즉, 위의 표대로라면 30점을 얻을 수 있는 시험에서 30 \* 50/110 = 약 13.63점을 얻게됩니다.

## **7. 디버깅**

### **`this.debug(내용);`**

위 함수를 통해 하단 터미널에서 확인하고 싶은 내용을 출력할 수 있습니다.\
문자, 숫자, boolean만 출력 가능합니다.

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_WpXcj_1481593207136/1481606621356_%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202016-12-13%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.23.17.png)

## **8. 스크래치를 이용한 로보코드**

아래와 같이 스크래치를 이용하여 로보코드 문제를 작성할 수 있습니다.

![](/files/-MLHcb1KcG3bZGV2_WH7)


# 웹 서비스/애플리케이션 개발 문제 유형

{% hint style="info" %}
**웹 서비스/애플리케이션 개발 문제**는 채점모드, 제출모드, 실행모드를 지원합니다.
{% endhint %}

**학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice)
{% endcontent-ref %}

###

### &#x20;웹 서비스 / 애플리케이션 개발 문제

구름 EDU에서는 웹 서비스의 서버 사이드 프로그래밍을 할 수 있도록\
웹 서비스/애플리케이션 개발 문제 유형을 제공합니다.&#x20;

![](/files/-MLHdOMiqZ5k6cdeHyTR)

이 문제 유형에서는 수강자는 강의자가 업로드한 웹 프로젝트의 파일 중 \
지정된 일부 파일을 수정 및 열람을 할 수 있습니다.&#x20;

수정 및 열람 가능한 파일들의 소스코드를 자유롭게 수정하여 답안을 작성하면 되며, \
중간에 결과를 확인하기 위해 작성한 소스코드를 기반으로 웹 서버를 실행 해 볼 수도 있습니다.

우측 상단의 **`실행`** 버튼을 누르면 지금까지 작성한 소스 코드를 기반으로 웹 서버가 실행되고, \
해당 웹 서버에 접속해 볼 수 있는 페이지 링크가 '**실행 결과\`** 창 오른쪽에 나타납니다.&#x20;

생성된 링크를 클릭하면 작성&실행한 웹 서버에 접속할 수 있습니다. \
웹 서버가 실행되면, '**실행 결과**' 창에 웹 서버 로그를 볼 수 있고, 키 입력은 불가능합니다.&#x20;

소스코드를 변경한 뒤 웹 서버에 적용하려면 다시 웹 실행 버튼을 클릭하여 \
새로 작성한 소스 코드를 적용한 후 서버를 다시 시작 합니다.

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_ZPzjP_1469021373326/1469151366074_image.png)

현재 구름EDU 웹 서비스/애플리케이션 문제에서 지원하는 백엔드 언어 및 프레임워크는 5가지 입니다.<br>

* **PHP (Apache2 Server)**
* **Node.js**
* **Django (Python Framework)**
* **Flask (Python Framework)**
* **Ruby on Rails (Ruby Framework)**

강의자가 설정한 언어를 확인하고 해당 언어로 프로그래밍 하시면 됩니다.

웹 서비스/애플리케이션 개발 문제도 일반 프로그래밍 문제 유형과 같이, \
**채점모드에서 답안을 제출하면,** 테스트 케이스를 통해 채점을 하게 되며, \
테스트 케이스 별 정답/오답 결과가 나타납니다.&#x20;

테스트 케이스마다 배정된 배점이 있으며 통과한 테스트 케이스의 \
배점의 합 만큼의 점수를 얻게 됩니다.&#x20;

**제출모드일 경우** 여타 다른 실습형 문제유형과 같이 소스코드를 제출하게 되며, \
채점자가 직접 확인하게 됩니다.

웹 서비스/애플리케이션 개발 문제의 채점은 UI 테스트 툴을 이용하여 진행됩니다. \
출제자가 지정한 테스트 시나리오대로 정상적으로 이루어지면 정답, 그렇지 않으면 오답입니다.

다음은 출제자가 작성하는 테스트 시나리오의 예시입니다.

1. 서버 url로 접속한다
2. body 태그가 존재할 때 까지 최대 5초 기다린다. \
   `- 5초 안에 body 태그가 존재하지 않으면 실패`
3. 2초 기다린다
4. id가 input인 태그가 보일 때까지 최대 5초 기다린다 `- 5초 안에 id가 input 태그가 보이지 않으면 실패`
5. id가 input인 태그에 'goorm'이라고 입력한다.\
   `- id가 input인 태그가 존재하지 않으면 에러`
6. class가 button인 태그가 보일 때까지 최대 5초 기다린다.`- 5초 안에 class가 button인 태그가 보이지 않으면 실패`
7. id가 button인 태그를 클릭한다.\
   `- id가 button인 태그가 존재하지 않으면 에러`
8. id가 output인 태그가 보일 때까지 5초 기다린다 `- 5초 안애 id가 output인 태그가 보이지 않으면 실패`
9. id가 output인 태그에 'login success'라는 글자가 포함되어있는지 확인한다. `- id가 output인 태그가 'login success'라는 글자를 포함하지 않으면 실패`<br>

출제자가 작성한 시나리오는 위와 같은 형태일 것 입니다. \
테스트에서 한 개 이상의 에러나 실패가 나타나면 해당 테스트는 오답처리가 되게 됩니다. &#x20;

**테스트 시나리오에서 DOM을 구분하는 방식은 id나 class값, 태그 이름 등이므로,** \
**문제의 요구 사항을 확실하게 파악하고 코드를 작성해야 알맞 채점 결과를 얻을 수 있습니다.**


# HTML/CSS/JS 프로그래밍 문제 유형

{% hint style="info" %}
**HTML/CSS/JS 프로그래밍 문제**는 채점모드, 제출모드, 실행모드를 지원합니다.
{% endhint %}

**학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice)
{% endcontent-ref %}

### HTML/CSS/JS 프로그래밍 문제 &#x20;

구름EDU에서는 웹 서비스의 클라이언트 사이드 프로그래밍을 할 수 있도록 \
HTML/CSS/JS 문제를 지원하고 있습니다.&#x20;

![](/files/-MLHer4cI0LhL8ukYtoA)

이 문제 유형에서는 수강자는 강의자가 업로드한 웹 프로젝트의 파일 중 \
지정된 일부 파일을 수정 및 열람을 할 수 있습니다.&#x20;

수정 및 열람 가능한 파일들의 소스코드를 자유롭게 수정하여 답안을 작성하면 되며, \
중간에 결과를 확인하기 위해 작성한 소스코드를 기반으로 웹 서버를 실행 해 볼 수도 있습니다.

우측 상단의 실행 버튼을 누르면 지금까지 작성한 소스 코드를 기반으로 웹 서버가 실행되게 되고, \
해당 웹 서버에 접속해 볼 수 있는 페이지 링크가 **실행 결과** 창 오른쪽에 나타납니다.&#x20;

링크를 클릭하면 실행된 웹 서버에 접속할 수 있습니다. \
웹 서버가 실행되면, **실행 결과** 창에 아파치2 웹 서버의 에러 로그를 볼 수 있고, 키 입력은 불가능합니다.&#x20;

소스코드를 변경한 뒤 웹 서버에 적용하려면 다시 웹 실행 버튼을 클릭하여 \
새로 작성한 소스 코드를 적용한 후 서버를 다시 시작 합니다.

구름EDU에서는 HTML/CSS/JS 프로그래밍 문제를 위해 클라이언트 사이드 프로그래밍 언어로 \
**HTML, CSS, Javascript**를 지원하고 있고, 라이브러리로 **JQuery, Bootstrap**을 지원하고 있습니다.

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_wisON_1469525132546/1469622554346_image.png)

HTML/CSS/JS 개발 문제도 일반 프로그래밍 문제 유형과 같이, \
**채점모드일 경우** 답안을 제출하면, 테스트 케이스를 통해 채점을 하게 되며, \
테스트 케이스 별 정답 / 오답 결과가 나타납니다. \
해당 테스트 케이스의 배점과 맞춘 개수에 따라 획득하는 점수가 결정됩니다.&#x20;

**제출모드일 경우** 여타 다른 실습형 문제유형과 같이 소스코드를 제출하게 되며, \
채점자가 직접 확인하게 됩니다.

웹 서비스/애플리케이션 개발 문제의 채점은 UI 테스트 툴을 이용하여 진행됩니다. \
출제자가 지정한 테스트 시나리오대로 정상적으로 이루어지면 정답, 그렇지 않으면 오답입니다.

이 내용이 다소 직관적이지 않을 수 있는데 예를 들어 설명하겠습니다. \
다음은 예시로 든 출제자가 작성한 테스트 시나리오입니다.

1. 서버 url로 접속한다
2. body 태그가 존재할 때 까지 최대 5초 기다린다. \
   `- 5초 안에 body 태그가 존재하지 않으면 실패`
3. 2초 기다린다
4. id가 input인 태그가 보일 때 까지 최대 5초 기다린다.`- 5초 안에 id가 input 태그가 보이지 않으면 실패`
5. id가 input인 태그에 'goorm'이라고 입력한다.\
   `- id가 input인 태그가 존재하지 않으면 실패`
6. class가 button인 태그가 보일 때 까지 최대 5초 기다린다.`- 5초 안에 class가 button인 태그가 보이지 않으면 실패`
7. id가 button인 태그를 클릭한다.\
   `- id가 button인 태그가 존재하지 않으면 실패`
8. id가 output인 태그가 보일 때 까지 5초 기다린다.`- 5초 안에 id가 output인 태그가 보이지 않으면 실패`
9. id가 output인 태그에 'login success'라는 글자가 포함되어있는지 확인한다. `- id가 output인 태그가 'login success'라는 글자를 포함하지 않으면 실패`

출제자가 작성한 시나리오는 위와 같은 형태를 띠게 됩니다.&#x20;

해당 테스트에서 최소 한개 이상의 실패가 나타나게 되면 \
해당 테스트는 정상적으로 이루어진 것이 아니며, 오답처리가 되게 됩니다.&#x20;

**테스트 시나리오에서 DOM을 구분하는 방식은 사람과는 다르게 id나 class값, 태그 이름 등이므로,** \
**문제에서 명시하는 해당 요구 조건들, 예를 들어 "로그인 버튼의 id값은 login으로 고정할 것"과** \
**같은 부분은 꼭 지켜주어야 정상적으로 채점이 됩니다.**


# RESTful API 실습 유형

{% hint style="info" %}
**RESTFul API 실습**은 실행모드만을 지원합니다.
{% endhint %}

**학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice)
{% endcontent-ref %}

###

### RESTful API 실습&#x20;

구름EDU에서는 RESTFul API 학습을 가능하게 하는 실습을 지원하고 있습니다. \
현재 HTTP 프로토콜을 지원하고 있으며, `HTTP 프로토콜`의 \
`GET/POST/PUT/DELETE 메소드`를 지원하고 있습니다.&#x20;

사용자는 URI와 메소드에 맞게 HEADER와 BODY를 설정하여 실행하며 실습을 진행합니다.

![RESTFul API 실습 인터페이스](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_mHHwX_1469525144244/fe8a10677c4f39c754a3cd239fd1c03d579605d0c2db2eba5320a531dcdd346a.png)

HEADER와 BODY에 적절한 값을 넣어 실행을 하면, 그 실행 결과를 HTTP 응답 결과 포맷에 맞게 \
확인할 수 있습니다. 응답 결과의 BODY가 일반 텍스트거나 JSON인 경우, 아래와 같이 \
바로 그 내용을 확인할 수 있으며, 바이너리인 경우는 다운로드 진행, 이미지인 경우는 \
이미지를 바로 보여주도록 되어있습니다.

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_mHHwX_1469525144244/1470139587095_image.png)


# 아두이노 스케치 개발 문제 유형

{% hint style="info" %}
**아두이노 스케치 개발 문제**는 제출모드, 실행모드를 지원합니다.
{% endhint %}

{% hint style="danger" %}
**아두이노 스케치 개발 문제**는 현재 **크롬 브라우저**에서만 이용 가능합니다. \
추후 다른 브라우저들로 확장할 예정입니다.
{% endhint %}

**학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice)
{% endcontent-ref %}

### **아두이노 스케치 개발 문제** &#x20;

아두이노는 오픈소스 마이크로컨트롤러 보드입니다. \
아두이노는 PC에 쉽게 연결하다는 장점 뿐만 아니라 비교적 초보자들도 쉽게 코딩하고 업로드하여 \
IoT(사물 인터넷), 로봇, 드론 개발, 3D 프린터, 자동제어 등과 같은 다양한 분야에서 활용 가능하다는 \
장점과 활용성으로 널리 사랑받고 있습니다.

구름EDU에서 아두이노 프로그래밍을 하기 위해 간단한 준비 과정이 필요합니다.\
준비 과정 설명에 앞서 아두이노 프로그래밍 문제 인터페이스를 확인하도록 하겠습니다.

![](/files/-MLHfxpj2EKzwA_4HVmN)

### **실습 환경 설정**

아두이노 프로그래밍 실습 환경 설정에 대한 설명입니다. \
매뉴얼을 참고하여 실습 환경 설정 후 실습을 진행하시기 바랍니다.

1\) 페이지 우측 상단에 보이는 **'`연결하기`'**&#xB97C; 클릭합니다.

2\)  **goormduino** 환경 설정 가이드가 있는 다음과 같은 다이얼로그가 팝업됩니다.

![](/files/-MLHg5Xue0UV8_kMa6HJ)

3\)  `1. 구름두이노(goormduino) 크롬 앱 설치하기` 텍스트 박스 우측 하단에 위치한 \
**`다운로드`**&#xBC84;튼을 클릭합니다. \
\
이후, \
새 창으로 chrome://extensions/으로 접속 > 상단에 있는 개발자모드를 체크 > 다운로드 받은 압축파일을 해제 >**`압축해제된 확장 프로그램 로드...`** 클릭 후 업로드합니다.

이 때, 압축 해제된 폴더에서 '**deploy**' 폴더를 선택하여 업로드해주세요!

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_ayeKF_1469021385108/1494062095855_image.png)

4\) 업로드한 구름두이노의 ID를 복사한 후, **'Chrome Extention ID'** 인풋 박스에 넣습니다.\
**'구름두이노 연결하기'** 항목 우측 하단의 '**`연결하기`'** 버튼을 클릭합니다. \
**`연결하기`** 버튼이 **녹색**으로 변경되면 정상적으로 연결된 것입니다.&#x20;

{% hint style="danger" %}
사용자마다 구름두이노 ID가 다릅니다. \
메뉴얼에 보이는 gdd\~ 를 복사하지 마시고, 자신이 업로드한 구름두이노의 ID를 복사해주세요.
{% endhint %}

![](/files/-MLHgb0KtjXrGtN_3oUb)

5\) 이제 PC와 아두이노 보드를 연결할 차례입니다.  '**컴퓨터와 연결된 보드 불러오기**' 오른쪽에 있는 ![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq-Q9LciN1X9EABxGkt%2Fuploads%2F0SXufSPU6goCPmzuMOZ2%2Ffile.png?alt=media)를 클릭하면 컴퓨터와 연결된 포트 리스트를 불러옵니다. \
PC에 아두이노 보드를 연결한 후 아두이노와 연결한 포트를 선택합니다. 이후, 보드 종류를 설정합니다.&#x20;

여기까지 오셨다면 실습 환경은 완성되었을 것입니다. \
다음으로 아두이노 프로그래밍 실습에 대해 알아보도록 하겠습니다. \
이론 설명, 실습 내용, 에디터, 터미널의 배치는 다른 프로그래밍 문제와 동일합니다.

기본적으로 에디터에는  '**Arduino**', '**Serial**' 2개의 탭이 있습니다.&#x20;

* **Arduino** : 강의자가 제공한 기본예제 코드가 주어지고 이 코드를 베이스로 요구사항에 맞게 \
  프로그래밍을 하시게 됩니다. 수강자가 수정한 코드를 아두이노 보드에 업로드할 수 있습니다.
* **Serial** : PC와 아두이노 기기 사이의 시리얼 통신 출력을 통해 확인할 수 있는 콘솔 터미널입니다.

코드 작성을 마친 후 '**`업로드`**' 버튼을 누르면 연결된 보드에 코드가 업로드됩니다. \
아래에 업로드에 성공한 화면이 있습니다. 에디터 하단에 위치한 **실행 결과** 창을 통해 \
업로드 성공여부를 확인할 수 있습니다.<br>

![](/files/-MLHgwIUZRYKFPLM4R1q)

매뉴얼을 보시면서 시리얼 통신이 무엇인지 궁금해 하실 분들이 계실 것입니다. \
아두이노는 디버깅 도구가 없기 때문에 프로그램의 문제를 찾는데 어려움이 있을 수 있습니다.&#x20;

이 문제점에 대한 대안이 시리얼 통신입니다. \
시리얼 연결을 통해 시리얼 통신 함수를 코드 곳곳에 입력하여 코드의 동작을 체크할 수 있습니다.&#x20;

아래에 시리얼 통신 함수 리스트가 첨부되어 있습니다.

* **Serial.begin(speed) :** 시리얼 통신의 전송속도를 설정합니다.
* **Serial.available() :** 시리얼 포트로부터 시리얼 데이터의 바이트크기를 읽어 반환합니다.
* **Serial.flush() :** 시리얼 포트안에 존재하는 데이터를 비웁니다.
* **Serial.print/println(val) :** 시리얼 통신 데이터를 시리얼 포트로 ASCII 형식으로 출력합니다.
* **Serial.read() :** 시리얼 통신 버퍼에서 데이터를 읽어들입니다.
* **Serial.write(val) :** 데이터를 시리얼 포트에 씁니다. 데이터는 바이트 단위로 전송됩니다.

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_ayeKF_1469021385108/24996eaea08145e8e0814856653f8221b40955d84bce83e7ee3e4f12a183cdbb.png)

Arduino 탭에 적절한 시리얼 함수를 입력해두고 시리얼 탭으로 넘어가서 \
![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq-Q9LciN1X9EABxGkt%2Fuploads%2FWZ6HBwYOBCfPdJy3hJpN%2Ffile.png?alt=media) 버튼을 클릭하고 연결이 되었다는 메세지가 나타나는 것을 확인합니다.

**`시리얼 연결해제`** 버튼으로 시리얼 연결을 해제할 수 있습니다.<br>

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_ayeKF_1469021385108/7fd5d2dc621dc1ff627ec2e995648ce8070f8651216c214493b361ed9392253f.png)


# 스크래치두이노 개발 문제 유형

{% hint style="info" %}
**스크래치두이노 개발 문제**는 제출모드, 실행모드를 지원합니다.
{% endhint %}

{% hint style="danger" %}
**스크래치두이노 개발 문제**는 현재 IE, EDGE 브라우저에서는 이용이 불가능합니다.\
또한 아두이노 개발 문제와 마찬가지로 **업로드 기능은 크롬 브라우저만 이용 가능**합니다.
{% endhint %}

\
**학습진행 장에서 실습화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsePuO5JmOGn3Q0FMA" %}
[실습화면 인터페이스](/ko/edu-student/learing-process/interface-practice)
{% endcontent-ref %}

&#x20;<br>

**스크래치두이노 개발 문제**는 블록코딩이 기능이 추가되는 것 이외에는 아두이노 개발 문제와 같습니다. \
아두이노 개발 문제 매뉴얼을 확인하지 않으셨다면 아래 링크를 확인하시기 바랍니다.

{% content-ref url="/pages/-LrsfLAp07mimQQE2cRA" %}
[아두이노 스케치 개발 문제 유형](/ko/edu-student/quiz-type/arduino)
{% endcontent-ref %}

블록 기반 프로그래밍을 지원하는 **스크래치 문제** 매뉴얼을 확인하시지 않으셨다면 \
아래 링크를 확인하시기 바랍니다.

{% content-ref url="/pages/-LrsfMVWCUdLssm1r0Kx" %}
[스크래치 프로그래밍 문제 유형](/ko/edu-student/quiz-type/scratch)
{% endcontent-ref %}

### &#x20;

### 스크래치두이노  개발 문제 &#x20;

* '**goormduino**'가 설치되어 있다고 가정하고 설명을 진행하도록 하겠습니다.

![스크래치두이노 실습 인터페이스](/files/-MLHhNE0TBDz-xjBEH01)

이론 설명, 실습 내용, 에디터, 터미널의 배치는 다른 프로그래밍 문제와 동일합니다.

에디터에 '**스크래치 블럭**', '**소스코드**', '**시리얼**' 3개의 탭이 있습니다.

* **스크래치 블럭 :** 각각의 블럭들이 '**연산**', '**제어**', '**데이터**', '**함수**', '**입력/출력'**, '**서보모터**', '**센서**'의 기능으로 구분되어 배치되어 있습니다. 각 기능을 클릭하면 해당 기능에 속한 블럭을 확인할 수 있습니다.&#x20;

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_dhaTV_1469021392217/1469091407446_image.png)

* **소스코드 :** 블럭코드가 아두이노 소스코드로 변환되어 표시되어 있습니다.&#x20;

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_dhaTV_1469021392217/1469091515965_image.png)

* **시리얼 :** PC와 아두이노 기기 사이의 시리얼 통신 출력을 통해 확인할 수 있는 창입니다. \
  시리얼 통신을 통해 코드의 흐름을 확인하실 수 있습니다. 아두이노에는 디버깅 도구가 없기 때문에 \
  프로그램의 문제를 찾는데 어려움이 있을 수 있습니다. 그 대안이 시리얼 통신입니다. \
  시리얼 연결을 통해 시리얼 통신 함수를 코드 곳곳에 입력하여 코드의 동작을 체크할 수 있습니다.&#x20;

다음은 PC와 아두이노를 연결하는 단계입니다. \
USB를 연결 후 '**보드 불러오기**'에서 연결된 보드를 선택합니다.

스크래치두이노를 통해 작성한 코드를 '**업로드**'한 후 실행 결과를 확인합니다. \
**소스코드** 탭에서 소스코드를 확인하며 코드 작성 방법을 익히면 좋습니다.&#x20;

아래에 화면은 아두이노 보드가 PC에 연결되고, \
스크래치두이노 블록으로 작성한 코드 실행에 성공한 화면입니다.

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_dhaTV_1469021392217/1469092278481_Screenshot%21.png)


# 일반 문제 유형

{% hint style="info" %}
일반 문제유형은 **O/X문제** , **객관식 문제**, **주관식 문제**, **선긋기 문제**, **서술형 문제**가 있으며 \
이론중심 강의에서 활용됩니다.&#x20;
{% endhint %}

**학습진행 장에서 수강화면 인터페이스를 확인하지 않으셨다면 아래 링크를 먼저 확인하시기를 권장합니다.**

{% content-ref url="/pages/-LrsfGnHPGy4t4mI3y33" %}
[수강화면 인터페이스](/ko/edu-student/learing-process/interface)
{% endcontent-ref %}

### 일반 문제 유형  &#x20;

아래 화면은 일반 문제 유형 인터페이스 입니다.

![](/files/-MAKvtIIDHAIIG1cqU6d)

![](/files/-MAKv_hG7XxZYt2q5vWr)

일반 문제 유형들은 출제자의 옵션 설정에 따라 답안 **`제출`** 버튼을 누른 후 채점 결과가 보여질 수 있습니다.  \
서술형 문제는 바로 채점 되지 않고, 제출 후 강의자가 직접 채점 하게 됩니다.

![](/files/-MAKw8-jCRQJCRG50I4_)


# 06. 구름IDE를 이용한 강좌 수강


# 구름IDE와 강좌의 연결

\#구름IDE연결 #구름연동 #구름IDE

구름IDE과 연결된 강좌인 경우에만 해당하는 문서입니다.

**구름IDE에 연결**을 설명하기 전에 [구름IDE](https://ide.goorm.io/)가 무엇인지 간략하게 설명하겠습니다. \
구름EDU가 교육에 초점을 맞춘 서비스라고 한다면, 구름IDE는 개발에 초점을 맞춘 서비스입니다.&#x20;

구름IDE는 웹 기반 클라우드 코딩 서비스로 네트워크만 연결되어 있다면 다양한 프로그래밍 언어로 \
프로그래밍을 하실 수 있는 환경을 제공하는 서비스입니다.&#x20;

다른 프로그래머들과의 협업도 가능하고, 프로그래밍을 함에 있어서 구름EDU의 개발 환경보다 \
여러모로 강력한 기능을 제공하기 때문에 수강자에게 보다 좋은 환경에서 프로그래밍할 수 있도록 \
**연결하기** 기능을 제공하고 있습니다.&#x20;

구름IDE에 대한 자세한 매뉴얼은 '**구름IDE 도움말**'에서 이용하실 수 있습니다.

{% content-ref url="/pages/-LrO0l62a1HjpdNtnVpE" %}
[Broken mention](broken://pages/-LrO0l62a1HjpdNtnVpE)
{% endcontent-ref %}

구름EDU에서는 구름IDE와 연결하여 수업을 진행하고 시험에 응시할 수 있습니다.

'**학습 중인 강좌**' 중 강의자가 구름IDE와 연결을 허용한 강좌 \
강의 수강 화면 우측 '**`강의 시작`**' 버튼 아래'**`구름IDE 실행`**' 버튼이 있습니다.&#x20;

* &#x20;**만약 강의자가 구름IDE와 연결을 설정해두지 않았다면 이 버튼은 나타나지 않습니다.**

![](/files/-MMxQF0RGL73B3CQWq45)

'**구름IDE 실행**' 버튼을 누르면 다음과 같은 화면(구름IDE)으로 이동합니다. \
구름IDE와 연동된 강좌 필요에 따라 프로젝트를 생성하고 코드를 작성하며 강의를 수강할 수 있습니다. \
강의 외 구름IDE 기본 기능에 대한 도움말은 '**구름IDE 도움말**'에서 확인하시기 바랍니다.

{% content-ref url="/pages/-LrO0l62a1HjpdNtnVpE" %}
[Broken mention](broken://pages/-LrO0l62a1HjpdNtnVpE)
{% endcontent-ref %}

![](/files/-MN6UBC3CmuewbhCgKvD)


# 06. 학교/기관/기업 채널 서비스 수강자


# 채널 가입


# 채널 가입하기

\#학교계정 #기관계정 #기업계정

학교, 기관등 채널 서비스를 이용하시기 위해선 구름 계정 생성 후 채널가입을 별도로 하셔야 합니다. \
이용하시고자 하는 채널에 접속하면 채널 상단에 채널 가입을 위한 메뉴가 노출 됩니다.

가입 신청 이후 채널 관리자가 승인하면 채널 서비스 이용이 가능합니다.

![](/files/-MLLEkxMWreMS1IPe57W)

채널 가입 승인 대기중인 경우 아래와 같은 화면을 확인할 수 있습니다. \
채널 가입 승인은 **각 채널 관리자의 권한으로 구름에서 관리하지 않습니다.**

**만약 가입 승인과 관련하여 문의사항이 있으시다면 소속된 학교 또는 기관의 관리자에게 문의해주세요.**

![](/files/-MLLFGayjHhy62uS02MU)

**강좌의 초대코드를 받으셨다면 채널 가입 시 초대코드를 입력**해주세요. \
**가입 승인 절차가 생략되며 바로 강좌 수강**하실 수 있습니다.

![](/files/-Lrx2ggPjjWQppqdl2js)


# 초등학교 전용 채널 그림 로그인

\#초등학교채널 #초등EDU #초등학생채널

구름EDU에서는 학교, 기업, 학원 등을 위한 채널 서비스를 제공하고 있습니다. \
채널 서비스를 사용 중인 단체의 경우 채널 가입자만 해당 채널의 컨텐츠 이용이 가능합니다.

초등학교 채널에서는 이메일이 없는 학생들을 위해 **그림으로 로그인**하는 기능을 제공하고 있습니다. \
그림 로그인을 이용하면 자신의 학년/반/이름과 비밀그림만 기억하고 있으면 쉽게 로그인 할 수 있습니다. 선생님이 알려주신 비밀그림으로 로그인 해보세요!

진행과정은 다음과 같습니다.

* **학년도**를 선택하면 **학년** 버튼들이 나타납니다.
* **학년**을 선택하면 **반** 버튼들이 나타납니다.
* **반**을 선택하면 해당 학년도/학년/반의 학생들의 **이름** 버튼들이 나타납니다.
* 자신의 **이름**과 **비밀그림**을 선택하고 **로그인** 버튼을 눌러 로그인하세요.

![](/files/-MLLJM36o_jnm9ifMr4B)


# 채널 검색

## 채널 검색  &#x20;

학교/기관/기업 채널을 검색하고 싶으시다면

구름 EDU 메인 페이지 하단 > 해당 기관 사용안내 click > 해당 기관 메인페이지 하단에서 검색  &#x20;

![구름 EDU 메인페이지 하단](/files/-MLLKOGFKo7F-i7nkTHK)

![기업 EDU 메인페이지 하단](/files/-MLLKhqn3uCq9CsSqqUX)


# 수강 신청


# 강좌 찾기

채널 상단의 검색창을 통해 원하는 강좌를 찾을 수 있습니다.

![](/files/-MLLLGCEUS5XkQkqbDI2)

**학습 난이도, 수료증 발급 여부, 강의자** 별로 필터 설정이 가능하며 **최신순, 인기 많은 순** 정렬을 지원합니다. 강좌별 카드를 통해 **강좌명, 강의자, 수강생 수, 난이도** 등을 확인할 수 있습니다.

![](/files/-MLLLQR2SlmiU--oUSDq)


# 수강 신청하기

강좌별 카드를 클릭하면 강좌소개 페이지로 이동하며 **수강신청**이 가능합니다. \
강의자가 그룹을 설정한 경우 그룹을 선택해야 수강 신청이 가능합니다.&#x20;

선택한 그룹은 수강자가 나중에 변경할 수 없기 때문에 잘못 신청하셨다면 \
**강의자 또는 채널 관리자에게 요청** 하셔야 합니다.&#x20;

강좌 설정에 따라 승인이 필요한 경우 해당 강좌는 승인 전까지 수락 대기중 상태가 되며 \
승인이 완료 되면 강의를 들으실 수 있습니다.

![신청하기 전](/files/-MLLMhNflZNnUqaWDz8d)

![신청 후 대기화면](/files/-MLLMtddcD2wTRRFSDHE)

승인이 필요없는 강좌의 경우 이 단계를 건너 뛰며 바로 강의를 들을 수 있습니다. \
아래는 수강신청이 완료되면 확인하실수 있는 강좌정보 페이지 입니다.

![](/files/-MLLN94MG8jysNvIXqGY)

만약 **강좌 초대코드를 받으셨다면** 오른쪽 위 "**`초대코드입력`**" 버튼을 눌러 초대코드를 입력해주세요. \
이 경우, 자동으로 수강신청 승인이 되어 바로 수강을 시작하실 수 있습니다.

![](/files/-Lrx3YxFifOtmEitkaON)


# 수강정보 화면 안내

수강정보 탭에 대해 안내드리겠습니다.<br>

![](/files/-MLLNHjeLgiPRl9JuwHX)

* **수강중인 강좌**: \
  수강중인 강좌 모두를 확인할 수 있으며, 전체 학습 진행률을 확인할 수 있습니다. \
  아래 과목별 카드를 통해 과목별 학습 진행률도 확인할 수 있습니다.
* **대기중인 강좌**: \
  승인 대기중인 강좌 모두를 확인할 수 있습니다. 강의자가 승인하면 수강중인 강좌 탭에 표시됩니다.
* **초대받은 강좌**: \
  강의자로부터 초대 받은 강좌를 확인할 수 있습니다.
* **수료증** : \
  강좌를 완강하여 발급된 수료증을 확인할 수 있습니다. \
  수료증은 모든 과목에서 발급되는 것은 아니며 강의자가 발급 여부를 설정할 수 있습니다.
* **획득 뱃지** : \
  강좌의 특정 강의를 해결하여 획득한 뱃지를 확인할 수 있습니다. \
  뱃지는 모든 강의에서 획득할수 있는것은 아니며 강의자가 설정할 수 있습니다.


# 학습 진행


# 출석

강의자가 출석 기능을 활성화했을 경우, **강좌 홈**에서 출석을 진행할 수 있습니다.

출석 방식에 따라 출석하기 버튼의 위치가 다르니 아래 이미지를 참고해 주세요.

{% hint style="info" %}
강의자의 설정에 따라 IP 대역폭 제한 및 출석 가능 위치 설정이 가능하므로 \
지정된 장소에서 체크하셔야 출석 인정이 됩니다.
{% endhint %}

<figure><img src="/files/yv6Wxx0JLz7HCMRjjrRy" alt=""><figcaption><p>출석하기 버튼이 강좌 홈 아래에 있는 경우</p></figcaption></figure>

<figure><img src="/files/bje0mnCs2mI2xB1SwVz0" alt=""><figcaption><p>출석하기 버튼이 강좌 명에 있는 경우</p></figcaption></figure>


# 온라인 튜터링

실습화면 우측하단의 **'`도움 요청`'** 버튼을 클릭하여 **온라인 튜터링**을 받을 수 있습니다.

![](/files/-MLLO2GWO1kBi_Y9bs4U)

도움 요청 내용을 작성하여 도움 요청 하시면 학습중이던 내용과 함께 강의자가 확인할 수 있으며, \
강의자가 접속중이라면 **실시간 협업**을 통해 코드를 수정하거나 채팅을 통해 조언을 받을 수 있습니다.


# 시험 응시하기 & 과제 제출하기

\#시험 #과제

진행중인 시험/과제 탭에서 시험과 과제를 확인할 수 있습니다.

![](/files/-MLLPRRkgsDjRvIb701v)

아래 화면이 **시험/과제** 화면입니다. **시험/과제** 화면은 실습 화면과 유사하지만 \
좌측하단에 실습 내용이 없고 상단에 남은 시간 및 제출 현황이 표시됩니다.&#x20;

### **시험 (Exam)**

**시험**은 답안을 작성한 후 제출 버튼을 누르면 채점 결과를 알 수 있으며 \
정답인 경우 정답표시와 배점에 해당하는 점수를 획득합니다.&#x20;

**출제자가 채점 결과 공개 설정을 비공개로 설정** > 제출 여부만 확인 가능  \
\
**출제자가  채점 결과를 시험  종료 후 공개로 설정**  > 시험이 모두 종료된 후 채점 결과를 확인가

### 과제 (Assignment)

**과제**는 문제 별 배점이 없어 채점 없이 제출됩니다. 문제 유형 중 제출 모드와 같습니다.

{% content-ref url="/pages/-LrsfIRPFkp4TqJmMqRP" %}
[채점 모드 / 제출 모드 / 실행 모드](/ko/edu-student/learing-process/interface-practice/grade-submit-run)
{% endcontent-ref %}

### **제출횟수 제한 (Limit the count of submission)**

**시험/과제**는 강의자가 제출 횟수 제한을 둘 수 있습니다. \
답안 제출 시 남은 제출 횟수를 확인해 주시기 바랍니다.

![](/files/-MOKZMURY4QeS1kETQSy)

### 시험 끝내기 (End of Exam)

시험의 경우 강의자가 **'시험 끝내기'** 사용여부를 결정할 수 있습니다.&#x20;

{% hint style="danger" %}
**"시험끝내기"를 통해 시험을 종료한 경우 재입장이 불가**하니 꼭 주의해주세요.
{% endhint %}

![](https://grm-project-template-bucket.s3.ap-northeast-2.amazonaws.com/lesson/les_NrRBK_1470375597473/a80e599e226f8a1d7ba40ce7622422969f4bc65d147cb56cb3fe25ff69cca13d.png)


# 07. 구름LIVE Playground

## 1. 구름LIVE Playground 로비 이용하기

![](/files/GpZjQ3QGM6AMsx7uNtxr)

#### **1. 카메라, 마이크, 스피커 설정**

* 화상 강의 구름LIVE Playground에서 사용  마이크와 카메라, 스피커를 설정할 수 있습니다.

![](/files/DSvYzGEJVsKfNCIZc1kI)

#### **2. 카메라, 마이크 ON/OFF**

* 화상 강의 구름LIVE에 들어가기에 앞서 카메라와 마이크의 ON/OFF 상태를 변경할 수 있습니다.
  * 마이크(카메라) 버튼을 클릭합니다.
  * 마이크(카메라) 버튼 아이콘이 변경되면서 마이크(카메라)가 활성화/비활성화 됩니다.

#### **3. 공유 -  화상 강의** 구름LIVE Playground**에 접근 가능한 URL을 나타냅니다.**

* 복사 버튼을 클릭합니다
* URL이 복사되었습니다-링크를 확인 후 복사 버튼을 클릭합니다.        &#x20;

#### **4. 참여자 수**

* 접속한 참여자 수와 최대 참여자 수를 나타냅니다.
* 현재 최대 접속 가능한 인원은 24명입니다.

#### **5. 화상 강의 이름 변경(※강의자만 변경 가능합니다.)**

* 화상 강의 제목을 변경할 수 있습니다.
  1. 제목 옆 수정 아이콘을 누릅니다.
  2. 보여지는 입력 상자에 제목을 입력합니다.
  3. 확인 버튼을 눌러 수정을 완료합니다.

## 2. 구름LIVE Playground 시작하기

![](/files/A7AM8GhVuII6jaSQ2m6X)

1. 공유 받은 링크 또는 강좌 소개 페이지의 UI를 통해 화상 강의를 시작할 수 있습니다.
2. 구름LIVE Playground 시작 시 로비로 이동하며, 로비의 기능에 대해서는 구름LIVE Playground 로비 이용하기(1)를 참고해주세요.

## 3. 구름LIVE Playground 이용하기

![](/files/YNphhF7pyC0P23tvUibM)

1. **강의 목록**

   * 강좌의 강의 목록을 볼 수 있으며 강의를 클릭해 이동 할 수 있습니다.

2. **내 학습탭**

   * 강의자의 화면을 보면서 강의 내용 보고, 실습을 진행할 수 있습니다.

3. **실시간 강의탭**

   * 강의자의 실시간 강의 화면으로 이동합니다.

4. **마이크 ON/OFF**

   * 마이크의 ON/OFF를 설정할 수 있습니다.
   * 마이크 버튼을 클릭합니다.
   * 마이크 버튼 아이콘이 변경되면서 마이크가 활성화/비활성화 됩니다.
   * 강의자에 의해 전체 음소거 시 수강생은 마이크 ON/OFF의 변경이 불가능합니다.

5. **카메라 ON/OFF**

   * 카메라의 ON/OFF를 설정할 수 있습니다.
   * 카메 버튼을 클릭합니다.
   * 카메라  버튼 아이콘이 변경되면서 마이크가 활성화/비활성화 됩니다.

6. **손들기**

   * 손들기 기능을 통해 강의자 및 수강생에게 손들고 있음을 알릴 수 있습니다.
   * 손들기 아이콘을 클릭합니다.
   * 손든 상태가 유지되며, 참여자 목록 및 화면에 손들기 마크가 생성됩니다.

7. **채팅 기능**

   * 참여자들과 실시간 채팅으로 질의 응답을 할 수 있습니다.

8. **참여자 목록**
   * 화상 강의에 참여한 참여자 목록을 볼 수 있습니다.
   * 마이크 아이콘을 통해 참여자의 마이크 사용 여부를 알 수 있습니다.
   * 이름 옆의 음성 UI를 통해 어떤 참여자가 대화하고 있는지 알 수 있습니다.


# 자주 묻는 질문(FAQ)


# 채널 가입 신청이 승인 대기중이라고 나옵니다

구름EDU 기업/학교/학원/기관별 채널의 가입은 **채널 관리자의 승인이 필요**합니다.\
**소속된 기관의 담당자에게 문의**하셔서 승인받으시기 바랍니다.

기업/학교/학원/기관별 채널의 관리자 권한 및 채널 초대 등과 관련한 자세한 내용이 \
아래 도움말에 안내되어 있으니 함께 참고해주세요.

{% content-ref url="/pages/-LrsSdgfvKPeH\_Vlk2Dc" %}
[08. 기업/학교/학원/기관별 채널](/ko/edu-lecturer/08.company-school-institute-channel)
{% endcontent-ref %}


# 수강 신청을 했는데 강좌가 안 보입니다.

수강 중이던 강좌가 사라졌습니다.

강좌는 '수강신청 후 **즉시 수강 가능한 강좌'**&#xC640; '**강의자의 승인 후 수강이 가능한 강좌'**&#xB85C; 나뉩니다.\
강의자의 승인이 필요한 강좌는 승인 완료 후 **수강정보**에서 확인하실 수 있습니다.

![](/files/-LvF3LgteWQc_My4oye8)

### 학교/기업/단체 채널 수강생이라면,

혹시 **소속된 단체의 채널이 아닌 구름edu 퍼블릭 사이트(edu.goorm.io)로 접속한 것은 아닌지** \
확인 부탁드립니다.  채널에서 수강한 강좌는 채널에서만 이어서 수강하실 수 있습니다.\
<https://edu.goorm.io/school>하여 도움 받으시기 바랍니다.

**초/중/고 채널의 경우 아래 사이트에서 학교명을 검색**하여 채널에 입장하실 수 있습니다.\
<https://edu.goorm.io/school>\
위 URL접속 후 페이지 아래쪽 "우리 학교를 검색해보세요!" 에서 학교 검색 후 입장을 부탁드립니다.​

![](https://downloads.intercomcdn.com/i/o/212143746/c44ca57edd14259211ed4867/image.png)

​\
감사합니다.


# 실수로 시험을 종료했을 때, 다시 시험을 칠 수 있나요?

제한 시간 및 시험 기간이 남아 있는 상태에서 브라우저만 종료하셨다면 재입장이 가능합니다.\
다만, "**`시험 끝내기`**" **버튼을 눌러 시험을 종료하신 경우**에는 관리자의 설정없이는 재입장이 불가합니다.

### "시험 끝내기" 기능으로 시험을 종료한 경우,

강좌의 관리자가 강좌 관리 페이지 > 시험/과제 결과 관리 에서 \
해당 수강자의 끝내기 여부 탭의 '**`끝냄`**'을 클릭하시면 다시 시험을 칠 수 있습니다.

**해당 과목의 관리자에게 문의해주세요.**

![](https://downloads.intercomcdn.com/i/o/119503352/8d330552e318a93ae3549b66/%EC%A3%BC%EC%84%9D+2019-05-07+165432.png)

{% hint style="danger" %}
단, 제한시간이 설정된 시험의 경우 남은 시간은 초기화 되지 않으며 \
최초 입장 시간부터 남은 시간을 계산하게 되니 유의하시기 바랍니다.
{% endhint %}


# 수강 취소를 하고 싶어요

### **수강 중인 의 경우 (**&#x49;f you are already taking a course)

**수강정보** > **수강 중인 강좌** 메뉴에서 해당 강좌 우측 상단의 `...` **> `수강 취소하기`** 를 눌러주세요.

![](https://downloads.intercomcdn.com/i/o/145546277/c43692b3b864007a4e921092/image.png)

### **수강 대기 중인 의 경우 (**&#x49;f you waiting for the acceptance of the lectur&#x65;**)**

**내  강좌 > 대기 중인 강좌**  에서 해당 강좌 우측 상단의 `...`버튼을 통해 **`수강 취소하기`** 가 가능합니다.

![](/files/-MOKeiS2CNCg_BgW1QX_)

\
또는 **수강 신청을 했던 페이지로 접속하여 `수강신청 취소`** 버튼을 눌러 취소하실 수도 있습니다.

![](https://downloads.intercomcdn.com/i/o/145567478/58927fd1e709a5513111f6a0/image.png)

### **유료 강좌의 경우(Paid lecture)**

**구매 내역** 탭에서 수강 취소 시 환불이 가능합니다.

{% hint style="danger" %}
단, **1개 강의 이상 수강한 후에는 환불이 불가능**하니 꼭 유의해주세요.
{% endhint %}

{% hint style="danger" %}
1개 강의 이상 수강한 강좌의 경우 수강 취소는 가능하나 환불은 되지 않는 점 유의해주세요!\
**(수강 취소≠환불)**
{% endhint %}


# 수강취소했는데 환불이 안되었습니다

1개 강의 이상 수강한 강좌의 경우 수강 취소는 가능하나 환불은 되지 않습니다.\
**해당 강좌의 강의를 1강이라도 수강하신 것이 아닌지 확인을 부탁드립니다.**

더 자세한 사항을 확인하고 싶으신 경우, 채팅상담 또는 이메일(<contact@goorm.io>)로 문의해주세요.


# 모바일 버전 지원도 되나요?

네! 구름EDU는 모바일 환경에서도 사용 가능합니다.

![](/files/-MOKi8ZN0IE5HWagCYPl)


# \[화상강의] 카메라와 마이크가 안 뜹니다.

#### 카메라와 마이크가 동작하지 않는다면 아래의 것들을 체크해보세요.

#### 1. 브라우저에서 마이크, 카메라 권한이 허용되어있는지 확인합니다.

![](/files/vR6y8GGZjkaqlzeyvzHF)

#### 2. (Mac 사용 시) 시스템 설정에서 브라우저(크롬)에 대해서 마이크, 화면 녹화 권한이 있는지 확인합니다.

![](/files/CaO6cdlwdFxGEcMXsANV)

#### 3. http가 아닌 https로 접속했는지 확인합니다.


# 구름EDU 사용법(강의자용)


# 01. 구름EDU 강의 관리 도구


# 소개

**구름EDU 강의 관리 도구**는 강의자를 위한 강의 관리 플랫폼입니다. \
모든 강의 운영 및 관리, 컨텐츠의 제작은 이 곳에서 이루어집니다. \
\
다시 말해, 구름EDU 강의 관리 도구에서 강의자는 강좌를 만들고, \
시험을 출제하며, 수강자와 그룹을 관리할 수 있습니다.

본 구름EDU 강의자용 도움말에서는 바로 이 강의 관리 도구에서 제공하는 \
모든 기능들을 다루고 있습니다. 매뉴얼을 차근차근 잘 확인하신다면 \
구름EDU에서 멋진 SW교육 컨텐츠를 효과적으로 만드실 수 있을 것입니다!


# 회원가입 & 로그인

## 회원가입(Sign up)

#### &#x20;우측 상단의 '회원가입' 버튼을 클릭하여 [회원가입 페이지](http://edu.goorm.io/signup)로 이동합니다.

![](/files/-MLBbzTueUQvhUMTAbCE)

### **1) 이메일로 가입 (email)**

이메일 입력 > 인증메일 전송 > 가입한 이메일 계정에서 인증메일 확인 > 계정만들기  &#x20;

![](/files/-MLBc7Du2l4FFuAyLQ7T)

### **2) 소셜 계정 연동 - 페이스북, 구글, 네이버, 페이코 등 (through the other services)**

&#x20;**Facebook**, **Google**, **Naver**, **Payco, Github**, **Bitbucket** 등의 계정과 연동

계정 연동이 가능한 플랫폼에 로그인과 서비스 이용 동의  후 이용하실 수 있습니다.<br>


# 강의자 권한 신청

회원가입과 로그인 이후 구름EDU의 강의 관리 도구를 사용하기 위해서는 강의자 권한이 필요합니다. \
홈페이지 하단에 있는 **"강의자 되기"**&#xB97C; 눌러주시면 [강의자 권한 신청 페이지](http://edu.goorm.io/lecturer)로 이동합니다.

![](/files/-Ls-o2E1E30Ny0lRhc0p)

강의자 권한 신청 페이지에서 아래 항목 기입 후 신청하시면 강의자 권한을 얻게 됩니다. \
자세한 사항은 <contact@goorm.io>로 문의하시기 바랍니다.&#x20;

![](/files/-MLLTMsDhpg_sxCXn7kP)

\
**학교/학원/기관/기업 전용 채널**의 관리자의 경우, \
해당 채널의 관리자 계정이 강의자 권한을 부여할 수도 있습니다.\
학교/학원/기관/기업 전용 채널에 관한 상세 내용은 아래 링크에서 확인해주세요.

{% content-ref url="/pages/-LrsSdgfvKPeH\_Vlk2Dc" %}
[08. 기업/학교/학원/기관별 채널](/ko/edu-lecturer/08.company-school-institute-channel)
{% endcontent-ref %}


# 02. 강좌 관리 및 설정


# 강의자 홈

**강좌는** 구름EDU에서 이뤄지는 SW교육에서 가장 상위의 개념입니다. \
수강자는 강좌 단위로 수강신청을 하게 되고, 강좌 안에는 강의나 시험과 같은 \
다양한 교육 컨텐츠가 포함될 수 있습니다. \
따라서 수강자는 수강 신청 완료된 강좌의 강의 내용과 시험 컨텐츠를 활용할 수 있습니다.

아래의 화면은 **강의자 홈 > 내가 개설한 강좌 페이지**로 강의자(접속한 계정)가 생성한 강좌의 목록을 볼 수 있는 페이지입니다. 각 강좌 마다 강좌, 난이도, 강의 수, 강의자, 학생 수 그리고 개설일이 표시되어 있으며 \
강좌를 클릭하면 해당 강의 관리 도구 페이지로 이동합니다. \
\
내가 개설한 강좌와 공동 제작 중인 강좌의 확인 및 변경이 가능하며 \
개설 강좌 검색 기능을 통해 원하는 강좌 쉽게 찾을 수 있고 \
드롭다운박스를 클릭하여 개설강좌를 최신순, 수강생 많은 순으로 정렬할 수 있습니다.

우측상단의 **`강좌 만들기`**&#xBC84;튼을 클릭하여 새로운 강좌를 생성할 수 있습니다.

<figure><img src="/files/bjibvDHHgJH8gyGUyXgY" alt=""><figcaption></figcaption></figure>




---

[Next Page](/llms-full.txt/1)

