1 Overview CO3225 Programming Language: Theory and Practice Low Aim is a Crime, but not high ambition.

Slides:



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

Goran Šuković, University of Montenegro 1/21 Compiler Construction Course at University of Montenegro 7 th Workshop on “Software Engineering Education.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 330 Programming Language Structures Ch.2: Syntax and Semantics Fall 2005.
6/10/2015Assoc. Prof. Stoyan Bonev1 Assoc. Prof. Stoyan Bonev, PhD Computer Science dept American University in Bulgaria
Dr. Muhammed Al-Mulhem 1ICS ICS 535 Design and Implementation of Programming Languages Syllabus (101)
January 19, Compiler Design Hongwei Xi Comp. Sci. Dept. Boston University.
Programming Languages Structure
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
ICE1341 Programming Languages Spring 2005 Lecture #3 Lecture #3 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
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.
1 CSCE Programming Languages Introduction and Course Administration Dr. Hyunyoung Lee 410B HR Bright
CS 2104 Prog. Lang. Concepts Dr. Abhik Roychoudhury School of Computing Introduction.
CST 229 Introduction to Grammars Dr. Sherry Yang Room 213 (503)
1 Programming Language History and Evolution In Text: Chapter 2.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
CIS 068 Welcome to CIS 068 ! Software Design & Data Structures In JAVA Instructor: Rolf Lakaemper Peer Teacher: Aubrey Jones TA: Michael Broscius.
Welcome to CIS 2168 ! Software Design, Data Structures and Algorithms
C H A P T E R TWO Syntax and Semantic.
CS112: Structure of Programming Languages A smorgasbord of topics in programming languages including programming paradigms and syntax, semantics, implementation.
1 Programming Languages Fundamentals Cao Hoaøng Truï Khoa Coâng Ngheä Thoâng Tin Ñaïi Hoïc Baùch Khoa TP. HCM.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Syntax and Semantics CIS 331 Syntax: the form or structure of the expressions, statements, and program units. Semantics: the meaning of the expressions,
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
CIS 068 Welcome to CIS 068 ! Software Design & Data Structures In JAVA Instructor: Rolf Lakaemper.
CS5205Introduction1 CS5205: Foundation in Programming Languages Lecture 0 : Overview Lecturer : Chin Wei Ngan Office : COM2.
C H A P T E R T H R E E Type Systems and Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
C H A P T E R T W O Linking Syntax And Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
Data Structures and Algorithms in Java AlaaEddin 2012.
ICS 313 Fundamentals of Programming Languages. Catalogue Description  Concepts of Programming Languages: Syntax and semantics, Data types, Control structures,
C H A P T E R T W O Syntax and Semantic. 2 Introduction Who must use language definitions? Other language designers Implementors Programmers (the users.
Principles of Imperative Computation Lecture 1 January 15 th, 2012.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
Scott C. Johnson Lecturer Rochester Institute of Technology Spring 2016.
Theory of Computation. Introduction to The Course Lectures: Room ( Sun. & Tue.: 8 am – 9:30 am) Instructor: Dr. Ayman Srour (Ph.D. in Computer Science).
Concepts of Programming Languages
CSc 020: Programming Concepts and Methodology II
README FILE Programming Languages Design and Implementation
CSI 3120 Concepts of Programming Languages
CISC 7120X Programming Languages and Compilers
FINAL EXAM INFORMATION
FINAL EXAM INFORMATION
Midterm Review In Text: Chapters 1, 2, 3, 11, 14, 15.
Lecture 1 C++ Programming
Foundations of Programming Languages – Course Overview
Final Review In Text: Chapters 1-3, 5-11,
Midterm Review In Text: Chapters 1-3, 5-7, 15, 16.
Programming Languages
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,
Midterm Review In Text: Chapters 1, 2, 3, 5, 6, 15.
Midterm Review In Text: Chapters 1-3, 5-9, 15.
Final Review In Text: Chapters 1-3, 5-10,
Midterm Review In Text: Chapters 1-3, 5-6, 15.
Organization of Programming Languages
Final Review In Text: Chapters 1-3, 5-12,
Final Review In Text: Chapters 1-3, 5-16.
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Programming Languages
Final Review In Text: Chapters 1-3, 5-16.
Midterm Review In Text: Chapters 1-3, 5-9, 15.
Midterm Review In Text: Chapters 1-3, 5-11, 15.
Lecture 1 C++ Programming
Presentation transcript:

1 Overview CO3225 Programming Language: Theory and Practice Low Aim is a Crime, but not high ambition

2 Overview Instructor Dr. Seyed Mohamed Buhari PhD from Malaysia – 2003 Research: Optimizing the search of Access Control Lists for IP Packet Filtering Applications. Taught at Malaysia, Germany & Saudi Arabia. (OR) (OR) Extension: 1926 Office Location: HEP [Student and Staff Centre] Class Timings & Location: Mon [9:00 – 9:50AM] – FSM 2.15/2.16 Tue [2:10 – 3:00PM] – FSM 2.30/2.31 Thu [10:10 – 11:00AM] – FSM 1.15/1.16 Sat [9:00 – 12:00PM] – FSM 1.19

3 Overview Programming Language: Theory and Practice Its not just learning a language course. The main goal is to introduce the fundamental concepts in programming languages. Emphasis will be on principles of language design, semantics and implementation strategies. Introduces formal syntax and semantics. Practically it focuses on many languages like C/C++, Java, Prolog, … Notes at CO 3225

4 Overview [Tuc] Programming Languages Principles and Paradigms – Allen Tucker & Robert Noonan [Seb] Concepts in Programming Languages – Robert Sebesta [Kur] Formal Syntax and Semantics – Slonnger & Kurtz [SK] Programming Language: Application & Interpretation – [Dan] A Concise Introduction to Computer Languages – Daniel Cooke [Joh] Concepts in Programming Languages – John C. Mitchell [Sey] Foundations of Programming Languages – Seyed H. Roosta [Ben] Understanding Programming Languages – M. Ben-ari [Lou] Programming Languages Principles and Practice – Kenneth C. Louden [Ter] Programming Languages Design and Implementation – Terrence W. Pratt Contains appendices on various languages. [Aho] Principles of Compiler Design – Aho & Ullman Book References

5 Overview Introduction and Overview [Tuc-Ch1, Seb-Ch1&Ch2, Joh-P6,P8,P52, Dan-Ch1, Sey-Ch1, Ben-Ch1] Paradigms History Syntax [Tuc-Ch2, Joh-P12, Kur-Ch1, Dan-Ch2, Aho-Ch3,4,5] BNF, Regular Grammar Context-Free Grammar Syntax Analysis [Ambiguity, Variations] Syntax & Semantics [Tuc-Ch2, Kur-Ch1&Ch4, Dan-Ch3] Abstract Syntax Abstract Syntax Trees Recursive Descent Parsing Schedule

6 Overview Type Systems & Semantics [Tuc-Ch3, Kur-Ch8, Ch9&Ch11, Dan-Ch4] Verification & Inference Operational Semantics Axiomatic Semantics Denotational Semantics Verification & Inference Functional Programming [Tuc-Ch8, Dan-Ch7, Lou-Ch11, Sey-Ch12,13, Joh-Ch5] Lambda Calculus, Types, Function Declaration, Expression Evaluations Lisp/Scheme Debug Schedule

7 Overview Logic Programming [Tuc-Ch9, SK-Ch32-34, Seb-Ch16, Kur-Ch6, Dan- Ch8] Logic, Predicates & Horn Prolog: Facts, Variables, Queries Imperative Programming [Tuc-Ch4-6, Seb-Ch5,6,7,8&9, Lou–Ch6-9, Dan-Ch5, Ter-Ch5,6,8-11, Sey-Ch6&7, Joh-Ch6-9, Ben-Ch4-11] Naming & Variables Types, Values, Expressions (Casting, Semantics, Operator Overloading) Selection, Loops, subroutine, coroutine, recursion Memory Management [Tuc-Ch5, Seb-Ch6, SK-Ch21] Overall Structure Methods, Run-time Stack Pointers Arrays, Records Structures Memory Leaks & Garbage Collection Schedule

8 Overview Exception Handling [Tuc-Ch6, SK-Ch21] Techniques Model Object Oriented Programming [Tuc-Ch7, Seb-Ch12, SK- Ch29&31, Dan-Ch6, Sey-Ch8&9, Joh-Ch10-12] Data Abstraction Object Orientation Model Inheritance, polymorphism, Abstract Classes, Late binding Schedule

9 Overview Event Driven [Tuc-Ch10] Foundation Programming Paradigms Applets Concurrent Programming [Tuc-Ch11] Concepts Inter-process Communication Deadlocks, Semaphores, Monitors Synchronization Others Constraint, Aspect-oriented Lazy & Eager Evaluation [SK-Ch3] Closure, Reflection Continuation [SK-Ch15-20] Algorithm & Action Semantics [Kur-Ch12, Ch13] Schedule

10 Overview Class Timings Mon [12:00 – 2PM] – FSM 1.21 Tue [8 – 9AM] – FSM 1.19 Sat [9:00 – 12:00PM] – FSM 1.19 Regularity Slides and Projector usage Assignments [3] – 10% each Final 3 Hours Exam – 70% CO 3225

11 Overview WeekChapters 1Introduction, Overview 2Data Types, Design Principles 3Syntax Analysis 4 5Semantics 6Semantics, HW #1 7Functional Languages WeekChapters 8Functional Languages, HW #2 9Logical Languages 10Logical Languages, HW #3 11Imperative Languages 12Imperative Languages 13OOP 14OOP Weekly Schedule

12 Overview Tell me if you don’t understand Tell me if I am too fast or too slow Tell me if you are unhappy with the course Tell me before or after the lecture, during exercises, in my office, in the corridors, in the coffee room, by , … Before We Get Started