Presentation is loading. Please wait.

Presentation is loading. Please wait.

F28PL1 Programming Languages Greg Michaelson/Jamie Gabbay Lecture 0: Overview.

Similar presentations


Presentation on theme: "F28PL1 Programming Languages Greg Michaelson/Jamie Gabbay Lecture 0: Overview."— Presentation transcript:

1 F28PL1 Programming Languages Greg Michaelson/Jamie Gabbay Lecture 0: Overview

2 Contact Greg Michaelson: – EM G56 – x3422 – G.Michaelson@hw.ac.uk G.Michaelson@hw.ac.uk Jamie Gabbay – EM G50 – x3425 – M.Gabbay@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 (SML) Prolog

11 Organisation weeks 1-5 - GM – ARM assembly language + C week 6 – finish ARM & C labs weeks 7-11 - JG – SML + Prolog week 12 - GM/JG – revision + finish SML & Prolog labs

12 GM Organisation weeks 1-5 – Mon 10.15-11.15, Laboratory week 1 - no Laboratory weeks 2 & 3, EM G46/47 weeks 4-6, EM 2.50 – Wed 12.15, Lecture, EM 1.82 – Thurs 10.15, Lecture, EM 1.83 – Thurs 15.15, Tutorial, EC G01 - not EM! week 6 - Mon Lab + Thurs 13.15 Lab EM 2.50 NB from week 7, Labs Thurs 13.15 EM 2.50 only

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


Download ppt "F28PL1 Programming Languages Greg Michaelson/Jamie Gabbay Lecture 0: Overview."

Similar presentations


Ads by Google