1 / 12

F28PL1 Programming Languages Greg Michaelson

F28PL1 Programming Languages Greg Michaelson. Lecture 0: Overview. Contact. EM G56 x3422 G.Michaelson@hw.ac.uk. Aims. To gain understanding of different language paradigms To gain understanding of defining concepts of programming languages

jimbo
Download Presentation

F28PL1 Programming Languages Greg Michaelson

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. F28PL1 Programming LanguagesGreg Michaelson Lecture 0: Overview

  2. Contact • EM G56 • x3422 • G.Michaelson@hw.ac.uk

  3. Aims • To gain understanding of different language paradigms • To gain understanding of defining concepts of programming languages • To develop skills in programming in languages from key paradigms

  4. Syllabus • Overviews of language history, definition (lexicon, syntax, semantics), implementation (compiler, interpreter, virtual machine) • Overviews of language paradigms: e.g. imperative (high-level, system, low-level), declarative (functional, logic), concurrency/parallelism

  5. Syllabus • Overviews of programming language concepts: • variable, lvalue & rvalue, assignment (sharing/copying) • data abstraction (sequential, structured, recursive, shared/distributed) • type mechanisms (weak/strong, static/dynamic, ad-hoc/parametric polymorphism) • declaration (scope, extent),

  6. Syllabus • Overviews of programming language concepts • control abstraction (sequence, choice, repetition, block, procedure, labels/jumps, exceptions, processes) • expression abstraction (functions), parameter mechanisms (value, reference) • evaluation mechanisms (strict/lazy, ordered/unordered, concurrent)

  7. Syllabus • An introduction to programming in languages from key paradigms e.g. • imperative/system: C • imperative/low-level: assembler • declarative/functional: SML • declarative/logic: Prolog

  8. Subject Mastery • understanding of distinguishing characteristics of language paradigms • understanding of relationships between languages • understanding of generic language concepts • ability to program in languages from key paradigms • ability to use tool sets for these languages

  9. Personal Abilities • understanding of how to choose an appropriate language for different problem domains

  10. Assessment • Exam: 2hrs 60% • Coursework: 40% • signed off in laboratory • programming exercises in: • ARM assembly language • C • Standard ML • Prolog

  11. Organisation • weeks 1- 11 • Tues 11.15, Lecture, EM 1.83 • Tues 15.15, Laboratory, EM 2.45/2.50 (not week 1) • Wed 9.15, Tutorial/Lecture, EM 1.83 • Thurs 11.15, Lecture, EM 3.36 • week 12 • Tues 11.15, Revision, EM 1.83 • Tues 15.15, Laboratory/final sign off, EM 2.45/2.50

  12. New course! • this is not the same as old F28PL2 Programming Languages • 2010-12 • new course does not cover language implementation • now in 3rd year course • in old course exams, only questions 1 (C) & 2 (ARM assembler) are relevant

More Related