CS118 Programming Languages

Lecture 1


Honor Principle

The specific application of the Dartmouth Honor Principle to CS118

Contents

  1. Getting to know you
  2. Course Content
  3. Language Survey
  4. History of Programming Languages
  5. Assignment

Getting to know you

(30 min) My name is Bill McKeeman. I have been teaching since 1959 although only part-time since 1989. I have taught a lot of computer science and a lot of software engineering. I have done a lot of programming, for fun and for money. Whatever else you learn in this course, take away this one bit of hard-won wisdom: You can write a bad program in any language. Be a programming poet -- it takes time but it is worth it.

I am curious about you. Where you are from. What you plan to do with your education. What you expect from this course. So, lets go around the class....

Course Content

(10 min)

We will move fast. By the end of the course you should be able to write simple programs in a variety of languages and write a translator for a simple language. You should understand the theory behind translation technology. You should have some appreciation for the power of notation.

On the average, each student will do a lot of homework, take a final exam, do a project or two and perhaps give a short lecture. Details can be negotiated. There is no text except for online materials.

Language Survey

(30 min) What I am going to talk about depends a little bit on what you know, and want to know. I will ask you about a series of programming languages. Some, like C, C++ and Java are uninteresting because you ought to know them already (tools of the trade). Some are of historical interest only. For the rest I will ask for hands indicating "I am competent." Then for each I will also ask for hands indicating "I am interested." The languages to which we will devote class time will be from "interesting" and "not yet competent" set.

History of Programming Languages

(50 min)
  • 3-body problem incident in 1954.
  • Big primes on SWAC -- Robinson.
  • IBM 357 (I think). 88 commands, 5 hole paper tape, loops.
  • Balgol, Fortran, Lisp and Algol 60 came to Stanford.
  • PL/360, Euler, Mutant, Algol W, gogol, XPL and SAIL came from Stanford.
  • Wirth left Stanford and sent Pascal back.
  • The giants: Cobol, Interlisp, PL/I, Ada.
  • C and C++ from Bell Labs, and then from GNU (roots in B & SIMULA 67).
  • lex and yacc, then bison, then PCCS (javacc) tools took off.
  • Dialects and standards and performance. ml & MATLAB.
  • Java from SUN -- it has it all except performance and a standard.

go to:

CS118
Home Page
CS118
Summary
Next
Lecture