1. 실습을 통한 학습

실전 기반 자바 학습

CodeGym을 마음을 다해 사랑하는 사람이 있고, 마음을 다해 싫어하는 사람이 있습니다. 그러나 CodeGym의 가장 악랄한 비평가조차도 엄청나게 많은 작업이 있다는 데 쉽게 동의할 것입니다. 그리고 이렇게 많은 이유는 모든 CodeGym 교육이 기본으로 연습을 하기 때문입니다 .

프로그래밍은 기술입니다. 아무도 "나는 프로그램할 줄 알아"라고 말하지 않습니다. 모든 프로그래머는 "나는 프로그램을 할 수 있다"고 말합니다. 수영이나 체스와 같은 손으로 하는 기술입니다. 그리고 끊임없는 연습을 통해서만 기술을 키울 수 있습니다.

이것이 전체 CodeGym 과정이 점점 더 어려워지는 작업의 순서인 이유입니다. 매우 쉽고 원시적인 작업으로 시작하여 가장 어렵고 흥미로운 작업으로 끝납니다. 난이도는 각 레벨마다 조금씩 증가합니다. 이것이 바로 당신을 프로그래머가 되는 목표로 이끄는 길입니다.


2. 업무의 종류

CodeGym에서 다양한 유형의 작업이 여러분을 기다립니다. 주요 항목을 나열해 보겠습니다.

프로그램을 작성하는 작업

코스에서 가장 중요한 작업입니다. 그들의 난이도는 매우 다양합니다: 가장 간단한 작업부터 많이 생각해야 하는 작업까지.

이러한 작업의 목표는 지정된 조건과 요구 사항을 충족하는 프로그램을 작성하는 것입니다. 대부분의 작업이 이 범주에 속합니다. CodeGym 학생들의 편의를 위해 난이도에 따라 EASY , MEDIUM , HARDEPIC 과 같은 작업을 표시합니다 .

EPIC 과제는 아직 잠금 해제하지 않은 단원의 향후 학습 자료를 기반으로 하는 경우가 많습니다. 코스가 너무 쉽다고 느끼는 CodeGym 학생들에게 인기가 있습니다. 다른 사람들은 이러한 작업을 건너뛰고 관련 이론에 이미 익숙해지면 나중에 다시 시작할 수 있습니다.

프로젝트

일반 작업의 단점은 크기가 작다는 것입니다. 그들이 말하는 것처럼 완료되고 잊혀졌습니다. 따라서 그것들을 매우 흥미롭게 만드는 것은 거의 불가능합니다. 그러나 대규모 프로그램은 테스트하기 어렵습니다. 구현 방법이 너무 많습니다.

그것이 CodeGym이 프로젝트 작업을 도입한 이유입니다 . 큰 작업은 5-35개의 일반 하위 작업으로 나뉩니다. 모든 하위 작업을 순차적으로 수행하면 큰 프로그램이 생성됩니다.

레벨 20 이후 각 레벨의 끝에는 20개의 하위 작업으로 나누어지는 하나의 큰 프로젝트 작업이 있습니다. 프로젝트이기도 한 또 다른 6개의 게임 작업도 있습니다. 그리고 온라인 인턴십에 합격하기 위한 프로젝트 과제가 하나 있습니다. 전체 과정에는 총 27개의 프로젝트 작업이 있습니다.

퀴즈

오랫동안 CodeGym에는 테스트나 퀴즈가 없었습니다. CodeGym의 제작자는 통과된 테스트가 사람들에게 "지식의 환상"을 만든다는 의견을 가지고 있습니다. 사람들은 프로그래밍 방법을 실제로 알지 못하지만 테스트를 통과했기 때문에 그렇지 않다고 완전히 확신합니다. 그러한 사람들은 "이미 모든 것을 알고 있기" 때문에 학습을 중단합니다.

