¿Puedo aprender programación informática durante medio año?
De hecho, no hace falta decir demasiado. Hágase algunas preguntas. Si puedes hacerlos todos o estudiar entre medio mes y dos meses, debes haber cumplido con el estándar:
1. ¿Puedo hacer un juego de rol 2D en C? (C combinado con api o framework)
2. ¿Puedo usar C para escribir cuatro analizadores de expresiones aritméticas en más de tres formas? (La capacidad de combinar C con estructuras de datos y algoritmos)
3. ¿Se puede escribir en C una biblioteca simplificada similar a STL? (La combinación de capacidades de diseño de biblioteca y marco y capacidades de aplicación de sintaxis avanzada en C)
Suplementario:
1. importante para trabajos bien remunerados en la industria de TI importancia.
(2) Tienes un fuerte sentido de propósito (saber más profundamente), pero también quieres tener una meta más clara. Puedo decirte cómo encontrar tus propios objetivos y rutas, cómo aprender.
(3). El campo profesional de la informática * * * tiene varias direcciones generales, más de una docena de subdirecciones y cada subdirección tiene docenas de direcciones pequeñas. El aprendizaje profundo y el dominio en cada dirección no se lograrán de la noche a la mañana, y no están completamente desconectados entre sí, pero ahora debe elegir una dirección general y profundizar en uno de los cuadrados pequeños (¿por qué elegir una dirección de rama específica? tan temprano? Hablaré de eso más tarde).
(4), las siguientes son varias direcciones generales de las computadoras (no hablaré sobre desarrollo sin programación):
Instrucciones básicas:
1, MCU, dirección integrada
2. Programación de red: involucra programas de servidor, desarrollo de clientes, diseño de scripts, etc.
3. Programación del sistema: desarrollo de API básicas, desarrollo de escritorio, desarrollo de programas del sistema y programas de servicio.
4. Gráficos: tridimensionales, 2D, reconocimiento de imágenes y reconocimiento facial.
5. Audio: reconocimiento de voz, decodificación de audio y software de audio.
6. Principio de compilación: diseño de compilador, intérprete de scripts, máquina virtual, sistema de traducción de lenguaje no natural.
7. Desarrollo de la capa de aplicaciones: Utilice lenguajes de alto nivel para desarrollar aplicaciones a nivel de superficie.
8. Seguridad: antiingeniería, virus, antivirus, caballo de Troya, anti-troyano, craqueo de software, empaquetado de software.
Instrucciones adicionales:
8. Inteligencia artificial: algoritmo genético, red neuronal, sistema gris, etc.
9. Diseño de juegos: diseño de varios motores de juegos y diseño de lógica empresarial, etc.
⑤ Debes elegir la dirección básica. Las instrucciones adicionales son solo la guinda del pastel según la dirección básica. Pero no importa cómo elijas, debes profundizar en algo al principio en lugar de solo. comprensión (por supuesto, sus requisitos para usted mismo no parecen ser muy bajos). Permítanme enumerar esto:
Estructuras de datos: la base de las siguientes otras teorías.
Principios del sistema operativo: solo comprendiendo la arquitectura y los detalles del sistema operativo se puede tener una comprensión y aplicación correctas de subprocesos múltiples, administración de archivos, administración de memoria y prioridad de instrucciones en trabajos futuros.
Principios de compilación: puede sublimar su comprensión de los lenguajes de programación de computadoras y tener una comprensión profunda de varios algoritmos de compilación, interpretación, compatibilidad, trasplante, optimización, concurrencia y paralelo que aparecerán en el futuro.
Principio del sistema de base de datos: es imprescindible para cualquiera que ingrese a una empresa y también es la base para el desarrollo de software a gran escala.
Ingeniería de software: Es la base teórica para garantizar la normal realización de grandes proyectos sin la suficiente experiencia.
Tecnología de red: Esto es imprescindible, porque actualmente casi no existen software o plataformas con alta probabilidad de instalación que no tengan que ver con la red.
Matemáticas, incluye principalmente: matemáticas discretas, álgebra lineal, matemáticas avanzadas, infografía y teoría de probabilidades.
Los conceptos básicos anteriores son lo que debes aprender para convertirte en una persona que integre las ramas principales (por supuesto, no teoría, sino teoría y capacidad práctica de codificación).
⑥Todos los anteriores son fundamentos básicos y debemos analizarlos uno por uno y realizar una investigación en profundidad. Aunque la experiencia en informática está en auge en la era de Internet, después de dominar los fundamentos anteriores, descubrirá que cualquier teoría y tecnología nueva en el futuro se basa en estos fundamentos y los comprenderá fácilmente.
⑦¿Por qué no te dije exactamente lo que querías aprender al principio y cómo aprenderlo en orden? Porque si quieres dominar esas habilidades, puedes resolverlas tú mismo, pero si estás obsesionado con algunas tecnologías visibles de pequeña escala debido a tu interés, puedes encontrar un buen trabajo después de graduarte, y el salario puede ser alto, pero no te convertirás en un pez gordo.
Ahora de lo que quiero hablar es de la secuencia de aprendizaje. Aunque dijiste que no recomiendas libros, todavía quiero comenzar con libros.
El lenguaje C puede escribir muchas cosas básicas y avanzadas, no solo cosas pequeñas, pero a juzgar por tu código, en realidad estás usando GOTO. No digo que sea malo usar goto en esos programas, pero debes evitar usar GOTO, que es una fuente de errores. Si tiene algo sobre qué escribir, significa que hay mucho margen de mejora en sus habilidades de codificación.
Tu secuencia de aprendizaje debe ser:
c: Ser un Super Mario y poder leer guiones de texto para actualizar niveles.
C: escriba un motor de gráficos 2D, encapsule detalles, implemente diseño orientado a objetos y diseño reutilizable, y utilice algunos de los patrones de diseño mencionados en Patrones de diseño para dominar bien C.
MFC: aunque la tecnología MFC se ha enfriado recientemente, su capacidad para dominarla demuestra que su tecnología C OO es lo suficientemente competente. Demostrar estrictamente que dominas MFC es muy sencillo. Solo necesita usar MFC para crear un motor antivirus. El libro recomendado es MFC.
"Programación Windows": A diferencia de MFC, utiliza el SDK principal de Windows, que es la API. Después de estudiar este libro, podrá dominar los mecanismos de la plataforma win32 desde el nivel del sistema operativo (de hecho, la mayoría de los mecanismos de win64 y win32 son similares).
C#: C# es una colección de algunas de las sintaxis más avanzadas de la informática contemporánea (aunque la eficiencia de ejecución siempre ha sido cuestionada), pero cuando termines de aprender C# y profundices, al menos podrás entender Tener una comprensión más profunda del lenguaje informático. ¿Cómo demostrar que has aprendido C#? También es muy sencillo. Escribe otro juego aleatorio, como el Tetris. ¿Qué pasaría si demostraras tu valía más? Úselo para escribir un juego de batalla P2P en línea.
Si prestas atención, encontrarás que la secuencia de aprendizaje que mencioné es a lo largo del lenguaje y algunas tecnologías. ¿Por qué? Debido a que estos lenguajes y tecnologías involucran tecnologías de dominio específicas e ideas de teoría informática, por ejemplo, si realmente terminas de aprender C #, no significa solo aprender C #, sino aprender varios paradigmas de lenguaje y pensamiento de programación moderno (porque muchas tecnologías son usado en el interior, para que puedas salirte con la tuya de una vez por todas).
Los cinco pasos anteriores son pasos básicos y 1 o 2 años no deberían ser suficientes para resolver el problema.
Al mismo tiempo, debe elegir la dirección que le interesa como dirección a largo plazo durante 3 a 5 años lo antes posible, no se preocupe por la pérdida de elegir una dirección de sucursal también. temprano, porque muchas ramas de las computadoras están conectadas, y solo profundizando en la dirección de la rama, solo entonces podremos comprender verdaderamente el significado práctico de muchas teorías. Y una vez que obtienes una gran ventaja en una determinada rama (por ejemplo, eres el único de la empresa que es más fuerte), entonces eres un talento escaso.
No hablemos de los pasos de dirección general. Debe resolver principalmente los pasos básicos que mencioné primero y, al mismo tiempo, prestar atención a la teoría de la dirección general combinada con la codificación y el desarrollo prácticos.
En el pasado, miraba Internet en la dirección Win, UNP UNP "APUE en la dirección Linux/Unix, y hacía desarrollo de servidores, etc." , pero para ser honesto, C sigue siendo bastante difícil. Las estructuras de datos y los algoritmos básicos deberían ser fáciles de aprender.