Les archives du langage de programmation cT

[Page d'accueil de VPython]

Bref historique du cT

Le langage de programmation cT a été développé dans la période 1985-2000 au Center for Design of Educational Computing de l'Université Carnegie Mellon à Pittsburgh (le Centre a été rebaptisé plus tard Center for Innovation in Learning ; il a cessé ses activités en 2002). Les développeurs étaient David Andersen, Bruce Sherwood, Judith Sherwood et Kevin Whitley. L'impulsion initiale était le besoin d'un environnement de programmation graphique et souris facile à utiliser pour les enseignants et les étudiants utilisant les nouveaux postes de travail Unix "3M" (un million d'octets de mémoire, un million de pixels, et un million d'instructions par seconde).

La facilité d'utilisation était importante parce que l'alternative, écrire en C et utiliser des bibliothèques graphiques très complexes, était au-delà des capacités de la plupart des utilisateurs. Un autre problème était qu'à cette époque, le logiciel de fenêtrage changeait rapidement, de sorte que les programmes écrits en C qui utilisaient des graphiques ou la souris devenaient rapidement obsolètes. De plus, il est vite devenu évident que tout le monde n'utiliserait pas les stations de travail Unix, grâce aux capacités croissantes des micro-ordinateurs populaires, en particulier Macintosh et IBM PC. Cela a mis un point d'honneur à l'exécutabilité multiplateforme des programmes graphiques, que C n'offrait pas, mais que cT offrait.

cT était basé sur des langages antérieurs utilisés par les auteurs du matériel pédagogique informatisé écrit pour le système éducatif informatisé PLATO développé à l'Université de l'Illinois à Urbana-Champaign. cT est une petite-fille du langage TUTOR lancé en 1967, et une fille du langage MicroTutor lancé en 1977. cT se distingue des dialectes antérieurs par son interface utilisateur graphique moderne (Windows et souris). Voici une reproduction du manuel The TUTOR Language écrit en 1977 par Bruce Sherwood.

Le TC a été utilisé à diverses fins, mais son principal créneau était la création de programmes d'éducation. De nombreux programmes éducatifs primés ont été rédigés en technologies de l'information, en particulier dans le domaine de la physique.

À l'automne 1997, Ruth Chabay et Bruce Sherwood ont enseigné l'informatique aux étudiants d'un cours d'introduction à la physique à Carnegie Mellon, et les étudiants ont utilisé l'informatique pour modéliser des systèmes physiques avec des animations graphiques du comportement du système. Grâce à sa facilité d'utilisation, il a été possible d'enseigner en une heure ou deux un sous-ensemble adéquat de cT aux étudiants dans le cadre du cours de physique, même pour les nombreux étudiants qui n'avaient jamais écrit un programme informatique auparavant.

Cette approche a été répétée à l'automne 1998. Dans le cours était un étudiant de première année en informatique nommé David Scherer. L'année suivante, il était à la recherche d'un projet intéressant à travailler et a proposé de créer un environnement de programmation alternative pour les étudiants à utiliser dans le cours de physique. Son espoir était de rendre la programmation encore plus facile pour les novices, tout en leur permettant de créer des animations 3D navigables en temps réel, alors que cT n'offrait que des graphiques 2D. Avec l'aide de David Andersen, Ruth Chabay, Ari Heitner, Ian Peters et Bruce Sherwood, au printemps et à l'été 2000, Scherer a produit l'environnement de programmation VPython qui a été déployé à l'automne 2000. La supériorité évidente de VPython avec ses graphiques 3D orientés objet faciles à utiliser a conduit à la décision d'arrêter le développement de cT et de se concentrer sur VPython.

Vous trouverez ici les versions archivées de l'environnement de programmation cT pour Windows, Macintosh et Linux, ainsi que le code source du domaine public pour ces environnements. Aucun support n'est actuellement disponible pour ces documents, mais vous êtes libre d'en faire ce que vous voulez.

Plus d'informations :

vpython.org Télécharger VPython

glowscript.org Un environnement de programmation 3D similaire à VPython, mais fonctionnant dans un navigateur                                                                                                    

matterandinteractions.org Informations sur le programme de physique

Vue d'ensemble de cT

Vous ne devriez pas commencer à utiliser cT maintenant, car il n'est plus supporté. Voir vpython.org à la place. Les documents suivants sont mis à disposition sous forme d'archives avec un intérêt historique.

Le langage de programmation cT est un langage algorithmique comme C, Pascal, Fortran et Basic, mais grandement amélioré par des capacités multimédias, y compris un support facile à utiliser pour les graphiques couleur, les interactions de souris et même les films au format QuickTime ou Video pour Windows.

Le langage de programmation cT offre un langage de programmation facile à utiliser

  • programmabilité des programmes multimédias, avec
  • portabilité sur Macintosh, Windows, Linux et Unix.

L'environnement de programmation cT offre

  • aide en ligne avec des exemples de programmes exécutables,
  • un éditeur graphique pour la génération automatique de commandes graphiques,
  • la compilation incrémentielle pour fournir un délai d'exécution rapide, et
  • diagnostic détaillé des erreurs.

cT a été développé au Center for Innovation in Learning de l'Université Carnegie Mellon de Pittsburgh par David Andersen, Bruce Sherwood, Judith Sherwood et Kevin Whitley. cT est une marque déposée de l'Université Carnegie Mellon.

  1. Quand est-ce que cT est (était) le bon outil?
  2. Principales caractéristiques du langage cT
  3. Principales caractéristiques de l'environnement de programmation des technologies de l'information
  4. Obtenir gratuitement l'AC
  5. Exemples de programmes inclus avec cT
  6. Références cT

Quand est-ce que cT est (était) le bon outil ?

Il ne serait pas prudent de commencer à utiliser cT dès maintenant, lorsqu'il ne sera plus soutenu. Les documents suivants sont mis à disposition sous forme d'archives avec un intérêt historique.

Il existe de nombreuses et excellentes applications disponibles pour créer des images et des diagrammes, et pour faire des présentations multimédia, sans avoir à écrire votre propre programme informatique.

Cependant, il arrive parfois qu'il soit difficile de faire quelque chose de vraiment nouveau et différent avec ces applications sans programmation, parce qu'elles n'offrent souvent pas un contrôle suffisant des interactions et une capacité de calcul suffisante pour faire ce que vous voulez vraiment faire.

cT offre la flexibilité et la puissance ouvertes associées aux langages de programmation, mais élimine bon nombre des difficultés et des complexités habituellement associées à l'utilisation d'un langage de programmation.

Principales caractéristiques du langage cT

 

  • graphiques interactifs dans des environnements fenêtrés
  • portabilité instantanée sur Macintosh, Windows, Linux et Unix
  • prise en charge de QuickTime et Video pour Windows
  • animation d'images bitmap
  • prise en charge des couleurs pour les couleurs de palette et les couleurs vraies
  • prise en charge intégrée des boutons, curseurs et panneaux de texte déroulants
  • variables de texte et de chaîne de caractères à polices multiples
  • texte"chaud" (pour les applications hypertextes)
  • menus déroulants
  • Entrées souris et clavier
  • possibilité de redimensionner le texte et les graphiques pour les adapter à la fenêtre
  • analyse des mots et des phrases
  • analyse des nombres et des expressions algébriques
  • options de séquençage riches
  • capacités de calcul standard
  • Fichiers numériques et textuels

Principales caractéristiques de l'environnement de programmation des technologies de l'information

environnement d'édition et d'exécution intégré compilation incrémentale pour une révision et une exécution rapides manuel de référence en ligne avec exemples exécutables éditeur graphique qui génère des instructions graphiques cT des diagnostics d'erreurs précis et informatifs une vaste gamme d'exemples de programmes sous forme de sources

Obtention de cT

Téléchargez gratuitement cT 3.0 pour Windows, Macintosh ou Linux : Cliquez ici pour voir le contrat de licence et télécharger cT.

Les programmes écrits en cT s'exécutent de manière compatible sur toutes ces machines, sans aucune modification nécessaire. Il suffit de transférer le fichier et de le compiler.

cT était auparavant distribué par Physics Academic Software, que nous remercions pour son travail professionnel au nom de cT. L'utilisation du World Wide Web s'est considérablement développée et il est maintenant approprié d'essayer un mécanisme de distribution en réseau.

Exemples de programmes inclus avec cT 3.0

Voici des descriptions des programmes cT disponibles sur la page de téléchargement cT pour vous donner des idées pour votre propre travail :

Général

  • sample -- Ce programme est un échantillon de plusieurs des capacités de base de cT : graphiques couleur, animations, menus déroulants, clics et glissements de souris, texte multi-fonctions, texte "chaud", calculs, graphiques des fonctions, et analyse de réponse. Après avoir exécuté le programme, vous voudrez peut-être étudier le code du programme pour voir comment les effets sont obtenus.

 

  • exercice -- Un ensemble d'exercices pour vous aider à apprendre les concepts de base de la programmation en informatique. Le programme contient un certain nombre d'unités incomplètes avec des suggestions sur la façon de les compléter. L'aide cT contient les informations nécessaires à la réalisation de ces exercices.
  • editfile -- Une version plus complexe de l'exemple discuté dans "A File Editor Application". La version editfile.t lit et écrit des fichiers stylisés contenant plusieurs sections (c'est-à-dire, créés avec plusieurs sorties de données).
  • showicon -- Un programme qui affiche les icônes dans un fichier icône. Ceci peut être utile pour sélectionner les numéros d'icônes à utiliser dans une commande de tracé, de déplacement, de curseur ou de motif.
  • icon -- Un programme pour concevoir des icônes, curseurs et patterns, sauf sur Macintosh, pour lequel le programme Icon Maker est fourni.
  • japan -- Ce programme affiche les caractères japonais "Kanji", en utilisant un ensemble d'icônes "KANJI18.FCT".

