¿Cuál es la mejor manera de aprender y practicar la programación sin una computadora?

Dos palabras, pseudocódigo y algoritmo .

Mucha gente te dirá que para practicar la programación, el lenguaje que usas no es lo más importante. Y esto es verdad. Una gran cantidad de libros (irónicamente, incluso uno de los libros de algoritmos más populares; CLRS) utiliza pseudocódigos.
Los pseudocódigos son básicamente una descripción de un programa / algoritmo de computadora con lenguaje natural y al mismo tiempo preservan la estructura de programación. Entonces, escribir un programa en pseudocódigo es básicamente lo mismo que usar un lenguaje de programación, pero en este caso, el “público (compilador)” es una persona y no una computadora.
Eso me lleva a los algoritmos, él siempre puede practicar algoritmos con el uso de psuedocodes en lugar de lenguajes de computadora.

Y un consejo, al escribir pseudocódigo, esto no es un ensayo o una novela, por lo que uno debe preservar las convenciones y la estructura de programación. Es decir, no está escribiendo la descripción del programa o un manual sobre cómo debería funcionar el programa, está escribiendo un programa real. Por lo tanto, debe usar convenciones y estructuras de programación, por ejemplo, escribir clases y métodos en pseudocódigo, patrones de diseño, etc.

Dicho esto, no estoy seguro de qué tan delligentemente puedes hacer esto cuando te enfrentas a la dura realidad de una prisión. Podría aplastar tu espíritu y matar tu motivación.
Y si [crees que es inocente, espero que pongas más de tus recursos para sacarlo que enseñarle a codificar. Tengo mucha pasión por la codificación, pero la libertad debe ser la máxima prioridad.

¡Buena suerte!

Supongo que esta pregunta no es una broma estúpida.

Lo primero es lo primero: debe aprender habilidades de supervivencia en la prisión.
Hay bastantes libros.
Solo use las listas de usuarios de Amazon o las recomendaciones y comentarios para obtener las mejores experiencias y consejos de la vida real.

“Inteligencia emocional” de Daniel Goleman.
“Usted puede negociar cualquier cosa” de Herb Cohen es un volumen delgado que puede salvar vidas en condiciones tan duras. De hecho, una de las historias más convincentes que relata es la de un prisionero en la cárcel.

Otros ya han sugerido Algorithms / DataStructures, así que no repetiré ese consejo.

Aprender las matemáticas detrás de la informática sería un buen uso del tiempo. Y no necesitas mucho para practicar o aprender estas cosas. Hasta dónde podrá estudiar es otra cosa. Pero le dará algo para mantener su mente ocupada.

Trachtenberg creó sus técnicas de matemáticas de velocidad durante su encarcelamiento en la Segunda Guerra Mundial esperando en la cola para las cámaras de gas. Lo mantuvo cuerdo y enfocado en algo interno más que externo.

Las habilidades para resolver problemas son muy importantes.
Ayudar a resolver los problemas de las personas que te rodean es la mejor manera de ser valioso, en cualquier lugar, incluida la prisión. La gente se acercará a usted y discutirá sus problemas en detalle. Necesidad de centrarse en la solución en lugar de detalles del problema.

Dicen que “un problema es una oportunidad disfrazada”. Si bien esto suena cliché y falso, PUEDE darse la vuelta si busca soluciones positivas que problemas negativos. No como hay mucha elección de todos modos. Así que bien podría hacer lo mejor de ello.

Supongo que podría pedir una computadora (y algo de tiempo) en la biblioteca de la prisión , ya que la mayoría de los países animan a las personas que intentan aprender algo que les traerá trabajo una vez que salgan.

Aparte de eso, proporciónale un libro (conocerás sus intereses y su nivel) y, si tienes ganas de ayudarlo mucho y aprender algo a cambio, envíale también pruebas, pídele que te escriba soluciones y que periódicamente lo haga. y compruébalos por él.

Finalmente, recuérdele que puede y aprenderá mucho con la motivación correcta: los conceptos cruciales como los algoritmos y las estructuras de datos son DIFÍCILES de aprender correctamente, pero tener una computadora o no es menos crítico en este sentido. Además, tener un objetivo podría ayudarlo mucho a soportar las dificultades de la prisión.

nuestra primera programadora fue Ada Lovelace, a quien se le atribuyó la creación de un código, con la esperanza de que Babbage lo lograra, pero nunca se construyó una computadora, por lo que ella codificó y nunca pudo verlo ejecutarse.

Esto no es infrecuente en la universidad: escribiría un código que se ejecutaría en una computadora de papel, que nunca se construyó.

A veces soluciono errores difíciles en mi código mientras sueño o soñando día a día. Me imagino cómo funciona el código y, a veces, de repente veo por qué hay un problema.

Por supuesto, siempre es bueno poder probarlo en una computadora. Lo ideal es que pueda pasar mucho tiempo en el depurador solo paso a paso a través del código, observando variables, etc.

Este es el ideal. Me temo que hay programadores que escriben código y que, rara vez, pasan un solo paso sin saber los pecados que cometen.

Tal vez podría usar una Raspberry-PI o una tableta (si se lo permite).

Si no hay acceso a PC, entonces secundo la idea de mejorar sus habilidades algorítmicas. Por ejemplo, podría imprimir las preguntas de http://projecteuler.net y tratar de resolverlas a mano. Puedes llevarle libros que le enseñen algoritmos durante la visita.

No necesita intentar aprender ningún lenguaje de programación si no puede practicar con él.

Revise estos enlaces que surgieron en una búsqueda de Google:
1. http://en.m.wikipedia.org/wiki/I

2. http://www.usatoday.com/story/ne

Para su amigo, no creo que haya mucho que se pueda hacer, ya que después de dos años probablemente se haya dado cuenta de lo básico. Podría imprimir la documentación de varias bibliotecas para que él escriba pseudo programas, pero esto realmente no ayudará mucho.

Para casos más generales, el pseudocódigo y la comprensión de la lógica detrás de la programación es importante. Muchos algoritmos pueden entenderse fácilmente con modelos mentales donde los casos básicos pueden resolverse fácilmente a mano si recuerdan ser estrictos al seguir las reglas.

Wow, esto es un rudo. Vi a alguien sugerir que hiciera más ejercicios basados ​​en la lógica, lo que creo ayudará con la resolución de problemas, pero no creo que pueda reemplazar el código de escritura, compilarlo y usarlo.

Pregunta difícil. Sinceramente, no sé cómo se puede practicar la programación sin una computadora. Puedes seguir aprendiendo leyendo libros, pero para codificar, necesitas algo en lo que escribir.

No sé cuál es la situación o la condición en esa prisión, pero tal vez él pueda solicitar acceso a una PC como parte de su rehabilitación. A menos que, por supuesto, el crimen estuviera conectado a la computadora.

Aparte de esto, no estoy seguro de qué otra cosa podría hacer.