그 후 CodeGym 학생들이 학습의 격차를 쉽게 식별할 수 있도록 퀴즈가 추가되었습니다. 프로그래머가 자신의 직업에서 매일 작업하는 것의 뉘앙스를 아는 것은 유용합니다.


3. 작업 상태

CodeGym의 각 작업에는 특별한 상태가 있습니다. 작업을 해결하면 상태가 변경될 수 있습니다.

각 CodeGym 작업은 레슨과 연결됩니다. 처음에는 작업에 액세스할 수 없으므로 작업을 해결할 수 없습니다.

다음 단원을 열면 단원의 모든 작업을 해결할 수 있게 됩니다. 즉, 상태가 "사용 가능"으로 변경됩니다.

확인을 위해 작업을 한 번 이상 제출한 경우 상태가 "사용 가능"에서 "진행 중"으로 변경됩니다.

마지막으로 모든 요구 사항을 성공적으로 충족하고 유효성 검사기가 제출을 수락하면 작업 상태가 "완료됨"으로 변경됩니다.

Premium Mentor 구독이 있는 사용자는 3일 더 작업에 대한 다른 솔루션을 작성하려고 시도할 수 있습니다. 이 추가 시간이 만료되면 작업이 "종료됨" 상태로 이동하고 이 상태는 더 이상 변경되지 않습니다.


4. 요건

CodeGym의 초창기에는 각 작업을 검증할 때 예 또는 아니오라는 간단한 결과를 얻었습니다. 프로그램은 모든 테스트를 통과했거나 통과하지 못했습니다. 매우 간단하지만 그다지 도움이 되지는 않습니다.

사람들이 배울 때, 그들이 무엇을 잘못하고 있는지 그리고 그것을 올바르게 시작하는 방법을 이해하는 것이 매우 중요합니다. 따라서 서버가 솔루션을 수락하지 않으면 문제가 무엇인지 묻는 것이 당연합니다 .

이 질문에 대한 답을 얻으려면 솔루션에 뛰어들어 분석하고 문제가 무엇인지 알려줄 사람이 필요합니다. 이것은 시간이 오래 걸리고 비용이 많이 듭니다. 즉석 작업 확인의 장점은 오전 2시에 앉아서 공부할 수 있고 모든 것이 다른 시간과 마찬가지로 작동한다는 것입니다.

그래서 CodeGym에서 모든 작업을 다시 작성했습니다 . 이제 각 작업에는 작업 조건뿐만 아니라 조건을 구체화하는 5-10개의 요구 사항 목록도 있습니다. 가장 중요한 것은 각 요구 사항이 개별적으로 검증된다는 것입니다.

즉, 오늘 확인을 위해 작업을 제출하면 확장된 응답을 받게 됩니다. 각 작업 요구 사항 옆에 프로그램이 이 요구 사항을 충족하는지 여부를 나타내는 특수 아이콘이 표시됩니다. 예:

요구 사항

이 접근 방식은 여러 클래스 또는 메서드를 작성해야 하는 작업을 수행할 때 수명을 크게 단순화합니다. 올바르게 작성한 메서드나 클래스와 그렇지 않은 메서드를 항상 확인할 수 있습니다.


5. 권고사항

어떻게든 작업을 더 좋게 만들 수 있습니까? 각 검사 후에 프로그램에서 정확히 무엇이 잘못되었는지 듣고 이를 수정하는 방법에 대한 힌트를 얻는다면 좋지 않을까요? 예, 멋질 것입니다! 글쎄요? 우리는 CodeGym에서 그렇게 합니다 🙂

우리는 각 작업 요구 사항을 확인하여 수십 가지 일반적인 실수를 포착합니다. 유효성 검사기가 알고 있는 프로그램의 실수가 있는 경우 모든 요구 사항을 충족하도록 솔루션을 수정할 수 있는 방법에 대한 힌트인 권장 사항을 제공합니다.

