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

Slides:



Advertisements
Similar presentations
Credit hours: 4 Contact hours: 50 (30 Theory, 20 Lab) Prerequisite: TB143 Introduction to Personal Computers.
Advertisements

Introduction to Study Skills and Research Methods Unit Leader: Dr James Betts Unit Code: HL10040
F27SB2 Software Development 2 Lecture 0: Overview.
C.Sc. 110 Computer Science 113: Computer Systems.
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Principles of programming languages 1: Introduction (with a simple language) Isao Sasano Department of Information Science and Engineering.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
F28PL1 Programming Languages Lecture 20: Summary.
F28PL1 Programming Languages Lecture 5: Assembly Language 4.
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
High-Level Programming Languages
Programming Languages Structure
CSC 111 Course orientation
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++
CS 331, Principles of Programming Languages Introduction.
Foundations of Programming Languages – Course Overview Xinyu Feng Acknowledgments: some slides taken or adapted from lecture notes of Stanford CS242
314450: PROGRAMMING PARADIGMS Teaching scheme: Examination Scheme: Lectures: 3 Hours/Week Theory: 100 Marks OBJECTIVE: To understand the basic building.
Computer Architecture Computational Models Ola Flygt V ä xj ö University
Imperative Programming
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
Chapter 1 - Introduction
1 Overview CO3225 Programming Language: Theory and Practice Low Aim is a Crime, but not high ambition.
1 Programming Language History and Evolution In Text: Chapter 2.
Chapter 8 High-Level Programming Languages. 8-2 Chapter Goals Describe the translation process and distinguish between assembly, compilation, interpretation,
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
CS112: Structure of Programming Languages A smorgasbord of topics in programming languages including programming paradigms and syntax, semantics, implementation.
CS 345: Programming Language Paradigms Chris Brooks HR 510 MWF 11:00-12:05.
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
CS5205Introduction1 CS5205: Foundation in Programming Languages Lecture 0 : Overview Lecturer : Chin Wei Ngan Office : COM2.
CS 331, Principles of Programming Languages Chapter 1.
2/22/2010 TESL 3240 Curriculum Development and Materials Design Course overview.
Copyright 2001, Matt Dwyer, John Hatcliff, and Radu Iosif. The syllabus and all lectures for this course are copyrighted materials and may not be used.
Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 1 Overview A good programming language is.
F28HS Hardware-Software Interface Lecture 0: Overview.
Department of Electronic & Electrical Engineering EE20084 Structured Programming. Chris Clarke Paul Leonard.
1 CSE Programming in C++. 2 Overview Sign roster list Syllabus and Course Policies Introduction to C++ About Lab 1 Fill Questionnaire.
1-1 1 Introduction  Programming linguistics: concepts and paradigms syntax, semantics, and pragmatics language processors.  Historical development of.
CSE-321 Programming Languages Abstract Machine E POSTECH May 1, 2006 박성우.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 330 Programming Language Structures Operational Semantics (Slides mainly.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
Review for Test 2 Chapters 5 (start at 5.4), 6.1, , 12, 13, 15.1, Python.
CSCE 343 – Programming Language Concepts Welcome!.
Scott C. Johnson Lecturer Rochester Institute of Technology Spring 2016.
PROGRAMMING PARADIGMS
CS 326 Programming Languages, Concepts and Implementation
CS 3304 Comparative Languages Fall 2011
Foundations of Programming Languages – Course Overview
Final Review In Text: Chapters 1-3, 5-11,
Programming Languages
Foundations of Programming Languages – Course Overview
Final Review In Text: Chapters 1-11,
Final Review In Text: Chapters 1-3, 5-10, 12,
Final Review In Text: Chapters 1-3, 5-10, 12,
Final Review In Text: Chapters 1-3, 5-10,
Chapter 1 Preliminary. Chapter 1 Preliminary 1.1 Reasons for Studying Concepts of Programming Languages Increased capacity to express ideas Improved.
Final Review In Text: Chapters 1-3, 5-10,
CS 3304 Comparative Languages Fall 2011
Programming Languages 2nd edition Tucker and Noonan
Final Review In Text: Chapters 1-3, 5-12,
Final Review In Text: Chapters 1-3, 5-16.
Principles of Programming Languages
Programming Paradigms and Languages
Final Review In Text: Chapters 1-3, 5-16.
Programming Languages
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
Final Review In Text: Chapters 1-3, 5-16.
Programming Paradigms and Languages
Presentation transcript:

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

Contact Greg Michaelson: – EM G56 – x3422 – Jamie Gabbay – EM G50 – x3425 –

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

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

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),

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)

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

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

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

Assessment Exam: 2hrs 60% Coursework: 40% – signed off in laboratory – programming exercises in: ARM assembly language C Standard ML (SML) Prolog

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

GM Organisation weeks 1-5 – Mon , 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 Lab EM 2.50 NB from week 7, Labs Thurs EM 2.50 only

New course! this is not the same as old F28PL2 Programming Languages – 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