JavaRush /Java Blog /Random-IT /Come trasformarsi da un normale programmatore in un fanta...

Come trasformarsi da un normale programmatore in un fantastico sviluppatore? Imparare l'informatica

Pubblicato nel gruppo Random-IT
Il mondo moderno dell'IT e dello sviluppo software è piuttosto duro: requisiti elevati per le qualifiche dei programmatori, cambiamenti costanti e crescente concorrenza costringono gli specialisti che lavorano in questo campo a istruirsi e svilupparsi costantemente. Anche per rimanere semplicemente uno specialista ricercato è necessario un apprendimento continuo, perché “lasciarsi alle spalle la vita” è facile come sgusciare le pere. Come trasformarsi da un normale programmatore in un fantastico sviluppatore?  Imparare l'informatica - 1Nelle pubblicazioni su JavaRush, cerchiamo di aiutare i lettori a svilupparsi pienamente e ad apprendere da soli per diventare il più competitivi possibile nell'allettante mondo dello sviluppo IT. Nell'articolo di oggi parleremo di autoeducazione in una disciplina molto ampia: l'informatica. Un po 'più tardi vedremo cosa è esattamente incluso nel concetto di informatica (CS), ma per ora proviamo a rispondere alla domanda: perché, in effetti, un programmatore dovrebbe apprendere materie CS e sforzarsi di migliorare in quest'area .

Informatica: perché insegnare?

“La programmazione non è qualcosa che conosci. È qualcosa che puoi capire. Chris Pine, esperto di programmazione, autore di libri e tutorial. “In un certo senso, programmare è come disegnare. All'inizio hai solo una tela bianca e materiali. È necessario utilizzare una combinazione di scienza, arte e artigianato per capire cosa fare con tutto questo”. Andrew Hunt, autore del libro bestseller The Pragmatic Programmer e coautore del Manifesto Agile. Non è difficile capire dove stiamo andando. Per diventare un programmatore davvero bravo, o semplicemente salire almeno un gradino sopra un normale programmatore, è necessario possedere la conoscenza più ampia e allo stesso tempo abbastanza approfondita in vari ambiti, oltre ai linguaggi di programmazione stessi. E la padronanza delle discipline incluse nel concetto di CS è uno dei primi posti qui.

Discipline informatiche

Diamo un'occhiata a quali materie sono incluse nel campo dell'informatica. Alle brevi descrizioni delle discipline con le ragioni per studiarle, aggiungeremo consigli per il miglior libro e la migliore serie di videolezioni gratuite sull'argomento tratte, forse, dalla migliore guida in lingua inglese all'informatica, scritta da Oz Nova e Myles Byrne, insegnanti della School of Computer Science Bradfield di San Francisco.
  • Programmazione

    La programmazione è la base e la disciplina fondamentale dell'informatica; la maggior parte degli studenti inizia a studiare il corso di informatica con essa. I migliori corsi di programmazione CS saranno utili non solo per i principianti, ma anche per programmatori esperti che potrebbero aver perso alcuni concetti e modelli di programmazione quando lo hanno imparato per la prima volta.

    Miglior libro: “Struttura e interpretazione dei programmi informatici”. Autori: Gerald Sussman e 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 на самом деле работают системы баз данных.

    Miglior libro: Letture nei sistemi di database. Autori: Joseph M. Hellerstein e Michael Stonebraker.

    Miglior conferenza video: Berkeley CS 186 di Joe Hellerstein Come trasformarsi da un normale programmatore in un fantastico sviluppatore?  Imparare l'informatica - 2

  • Linguaggi e compilatori

    Comprendere come funzionano tecnicamente i linguaggi di programmazione e i compilatori ti consente di migliorare il tuo codice e le tue capacità di programmazione. Inoltre, semplifica l'apprendimento di nuove lingue, il che è di fondamentale importanza per qualsiasi sviluppatore a lungo termine.

    Miglior libro: Compilatori: principi, tecniche e strumenti. Autori: Alfred Aho, Monica S. Lam, Ravi Sethi, Jeffrey Ullman.

    Miglior video conferenza: il corso di Alex Aiken su Lagunita

  • Sistemi distribuiti

    Al giorno d'oggi, la maggior parte dei sistemi sono distribuiti. I computer e i programmi stanno diventando sempre più complessi e la conoscenza dei sistemi distribuiti sarà utile per garantire che il software funzioni correttamente e senza intoppi.

    Miglior libro: Sistemi distribuiti, 3a edizione. Autori: Maarten van Steen e Andrew S. Tanenbaum.

    Miglior lezione video: CS 436: Sistemi informatici distribuiti

Suggerimenti per studiare informatica

E infine qualche consiglio per chi ha intenzione di iniziare a studiare le discipline CS. Come trasformarsi da un normale programmatore in un fantastico sviluppatore?  Imparare l'informatica - 3
  1. Sviluppare abilità pratiche nelle discipline CS

    Uno dei vantaggi di CS, come di altri corsi di informatica, è che le competenze teoriche appena acquisite possono essere immediatamente messe in pratica. Non dimenticartene e alterna la teoria con la pratica per ottenere i migliori risultati.

  2. Non procrastinare

    L'informatica è una materia piuttosto complessa, il cui studio è facile per poche persone, soprattutto all'inizio. Ecco perché, quando si inizia a studiare le discipline CS, è necessario evitare di procrastinare: non rimandare la padronanza della teoria, della risoluzione dei problemi e della pratica a più tardi, poiché ciò non solo renderà l'apprendimento molto lungo, ma molto probabilmente non sarà altrettanto efficace.

    Come trasformarsi da un normale programmatore in un fantastico sviluppatore?  Imparare l'informatica - 4
  3. Non limitarti a un corso

    Non aspettarti di poter acquisire tutta la conoscenza di cui hai bisogno su una materia da un corso, non importa quanto sia valido. È sempre meglio consultare almeno diverse fonti di informazione per acquisire una comprensione più ampia dell'argomento.

  4. Trova persone che la pensano allo stesso modo

    Sembra un po’ banale, ma imparare in modo efficace, come fare molte altre cose nella vita, è meglio farlo come parte di un gruppo di persone che la pensano allo stesso modo. Trovare un gruppo con cui studiare CS può essere utile per una serie di motivi. Ciò ti aiuterà a imparare in modo più efficace, a risolvere compiti e problemi insieme, a confrontare i tuoi progressi di apprendimento e le tue abilità nell'applicare nuove conoscenze con gli altri.

  5. Impara a scrivere parole, non solo codice

    Un altro consiglio comune di molti esperti a quei programmatori che studiano CS per migliorare le proprie capacità e migliorare il proprio livello professionale: imparare a scrivere (non a programmare), cioè a mettere le parole in frasi e comporre testi da frasi. Questa abilità è abbastanza importante per qualsiasi sviluppatore e la sua assenza ostacolerà il progresso non solo nello studio dell'informatica, ma anche in altri aspetti della programmazione come professione.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION