차례:
사실 : 우리는 점점 컴퓨터와 다른 장치에 연결됩니다. 많은 경우에, 우리는 우리 자신의 확장으로서 하드웨어와 그 위에서 실행되는 소프트웨어를 거의 보게되었습니다. 흥미로운 점은 소수의 사람들이 자신의 언어를 말하거나 최소한 컴퓨터가 사용하는 언어를 말하는 방법입니다. 그렇습니다, 우리는 컴퓨터 코딩에 대해 이야기하고 있으며, 우리 중 더 많은 사람들이 그것을 어떻게해야하는지 생각하는 사람들의 움직임이 많습니다. 여기서 우리는 기술에 대한 우리의 의존과 그것이 어떻게 작동하는지에 대한 대중의 전반적인 이해 부족 사이의 단절을 살펴볼 것입니다. 우리는 또한 광범위한 컴퓨터 과학 교육에 대한 논쟁을 검토 할 것입니다. (컴퓨터 프로그래밍의 선구자에서 컴퓨터 프로그래밍에 대한 초기 시도에 대해 알아보십시오.)
비코 더를위한 코딩 : 요점은 무엇입니까?
컴퓨터 프로그래밍에 관한 교육을 확대해야하는 많은 이유가 있습니다. 하나는 직업 시장으로, 전문가들은 숙련 된 근로자의 부족을 미루고 분석가들은 미국 IT 교육 이니셔티브가 미국 숙련 된 근로자를 국제 무대에서 다시 주목할 수 있다고 주장하고 있습니다.
그러나 이러한 기술이 개인과 자신의 기술에 가져올 수있는 고유 한 가치도 있습니다. 코딩은 일종의 구체적인 성취로 이어지고, 그것을 실험 해 본 사람들이 종종 증언하는 것처럼, 그것은 개인적인 승리와 권한을 부여하는 실질적인 의미를 제공합니다. 그것을 배우는 것은 우리가 컴퓨터를 사용할 수있는 거의 무한한 방법에 대한 더 심오하고 깊은 이해를 제공합니다.
"모두를위한 코딩"운동
최근 교육자와 다른 옹호자들은 교실과 다른 교육 장소에서 컴퓨터 프로그래밍 사용을 장려하기 위해 확고한 이니셔티브를 구성하기 시작했습니다. 2013 년 3 월 슬레이트 잡지에 실린 기사는 New America NYC라는 이벤트를 다루며, 기술 분야의 개척자들은 컴퓨터 프로그래밍 기술을 전세계 사람들에게 제공하는 것의 가치에 대해 논의했습니다. 판결? 기본 컴퓨팅 능력은 컴퓨터 나 스마트 폰을 사용하는 모든 사람에게 힘을 실어줍니다. 문제는 현재의 교육 시스템이 컴퓨터 과학 교육에서 심각하게 부족하다는 것입니다.
그렇다면 아이들은 어떻게 이러한 기술을 배울 수 있습니까? Geekosystem에 관한 2013 년 1 월 기사는 강의 실용 비디오를 생성하고 컴퓨터 프로그래밍 및 그것. Code.org는 혁신가 Steve Jobs의 컴퓨터 프로그래밍 프로모션을 "사람들에게 어떻게 생각하는지 가르치는"보편적 인 방법으로 강조했습니다. 정량적 기술과 언어 기술을 혼합 한 프로그래밍이 평범한 사람이 특정인지 기능을 구축하는 데 도움이 될 수 있다는 생각은 컴퓨터 과학에 더 많은 젊은이들이 참여하도록하는 또 다른 논거입니다.
컴퓨터 프로그래밍을 홍보하는 가장 보편적 인 방법 중 하나는 무료 교육 리소스를 이용하는 것입니다. 이들은 점점 일반화되고 있으며 Mozilla Web of School, Google Code University, Code / Racer 및 Codecadamy 등이 포함됩니다. 또한 일부 새로운 기술은 Raspberry Pi와 같은 프로그래밍 도구 및 원칙에 대한 액세스를 향상시킵니다. 그 결과 학습 코드가 그 어느 때보 다 쉬워지고 있습니다.
왜 비평가들은 "왜 귀찮게?"
이러한 증가하는 움직임을 배경으로, 코딩이 실제로 모든 사람을위한 것이 아니며 대중에게 밀어 붙여서는 안된다고 말하는 사람들도 있습니다.
2013 년 8 월 슬레이트 잡지에 실린 이야기에서 작가 체이스 펠커 (Chase Felker)는 무언가를 배우는 것과 실제로 그것을 이해하는 것의 차이점에 대해 이야기합니다. 펠커 (Felker) 작가는 사람들이 많은 교육 없이도 기본 프로젝트를 만들 수 있지만 실제로 프로그래밍하는 데 많은 시간과 에너지가 필요하다고 말합니다. 결과적으로 대다수의 사람들이 어떤 식 으로든 유용하게 사용할 수있는 충분한 코딩을 배울 수 있다는 생각은 지나치게 낙관적 일 수 있습니다.
이 주장은 흥미로운 것으로, 구문을 넘어서는 코드 지속 가능성에 대한 기본 아이디어와 안정적이고 다재다능한 작업 프로젝트를 지원하는 원칙을 익히는 데 어려움을 겪고 있습니다. 예를 들어 올바른 구문을 사용하면 컴퓨터가 원하는 작업을 수행 할 수 있지만 런타임 중에 코드에 영향을주는 사용자 생성 이벤트와 관련된 잠재적으로 위험한 버그를 포함하여 버그 나 결함을 방지 할 수는 없습니다. . 이러한 많은 문제를 해결하기 위해 전문 프로그래밍 커뮤니티는 공백, 주석 달기, 모듈화 및 함께 작동해야하는 기능 및 절차의 형식적 코딩으로 들어가는 기타 기술을 사용하여 다양한 모범 사례와 전략을 발전시켜 왔습니다. 당신이 생각할 수 있듯이 그것들은 기본보다 중요하지 않지만 배우고 이해하기가 더 어렵습니다.
Felker는 또한 평범한 사람이 매우 까다로운 개념적 프레임 워크에 몰두하도록하는 대안을 건강한 대안으로 고려합니다. 대신 Felker는 일반적인 세션을 통해 운영 체제를 유지 관리하는 방법 또는 기본 네트워크 관리를 수행하는 방법과 같이보다 실용적인 방법으로 소프트웨어를 사용하는 방법을 일반 사람들에게 가르치는 것이 도움이 될 수 있다고 Felker는 말합니다.
여기에는 많은 유익한 토론의 기회가 있습니다. "hello world"프로그램을 만들면 훨씬 더 복잡한 프로그램이 수많은 끔찍한 방식으로 중단되거나 충돌하는 것을 방지하는 이러한 원칙의 발전으로 이어질까요? 사람들은 컴퓨터 프로그래밍에 대해 얼마나 알고 싶어하며 누가 가르쳐야합니까? 기본적인 코딩 교육이 대다수의 학생들에게 실질적인 혜택을 제공합니까, 아니면 시간과 에너지를 앗아간 다른 성가신 연구에 갇히게됩니까?
코딩하거나 코딩하지 않습니까?
이러한 질문들이 제기 될 수 있지만, 미국의 교육 시스템이 아이들에게 프로그래밍을 가르치는 힘을 활용하고 있지 않다는 생각으로 논쟁하기는 어렵습니다. 많은 사람들은 교육 시스템의 기존 제도적, 문화적 현실이 많이 요구된다는 데 동의합니다. 이러한 관점에서 기본 프로그래밍과 같은 것을 도입 할 때의 분명한 장점은 당연한 것처럼 보입니다. 그러나 우리가 새로운 세대의 학생과 직업 전문가를 키우는 데 사용하는 다른 모든 커리큘럼과 마찬가지로 잠재적 인 함정없이 프로그래밍 교육의 장점을 제공하는 방법을 찾는 것은 강사 및 프로세스에 관련된 다른 사람들에게 달려 있습니다. 또한 기술을 사용하는 방법을 아는 것이 실제로 매우 시원하고 컴퓨터가 어떻게 작동하는지에 대한 일반적인 연구를 할 때 일반 사용자가 양초를 켜면 이익을 얻을 수 있음을 깨닫는 것은 국가의 일반적인 문화에 달려 있습니다. 어둠을 저주하기보다는