JavaRush /Java Blog /Random-KO /평범한 코더에서 멋진 개발자로 변신하는 방법은 무엇입니까? 컴퓨터 과학 배우기

평범한 코더에서 멋진 개발자로 변신하는 방법은 무엇입니까? 컴퓨터 과학 배우기

Random-KO 그룹에 게시되었습니다
IT 및 소프트웨어 개발의 현대 세계는 매우 가혹합니다. 코더 자격에 대한 높은 요구 사항, 끊임없는 변화 및 이 분야에서 일하는 전문가의 경쟁이 지속적으로 교육하고 발전하기 때문입니다. 단순히 인기 있는 전문가로 남아 있기 위해서라도 지속적인 학습이 필요합니다. "인생에서 뒤쳐지는 것"은 배 껍질을 벗기는 것만 큼 쉽기 때문입니다. 평범한 코더에서 멋진 개발자로 변신하는 방법은 무엇입니까?  컴퓨터 과학 학습 - 1JavaRush에 대한 간행물에서 우리는 독자가 매력적인 IT 개발 세계에서 최대한 경쟁력을 갖출 수 있도록 완전히 개발하고 스스로 학습할 수 있도록 돕기 위해 노력합니다. 오늘 기사에서 우리는 매우 광범위한 분야인 컴퓨터 과학의 자기 교육에 대해 이야기할 것입니다. 잠시 후에 컴퓨터 과학(CS)의 개념에 정확히 무엇이 포함되는지 살펴보겠습니다. 하지만 지금은 실제로 프로그래머가 CS 과목을 배우고 이 영역에서 개선을 위해 노력해야 하는 이유에 대한 질문에 답해 보겠습니다. .

컴퓨터 공학 - 왜 가르쳐야 할까요?

“프로그래밍은 당신이 아는 것이 아닙니다. 그건 당신이 알아낼 수 있는 일이에요.” 프로그래밍 전문가이자 책과 튜토리얼의 저자인 Chris Pine. “어떤 면에서 프로그래밍은 그림 그리는 것과 비슷해요. 처음에는 빈 캔버스와 재료만 있습니다. 이 모든 것을 어떻게 처리할지 알아내려면 과학, 예술, 공예의 조합을 사용해야 합니다.” Andrew Hunt는 베스트셀러 The Pragmatic Programmer의 저자이자 Agile Manifesto의 공동 저자입니다. 우리가 어디로 향하고 있는지 이해하는 것은 어렵지 않습니다. 정말 좋은 프로그래머가 되려면, 또는 단순히 일반 코더보다 한 단계 더 발전하려면 프로그래밍 언어 자체 외에도 다양한 분야에 대한 가장 광범위하고 동시에 상당히 깊은 지식이 필요합니다. 그리고 CS 개념에 포함된 분야를 숙달하는 것이 여기서 가장 중요한 부분 중 하나입니다.

컴퓨터 과학 분야

