프로그래밍 학습 앱: 실제로 무엇을 가르쳐줄까?
스마트폰 프로그래밍 앱은 논리, 구문, 그리고 언어의 기본 개념을 가르쳐줍니다. 프로그래밍을 시작하는 데 있어 합법적이고 저렴한 방법이죠. 하지만 중요한 점은, 그런 앱으로는 개발자를 양성할 수 없다는 것입니다. 프로그래밍을 제대로 배우려면 자신만의 프로젝트를 만들고, 버전 관리를 하고, 다른 사람의 코드를 읽고, 실제 컴퓨터에서 오랜 시간을 보내야 하는데, 이런 것들은 5분짜리 강의에 담을 수 있는 게 아닙니다.
이러한 구분이 명확해지면 앱은 매우 유용해집니다. 앱을 통해 특정 활동이 자신에게 맞는지 알아보고, 습관을 유지하며, 언제든 해당 개념을 복습할 수 있습니다. 아래는 [플랫폼/서비스 이름]에서 실제로 사용 가능한 앱 몇 가지입니다. 플레이 스토어, 발행 전 매장에서 확인했습니다.
솔로런
이 책은 동종 분야에서 가장 포괄적인 교재로, 평점 4.8점에 74만 건 이상의 리뷰를 자랑합니다. 파이썬, 자바스크립트, 자바, C++, HTML, SQL을 다루며, 짧은 강의, 연습 문제, 코딩 과제 등을 제공합니다.
이 앱에는 통합 편집기가 있어 휴대폰에서 직접 코드 조각을 작성하고 실행할 수 있으며, 도움을 요청할 수 있는 활발한 커뮤니티도 있습니다. 무료 버전에서도 많은 콘텐츠를 이용할 수 있으며, 구독을 통해 학습 경로와 인증서를 이용할 수 있습니다.
대하다
72만 건 이상의 리뷰에서 4.8점의 평점을 받았습니다. 프로젝트 기반 학습 경로와 잘 어울립니다. 개별 개념을 공부하는 대신, 작은 애플리케이션을 만들고 각 부분의 기능을 학습할 수 있습니다.
파이썬, 자바스크립트, 타입스크립트, SQL, HTML, CSS를 다룹니다. 매일 연습하는 형식은 습관 형성에 효과적입니다. 특히 내용이 너무 추상적이라 배우려다 포기했던 사람들에게 적합합니다.
파이썬 배우기 - 코드랩
파이썬에만 집중한 앱으로, 강의, 퀴즈, 내장 에디터를 제공합니다. 약 52,000개의 리뷰를 바탕으로 4.6점의 평점을 받았습니다.
초보자에게는 한 번에 한 가지 언어만 배우는 것이 좋은 선택입니다. 파이썬은 간결한 구문과 자동화, 데이터 및 웹 개발 분야에서의 폭넓은 활용성 덕분에 오늘날 가장 추천되는 입문 언어입니다.
기존 목록에 대한 필수적인 수정 사항입니다.
시대에 뒤떨어진 목록들이 많이 유통되고 있다는 점에 주목할 필요가 있습니다. 메뚜기, 구글의 자바스크립트 앱은 서비스가 종료되어 더 이상 플레이 스토어에서 이용할 수 없습니다. 코드카데미 고 더 이상 앱 형태로 유지 관리되지는 않지만, 코드카데미 플랫폼은 웹 브라우저를 통해서만 계속 존재합니다.
듀오링고는 여러 "프로그래밍 앱" 목록에 등장하지만, 사실은 언어 학습 앱입니다. 프로그래밍을 가르치는 앱이 아닙니다.
프로그래밍 앱을 고를 때 무엇을 살펴봐야 할까요?
- 통합 코드 편집기: 코드를 작성하지 않고 배우는 것은 매뉴얼만 읽고 운전을 배우는 것과 같습니다.
- 정정 및 설명: 자신이 실수를 했다는 사실만으로는 아무것도 배울 수 없습니다. 왜 그런 실수를 했는지 아는 것이 중요합니다.
- 체계적으로 구성된 트레일: 콘텐츠를 오름차순으로 정렬하면 항상 맨 처음에 있는 듯한 느낌을 피할 수 있습니다.
- 활발한 커뮤니티: 포기하는 주된 이유는 불확실성입니다.
- 포르투갈어 콘텐츠, ...영어가 여전히 장벽이 된다면, 나중에 영어 용어를 배우는 것은 불가피할 것입니다.
보통 효과가 있는 학습 루틴
하루에 15분에서 20분씩 투자하면 토요일에 3시간 이상을 활용할 수 있습니다. 프로그래밍은 패턴을 형성하기 위해 반복이 중요하며, 세션 간 긴 공백은 학습한 내용을 상당 부분 무효화합니다. 일주일에 5일 꾸준히 연습할 수 있다면 초보자 평균 이상입니다.
두 가지 유용한 습관이 있습니다. 첫째, 앱에서 단축키를 제공하더라도 미리 만들어진 코드 블록을 드래그 앤 드롭하는 대신 직접 코드를 작성하는 것입니다. 오타를 통해 오류 메시지를 읽는 법을 배우게 되는데, 이는 프로그래밍 실력 향상의 절반을 차지합니다. 둘째, 이해하지 못한 부분을 어딘가에 적어두고 다음 날 다시 살펴보는 것입니다. 건너뛴 개념은 몇 수업 후에 큰 걸림돌이 되는 경우가 많습니다.
마지막으로, 다섯 가지 언어를 동시에 배우려는 유혹에 저항하세요. 한 언어를 제대로 이해하면 두 번째 언어를 배우는 속도가 훨씬 빨라지지만, 어설프게 이해하는 다섯 가지 언어는 결국 아무런 도움이 되지 않습니다.
앱에서 벗어나 진정한 프로그래머가 되는 방법.
목록에서 흔히 생략되는 부분이 바로 이겁니다. 애플리케이션은 구문과 논리라는 첫 번째 단계를 처리합니다. 이후 단계에는 다른 도구가 필요합니다.
가능한 한 빨리 컴퓨터로 바꾸세요. 코드 편집기를 설치하고, 터미널 사용법을 익히고, 작성한 코드를 저장할 수 있도록 버전 관리 서비스 계정을 만드세요. 그런 다음, 계산기, 작업 관리 프로그램, 파일 이름을 바꾸는 스크립트 등 작지만 완성도 높은 프로그램을 만들어 보세요. 완성된 프로젝트는 50가지가 넘는 개별적인 교훈을 가르쳐 줍니다.
일정에 관해서 말씀드리자면, 독립적으로 코드를 작성하는 데는 몇 달간의 꾸준한 연습이 필요하며, 주니어 개발자 수준에 도달하려면 훨씬 더 오랜 시간이 걸립니다. 몇 주 만에 취업을 보장하는 콘텐츠는 실질적인 교육이 아니라 허황된 기대감을 심어주는 것입니다.
"실행" 버튼을 클릭하면 코드가 어디에서 실행되나요?“
이 버튼이 어떤 역할을 하는지 이해하는 것이 중요합니다. 바로 이 부분이 해당 카테고리에 제한이 있는 이유이기 때문입니다. 가능한 디자인은 두 가지이며, 거의 모든 앱이 이 중 하나를 사용합니다.
첫 번째 방법은 사용자가 작성한 텍스트를 인터넷을 통해 서버로 전송하는 것입니다. 서버는 해당 텍스트를 컴파일하거나 해석하고, 격리된 환경에서 실행한 후 결과만 반환합니다. 이 방법은 기기에 부담이 적고 실용적이지만, 세 가지 한계점이 금방 드러납니다. 인터넷 연결이 필수적이며, 실행 시간에 제한이 있고, 휴대폰의 파일, 카메라, 네트워크 등 어떤 정보도 볼 수 없다는 것입니다.
두 번째 접근 방식에서는 애플리케이션 패키지 내에 인터프리터가 포함됩니다. 이 인터프리터는 오프라인에서 작동하고 즉각적인 응답을 보이지만, 사용 가능한 언어 버전과 라이브러리가 제한됩니다. 실제 프로젝트에서 흔히 발생하는 새로운 종속성 설치는 일반적으로 불가능합니다.
- 훈련 과정이 순조롭게 진행됩니다. 두 모델 모두 결과만 출력하는 숏코드이기 때문입니다.
- 실제 프로젝트는 실행되지 않습니다., 이 프로젝트는 파일을 읽고, 상태를 저장하고, 타사 라이브러리를 사용하고, 로컬 서버를 시작하기 때문입니다.
- 환경 오류 메시지가 나타나지 않습니다., ...그리고 업무의 상당 부분은 바로 환경적 오류를 해결하는 것입니다.
- 인터넷 접속이 없으면 클라우드 기반 모델은 작동하지 않습니다.. 대중교통을 이용하며 공부할 계획이라면, 선택하기 전에 이 점을 꼭 확인하세요.
이 모든 것이 휴대폰으로 공부하는 것 자체를 무효화하는 것은 아닙니다. 다만 컴퓨터로 옮겨가는 것이 단순히 까다로운 선택이 아니라, 앱이 숨겨놓은 학습 자료의 절반을 찾아내는 유일한 방법이라는 점을 분명히 보여줄 뿐입니다.
휴대폰으로 비밀번호를 입력하는 게 왜 이렇게 귀찮을까요?
휴대폰 키보드는 메시지를 작성하기 위해 설계되었지 코드를 작성하기 위해 설계된 것이 아닙니다. 괄호, 중괄호, 밑줄, 세로 막대, 부등호(>, <) 등이 여러 겹으로 숨겨져 있고, 각 기호를 입력하려면 두세 번씩 키를 눌러야 합니다. 여기에 변수 이름을 자동으로 바꾸고 줄의 첫 글자를 대문자로 바꾸는 자동 수정 기능까지 더해지면, 키보드와의 전쟁이 시작됩니다.
마찰을 줄이는 요인들을 중요도 순으로 나열하면 다음과 같습니다.
- 키보드의 맞춤법 검사 및 자동 대문자 변환 기능을 끄거나, 프로그래밍 모드와 고정 기호 행이 있는 키보드를 설치하세요.
- 가능하다면 앱 자체의 심볼 표시줄을 사용하세요. 그 표시줄은 바로 이러한 문제를 해결하기 위해 만들어진 것입니다.
- 화면을 회전하세요. 가로 모드에서는 더 많은 열을 표시할 수 있으며, 코드 들여쓰기는 화면 너비에 따라 달라집니다.
- 블루투스나 케이블을 통해 키보드를 연결하세요. 이것이 가장 획기적인 변화입니다. 물리 키보드를 사용하면 휴대폰이 학습용으로 적합한 기기가 됩니다.
- 글자 크기를 현재보다 한 포인트 줄이세요. 큰 글자보다는 전체 내용을 보는 것이 더 도움이 됩니다.
우스워 보일지 모르지만 시간을 크게 절약해 주는 팁 하나 알려드릴게요. 오류 메시지 전체를, 특히 줄 번호까지 꼼꼼히 읽으세요. 작은 화면에서는 다음 연습 문제로 바로 넘어가고 싶은 유혹이 들기 쉬운데, 오류 메시지야말로 핵심을 알려주는 단서입니다.
수업은 무료인데 왜 수료증은 유료인가요?
여기서 지배적인 모델은 세 가지 수익 등급을 가진 프리미엄 모델이며, 이를 이해하면 잘못된 것에 돈을 지불하는 것을 피할 수 있습니다.
- 서명, 이 서비스는 완벽한 트랙, 프로젝트 및 상세한 수정 사항을 제공합니다. 수익의 대부분은 여기서 발생합니다.
- 자격증, 별도로 판매하거나 요금제에 포함할 수 있습니다. 서비스 제공업체 입장에서는 발행 비용이 거의 들지 않으며, 처음 서비스를 시작하는 사람들에게는 감정적인 호소력이 높습니다.
- 기업 및 학교 라이선스, 이러한 회사들의 상당 부분을 지탱하는 조용한 고객층입니다.
자격증에 대해 솔직히 말씀드리자면, 기술 분야 채용 과정에서 자격증의 비중은 매우 작습니다. 실제로 채용에 도움이 되는 것은 지원자가 직접 작성하고 읽을 수 있는 코드, 제대로 작동하는 소규모 프로젝트, 그리고 자신이 무엇을 어떻게 했는지 설명할 수 있는 능력입니다. 예산이 빠듯하다면, 자격증보다는 실무 경험에 투자하는 것이 훨씬 효과적입니다.
또한 학습 주기, 에너지 제한, 일일 학습 시간 제한과 같은 요소들은 학습자의 조바심을 구매로 전환하기 위해 설계된 것입니다. 이는 악의적인 것이 아니라 하나의 비즈니스 모델입니다. 다만 이러한 인위적인 장벽을 자신의 실제 학습 속도와 혼동하지 않도록 주의해야 합니다.
앱에 의존하지 않고 무료로 공부할 수 있는 것은 무엇일까요?
어떤 서류에 서명하기 전에, 이 분야의 중요한 자료들은 대부분 오픈 소스라는 점을 알아두시기 바랍니다.
- 해당 언어의 공식 문서. 무료이고, 보통 초기 사용법 안내가 제공되며, 대부분 포르투갈어로 번역되어 있습니다. 문서를 읽는 법을 배우는 것 자체가 전문적인 기술입니다.
- 연방 대학교 및 연구소의 공개 강좌. 많은 출판사들이 연습문제와 정답이 포함된 입문 교재를 출간합니다.
- 공공 도서관 및 대학 도서관. 많은 곳에서 종이책과 동일한 회원 카드로 디지털 기술 자료에 대한 접근 권한을 제공합니다.
- 프로젝트를 위한 오픈 소스 코드. 다른 사람이 쓴 글을 읽는 것은 어떤 문법 연습으로도 배울 수 없는 패턴과 구성 방식을 가르쳐줍니다.
- 의심의 공동체. 정확한 오류 내용, 시도해 본 방법, 그리고 코드 조각을 포함하여 질문을 어떻게 구성해야 하는지 배우는 것이 문제 해결의 절반입니다.
핵심은 유료 앱을 피하는 것이 아니라, 지출을 발전과 혼동하지 않는 것입니다. 많은 사람들이 구독을 세 번이나 바꾸고도 처음 배웠던 내용에서 제자리걸음을 하는 경우가 많습니다.
나중에 생기는 질문들
프로그래밍을 하려면 영어를 알아야 하나요?
우선, 아니요. 포르투갈어로 된 좋은 자료들이 많고 주요 문서들은 보통 번역본도 함께 제공됩니다. 나중에는 오류 메시지, 함수 이름, 커뮤니티 답변 등이 영어로 되어 있기 때문에 영어를 사용하는 것이 불가피해집니다. 두 언어를 병행해서 학습할 수 있고, 필요한 전문 용어도 많지 않습니다.
고성능 컴퓨터가 필요한가요?
아니요. 코드 편집기, 터미널, 브라우저는 사양이 낮은 컴퓨터나 중고 컴퓨터에서도 잘 작동합니다. 고가의 컴퓨터는 특정 영역에서만 차이를 만들 뿐이며, 그런 컴퓨터들이 처음부터 필요한 것은 아닙니다.
인공지능을 학습에 활용할 수 있을까요?
설명 도구로서 매우 유용합니다. 누군가에게 개념을 다른 방식으로 다시 작성해 달라고 요청하거나 특정 부분이 왜 잘못되었는지 지적해 주면 작업 속도를 상당히 높일 수 있습니다. 하지만 기성 답변을 생성하는 도구로는 오히려 속도를 늦춥니다. 또한 이러한 도구는 오류가 발생하기 쉽고, 심지어 존재하지 않는 기능을 만들어낼 수도 있다는 점을 알아두어야 합니다. 항상 직접 실행하여 테스트하십시오.
이력서에 지원 증명서를 첨부하는 것이 가치가 있을까요?
개인적인 정리 능력 측면에서는 유용하지만 그 외에는 큰 의미가 없습니다. 공개된 프로젝트, 읽기 쉬운 코드, 그리고 의사 결정 과정을 설명할 수 있는 능력은 기술 면접에서 비교할 수 없을 정도로 더 큰 비중을 차지합니다.
휴대폰만으로 업무를 처리하는 것이 가능할까요?
현실적으로는 불가능합니다. 외부 키보드를 사용해서 학습, 개념 복습, 문서 읽기, 심지어 간단한 설정 변경까지는 가능하지만, 일상적인 업무에는 큰 화면, 터미널, 그리고 여러 개의 창을 동시에 열어놓고 작업해야 합니다.
두 달 동안 쉬었더니 모든 걸 잊어버렸어요. 처음부터 다시 시작해야 할까요?
아니요. 문법은 금방 다시 익숙해질 거예요. 왜냐하면 여러분은 단순히 암기하는 게 아니라 논리적인 사고를 배웠기 때문이죠. 처음 시작했던 과정을 되짚어보는 대신, 작은 프로젝트부터 시작해 보세요. 처음 시작했던 과정을 되짚어보는 건 포기하기 쉬운 방법 중 하나예요.
자주 묻는 질문
프로그래밍을 배우기 위한 가장 좋은 앱은 무엇인가요?
Sololearn과 Mimo는 플레이 스토어에서 가장 완성도가 높고 평점이 좋은 앱입니다. 한 가지 언어에만 집중하고 싶다면 Learn Python – Code Lab이 좋은 대안입니다.
휴대폰만으로 프로그래밍을 배울 수 있을까요?
논리와 구문을 배울 수 있다는 것만으로도 이미 상당한 발전입니다. 실제 프로젝트, 터미널 작업, 버전 관리 및 디버깅을 위해서는 언젠가는 컴퓨터가 필요할 것입니다.
이 앱은 무료인가요?
모든 플랫폼에는 시작하기에 충분한 콘텐츠가 포함된 무료 버전이 있습니다. 구독을 통해 전체 학습 과정, 수료증 및 추가 연습 문제를 이용할 수 있습니다. 결제하기 전에 무료 버전을 사용해 보세요.
어떤 언어부터 시작해야 할까요?
파이썬은 대부분의 경우 구문이 간단하고 포르투갈어로 된 자료가 풍부하며 널리 사용됩니다. 웹 페이지나 웹사이트 제작이 목표라면 HTML, CSS, JavaScript부터 시작하는 것이 좋습니다.
얼마나 걸리나요?
꾸준히 공부하면 간단한 프로그램을 스스로 작성하는 데 몇 달이 걸립니다. 첫 직장을 얻는 데 걸리는 시간은 포트폴리오, 프로젝트, 경험에 따라 다르며 개인차가 큽니다.
결론
프로그래밍 앱은 훌륭한 첫걸음입니다. 저렴하고 접근성이 좋으며, 프로그래밍이 자신에게 맞는지 알아보기에 좋습니다. Sololearn, Mimo, Code Lab 등이 이 단계를 잘 안내해 줍니다.
그 후, 그 길은 컴퓨터, 개인 프로젝트, 그리고 끊임없는 연습으로 이어집니다. 휴대폰은 이야기의 시작일 뿐, 끝은 아닙니다. 이 사실을 처음부터 알고 있으면 많은 좌절을 피할 수 있습니다.