Graphiques

  • draw -- Un éditeur de dessin de base, avec de nombreuses fonctions des éditeurs de dessin commerciaux, telles que le regroupement d'objets, l'application de motifs, de couleurs et de pointes de flèches, et la conception de votre propre palette de couleurs. Les dessins sont sauvegardés sous forme de code source cT, vous pouvez donc trouver draw.t utile pour créer des portions de vos propres programmes, y compris des commandes de palette de couleurs. Ce programme illustre également une approche de la programmation "orientée objet" en cT.
  • map -- Un petit programme qui affiche une carte des 48 états contigus des États-Unis, avec une capacité de zoom avant et arrière.

Couleur

  • palette -- Fichier d'utilisation qui fournit un ensemble de couleurs supplémentaires utiles au-delà des huit couleurs de base de cT, y compris le rouge foncé, le vert foncé et les versions claires, régulières et foncées de l'ardoise, la sarcelle, le corail, le gris, l'or, la lavande et le cerise.
  • setcolor -- Un fichier d'utilisation qui vous permet d'expérimenter la couleur d'un objet, dans le contexte complet de votre programme en cours. Ceci est utile pour décider exactement quelle couleur l'objet doit être par rapport aux autres éléments de votre affichage.
  • chaos -- Une intrigue du chaos dans un schéma simple de croissance démographique. Habituellement, ce qui est tracé n'est que la population de l'état final. Ce programme utilise des teintes allant du bleu au rouge pour montrer l'approche de l'état final. Les points rouges correspondent à l'intrigue habituelle.
  • spiro - Dessins géométriques en couleur en choisissant le nombre total de sommets et le nombre de sommets à sauter. Il utilise le fichier d'utilisation colorpic.t.

