The Lanuages (40%):
- Perl
- Ada
- Pascal
- Fortran
- Python
- Lisp
- Snobol
- Prolog
- VRML
For each language you should know what the language is known
and used for, read and interpret code, write simple code. You might be writing
code and you might be reading code, if you’re writing code the code will be
simpler than if I write the code and ask you to interpret.
Chapter 1
- Different aspects of the cost of a programming language.
- Interpreted, compiled, and Hybrid languages, examples
- Be able to evaluate a language by the criteria in the
chapter
- Be able to explain things like What makes endif more
readable.
Chapter 2
- Just the stuff I have outlined in the Web notes that
correspond with the chapter.
- No dates, but chronological order of events.
- Who is who, who gets credit for what.
- Include the history of Pascal in there.
Chapter 3
- Syntax
- Semantics
- Operational
- Axiomatic
- Denotational
- HOw do each accomplish their tasks
- Do they help or hinder learning a language?
- Chomsky
- BNF
- Be able to do a right-most or left-most derivations of a
BNF.
- Parse Trees
- Ambigous vs Unambiguos
Chapter 4
- Lexical analysis
- Syntax analysis
- State table
- Recursive Descent parsing
- Draw a parse tree
- LL grammar class - what problems exist.
- Disadvantages and advantages of Recursive-Descent to
Bottom-up.
- My notes on State Diagrams -> State tables
- My notes in general.
Chapter 5
- Variables
- Attributes of variables
- Type
- Address
- Value
- Aliases
- Binding and binding times define four different categories
of variables
- Type checking
- Strong typing
- Type compatibility rules static vs dynamic
Chapter 6
- Characteristics of the common primitive data types
- Structured data types (arrays, records)
- Pointers
- Design issues of data types
- Implementation
Chapter 7
- Order of evaluation, associativity
- Side effects on function/method calls
- Mixed mode expressions and type conversions
- Boolean statements vs Assignment statements
Chapter 8
- Flow of control
- Types of control structures
- Disadvantages vs advantages to having more or less
- In designing what is needed.
- Associativity and precedence rules
- Go over the notes
Chapter 9
- Go over notes
- Parameter passing methods
- Local referencing environments
- Overloaded and generic subprograms
- Aliasing and side effects problems