생각해보세요. 현재 CodeGym에는 약 1200개의 작업이 있으며 총 요구 사항은 약 10,000개입니다. 그리고 각 요구 사항과 관련된 몇 가지 권장 사항이 있습니다. 일부 요구 사항에는 수십 개가 있습니다. CodeGym의 유효성 검사기는 사용자 솔루션에 대해 50,000개 이상의 추천을 할 준비가 되어 있습니다.

또한 이 모든 것은 솔루션이 검증될 때 발생하며 대부분의 경우 1초도 걸리지 않습니다. 아무도 그렇게 할 수 없습니다. 이것은 실제 가상 멘토입니다.

추천

6. 커뮤니티

CodeGym은 전체 학습 과정의 80% 이상을 차지하는 많은 연습 에 중점을 둡니다. 우리는 학습을 크고 매력적인 퀘스트(실제로 일련의 퀘스트)로 전환했습니다.

그러나 모든 사람은 다릅니다. 어떤 사람은 빨리 배우고 다른 사람은 더 천천히 배웁니다. 어떤 사람들은 새로운 자료를 쉽게 찾는 반면 다른 사람들은 더 어렵다고 생각합니다. 그러나 우리의 임무는 각 학생이 결승선에 도착하는 것입니다. 적어도 그것이 우리가 추구하는 것입니다.

이 세상에서 프로그래머는 여가 시간에 다양한 언어로 코드를 작성하고 스타트업을 만드는 몇 백만 명이 아닙니다. 그들은 글로벌 네트워크를 형성하고 지속적으로 다른 사람들과 지식을 공유하며 질문에 답하고 복잡한 주제를 이해하도록 도와줍니다.

세계 최대의 개발자 커뮤니티인 StackOverflow 웹사이트는 프로그래머들이 서로에게서 배울 필요성에서 탄생했습니다. 개념은 간단합니다. 질문을 하면 세상의 모든 프로그래머가 대답할 수 있습니다. 편리하죠? 🙂

CodeGym에서는 학생들 간의 지식 교환이 매우 중요하다고 믿습니다 . 프로그래머가 다른 사람을 도울 때 그들 자신이 성장합니다 . 그리고 다른 사람에게 설명하는 것보다 자신이 무언가를 이해하는 더 좋은 방법은 없습니다. 그래서 우리는 모든 학생들이 지식을 공유하고 서로 배우도록 도울 수 있는 기회를 제공하기 위해 웹사이트에 특별 섹션을 만들었습니다.

최신 작업에 막히면 ​​어떻게 합니까? 인터넷에서 기성 솔루션을 검색하는 것은 나쁜 생각입니다. 물론 다른 사람의 솔루션을 복사하거나 올바른 솔루션을 사용하면 작업에 대한 크레딧을 받을 수 있습니다. 그러나 당신은 당신의 지식 격차를 좁히지 않을 것이며 그것은 확실히 미래에 당신을 물게 될 것입니다.


7. 작업에 대한 질문

요구 사항 , 권장 사항가상 멘토 는 매우 멋집니다. 그러나 유효성 검사기가 여전히 솔루션을 수락하지 않고 문제가 무엇인지 확실하지 않은 경우에는 어떻게 해야 합니까?

이 경우에도 여전히 탈출구가 있습니다. 도움말 섹션을 만나보세요 . 웹 사이트의 이 섹션에서 CodeGym 학생들은 작업에 대해 질문하고 서로의 솔루션을 탐색하고 조언과 팁을 제공할 수 있습니다. 완전한 솔루션 게시는 허용되지 않습니다!

아주 간단하고 기본적으로 들리지만 실제로는 매우 정교합니다.

첫째, 각 질문에는 연관된 작업이 있을 수 있습니다 . 즉, 특정 작업에 대한 질문에 관심이 있는 경우 모든 질문을 살펴보는 것은 의미가 없습니다. 항상 필터를 사용하여 관심 있는 작업과 관련된 질문만 쉽게 볼 수 있습니다. 검색창에 작업 이름을 입력하세요:

