재미있는

자신에게 코드를 가르치는 가장 좋은 방법

사진 : Christopher Gower (Unsplash)

코딩하는 방법을 배우고 싶다면이 거대한 우주로 첫 발을 내딛는 것이 겁 먹지 않는 것처럼 보일 수도 있습니다. 중요한 비밀은 다음과 같습니다. 최소한의 코딩으로 얻을 수있는 흥미 로움으로써 필요한 모든 도움을주고, 새로운 기술을 가르치며, 이 학습 과정을 재미 있고 흥미롭게 만드는 데 사용할 수있는 무료 및 저렴한 리소스가 많이 있습니다. .

기술 산업으로의 전환을 원하는 성인이든, 최신 언어를 배우려는 학생이든, 소프트웨어와 서비스의 작동 방식을 이해하려는 취미 인이든 프로그래밍을 시작하려면 컴퓨터와 인터넷 만 있으면됩니다. 여행. 그러나으로의 도약을 시작하기 전에 올바른 발을 내딛을 수있는 최상의 팁과 리소스가 있습니다.

스스로에게 물어보십시오 : 왜 코딩하는 법을 배우고 싶습니까?

프로그래밍 언어를 배우고 자하는 이유, 이유, 이유에 대해 생각하려면 몇 분 (또는 하루)을 소요하십시오. 자신에게 정직하십시오. 프로모션의 점수를 매기 위해 최소 한도를 배우려고합니까? 당신은 큰 경력 변화를 찾고 있습니까? 다음으로 큰 앱을 만들고 싶습니까? 다양한 스마트 장치를 프로그래밍하여 멋진 일을하도록 룸메이트를 기쁘게 생각하십니까?

당신의 대답은 당신이 어떤 프로그래밍 언어를 숙달해야하는지, 그리고 목표에 필요한 어떤 종류의 헌신 (시간과 돈)을 결정하는 데 도움이 될 수 있습니다. 예를 들어, 차세대 훌륭한 운영 체제 또는 PhotoShop의 킬러 대안을 꿈꾸는 것이 목표라면 C ++을 가르치는 공식적인 컴퓨터 과학 교육뿐만 아니라 데이터 구조, 알고리즘 및 메모리 할당과 같은보다 복잡한 주제의 혜택을 누릴 수 있습니다.

반면에, 기술 경력으로 전환하려는 중급 전문가라면 단기 코딩 부트 캠프가 2도 부채로가는 것보다 더 의미가있을 수 있습니다. 웹 사이트를 구축하거나 Raspberry Pi를 최대한 활용하기 만하면 대화 형 자습서와 무료 온라인 과정을 함께 사용하면 충분합니다.

올바른 프로그래밍 언어를 선택하십시오

코딩하려는 이유를 파악한 후에는 어떤 프로그래밍 언어를 처리해야하는지보다 쉽게 ​​찾아 낼 수 있습니다. 배울 최고의 "최상의"프로그래밍 언어는 없지만 일부 언어는 다른 언어보다 사용자에게 친숙합니다. HTML과 CSS는 코딩 세계에서 가장 쉬운 진입 점으로 여겨지지만 기본 웹 사이트를 개발할 때만 유용합니다.

결제 시스템이나 데이터베이스가 포함 된 대화 형 웹 사이트를 더 보려면 모든 구성 요소를 구성하기 위해 Javascript, PHP, SQL 및 Python을 알아야합니다. 모바일 앱 제작자는 Swift 또는 C를 사용하여 iOS 앱을 만들고 Java 또는 Kotlin을 Android 앱으로 만듭니다. 비디오 게임 개발자는 게임 아이디어를 현실로 만들기 위해 Unity 또는 C #으로 전환합니다.

여전히 스타터 프로그래밍 언어를 결정할 수 없습니까? 대부분의 전문가는 Python, C # 또는 JavaScript를 배우는 것이 가장 유용합니다. 생각을 쉽게하기 위해 인기있는 몇 가지 프로그래밍 언어를 비교 한이 훌륭한 인포 그래픽을 확인하십시오.

무엇보다도 학습을 시작하십시오. 하나의 프로그래밍 언어에 익숙해지면 새로운 악기 나 외국어를 배우는 것과 같이 다음 언어를 훨씬 더 빨리 선택할 수 있습니다.