컴퓨터공학 분야에는 어떤 과목이 포함되어 있는지 살펴보겠습니다. 학문 분야에 대한 간략한 설명과 연구 이유에 더해, Oz Nova와 Myles가 집필한 컴퓨터 과학에 대한 최고의 영어 가이드 에서 해당 주제에 대한 최고의 책과 최고의 무료 비디오 강의에 대한 추천을 추가할 것입니다. 번(Byrne)은 샌프란시스코에 있는 브래드필드 컴퓨터 과학 학교의 교사입니다.
  • 프로그램 작성

    프로그래밍은 컴퓨터 과학의 기초이자 기본 학문으로, 대부분의 학생들은 프로그래밍으로 CS 과정을 공부하기 시작합니다. 최고의 CS 프로그래밍 과정은 초보자뿐만 아니라 처음 배울 때 특정 프로그래밍 개념과 모델을 놓쳤을 수 있는 숙련된 코더에게도 유용합니다.

    최고의 책: 컴퓨터 프로그램의 구조와 해석. 저자: Gerald Sussman 및 Hal Abelson.

    А на JavaRush, кстати говоря, всем желающим доступен для изучения легендарный гарвардский курс “CS50. Основы программирования”, fully переведенный на русский.

    Лучшая видеолекция: Brian Harvey’s Berkeley CS 61A

  • Алгоритмы и структуры данных

    Знание наиболее распространенных алгоритмов и структур данных помогает решать разного рода задачи, а это очень важно в любой из областей компьютерных наук, включая, конечно, и разработку программного обеспечения.

    Лучшая книга: The Algorithm Design Manual. Author: Стивен Скьена (Steven Skiena).

    Лучшая видеолекция: лекции Стивена Скьены

  • Компьютерная архитектура

    Знание компьютерной архитектуры, то есть понимание того, How на самом деле работает компьютер, является еще одной важной частичкой пазла, без которой попытки построения программных конструкций и моделей часто оказываются неудачными.

    Лучшая книга: “Архитектура компьютера и проектирование компьютерных систем” (Computer Organization and Design). Authorы: Дэвид Паттерсон (David Patterson) и Джон Хеннеси (John Hennessy).

    Лучшая видеолекция: Berkeley CS 61C

  • Операционные системы

    Практически весь code, написанный программистом, будет выполняться операционной системой, поэтому знание принципов работы ОС также является важным элементом.

    Лучшая книга: “Введение в операционные системы” (Operating Systems: Three Easy Pieces). Authorы: Андреа Арпачи-Дюссо (Andrea Arpaci-Dusseau) и Ремзи Арпачи-Дюссо (Remzi Arpaci-Dusseau).

    Лучшая видеолекция: Berkeley CS 162

  • Компьютерные сети

    Мало что в современном ИТ может обойтись без использования Интернета, поэтому ИТ-специалистам важно понимать, How Всемирная сеть работает, чтобы использовать ее потенциал по полной.

    Лучшая книга: Computer Networking: A Top-Down Approach. Authorы: Джеймс Куросе (James Kurose), Кит Росс ( Keith Ross).

    Лучшая видеолекция: Stanford CS 144

  • Математика для computer science

    Поскольку компьютерные науки, по сути, являются ответвлением прикладной математики, знание этого предмета тоже будет очень полезным практически в любой профессии, связанной с программированием. А также даст вам конкурентное преимущество перед теми, кто этой дисциплиной не владеет.

    Лучшая книга: Mathematics for Computer Science. Authorы: Альберт Р. Мейер (Albert R. Meyer), Эрик Леман (Eric Lehman) и Фрэнк Томсон Лейтон (Frank Thomson Leighton).

    Лучшая видеолекция: Tom Leighton’s MIT 6.042J

  • Базы данных

    Базы данных — относительно новая область компьютерных наук, и экспертов в ней по-прежнему не так уж много. Данные — еще один ключевой элемент CS, потому что они лежат в основе большинства значимых программ, но мало кто понимает, How на самом деле работают системы баз данных.

    최고의 책: 데이터베이스 시스템 읽기. 저자: Joseph M. Hellerstein 및 Michael Stonebraker.

    최고의 비디오 강의: Joe Hellerstein의 Berkeley CS 186 평범한 코더에서 멋진 개발자로 변신하는 방법은 무엇입니까?  컴퓨터 공학 학습 - 2

  • 언어 및 컴파일러

    프로그래밍 언어와 컴파일러가 기술적으로 어떻게 작동하는지 이해하면 코드와 프로그래밍 기술을 향상시킬 수 있습니다. 또한 새로운 언어를 더 쉽게 배울 수 있으며 이는 장기적으로 모든 개발자에게 매우 중요합니다.

    최고의 책: 컴파일러: 원리, 기술 및 도구. 저자: Alfred Aho, Monica S. Lam, Ravi Sethi, Jeffrey Ullman.

    최고의 비디오 강의: Alex Aiken의 Lagunita 코스

  • 분산 시스템

    요즘은 대부분의 시스템이 분산되어 있습니다. 컴퓨터와 프로그램은 점점 더 복잡해지고 있으며, 분산 시스템에 대한 지식은 소프트웨어가 정확하고 원활하게 실행되도록 하는 데 유용합니다.

    최우수 도서: 분산 시스템, 3판. 저자: Maarten van Steen 및 Andrew S. Tanenbaum.

    최고의 비디오 강의: CS 436: 분산 컴퓨터 시스템

컴퓨터 과학 공부를 위한 팁

마지막으로 CS 분야 공부를 시작하려는 사람들을 위한 몇 가지 조언입니다. 평범한 코더에서 멋진 개발자로 변신하는 방법은 무엇입니까?  컴퓨터 공학 학습 - 3
  1. CS 분야의 실무 능력 개발

    다른 IT 강좌와 마찬가지로 CS의 장점 중 하나는 방금 습득한 이론적 기술을 실무에 즉시 적용할 수 있다는 것입니다. 최상의 결과를 얻으려면 이를 잊지 말고 이론과 실습을 대체하십시오.

  2. 미루지 마세요

    컴퓨터 과학은 다소 복잡한 주제로, 특히 처음에는 소수의 사람들이 쉽게 공부할 수 있습니다. 그렇기 때문에 CS 분야를 공부할 때 미루는 습관을 피해야 합니다. 이론 습득, 문제 해결 및 연습을 나중으로 미루지 마십시오. 이렇게 하면 학습이 매우 길어질 뿐만 아니라 효과적이지 않을 가능성이 높습니다.

    평범한 코더에서 멋진 개발자로 변신하는 방법은 무엇입니까?  컴퓨터 공학 학습 - 4
  3. 하나의 코스에만 국한하지 마세요

    아무리 좋은 강좌라도 한 강좌에서 해당 과목에 필요한 모든 지식을 얻을 수 있을 것이라고 기대하지 마십시오. 주제에 대한 더 넓은 이해를 얻으려면 적어도 여러 출처의 정보를 참조하는 것이 항상 가장 좋습니다.

  4. 같은 생각을 가진 사람들을 찾아보세요

    조금 진부하게 들리겠지만 인생에서 다른 많은 일을 하는 것처럼 효과적으로 학습하는 것은 같은 생각을 가진 사람들의 그룹의 일원으로 수행하는 것이 가장 좋습니다. CS를 공부할 그룹을 찾는 것은 여러 가지 이유로 유익할 수 있습니다. 이를 통해 더욱 효과적으로 배우고, 과제와 문제를 함께 해결하고, 학습 진행 상황과 새로운 지식을 적용하는 기술을 다른 사람들과 비교할 수 있습니다.

  5. 단지 코드가 아닌 단어를 쓰는 법을 배우세요

    기술을 향상하고 전문적인 수준을 향상시키기 위해 CS를 공부하는 프로그래머를 위한 많은 전문가의 또 다른 일반적인 조언: 쓰기(코드 아님), 즉 문장에 단어를 넣고 문장에서 텍스트를 구성하는 방법을 배우십시오. 이 기술은 모든 개발자에게 매우 중요하며, 이 기술이 없으면 컴퓨터 과학 연구뿐만 아니라 직업으로서의 프로그래밍의 다른 측면에서도 발전을 방해할 것입니다.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION