JavaRush /وبلاگ جاوا /Random-FA /چگونه از یک کدنویس معمولی به یک توسعه دهنده باحال تبدیل ش...

چگونه از یک کدنویس معمولی به یک توسعه دهنده باحال تبدیل شویم؟ یادگیری علوم کامپیوتر

در گروه منتشر شد
دنیای مدرن IT و توسعه نرم افزار بسیار سخت است - الزامات بالا برای صلاحیت کدنویسان، تغییرات مداوم و رقابت فزاینده متخصصان شاغل در این زمینه را مجبور می کند که دائماً خود را آموزش دهند و توسعه دهند. حتی برای اینکه بتوانید به سادگی یک متخصص مورد نظر باقی بمانید، به یادگیری مداوم نیاز است، زیرا "پشت سر زندگی" به آسانی پوست اندازی گلابی است. چگونه از یک کدنویس معمولی به یک توسعه دهنده باحال تبدیل شویم؟  یادگیری علوم کامپیوتر - 1در انتشارات JavaRush، ما سعی می کنیم به خوانندگان کمک کنیم تا به طور کامل توسعه یافته و خودآموز شوند تا در دنیای وسوسه انگیز توسعه IT تا حد امکان رقابتی شوند. در مقاله امروز ما در مورد خودآموزی در یک رشته بسیار گسترده - علوم کامپیوتر صحبت خواهیم کرد. ما اندکی بعد به آنچه دقیقاً در مفهوم علوم کامپیوتر (CS) گنجانده شده است نگاه خواهیم کرد، اما در حال حاضر سعی می کنیم به این سوال پاسخ دهیم: در واقع چرا یک برنامه نویس باید موضوعات CS را یاد بگیرد و برای پیشرفت در این زمینه تلاش کند. .

علوم کامپیوتر - چرا تدریس کنیم؟

"برنامه نویسی چیزی نیست که شما بدانید. این چیزی است که می توانید بفهمید.» کریس پاین، کارشناس برنامه نویسی، نویسنده کتاب و آموزش. از برخی جهات، برنامه نویسی مانند طراحی است. در ابتدا فقط یک بوم و مواد خالی دارید. شما باید از ترکیبی از علم، هنر و صنعت استفاده کنید تا بفهمید با همه اینها چه باید کرد.» اندرو هانت، نویسنده کتاب پرفروش برنامه‌نویس عمل‌گرا و یکی از نویسندگان مانیفست چابک. درک اینکه ما به کجا می رویم دشوار نیست. برای تبدیل شدن به یک برنامه نویس واقعا خوب، یا به سادگی برای بالا رفتن حداقل یک پله بالاتر از یک کدنویس معمولی، باید علاوه بر خود زبان های برنامه نویسی، گسترده ترین و در عین حال نسبتاً عمیق ترین دانش را در زمینه های مختلف داشته باشید. و تسلط بر رشته های موجود در مفهوم CS یکی از اولین مکان ها در اینجا است.

رشته های علوم کامپیوتر