온라인 코스를 사용해보십시오

학습 일정을보다 세밀하게 제어하려면 (또는 혼자서 가고 싶지 않은 경우) 온라인 코딩 과정이 직접 코딩 부트 캠프보다 더 나은 방법 일 수 있습니다. 그러나 동일한 프로그래밍 언어를 가르치는 다양한 온라인 수업이 있으며 시간과 비용이 어느 정도 가치가 있는지 알기가 어려울 수 있습니다.

혼자 연습하는 것이 마음에 들지 않으면 코딩 초보자를 프로그래머로 전환하기위한 최고의 오픈 소스 콘텐츠를 모두 가져 오는 무료 옵션 인 Odin Project를 확인하십시오.

풀 타임 부트 캠프를하지 않고 일대일 코칭과 커리어 준비를 원하십니까? Udacity 또는 Treehouse의 서브 스크립 션 모델 인증 과정에 등록하면 코딩 실수 나 질문 만받는 대신 튜터에게 도움을 요청할 수 있습니다. Udemy의 19 달러짜리 코딩 수업 (판매가있을 때도 적음)보다 훨씬 나을 수는 없습니다. 풀 타임 부트 캠프와 컴퓨터 과학 학생들도이 수업에 등록하여 학습을 보충합니다.

몇 개의 과정을 수료하더라도 많은 초보자는 여전히 상대적으로 기본적인 지식을 적용하기가 어렵다는 것을 알게됩니다. 이를 위해 많은 사람들이 Watch and Code의 무료 Practical JavaScript 강좌를 추천합니다.이 강좌는 지속적으로 반복되는 단일 프로젝트를 중심으로 진행됩니다.

컴퓨터 사고 학습에 집중

특정 프로그래밍 언어를 배우는 데 집중하는 대신 컴퓨터가 이해할 수있는 방식으로 배울 수도 있습니다. 즉, 패턴 인식, 알고리즘 및 추상화와 같은 개념에서 기술을 향상시킵니다. 사용하는 모든 언어로 팝업되는 루프와 같은 용어도 있습니다. 이러한 원칙을 잘 이해할수록 다음 언어를 배우기가 쉬워지고 결과적으로 더 나은 제품이나 프로젝트를 설계 할 수 있습니다.

인터넷 덕분에 컴퓨터 과학의 기초를 배우기 위해 4 년제 대학 프로그램에 등록 할 필요가 없습니다. 다양한 대학 수준의 수업이 온라인으로 무료로 제공됩니다 (또는 명목 요금).

하버드의 CS50x 컴퓨터 과학 소개를 충분히 추천 할 수는 없습니다. edX를 통해 과정을 무료로 감사하고 모든 과제를 완료하여 인증서를 얻거나 자신의 속도에 맞춰 Youtube에 게시 된 모든 강의를 볼 수 있습니다. 이 15 가지 온라인 코스를 선택하여 자신 만의 DIY 대학 수준의 컴퓨터 과학 프로그램을 구축 할 수 있습니다 (이 중 다수는 Goldavelez.com U 시리즈에도 나와 있습니다).

책 받기

코딩하는 법을 배우는 가장 좋은 방법은 처음부터 끝까지 따라갈 수있는 실제 나무 인 죽은 나무를 가까이에서 직접 만나는 것입니다. 완벽한 세상에서는 웹 사이트의 주제에서 주제로 이동하는 것보다 코딩에 대한 포괄적 인 소개를 제공합니다.

GitHub에서 배우려는 언어 나 프레임 워크에 대한 전자 책을 찾을 수 있지만 많은 웹 개발자는 프론트 엔드에서 백엔드 웹 개발에 이르기까지 Jon Duckett의 다채로운 시리즈를 맹세합니다.

자율 형 프로그래머로서 직업에 대한 광범위한 조언을 제공하는 책을 활용할 수도 있습니다. 당신은 당신의 사고와 습관, 당신이 배우기로 결정한 모든 언어에 적용 할 수있는 특성을 향상시킬 것입니다. Steve McConnell의 900 페이지 코드 완성 : 소프트웨어 구성 실무 핸드북 (2 판)은 프로젝트 설계에서 코드 디버깅에 이르기까지 모든 데이터에 대한 조언을 제공하는 모범 사례를위한 최종 안내서로 간주됩니다.

