Programming Language Concepts
with Robots

Axel-Tobias Schreiner

Department of Computer Science

Rochester Institute of Technology

 

This volume contains copies of the overhead slides used in class. This information is available online as part of the World Wide Web; it contains hypertext references to itself and to the documentation for various programming languages in the Web. The example programs are included into this text from the original sources.

So that it may be viewed on other platforms, this text also exists as a PDF document. With the Acrobat Reader from Adobe the text can be printed on Windows systems.

The text is not a complete transcript of the lectures. A rudimentary knowledge of some programming languages is assumed; for self study one would have to consult introductory books on programming, programming languages, and compiler construction.

A major part of this course are reports on numerous programming environments given by students followed by programming assignments in the more prominent of these environments . During the presentations common and unique concepts of different languages and environments are related and contrasted to each other. The assignments try to exhibit simple but typical uses of each language through progressively more difficult problems.

Contents

0

Introduction

1

Timeline

2

Rosetta Stone

3

bc

4

XML

5

Little Smalltalk Cribsheet

6

Syntax Analysis

7

Pure Lisp

8

Solving Logic Puzzles

References

These slides are developed in both environments of MacOS X using Adobe FrameMaker, PhotoShop , and Distiller . OmniGraffle is used for the drawings. The slides are available in the World Wide Web .

Today there are lots of programming languages and even more books about them. Some books deal with single languages, others compare languages or discuss the history of language development. Here are typical ones:

Bergin/Gibson

0-201-89502-1

History of Programming Languages II

Flanagan

0-596-00283-1

Java in a Nutshell (4th Edition)

Gosling et al.

0-201-31008-2

The Java Language Specification

Kernighan/Ritchie

3-446-15497-3

The C Programming Language

Wexelblatt

0-12-745040-8

History of Programming Languages

Wirth/Jensen

3-540-97649-3

Pascal User Manual and Report

Wirth

0-387-11674-5

Programming in Modula-2

Wirth/Gutknecht

0-201-54428-8

Project Oberon

There is also a useful Web site: http://dmoz.org/Computers/Programming/Languages/ .

Finally, there is a growing list of books about roboters with LEGO Mindstorms:

Bagnall

0-13-009364-5

Core LEGO Mindstorms Programming

Baum

1-893115-09-7

Definitive Guide to LEGO Mindstorms

Baum et al.

1-893115-84-4

Extreme Mindstorms

Erwin

0-201-70895-7

Creative Projects with LEGO Mindstorms

Ferrari et al.

1-928994-67-9

Building Robots with LEGO Mindstorms

Ferrari et al.

1-928994-55-5

Programming LEGO Mindstorms with Java

Knudsen

1-56592-692-7

The Unofficial Guide to LEGO Mindstorms Robots

Martin

0-13-089568-7

Robotic Explorations

Nagata

1-886411-40-9

LEGO Mindstorms, Idea Book

Sato

1-886411-56-5

LEGO Mindstorms, The Master's Technique