بیایید ببینیم چه موضوعاتی در رشته علوم کامپیوتر گنجانده شده است. به توضیحات کوتاه رشته‌ها با دلایل مطالعه آنها، توصیه‌هایی برای بهترین کتاب و بهترین سری سخنرانی‌های ویدیویی رایگان در این زمینه از احتمالاً بهترین راهنمای انگلیسی زبان علوم کامپیوتر، نوشته Oz Nova و Myles اضافه می‌کنیم. بیرن، معلمان دانشکده علوم کامپیوتر بردفیلد در سانفرانسیسکو.
  • برنامه نويسي

    برنامه نویسی اساس و رشته اصلی علوم کامپیوتر است؛ اکثر دانشجویان مطالعه دوره CS را با آن شروع می کنند. بهترین دوره های برنامه نویسی CS نه تنها برای مبتدیان، بلکه برای کدنویسان باتجربه که ممکن است در هنگام یادگیری آن برای اولین بار مفاهیم و مدل های برنامه نویسی خاصی را از دست داده باشند، مفید خواهد بود.

    Лучшая книга: “Структура и интерпретация компьютерных программ” (Structure and Interpretation of Computer Programs). Authorы: Джеральд Сассман (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 است زیرا زیربنای بیشتر برنامه های مهم است، اما تعداد کمی از مردم می دانند که سیستم های پایگاه داده واقعا چگونه کار می کنند.

    بهترین کتاب: خواندن در سیستم های پایگاه داده. نویسندگان: جوزف ام. هلرستین و مایکل استون برکر.

    بهترین سخنرانی ویدیویی: Joe Hellerstein's Berkeley CS 186 Как из обычного codeера стать крутым разработчиком? Изучаем Computer Science - 2

  • زبان ها و کامپایلرها

    درک نحوه عملکرد زبان های برنامه نویسی و کامپایلرها به شما امکان می دهد مهارت های کد و برنامه نویسی خود را بهبود بخشید. همچنین یادگیری زبان‌های جدید را آسان‌تر می‌کند، که در درازمدت برای هر توسعه‌دهنده‌ای بسیار مهم است.

    بهترین کتاب: گردآورندگان: اصول، تکنیک ها و ابزار. نویسندگان: آلفرد آهو، مونیکا اس لام، راوی ستی، جفری اولمن.

    بهترین سخنرانی ویدیویی: دوره آموزشی الکس آیکن در مورد لاگونیتا

  • سیستم های توزیع شده

    این روزها اکثر سیستم ها توزیع می شوند. رایانه ها و برنامه ها پیچیده تر می شوند و دانش سیستم های توزیع شده برای اطمینان از اجرای صحیح و روان نرم افزار شما مفید خواهد بود.

    بهترین کتاب: سیستم های توزیع شده، ویرایش سوم. نویسندگان: Maarten van Steen و Andrew S. Tanenbaum.

    بهترین سخنرانی ویدیویی: CS 436: Distributed Computer Systems

نکاتی برای تحصیل در رشته کامپیوتر

و در آخر، چند توصیه برای کسانی که قصد شروع تحصیل در رشته های CS را دارند. Как из обычного codeера стать крутым разработчиком? Изучаем Computer Science - 3
  1. توسعه مهارت های عملی در رشته های CS

    یکی از مزایای CS مانند سایر دوره های IT این است که مهارت های نظری که به تازگی کسب کرده اید را می توان بلافاصله در عمل به کار برد. این را فراموش نکنید و تئوری را با عمل جایگزین کنید تا به بهترین نتایج برسید.

  2. معطل نکنید

    علوم کامپیوتر یک موضوع نسبتاً پیچیده است که مطالعه آن برای افراد کمی آسان است، به خصوص در ابتدا. به همین دلیل است که هنگام شروع مطالعه رشته های CS، باید از اهمال کاری خودداری کنید - تسلط بر نظریه، حل مسئله و تمرین را به بعد موکول نکنید، زیرا این کار نه تنها یادگیری را بسیار طولانی می کند، بلکه به احتمال زیاد به همان اندازه موثر نخواهد بود.

    Как из обычного codeера стать крутым разработчиком? Изучаем Computer Science - 4
  3. خودتان را به یک دوره محدود نکنید

    انتظار نداشته باشید که بتوانید تمام دانشی را که در یک درس نیاز دارید، هر چقدر هم که خوب باشد، از یک درس به دست آورید. همیشه بهترین کار این است که حداقل از چندین منبع اطلاعاتی برای به دست آوردن درک وسیع تری از موضوع استفاده کنید.

  4. افراد همفکر پیدا کنید

    کمی پیش پا افتاده به نظر می رسد، اما یادگیری موثر، مانند انجام بسیاری از کارهای دیگر در زندگی، بهتر است به عنوان بخشی از گروهی از افراد همفکر انجام شود. یافتن گروهی برای مطالعه CS به دلایل مختلفی می تواند مفید باشد. این به شما کمک می کند تا به طور موثرتر یاد بگیرید، وظایف و مشکلات را با هم حل کنید، پیشرفت یادگیری و مهارت های خود را در به کارگیری دانش جدید با دیگران مقایسه کنید.

  5. یاد بگیرید که کلمات بنویسید، نه فقط کد

    یکی دیگر از توصیه های رایج بسیاری از کارشناسان برای برنامه نویسانی که CS را مطالعه می کنند تا مهارت های خود را بهبود بخشند و سطح حرفه ای خود را ارتقا دهند: یاد بگیرند که بنویسند (نه کد)، یعنی کلمات را در جملات قرار دهند و متن هایی را از جملات بسازند. این مهارت برای هر توسعه دهنده ای بسیار مهم است و نبود آن نه تنها در مطالعه علوم کامپیوتر، بلکه در سایر جنبه های برنامه نویسی به عنوان یک حرفه نیز مانع پیشرفت خواهد شد.

نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION