¿Debo tomar un curso de estructura de datos y algoritmos antes de aprender cualquier lenguaje de programación? ¿Es importante entender la programación?

Haces un punto interesante, pero yo diría que no empieces con un lenguaje fácil de aprender, pero hazlo en tu propio tiempo / centavo en lugar de pagar la matrícula. Sugeriría python 2.x a menos que ya tenga experiencia con algún otro idioma o una razón convincente para elegir un idioma diferente.

Ese es el resumen ejecutivo, el resto de mis respuestas expone mi razón de ser.

Necesita al menos un lenguaje de computadora que conozca lo suficientemente bien como para escribir pequeñas porciones de código para probar las ideas en el curso. Hay un aspecto de pollo / huevo en su pregunta. Si primero toma el curso de estructuras de datos y algoritmos, es probable que obtenga más beneficios de cualquier clase de idioma posterior. Por otro lado, tener al menos un idioma en el que pueda jugar con los conceptos presentados en el curso de estructuras de datos tiene un beneficio similar.

Como camino intermedio, sugiero retomar los conceptos básicos de un lenguaje “fácilmente accesible” para que tenga herramientas suficientes para jugar con las ideas presentadas en la clase de estructuras de datos.

Esto no significa convertirse en un experto en ese idioma. Solo los conceptos básicos del flujo de control, etc. No se preocupe por las bibliotecas avanzadas porque la idea es poder implementar sus propias implementaciones para maximizar la comprensión.

Un desarrollador real no reinventaría la rueda de esa manera cuando pudiera usar una solución lista para usar, pero eso anularía el propósito del ejercicio, que es tener un banco de pruebas para jugar con las ideas del curso.

Ahora, ¿qué quiero decir con “fácilmente accesible” algunos criterios:

  1. Curva de aprendizaje baja o nula
  2. Gastos de bolsillo bajos o nulos
  3. Temporalmente Relevante
  4. Máxima productividad

Si ya conoce un idioma que satisface 1. Si no, elija algo fácil de aprender. No desea gastar dinero y no debería tener que disfrutar de sus muchos entornos de desarrollo agradables que tienen ediciones de “comunidad” o que de otro modo son gratuitas en Internet. El número 3 significa evitar los idiomas especializados o moribundos, también podría elegir un idioma que sea ampliamente utilizado y que esté creciendo en popularidad. Finalmente, 4 aborda el punto de que no quieres un lenguaje que se interponga en tu camino cuando tratas de jugar con estas ideas. C ++ es un ejemplo de una elección potencialmente mala, tiene una curva de aprendizaje empinada y una sintaxis gruesa que tiende a interferir a veces, especialmente para un principiante cuyo objetivo principal es aprender.

En realidad es una situación de hacer ambas cosas al mismo tiempo. Esa es literalmente la mejor manera de hacerlo. El idioma que aprende para poder practicar lo que está aprendiendo sobre DS & Algo. Con DS & Algo, aprende a ser capaz de descubrir cómo diseñar los programas que va a escribir en el idioma.

Es “posible” hacer esto por separado, pero extremadamente engorroso y / o hit-n-mis. Por ejemplo, aprender DS y Algo solo a través de la teoría significa que solo estás pensando en ellos de manera abstracta y no ves realmente lo que está sucediendo. La mayoría de los cursos al menos harían algo como ejemplos de pseudocódigo (es decir, algún lenguaje de programación simplificado para indicar los conceptos en lugar de uno real que realmente pueda hacer un programa).

Pero desde el otro lado, aprender solo el idioma … esto significa que en realidad no aprendes a programar. Es exactamente como aprender a escribir una novela solo aprendiendo sobre gramática y ortografía. No significa nada cuando en realidad estás tratando de descubrir cómo inventar la historia en sí. Por lo tanto, todos los buenos cursos de idiomas también se combinan con el DS / Algo (al menos con sus conceptos básicos) para explicar cómo se supone que debe diseñarse el programa.

Si encuentra algún curso que solo hace el uno y absolutamente nada del otro, entonces ese curso no está destinado a comenzar a programar (más bien a mostrar a programadores experimentados que hacen algo diferente, por ejemplo, un nuevo lenguaje o un paradigma diferente). O peor, es un curso muy malo y no vas a ser bueno programando nada después de eso.

Los programadores escriben código, mucho código. Después de escribir tanto código, se encuentran escribiendo el mismo código una y otra vez. Se encuentran resolviendo varios problemas de la misma manera. Así nacieron “estructuras de datos y algoritmos”. Nunca fue creado para entender la programación, es el resultado de la programación.

Si escribe algún código durante un período de tiempo, Christopher-Columb habrá utilizado al menos 1 algoritmo.

