CS3518 Languages and Computability Kees van Deemter Lectures Monday14:00MT6 Tuesday11:00KC T2 Tutorials/Practicals Tuesday13:00-15:00.

Slides:



Advertisements
Similar presentations
Formal Languages: main findings so far
Advertisements

CS4026 Formal Models of Computation Running Haskell Programs – power.
Vagueness: a problem for AI Kees van Deemter University of Aberdeen Scotland, UK.
Lecture adapted from CS3511,Discrete Methods Kees van Deemter
Regular operations Sipser 1.1 (pages 44 – 47). CS 311 Fall Building languages If L is a language, then its complement is L’ = {w | w ∉ L} Let A.
CS2013 Mathematics for Computing Science Kees van Deemter and Adam Wyner and Lectures Monday.
Give a Solid Foundation to Students Rong Yang University of the West of England, Bristol
Formal Languages: main findings so far A problem can be formalised as a formal language A formal language can be defined in various ways, e.g.: the language.
CSE 202 – Formal Languages and Automata Theory 1 REGULAR LANGUAGE.
Theory Of Automata By Dr. MM Alam
CIT 596 Theory of computing Traditional course (CIS 511, CIS 262) and other similarly named courses in other universities are divided into 3 parts that.
Computability and Complexity 5-1 Classifying Problems Computability and Complexity Andrei Bulatov.
CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall
1 Lecture 4 Topics –Problem solving Subroutine Theme –REC language class The class of solvable problems Closure properties.
CS5371 Theory of Computation
Language Specfication and Implementation - PART II: Semantics of Procedural Programming Languages Lee McCluskey Department of Computing and Mathematical.
About the Course Lecture 0: Sep 2 AB C. Plan  Course Information and Arrangement  Course Requirement  Topics and objectives of this course.
Lecture 14 Go over midterm results Algorithms Efficiency More on prime numbers.
CSCI 3 Introduction to Computer Science. CSCI 3 Course Description: –An overview of the fundamentals of computer science. Topics covered include number.
Fall 2005Costas Busch - RPI1 CSCI-2400 Models of Computation.
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 1 Introduction Jan Maluszynski, IDA, 2007
LING 388: Language and Computers Sandiway Fong Lecture 11: 10/3.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 5 Reducibility Contents Undecidable Problems from Language Theory.
Programming Language Theory Leif Grönqvist The national Graduate School of Language Technology (GSLT) MSI.
Costas Busch - RPI1 CSCI-2400 Models of Computation.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Ch.1 (Part 1): The Foundations: Logic and Proofs Introduction.
Applications of discrete mathematics: Formal Languages (computer languages) Compiler Design Data Structures Computability Automata Theory Algorithm Design.
The Church-Turing Thesis Lecture by H. Munoz-Avila.
CS355 – Theory of Computation Dr. Aidan Mooney, September 2006 National University of Ireland, Maynooth Department of Computer Science.
Introduction to the Theory of Computation
CS 390 Introduction to Theoretical Computer Science.
Automata, Computability, and Complexity Lecture 1 Section 0.1 Wed, Aug 22, 2007.
1 Concepts of Programming Languages TK 327, Fall 2015 MW 2:00 PM – 3:15 PM STV 104 Instructor:Dr. Chung-Chih Li Home page of the Class.
CS3518 Languages and Computability Kees van Deemter Lectures Monday14:00New King’s 14 Tuesday11:00KC T2 Tutorials/Practicals Tuesday13:00-15:00.
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Overview.  Explores the theoretical foundations of computing  What can and cannot be done by an algorithm  Most of the material predates computers!
Computer Science 210 Computer Organization Course Introduction.
Logical and Functional Programming
Compiler Construction (CS-636)
CS139 – Algorithm Development Aug 23, 2004 WELCOME!
Models of Computation. Computation: Computation is a general term for any type of information processing information processing CPU memory.
Programming Languages
Why Study Automata? What the Course is About Administrivia 1 Welcome to CSE309.
Transparency No. 4-1 Formal Language and Automata Theory Chapter 4 Patterns, Regular Expressions and Finite Automata (include lecture 7,8,9) Transparency.
1 Course Overview Why this course “formal languages and automata theory?” What do computers really do? What are the practical benefits/application of formal.
C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department.
CSE 202 – Formal Languages and Automata Theory 1 REGULAR EXPRESSION.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
CS 2130 Computational Structures (Discrete Mathematics for Computing)
Formal Foundations-II [Theory of Automata]
Introduction to formal languages and automata
Why Study Automata? What the Course is About Administrivia
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Introduction to the Theory of Computation
Course 1 Introduction to Formal Languages and Automata Theory (part 1)
FORMAL LANGUAGES AND AUTOMATA THEORY
Principles of Computing – UFCFA Lecture-1
Computer Science 210 Computer Organization
Course 2 Introduction to Formal Languages and Automata Theory (part 2)
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
CSCI-2400 Models of Computation Costas Busch - RPI.
Programming Language Design
COP4020 Programming Language Concepts Dr. Manuel E. Bermudez
Regular Expressions
Principles of Computing – UFCFA Week 1
Lecture One: Automata Theory Amjad Ali
Computer Science 210 Computer Organization
Presentation transcript:

CS3518 Languages and Computability Kees van Deemter Lectures Monday14:00MT6 Tuesday11:00KC T2 Tutorials/Practicals Tuesday13:00-15:00 (one group) and 15:00-17:00 (another), in Meston 311

Aims of the course The main question of the course: –What problems can be solved on a computer? –I.e., which problems are computable? Different perspectives on computability exist. In most of these, problems are seen as formal languages Hence, we start talking about formal languages –only the basics!

Aims of the course Given that we know what a problem is, how does a solution look? A solution is an algorithm encoded in a programming language We consider 2 types of programming languages: –Imperative languages (e.g. JAVA) –Functional languages (e.g. HASKELL) –(If time allowed: logical languages, e.g. PROLOG)

Aims of the course Hence the second and third topics of the course: Functional programming languages Imperative programming languages Finally, we shall present the basics of computability theory Just the basics!

Course structure in more detail 1.Formal languages 2.Functional programming 3.Imperative Programming 4.Computability

Course structure in more detail 1.Formal languages –finite state automata and regular languages 2.Functional programming –Theory: lambda calculus –Practice: Haskell 3.Imperative Programming –Turing machines 4.Computability

History of CS3518 In previous years at Aberdeen, there were several courses in this area: –CS3511: Discrete Methods –CS3012: Formal language and Compilers –CD4026: Formal models of computation All three modules now merged into CS3518 –But some set theory and symbolic logic covered in year 1 (Foundations of Computing 1&2) –Please take a look at your old course notes

Lets get started with formal languages