Sur les 20 bits utilisés pour chaque instructions de programme, 10 contenaient le code de l'instruction, ce qui permettait de représenter 1 024 (210) instructions distinctes. La machine en avait 26 au départ, ce nombre passa à 30 avec l'ajout des codes d'instructions permettant aux programmes de contrôler le transfert de données entre le tambour magnétique et la mémoire principale à tube cathodique. Sur la version intermédiaire, les programmes étaient entrés par des interrupteurs, et la sortie était affichée sous la forme d'une série de points et de traits sur un écran cathodique appelé périphérique de sortie, exactement comme sur la SSEM à partir de laquelle le Mark I avait été développé. Cependant, la machine finale, terminée en octobre 1949, bénéficiait en plus d'un téléscripteur avec un lecteur de ruban perforé à 5 trous.
Le mathématicien Alan Turing, qui avait été nommé au poste symbolique de directeur adjoint au laboratoire des machines à calculer de l'université de Manchester en septembre 1948 , inventa un schéma de codage en base 32 basé sur le code Baudot, un standard pour les téléscripteurs, grâce auquel les programmes et les données pouvaient être lus et écrits sur le ruban de papier. Le code Baudot associe un seul caractère à chacune des 32 (25) valeurs qui peuvent être représentées sur 5 bits. Ainsi, « 10010 » représente « D », « 10001 » représente « Z », et ainsi de suite. Turing ne changea que quelques-uns des codes standard ; par exemple, « 00000 » et « 01000 », qui signifient « aucun effet » et « retour à la ligne » dans le code de téléscripteur, étaient représentés par les caractères « / » et « @ », respectivement. Le zéro binaire, représenté par la barre oblique, était le caractère le plus fréquent dans les programmes et les données, ce qui produisait des séquences de la forme « /////////////// ». Un des premiers utilisateurs suggéra que le choix de Turing de la barre oblique était un choix subconscient de sa part, une représentation de la pluie vue à travers une vitre sale, reflétant le temps « réputé lugubre » de Manchester.
Comme le Mark I avait des mots de 40 bits, il fallait huit caractères de téléscripteur de 5 bits pour représenter chaque mot. Ainsi, par exemple, le mot binaire « 10001 10010 10100 01001 10001 11001 01010 10110 » était représenté sur le papier par ZDSLZWRF. Le contenu de tout mot de la mémoire pouvait aussi être modifié via le clavier du téléscripteur et écrit sur son imprimante. La machine fonctionnait en interne en binaire, mais pouvait réaliser les conversions de décimal en binaire et de binaire en décimal nécessaires à ses entrées et sorties, respectivement .
Aucunassembleur n'avait été créé pour le Mark I. Il fallait écrire et entrer les programmes sous forme binaire, représentés par huit caractères de 5 bits pour chaque mot de 40 bits ; les programmeurs étaient encouragés à mémoriser les codes Baudot modifiés pour se faciliter le travail. Les données étaient lues et écrites par un lecteur de ruban perforé contrôlé par un programme. Le Mark I n'avait pas de système d'interruptions matérielles ; le programme continuait après le début d'une lecture ou d'une écriture jusqu'à l'arrivée d'une autre instruction de lecture ou d'écriture. À ce moment, la machine attendait que la première opération se termine .
Le Mark I n'avait que quelques routines de base pour les entrées/sorties en guise de système d'exploitation au Mark I. Comme dans la SSEM à partir de laquelle il avait été développé, et au contraire de la convention moderne, les nombres étaient enregistrés en machine avec le bit de poids fort à gauche ; ainsi, « 1 » était représenté sur 5 bits par « 10000 », au lieu de « 00001 », le standard actuel. Les nombres négatifs étaient représentés par le complément à deux, comme sur la plupart des ordinateurs actuels. Dans cette représentation, la valeur du bit de poids fort dénote le signe d'un nombre : les nombres positifs ont un 0 à cette position et les nombres négatifs un 1. Donc, l'intervalle des nombres que l'on pouvait enregistrer dans chaque mot de 40 bits allait de −239 à +239−1 (de −549 755 813 888 à +549 755 813 887).