Por ejemplo, “aprenderá” sobre el patrón singleton.
En realidad es bastante tonto. Esto es algo que usas cuando quieres tener 1 objeto instanciado (aprenderás lo que eso significa a la mitad de cualquier libro de programación)

En resumen: solo busque un libro de programación y comience 🙂

No veo cómo podría comprender las estructuras de datos y los algoritmos en profundidad sin implementarlos, por lo que estoy en total desacuerdo con todas las personas que dicen que los lenguajes no importan solo los asuntos de programación. Sin un lenguaje de programación, no puede comunicarse con su computadora. Si no puede comunicarse con su computadora, aprender pseudocódigo no es terriblemente útil por sí solo.

Tomé mi primera clase sobre algoritmos y estructuras de datos después de codificar profesionalmente durante casi un año; Sabía lo suficiente para sobrevivir, pero nunca tuve entrenamiento formal. La clase fue muy fácil para mí en comparación con mis compañeros, ya que no estaba buscando un código para compilar además de aprender nuevo material para los proyectos de codificación. Simplemente podía leer el pseudocódigo y traducirlo al idioma con el que nos dieron para trabajar, centrándome casi por completo en aprender la teoría, no la implementación.

La programación consiste en escribir algoritmos utilizando estructuras de datos en un lenguaje que la computadora entienda, por lo que obtendrá una comprensión básica de algoritmos y estructuras de datos cuando aprenda cualquier lenguaje de programación.

¿Necesita tomar un curso de estructura de datos y algoritmos antes? No, no lo necesitas. La programación es fácil y divertida.

Puede tomar el algoritmo y las estructuras de datos para mejorar su calidad como programador. Para algunas entrevistas de trabajo, esto es muy necesario.

Sí, pero te recomiendo que primero aprendas cierto idioma y luego aprendas la estructura de datos y el algoritmo. Así es como la mayoría de las universidades se establecen como currículos después de todo …

Es importante aprender cualquier idioma primero antes de comenzar con los demás, porque necesitan lenguaje para compilar (mostrar algunos resultados, implementar). Aunque algunas estructuras se superponen, muchas están especializadas en cierto lenguaje.

Las estructuras de datos requieren ser implementadas y obviamente no puede hacerlo si no comprende la programación.

La gran mayoría de la estructura de datos también requiere que se sienta cómodo leyendo pseudocódigo para comprender realmente lo que está haciendo el ds.

Por otro lado, los algoritmos son un poco más abstractos y de todos modos podrías obtener la esencia. Pero, de nuevo, para comprender realmente un algoritmo, debe usarlo e implementarlo.

Te recomiendo que primero aprendas a programar.

Creo que esta pregunta está dirigida a estudios relacionados con la informática. Personalmente, no sé cómo alguien puede evitar aprender programación en la vida.

Si desea preparar café, debe programar su cafetera. Si desea grabar un programa de televisión, debe programar su receptor. Si desea tomar fotografías de calidad con su cámara digital, debe programarla. Casi todos los electrodomésticos que encuentra en un hogar son programables. Incluso los automóviles de hoy tienen opciones programables.

Las estructuras de datos y los algoritmos son piezas del rompecabezas en la programación. Los lenguajes de programación de computadoras son interesantes y algunos tienen fortalezas muy diferentes dependiendo de lo que quieras lograr.

Si no tiene interés, busque otro campo para estudiar.

Espero que esto ayude. Buena suerte.

Si, definitivamente. La programación no es solo codificación pura, un buen software tiene mucha planificación.

Puede ‘entender’ un programa, pero supongo que su pregunta es: ¿podrá crear el suyo propio?

Por supuesto, puede comenzar a aprenderlos mediante la práctica y la experiencia, pero realmente puede ayudar si ya sabe qué y por qué lo está haciendo.

No hay obligación de aprender un lenguaje de programación que ya esté familiarizado con la estructura de datos. Comencé Java como mi primer lenguaje de programación y me muevo paso a paso después de eso. Por lo tanto, puede comenzar fácilmente una codificación si está interesado en la codificación.

Aquí hay un enlace donde comencé mi entrenamiento en Java cuando era nuevo en la programación.

Software, servicios y entrenamiento

o en youtube

En mi opinión, primero debe aprender un lenguaje de programación, luego debe optar por la estructura de datos porque la implementación de la estructura de datos con un lenguaje es importante para aprenderlo correctamente. Te sugiero lenguaje C básico si eres un principiante. Luego estructura de datos usando C.

si. la estructura de datos y los algoritmos son los más importantes

La estructura de datos es importante para la programación, a través de la estructura de datos solo podemos manipular los datos. Entonces, para programar la estructura de datos es lo más importante.

Una palabra de respuesta

SI

Lea muchas de mis otras respuestas si desea más detalles.