CS 6110 — Advanced Programming Languages Lecture 1, Lecture notes of Programming Languages

The lecture notes for the first lecture of the course CS 6110 - Advanced Programming Languages. It introduces the history of programming languages and the course goals. It also includes information about the course staff, prerequisites, and special needs and wellness.

Typology: Lecture notes

2010/2011

Uploaded on 05/11/2023

aasif
aasif 🇺🇸

4.9

(7)

218 documents

1 / 61

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
.
.
CS 6110 Advanced
Programming Languages
Lecture 1
Introduction
24 January 2011
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d

Partial preview of the text

Download CS 6110 — Advanced Programming Languages Lecture 1 and more Lecture notes Programming Languages in PDF only on Docsity!

CS 6110 — Advanced

Programming Languages

Lecture 1

Introduction

24 January 2011

Programming Languages

One of the oldest åelds in Computer Science...

  • (^) λ-calculus – Church (1936)
  • (^) FORTRAN – Backus (1957)
  • (^) LISP – McCarthy (1958)
  • (^) ALGOL 60 – Backus, Naur, Perlis, & others (1960)
  • (^) Pascal – Wirth (1970)
  • (^) C – Ritchie (1972)
  • (^) Smalltalk – Kay & others (1972)
  • (^) ML – Milner and others (1978)
  • (^) C++ – Stroustrup (1982)
  • (^) Haskell – Hudak, Peyton Jones, Wadler, & others (1989)
  • (^) Java – Gosling (1995)
  • (^) C# – Microsoft (2001)
  • (^) Scala – Odersky (2003)
  • (^) F# – Syme (2005) 2

Syllabus

Course Goals

  • (^) Learn techniques for modeling programs∗ I (^) Formal semantics (operational, axiomatic, denotational) I (^) Extend to advanced language features I (^) Develop reasoning principles (induction, co-induction)
  • (^) Explore applications of these techniques I (^) Optimization I (^) Static analysis I (^) Veriåcation
  • (^) PhD students: cover material for PL qualifying exam
  • (^) Have fun :-)

*and whole languages! 5

. .

.. . Mathemetical Preliminaries &Operational Semantics

. .

.. . Mathemetical Preliminaries &Operational Semantics

.Advanced Language Features

. .

.. . Mathemetical Preliminaries &Operational Semantics

.Advanced Language Features

. Axiomatic & DenotationalSemantics

.Spring Break

. .

.. . Mathemetical Preliminaries &Operational Semantics

.Advanced Language Features

. Axiomatic & DenotationalSemantics

.Spring Break .Preliminary Exam

. .

.. . Mathemetical Preliminaries &Operational Semantics

.Advanced Language Features

. Axiomatic & DenotationalSemantics

.Spring Break .Preliminary Exam

.Types

.Advanced Types

. .

.. . Mathemetical Preliminaries &Operational Semantics

.Advanced Language Features

. Axiomatic & DenotationalSemantics

.Spring Break .Preliminary Exam

.Types

.Advanced Types

.Study Period .Final Exam

. .

. (^)...

6

Prerequisites

Programming Experience

  • (^) e.g., C, Java, Prolog, OCaml, Haskell, Scheme/Racket
  • (^) Comfortable with a functional language
  • (^) For undergrads: CS 3110 or 4110 or equivalent

Mathematical Maturity

  • (^) e.g., set theory, rigorous proofs, induction
  • (^) Much of this class will involve formal reasoning
  • (^) Hardest topic: denotational semantics

Interest (having fun is a goal! :-)

If you don’t meet these prerequisites, get in touch.

7

Academic Integrity

Two simple requests:

  1. Most of you are here training to become members of the research community. Conduct yourself with integrity.
  2. If you aren’t sure what is allowed and what isn’t, please ask!

9

Special Needs and Wellness

  • (^) I will provide reasonable accommodations to students who have a documented disability (e.g., physical, learning, psychiatric, vision, hearing, or systemic).
  • (^) If you are experiencing undue personal or academic stress at any time during the semester (or if you notice that a fellow student is), contact me, Engineering Advising, or Gannett.

10