Vidéo

  • video -- Un programme qui donne un exemple de comment construire votre propre contrôleur vidéo spécial, en utilisant les commandes vidéo de base. Ce fichier peut être utilisé comme fichier d'utilisation par d'autres programmes. Un court clip vidéo à des fins de test est fourni pour Macintosh et Windows.

Jeux

  • BigForty -- Un jeu de cartes solitaire qui utilise des régions tactiles, de sorte que les routines de gestion d'événements sont gérées automatiquement ; il n'y a pas de commandes de pause dans le programme. Le programme utilise le fichier d'utilisation animé pour fournir l'option de glisser des cartes en douceur sur l'arrière-plan sur des ordinateurs suffisamment rapides.
  • Rilato -- Un jeu de Mah Jong-like dans lequel vous faites correspondre des paires de tuiles correspondantes. Les paires peuvent être des éléments chimiques et leurs symboles, des présidents américains et leurs années en fonction, des rois anglais et leurs années de règne, ou des États américains et leurs capitales. Vous pouvez également créer vos propres listes de paires.

Physique et mathématiques

  • grapheur -- Résout et illustre des systèmes d'équations différentielles algébriques ou ordinaires. Ce programme a remporté le premier prix du concours de logiciels éducatifs 1990 de la revue Computers in Physics (septembre-octobre 1990, p. 540). Le programme comprend une explication interactive de la façon d'utiliser le programme.
  • colline - Dessiner une colline avec la souris, placer un bloc sur la colline, lui donner une vitesse initiale, et le regarder se déplacer. S'il y a une vallée, le bloc peut se déplacer d'avant en arrière pour toujours (pas de frottement), ou s'immobiliser lentement (si vous ajoutez du frottement avec la commande du curseur). Pendant que le bloc se déplace, des diagrammes à barres affichent l'énergie cinétique, le potentiel et l'énergie totale. Au début du programme, le programme effectue une mesure pour déterminer la taille du pas d'animation, de sorte que l'animation tourne à peu près à la même vitesse sur les ordinateurs rapides et lents.
  • orbite -- Lancez un satellite près de deux " terres " stationnaires et observez les orbites inhabituelles qui en résultent. A la fin du fichier se trouve une procédure d'intégration numérique Runge-Kutta d'ordre 4 qui peut être utile dans d'autres contextes.
  • optique -- Placez l'objectif et les miroirs le long d'un banc, puis faites clignoter une lumière. Les rayons s'étalent et sont pliés par les éléments optiques, produisant une tache sur un morceau de film. Il y a une explication interactive sur la façon d'utiliser le programme.
  • quantumw - Etudie le comportement quantique d'un électron dans divers types de puits potentiels. Si le puits est symétrique, les états liés ont des fonctions d'onde symétriques.
  • sonar et tension -- Exemples simples de logiciels de laboratoire sur micro-ordinateur. Connectez une interface de laboratoire universelle (ULI) et Sonic Ranger (distribué par Vernier Software de Portland, Oregon, téléphone 503297-5317) au port série d'une machine Macintosh ou MS-DOS, et le sonar suivra votre mouvement devant le détecteur de mouvement. Si vous n'avez pas cet équipement, utilisez la souris pour faire des mouvements qui sont représentés graphiquement à l'écran. La tension du programme utilise l'ULI pour tracer la tension en fonction du temps. xyplot -- Tracer une fonction de deux variables, f(x,y), en utilisant un ensemble d'icônes de densités de points différentes (fichier d'icône aléatoire).

