Por sugerencia de un programador cuyo trabajo valora, Ken Whitesell comienza una retrospectiva profesional que abarca de enero a junio de 1978, su primer semestre real de programación en la secundaria. Tras mudarse de Baltimore a Ann Arbor, Michigan, entre su penúltimo y último año, cursó una clase de programación en BASIC en una escuela con acceso a un minicomputador para todo el distrito escolar. Ya había experimentado con una calculadora programable TI SR-52, la computadora mecánica-juguete Digi-Comp I y varios kits de electrónica de Radio Shack, pero esa fue su primera introducción formal a la programación.
La máquina era un HP-2000F con BASIC en tiempo compartido. Los estudiantes interactuaban principalmente a través de teletipos Bell ASR 33 con perforadora y lectora de cinta de papel. Los teletipos operaban a 110 baudios, aproximadamente diez caracteres por segundo, y eran tan ruidosos que impedían la conversación normal cuando varios funcionaban a la vez. El laboratorio, de unos 3,5 por 7 metros, albergaba unos ocho teletipos y algunos terminales de video. No existía un depurador interactivo. Depurar significaba ejecutar el programa hasta que terminara o fallara, luego recorrerlo línea por línea con papel y calculadora, tachando el valor antiguo de cada variable y escribiendo el nuevo. Los cambios se preparaban en papel y luego se tecleaban de nuevo.
Reutilizar código era engorroso. Una subrutina solo podía trasladarse a otro programa perforándola en cinta de papel y volviéndola a leer, o copiando el programa original, borrando el resto, renumerando las líneas en un rango superior y agregándolas al programa destino, siempre que los números agregados superaran el más alto del archivo existente.
El BASIC del HP-2000F imponía restricciones severas. Por defecto, todo aparecía en mayúsculas. Los nombres de variable podían ser una sola letra o una letra seguida de un dígito, y todas eran globales. Las funciones definidas por el usuario estaban limitadas a FNA hasta FNZ, aceptaban un parámetro, evaluaban una sola expresión y devolvían un único valor. Las subrutinas no recibían parámetros: el llamador copiaba los valores a variables globales reservadas, invocaba GOSUB y luego copiaba los resultados de vuelta. Las matrices eran bidimensionales y compartían la memoria global; aunque el límite era de unos 5000 elementos, un programa grande a menudo solo podía usar unos 2000.
El acceso era escaso: unos treinta minutos antes de clases y una hora después. Él escribía el código en papel por la noche y esperaba por la mañana frente a la puerta de la escuela. Por las noches usaba un laboratorio del community college local con alrededor de una docena de terminales DECwriter LA-30 conectados por marcado a 300 baudios. Eran más silenciosos, ofrecían 132 columnas e imprimían más de tres veces más rápido que los teletipos, lo que hacía prácticas las listas. También había terminales de video, que prefería para editar. Aunque el laboratorio estaba destinado a estudiantes universitarios, calculaba que al menos la mitad de los usuarios nocturnos eran estudiantes de secundaria.
Al terminar el año escolar consiguió un trabajo de verano, alquiló un terminal de video e instaló una segunda línea telefónica en casa para seguir programando. Como ya no tenía perforadora de cinta, no sobrevivieron copias legibles por máquina; solo conservó listados impresos.