그 거대 인물의 정리는 Clean Code :“Uncle Bob”Robert Martin의 Agile Software Craftsmanship 핸드북입니다. Martin은 쉬운 테스트 및 확장 성을 위해 코드를 효율적으로 작성해야하므로 많은 현대 개발 팀에서 반드시 읽어야하는 코드라고 생각합니다.

프로그래밍은 실제로 문제 해결에 관한 것이기 때문에 Jon Bentley가 Programming Pearls (2nd Edition)에서 공유하는 사고 과정과 "봉투 뒷면"솔루션에 감사하게 생각합니다. 모든 장은 기술 면접에서 자주 사용되는 여러 가지 과제로 끝나므로이 책을 직업 준비의 일부로 만드십시오.

대화식 자습서 또는 코딩 게임을 확인하십시오.

화면이나 책에서 코드 줄을 읽는 것은 횡설수설처럼 보일 수 있습니다. 실제 사례를 보면 추상 개념이 갑자기 완벽하게 이해됩니다. 이것이 바로 웹에서 찾을 수있는 인터랙티브 코딩 튜토리얼의 아름다움입니다.

예를 들어 FreeCodeCamp는 코딩 개념을 웹 브라우저 내에서 작은 청크로 분류 할뿐만 아니라 각 개념을 다음 주제로 넘어 가기 전에 해결해야하는 관련 실습과 쌍을 이룹니다. 이런 식으로, 당신은 단지 재미있는 것들로 넘어갈 수 없습니다. 이 사이트는 실제로 배우면서 코드를 디버깅하도록합니다.

코딩 게임은 프로그래밍에 발을 담그는 재미있는 방법이기도합니다. 죽일 시간이 있다면 간단한 Hour of Code 게임을 시도해 볼 수 있습니다. 또한 많은 학교에서 이미 Minecraft : Educational Edition을 사용하여 어린이들에게 코딩 블록과 JavaScript로 프로그래밍 기본 사항을 가르치고 있습니다. Office 365 Education 계정이있는 경우이 버전의 Minecraft를 무료로 다운로드 할 수 있습니다.

이력서에 넣을 수있는 더 복잡한 게임 개발 튜토리얼을 원하십니까? 하루 종일 펀칭 블록을 느끼지 않으면 CodinGame이 더 적합 할 수 있습니다.

아이의 장난감을 사용해보십시오

누가 어른들이 아이들이 코딩에 푹 빠져있는 STEAM / STEM 장난감과 비디오 게임을 배울 수 없다고 누가 말합니까? 결국, 이 제품들은 쉽게 산만 해지는 아이들을 지루하지 않고 코딩 논리와 구문을 가르치도록 설계되었으므로 성인 코더조차도 재미 있고 교육적인 것을 찾을 수 있습니다.

하드웨어와 소프트웨어의 관계를 더 잘 이해하려면 Raspberry Pi 기반 컴퓨터를 구축하는 Piper Computer Kit 2를 즐기십시오. 이 DIY 랩톱을 사용하면 맞춤형 Minecraft Story Mode 과제를 통해 코딩하는 법을 배우고, 드래그 앤 드롭 방식의 Blockly 언어를 사용하여 실제 컴퓨팅을 배우거나 사전 설치된 레슨에서 기본 Python을 선택할 수 있습니다.

에서 BB-8 드로이드를 직접 만들 수는 없지만 Sphero의 BOLT로 코드를 작성하는 방법을 배울 수 있습니다. 컴패니언 앱을 사용하면 Scratch라고하는 드래그 앤 드롭 코딩 블록을 사용하여 드로이드 볼을 제어하거나 JavaScript를 레벨 업하여 고급 동작을 프로그래밍 할 수 있습니다.

좋아하는 장치 (및 보조자)에 새로운 트릭을 가르쳐

Amazon Echo와 같은 스마트 홈 장치가 있습니까? 장치의 디지털 어시스턴트에서 더 많은 기능을 사용할 수 있도록 맞춤형 미니 프로그램을 작성하여 코딩 기술을 테스트 할 수 있습니다. Amazon의 Alexa는 최신 뉴스 헤드 라인을 읽는 것과 같은 많은 기본 음성 명령 "기술"을 이미 알고있을 수 있지만 Node.js, Java, Python, C # 또는 Go로 코딩하여 더 복잡한 작업을 가르 칠 수 있습니다. (또는 더 쉬운 것으로 시작하려면 더 간단한 Alexa 기술 청사진 사이트를 사용해보십시오.)