Programmes inter-ordinateurs utilisant des sockets

  • InterDraw -- Exécutez ce programme sur deux Macintosh différents dans la même zone AppleTalk, ou deux postes de travail Unix différents sur le même réseau (à condition qu'un serveur cT ait été établi), et deux personnes peuvent dessiner sur les écrans l'une de l'autre, ou exécuter deux copies du programme sur un poste Unix. Ce programme est un exemple simple de l'utilisation de la commande socket pour relier des programmes séparés entre eux.
  • Battleship -- Le jeu classique " battleship " joué sur deux Macintosh différents dans la même zone AppleTalk, ou deux stations de travail Unix en réseau (à condition qu'un serveur cT ait été établi). Ceci est un autre exemple de l'utilisation de la commande socket. Il fournit également un autre exemple de programmation orientée objet en cT. Le programme utilise le fichier d'icônes SHIPicn.

Références cT

  • Le numéro de mars/avril 1993 de la revue "Computers in Physics" (p. 136) contient un article de Bruce Sherwood et David Andersen décrivant le cT et diverses applications écrites en cT.
  • David Andersen et Bruce Sherwood ont traité de certaines des questions liées à l'indépendance des machines dans un article paru dans le numéro de novembre 1991 du magazine Byte (p. 221).

 

[Page d'accueil de VPython]

Translated by Rutherd Barn
Read the original page here.