¿Necesito aprender ciencias de la computación antes de poder aprender programación?

Respuesta corta, no, no lo haces. La mayoría de la gente que conozco es en gran parte autodidacta.

Respuesta larga:
Sí, porque te ayudará.

La gente piensa que aprender a programar tiene que ver con “Writin teh coedz”, pero en realidad no lo es.

El código de escritura es, sin duda, una gran parte de todo, no hay dos maneras de hacerlo, pero una cosa que aprender del arte de la “Ingeniería de Software” es enseñarle a pensar de cierta manera.

Tomar, soy un desarrollador de software profesional, y consultor.

¿Qué significa exactamente ese título sin embargo?

Bueno, no mucho, es solo un título en lo que a mí respecta.

Si me pregunta dónde es exactamente mi trabajo real, le diría que soy un tecnólogo, que hace buen uso de la TI para resolver problemas.

y eso estaría más cerca de la verdad que cualquier otro título que haya tenido en los más de 30 años que llevo haciendo esto.

Entonces, ¿qué tiene esto que ver con responder la pregunta?

Bastante … Soy un solucionador de problemas debido a la forma en que pienso, y la forma en que creo que ha sido moldeada por una combinación de autoaprendizaje y educación formal basada en tecnología.

Me ayudó absolutamente haciendo varios cursos de aprendizaje basados ​​en CS, pero también aprendí mucho de las experiencias de trabajo en la industria.

Sin embargo, ¿observa que no estoy usando “Ciencias de la Computación” como un término fijo en esto?

Eso es porque es demasiado amplio. Para aprender Ciencias de la Computación es necesario aprender todas las ramas y disciplinas, y no

En mi opinión, en la actualidad no existe nada más que “Informática”, a pesar de que muchos establecimientos educativos todavía lo utilizan, en su lugar, trata de limitar tu enfoque.

Si desea escribir software, busque cursos basados ​​en “Ingeniería de software”. Si desea realizar trabajos de reparación, busque cursos basados ​​en hardware.

En resumen:

No tiene que estudiar ninguna información específica, pero ayudará a su comprensión en gran medida si lo hace.

La respuesta corta es no, no necesitas un título de CS para convertirte en programador, pero hay algunas advertencias.

Mucha gente parece pensar que necesitas iniciar un programa de CS en alguna universidad para aprender estructuras de datos, algoritmos y cualquier tema de CS avanzado. Eso simplemente no es cierto. Puedes aprender todo lo que te enseñen en estos cursos a través de libros o material en línea. La principal diferencia entre los enfoques (desde una perspectiva de aprendizaje) es que uno está guiado, el otro no. La otra gran diferencia es el costo 🙂

Tomar un programa de CS es más que probable que te “obligue” a aprender temas que quizás no hayas considerado, pero de ninguna manera es la única forma de aprender esos temas.

Entonces, si bien puedes aprender a programar y cualquier tema de informática por tu cuenta (quizás con un poco más de dificultad, pero manejable), la gran advertencia es que algunos empleadores simplemente no te mirarán si no tienes un título de CS. Algunos son muy estrictos en este hecho. He tenido experiencias en las que los empleadores simplemente se negarían a hablar conmigo porque estaba a solo 2 clases de obtener mi título, a pesar de tener experiencia freelance. ¿Esas dos clases hicieron una diferencia en mi capacidad para hacer mi trabajo? De ningún modo. Es solo una realidad de la mentalidad de algunas personas. Para mí, la elección fue fácil: tomar las dos clases y seguir adelante. Pero si ni siquiera has empezado, será más difícil. Hay lugares que van completamente por mérito solo, pero es posible que tenga más problemas para encontrarlos.

De ningún modo. Para bien o para mal, la programación es bastante accesible sin ningún trasfondo en las teorías de computación.

Pero le sugiero que si descubre que le gusta la programación, comience rápidamente a aprender esos fundamentos. La programación de aficionados es excelente y nunca desalentaría a las personas que la persiguieran si la disfrutan, pero si sus ambiciones se extienden, o llegan a extenderse, a hacer una carrera profesional, entonces nos corresponde a usted, a mí y a cualquiera que pueda usar los resultados. de su trabajo de programación profesional, ya sea directa o indirectamente, para comprender las teorías y los principios de la informática.

Muchas personas las aprenden de forma independiente y muchas otras las aprenden simultáneamente. La informática le enseña algoritmos y estructuras de datos que le permiten resolver problemas comunes de programación de manera eficiente.

Sin una formación en ciencias de la computación (o al menos sin aprender algoritmos y estructuras de datos de manera independiente) a menudo terminará creando soluciones que funcionan bien en conjuntos de datos pequeños, pero que son ineficientes o incluso imposiblemente lentos para conjuntos de datos más grandes.