코딩에 대한 관심이 더 제한 될 수 있습니다. 예를 들어 Raspberry Pi가 멋진 프로젝트를 수행 할 수 있도록 충분한 Python을 배우는 것이 좋습니다. 그렇다면 다른 사람들이 웹 사이트에서 공유하는 많은 프로젝트를 확인하여 학습에 DIY 접근법을 채택 할 수 있습니다.

기존 프로젝트를 재 작성함으로써 고도로 커스터마이징이 가능한 장치의 내부 작업에 대해 더 배울 수 있습니다. 미니 컴퓨터를 사용하는 새로운 방법을 만들고 코드 세계를 더 깊이 파고 드는 데 영감을 얻었을 수도 있습니다. (시작하는 데 약간의 도움이 필요한 경우 Coursera를 통해 UC Irvine의 Raspberry Pi 플랫폼 및 Raspberry Pi 플랫폼 클래스 용 Python 프로그래밍에 등록 할 수도 있습니다.)

코딩에 관한 비디오보기

때로는 누군가 어떻게 그 일을하는지 보여주기가 더 쉽습니다. 오늘날 코딩 관련 솔루션을 공유하는 전직 Google 직원, 코딩 마라톤을 실시간 스트리밍하는 YouTube 사용자, 원하는 언어로 특정 오류를 해결하는 방법을 보여주는 프로그래밍 베테랑 등 거의 모든 코딩 관련 주제에 대한 모든 종류의 교육용 비디오를 찾을 수 있습니다.

CS Dojo, TheNetNinja 및 Harvard의 CS50 YouTube 채널을 확인하는 것이 좋습니다. 완벽한 코딩 비디오 나 채널을 검색 할 시간이 없다면, LinkedIn Learning의 방대한 비디오 라이브러리에서 전문적이고 전문적인 튜토리얼을 확인할 수 있습니다. 이 서비스의 월 30 달러의 구독료는 재채기 할 것이 없지만 무제한의 컨텐츠와 주제를 폭로하여 링크드 인 학습을 성가신 제한이있는 다른 온 디맨드 온라인 수업보다 더 잘 처리 할 수 ​​있습니다.

개인 프로젝트로 연습

인증 및 코딩 워크샵 수 또는 프로그래밍 언어 수에 관계없이 코딩 기술의 증거는 프로그래밍 프로젝트에 있습니다. 개인 프로젝트가 다음 Google지도를 만드는 것만 큼 야심 찬 것은 아니지만 24/7 작업을 지속적으로 수행하여 범위를 개선하고 확장해야합니다.

작게 시작하지만 크게 생각하십시오. 프로젝트에는 현재 툴박스에 보유하고있는 기술이 포함되어야하지만 미래 비전을 현실로 전환하는 데 필요한 미래의 기능과 기술에 대한 계획도 있어야합니다. 몇 가지 프로젝트에 코딩 기술을 적용하지 않으면 전문적인 코딩 작업을 고려하지 않아도되므로 계획 및 연습을 시작하십시오. (우리의 조언? 코딩 밤을 사용하여 게임의 밤을위한 놀라운 설정을 만드십시오.)

작은 승리를 축하

코딩은 세부 사항에 모두 포함되어 있으므로 프로그래밍 교수 중 한 사람이 말한 것처럼 "작은 승리를 축하"해야합니다. 각 요소가 자체적으로 작동하게하고, 각 코드 줄이 오류없이 나머지 코드와 함께 작동하는지 확인하기위한 지속적인 테스트가 필요합니다. HTML 태그를 닫는 것과 같이 사소한 일을하지 않으면 더 인상적이고 복잡한 코드를 작성하는 대신 간단한 구문 오류를 디버깅하는 데 어려움을 겪을 것입니다.

