Programming Languages

Syllabus

Tennessee Tech University Student Email Policy

The University sends official communications to all Tennessee Tech email addresses. All students receive a @students.tntech.edu email address. This address will receive notices about schedules, grade results, billing information, emergency alerts, important deadlines, a daily email newsletter, and all other official university information. It is your responsibility to read and manage this email. See: https://its.tntech.edu/display/MON/Email. Please add my email address, mjkosa@tntech.edu, to your approved recipients list to ensure you will receive any correspondence in regards to this course. Please note the instructor of this course is not responsible for missed email communication directed to your spam folder.

Central Java picture

Homework is available on ilearn.

Interesting Links

  • Why Undergraduates Should Learn the Principles of Programming Languages" (from the ACM SIGPLAN Education Board)
  • 97 Things Every Programmer Should Know
  • Seven Languages in Seven Weeks
  • The Development of the C Language, by Dennis Ritchie
  • Turing Tarpit languages
  • Epigrams on Programming, by Alan Perlis
  • Facebook Releases Its Programming Language Hack
  • Advanced Programming Languages, by Matt Might (see pages 32-35)
  • The Lighter Side (comics, etc.)
  • Lex, Flex, JFlex examples
  • Earley's Parsing Algorithm for general context-free grammars
  • CYK Parsing Algorithm for context-free grammars in Chomsky normal form
  • Notes on Computing First and Follow Sets and LL(1) Parse Tables from CSC 2710
  • IDEOne - Online IDE and Debugging Tool
  • LR Parsing Resources
  • Dr. Ranjit Jhala's PL class at UC San Diego
  • OCaml for the Skeptical
  • car and cdr in Lisp dialects
  • A Seven-Line Interpreter for a Functional PL
  • OCaml-Top, simple IDE for OCaml
  • OCaml for the Masses, by Yaron Minsky
  • More Practical OCaml Examples from Flying Frog Consultancy
  • Stanford Bunny in OCaml from Flying Frog Consultancy
  • Java Theory and Practice: Generics Gotchas
  • Static and Dynamic Scoping
  • C++ Constructor Calling Rules with Inheritance
  • Head First Java (two free chapters provided)
  • Java Nested Classes (from Hardcore Java book) part 1, part 2, part 3
  • Sample Java Programs Utilizing Inner Classes and Reflection
  • Generics in the Java Programming Language
  • Multiple Inheritance (Wikipedia)
  • Casting in C++
  • Can Your Programming Language Do This?
  • A Scala Tutorial for Java programmers
  • Is Scala really more complicated than Java?
  • Learning Scala