나는 이것을 할 것이다 :
경로 A : 반 전형적인 방법
Java, C # 또는 Python과 같이보다 정규화 된 구문으로 언어를 학습하십시오. Perl은 매우 유용한 도구이지만 작업 수행 방식 측면에서 매우 자유 롭습니다. 내가 나열된 다른 언어는 훨씬 적습니다.
해당 언어로 된 데이터 구조에 관한 책을 얻으십시오.
해당 언어로 된 알고리즘에 관한 책을 얻으십시오.
코드가 완전하고 효과적인 Java / C # / Python 버전이 무엇인지 확인하십시오.
Path B : Joel Spolsky의 깨달음의 길 (또는 죽음, 선택하십시오)
"코드"책 받기
K & R의 "C 프로그래밍 언어"얻기
컴퓨터 프로그래밍의 구조와 해석
방법이 진행되는 한, 방법 1은보다 정규화 된 방식으로 프로그래밍을 가르쳐 줄 것입니다. 컴퓨터 과학 개념은 어느 정도까지 복잡성 이론 (아직 복잡성 이론은 아님)을 이해하고 다른 사람들과 프로젝트를 진행하고 더 큰 응용 프로그램을 만드는 데 더 적합한 언어를 제공합니다.
방법 2는 더 하드 코어 적이며, 기본 사항을 설명하는 "코드", K & R은 기계 수준의 재료를 소개하고 SICP는 높은 수준의 개념을 소개하는 기본 접근 방식에 훨씬 가깝습니다. 훨씬 어렵지만 집중적 인 경로입니다.
어느 경우이든 시간을 내십시오. 로마는 하루에 지어진 것이 아니며 프로그래밍 기술도 아닙니다. Peter Norvig의 10 년 동안의 프로그래밍은 사람들이 지적하는 일반적인 에세이입니다.
추가:
가능한 무료 자료 : 아래 나열된 Python the Hard Way 는 컴퓨터 과학자처럼 생각하는 방법 이 합리적입니다.
알고리즘에는 여러 가지 리소스가 있으며 솔직히 문제없이 3 단계와 4 단계를 전환 할 수 있습니다. 여기서 수학이 실제로 나타나기 시작하므로이 단계에 도달 할 때 도움을 요청하는 것을 두려워하지 마십시오. 이것은 합리적인 무료 가이드 인 것 같습니다 .
Pythonista와 같은 코드 는 꽤 견고 해 보이지만 실제로는 말하기 당 Code Complete와 동등한 응집력이 없습니다 . 가장 중요한 것은 기본 사항이 확실 해지면 코드를 읽을 수있게 만드는 데 집중하는 것입니다. 모든 코드 구문이 올바른 것과 같은 방식으로 "필요"하지는 않지만 작은 프로그램을 넘어서거나 오랜 기간 동안 무언가를 수행하면 훨씬 쉽게 살 수 있습니다.
필자가 파이썬에 주로 집중했다는 것을 알 수 있습니다. 잘 작성된 무료 자료를 찾는 것이 세 가지 중 가장 쉽기 때문입니다. Oracle의 Java 자습서는 훌륭하지만 초보자에게는 적합하지 않습니다. C #도 비슷한 상황에 있지만 문서화 부족으로 고통받지 않습니다.
또한 첫 번째 CS 농담 / 펀 : 당신은 역 추적이 아닌 교육을 "리팩터링"하고 싶어합니다.