당신은 자신에게 인내심이 필요합니다. 단 몇 개월의 학습이나 부트 캠프 몇 개만으로 다음 코드를 작성할 것으로 기대하지 마십시오. 웹 사이트에서 오류없는 결혼식 RSVP 양식을 코딩하거나 간단하지만 정확한 숫자 예측 게임을 만드는 것은 이미 초보자에게 중요한 성과입니다. 갇 히면 포기하지 마십시오. 찾을 수있는 곳이라면 어디에서나 도움을 찾아야하지만 번 아웃을 피하기 위해 휴식을 취해야 할시기도 알아야합니다. 그런 다음 다시 시도하십시오.

Google 오류 메시지

이것이 가장 좋은 코딩 조언입니다. 코드가 깨진 이유를 알 수없는 경우 항상 온라인으로 솔루션을 찾을 수 있습니다. 당신은 아마 당신의 실수를 한 최초의 사람이 아닐 수도 있으며, 인터넷상의 누군가가 이미 당신의 문제에 대한 해결책을 찾았습니다. 오류 메시지를 Google (또는 선호하는 검색 엔진)에 "복사하여 붙여 넣기"하고 키워드 전체를 검색하지 않도록 전체 문구 주위에 따옴표를 추가 한 다음 "Enter"를 누르십시오. 트릭은 정답으로 연결됩니다.

여전히 문제가있는 경우 언제든지 Stack Overflow, Reddit의 프로그래밍 하위 레딧 또는 GitHub와 같은 개발자 포럼에 질문을 게시 할 수 있습니다. 친구 나 인터넷 낯선 사람에게 전화하는 것은 결코 아프지 않습니다.

다른 사람의 코드를 해킹

다른 사람의 코드를 리버스 엔지니어링하고 각 줄을 테스트하여 작동 방식을 확인하면 큰 그림을 더 잘 이해할 수 있습니다. 수많은 오픈 소스 코드 덕분에 다른 사람의 (완벽한) 작업을 검사하여 무엇이든 배울 수 있습니다. 영감을 얻은 경우 코드를 커뮤니티와 다시 공유하고 다루는 프로그램의 일부를 개선하십시오.

멘토를 구하십시오 (또는 다른 사람을 가르치십시오)

프로그래밍 커뮤니티는 차세대 프로그래머를 기꺼이 도와주는 사람들로 가득합니다. Git을 사용하여 코딩 프로젝트를 관리하는 개발자를위한 온라인 행 아웃 인 GitHub는 온라인 공동 작업을 위해 설계되었습니다. 개발자는 동료와 프로젝트를 호스팅하고 공유 할뿐만 아니라 커뮤니티에 코드 피드백과 일반적인 조언을 제공합니다.

GitHub를 통해 유용한 온라인 멘토를 찾거나 현지 코딩 Meetup 이벤트 또는 해커 톤에서 다른 베테랑 개발자를 만날 수 있습니다. 프로그래밍 경험이 쌓이면 다른 사람들의 질문에 대답하거나 초보자에게 배운 내용을 배울 수도 있습니다. 실제로 자신의 지식을 알고 있는지 확인하기위한 훌륭한 시험입니다.

코딩 부트 캠프 참석

코딩 부트 캠프는 논란의 여지가 있습니다. 많은 기술에 대한 빠른 소개와 경험을 제공하지만 새로운 Google 작업에 대한 황금 티켓이 아닐 수도 있습니다.

프로로 가서 풀 타임 개발자가 되려면 집중적 인 직접 코딩 부트 캠프가 도움이 될 수 있습니다. 특히 실제 사람들과 동기를 부여 할 수있는 구조화 된 환경에서 가장 잘 배우는 경우 더욱 그렇습니다. 그러나 이러한 유형의 부트 캠프는 종종 가장 비싸고 시간이 많이 소요됩니다. 학비는 15, 000 달러 이상이며 졸업 할 때까지 몇 달 동안의 생활비가 추가됩니다.

다행스럽게도 Flatiron School 및 The Grace Hopper Program과 같은 기관은 장학금이나 이연 학비를 제공하여 소수의 기술 및 기술 분야의 저소득층 그룹에게이 부트 캠프를보다 저렴하게 만들 수 있습니다. 교육 기관 보고서를 통해 많은 온라인 및 개인 부트 캠프에 대한 종합적인 분석을 확인할 수 있습니다. 여기에는 부트 캠프가 프로그래밍 꿈을 이루는 데 도움이 될지 여부를 결정하는 데 도움이 될 수 있습니다.