작업에 대한 질문

둘째, 작업을 해결하는 동안 "커뮤니티 도움말" 버튼을 클릭하면 작업 중인 작업에 대한 질문만 볼 수 있는 도움말 섹션으로 즉시 이동됩니다. 솔루션이 작업 확인에 실패하면 질문이 유용한 방식으로 정렬됩니다. 가장 많이 묻는 질문은 솔루션 실패의 원인이 된 충족되지 않은 요구 사항에 관한 것입니다.

도움말 버튼

셋째, IntelliJ IDEA 플러그인은 유사한 기능을 제공합니다. "도움말" 버튼을 클릭하거나 Ctrl+Alt+W 키 조합을 누르면 브라우저에서 즉시 도움말 섹션이 열립니다. 물론 필터는 IntelliJ IDEA 에서 해결하려는 작업에 대한 질문만 표시합니다 .

IntelliJ IDEA 도움말

8. 질문 만들기

도움말 섹션에서 오류에 대한 적절한 분석을 찾을 수 없는 경우 언제든지 고유한 질문을 만들 수 있습니다. 이 작업은 매우 쉽습니다. "질문하기" 버튼을 클릭하고 필수 필드를 작성하기만 하면 됩니다.

질문 만들기

StackOverflow, Code Ranch 등과 같은 다른 많은 서비스와 달리 CodeGym은 모든 중요한 정보를 질문 제목에 집어넣을 필요가 없습니다. 원하는 대로 질문을 작성하십시오.

그런데 WebIDE 또는 IntelliJ IDEA 에서 코드를 복사하여 질문에 추가할 필요가 없습니다. 작업에 대한 질문을 생성하면 다양한 작업 요구 사항의 상태와 함께 솔루션의 코드가 자동으로 추가됩니다 .

질문 만들기 2

즉, 다른 CodeGym 학생들은 질문자의 솔루션에 대한 모든 관련 정보를 즉시 볼 수 있으므로 좋은 조언을 훨씬 쉽게 제공할 수 있습니다.


9. 솔루션 코드

많은 사이트에서 코드에 대한 질문을 만들 때 프로그램 파일이 포함된 아카이브를 질문에 첨부하거나 이러한 모든 파일을 질문 텍스트에 추가해야 합니다 . 그 결과 사람들이 파고들고 싶어하지 않거나 파헤칠 수 없는 큰 난장판이 되었습니다.

신속하고 효율적으로 질문하는 것은 전체 예술 형식입니다. 일반 웹사이트에서는 30분 동안 질문을 공식화하거나 아무도 대답하지 않는다는 사실을 받아들여야 합니다. 작업에 대한 좋은 질문에는 반드시 다음 정보가 포함되어야 합니다.

  • 질문자가 해결하고 있는 작업에 대한 링크
  • 다른 사람들이 어디에서나 그들을 사냥할 필요가 없도록 하는 작업 조건
  • 솔루션 코드 — 여기에는 많은 파일이 포함될 수 있습니다.
  • 각 작업 요구 사항의 상태, 즉 현재 작동하는 것과 작동하지 않는 것.
  • 질문 텍스트: 이것은 일반적으로 매우 명확합니다. 내 솔루션이 작동하지 않으며 그 이유를 모르겠습니다.

CodeGym은 WebIDE 위젯 과 매우 유사한 특수 위젯을 사용하여 이 정보를 표시합니다 . 결국, 이미 모든 정보를 표시하도록 설계되었습니다. 글쎄, 아마도 질문 자체를 제외하고.

솔루션 코드

사실 우리는 당신이 다른 사용자의 솔루션을 쉽게 연구할 수 있도록 특별한 위젯을 작성했습니다 . 그리고 귀하가 묻는 질문에서 다른 사용자가 귀하의 솔루션을 쉽고 즐겁게 검토할 수 있도록 합니다.