Definitivamente no es necesario que lo aprendas antes de poder comenzar a codificar. Comencé a hablar antes de comenzar a aprender oficialmente CS. Dicho esto, creo que CS lo preparará para poder resolver una gama más amplia de problemas más complejos. Pero puede ser un excelente programador, excelente sin entender toda la teoría, y de hecho diría que muchos científicos informáticos pueden escribir código mal mantenido o mal mantenido porque se preocupan más por los conceptos que por el código.

El orden no importa ya que no hay un orden, por así decirlo, que no se ajuste a los modelos de semestre académico. Es una de mis manías con muchos de los títulos que requieren habilidades prácticas de TI. Retrasan los cursos para las habilidades prácticas de TI y son cortos en la exposición.

Probablemente escogerás de los temas de informática. Esto ha sido implicado por otros carteles.

Por ejemplo, el conocimiento del uso de sistemas operativos puede ser muy útil para programar que es la línea de comandos como en el terminal en MacOS o en la ventana de comandos en MS.

Entonces, un día podría encontrar útil conocer UML (Lenguaje de modelado unificado).

Algunas programaciones requieren un conocimiento específico de otras tecnologías. Si está programando para dispositivos de red, por ejemplo, o un sistema operativo.

Un ejemplo simple es que la programación en una página web requiere el conocimiento de los Modelos de objetos de documentos del navegador y cómo usarlos.

Muchas sesiones de programación terminan con un conjunto de habilidades y cuando comienzas otra, hay algo nuevo que todos quieren usar y que debes aprender. La única constante es la programación de conceptos y la capacidad de aplicarlos.

No soy de ninguna manera un experto, y mi conocimiento en este campo es escaso, pero soy bastante bueno en metáforas. De lo que aprendí, la informática a la programación es lo que la teoría musical es tocar música. Solo necesitas aprender unos pocos acordes en una guitarra y ser realmente bueno tocando de oído para ser un “guitarrista” decente (creo que hay más que eso pero estoy simplificando por el bien de las metáforas) sin tener una Buen conocimiento de la teoría musical. Sin embargo, a pesar de la naturaleza abstracta de la teoría musical, es realmente útil para la reproducción de música y se puede aplicar para hacer cosas más avanzadas como componer y transponer a otra escala o instrumento, le dará flexibilidad y le dará una ventaja en una música hipercompetitiva. campo. La informática y la programación son más o menos así.

No, no necesariamente. Tiendes a recoger algunos de los principios en el camino. Sin embargo, la criptografía es un principio de CS importante que deberá conocer. Como si afectara la programación del día a día.

Pero realmente depende de en qué tipo de programación estés tratando de entrar. Programación comercial. Es decir, trabajar en programación para una empresa, hacer software o aplicaciones web. Aparte de la criptografía tal vez, y algunos otros principios básicos de seguridad; Probablemente no necesite saber mucho sobre CS.

Si te estás involucrando en la ciencia de datos, el big data o la programación científica, entonces probablemente necesites saber más sobre CS.

No De hecho, saber cómo programar a priori le será muy útil cuando estudie CS, ya que sería capaz de comprender mejor algunos de los conceptos abstractos.

Sin embargo , saber cómo programar es análogo a estar alfabetizado. Todavía no te hace un escritor. Para eso es CS (es decir, matemáticas y algoritmos).

Bueno, la informática es un campo muy amplio que incluye la programación.

La respuesta general a esta pregunta es no. De hecho, la programación se utiliza a menudo como un medio para introducir conceptos importantes en la informática, por ejemplo, Introducción a la informática utilizando Python: un enfoque de resolución de problemas computacional.

NO

No es necesario aprender ninguna teoría de la composición musical antes de poder tocar un instrumento. Usted se beneficiaría de los conceptos básicos de poder leer partituras, pero no necesita saber por qué una canción determinada está mejor estructurada de una determinada manera o cuál debería ser el siguiente acorde.

No es necesario estudiar la química de los combustibles o ser metalúrgico antes de aprender a ser mecánico.

Hay una cantidad muy pequeña de comprensión requerida para aprender programación.

Una de las grandes ideas erróneas que se desprenden de (creo) el siglo veinte es que hay algún tipo de orden estricto en el que los sujetos deben aprenderse.

Un programador eventualmente necesita entender por qué las cosas actúan de la manera en que lo hacen para ser efectivas más allá de cierto punto, pero no hay razón para creer que uno debe aprenderse antes que el otro.

No. Muchas personas se están enseñando a sí mismas cómo aprender lenguajes de programación o asistir a un campo de entrenamiento de 2-3 meses. Haga una búsqueda rápida en quora para más información.