CS3518 Languages and Computability Kees van Deemter [email protected] Lectures Monday14:00MT6...
-
Upload
julian-chavez -
Category
Documents
-
view
214 -
download
2
Transcript of CS3518 Languages and Computability Kees van Deemter [email protected] Lectures Monday14:00MT6...
![Page 1: CS3518 Languages and Computability Kees van Deemter k.vdeemter@abdn.ac.uk Lectures Monday14:00MT6 Tuesday11:00KC T2 Tutorials/Practicals Tuesday13:00-15:00.](https://reader035.fdocuments.us/reader035/viewer/2022081907/5515d7f7550346d46f8b494c/html5/thumbnails/1.jpg)
CS3518Languages and Computability
Kees van [email protected]
LecturesMonday 14:00 MT6Tuesday 11:00 KC T2
Tutorials/PracticalsTuesday 13:00-15:00 (one group)
and 15:00-17:00 (another), in Meston 311
![Page 2: CS3518 Languages and Computability Kees van Deemter k.vdeemter@abdn.ac.uk Lectures Monday14:00MT6 Tuesday11:00KC T2 Tutorials/Practicals Tuesday13:00-15:00.](https://reader035.fdocuments.us/reader035/viewer/2022081907/5515d7f7550346d46f8b494c/html5/thumbnails/2.jpg)
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!
![Page 3: CS3518 Languages and Computability Kees van Deemter k.vdeemter@abdn.ac.uk Lectures Monday14:00MT6 Tuesday11:00KC T2 Tutorials/Practicals Tuesday13:00-15:00.](https://reader035.fdocuments.us/reader035/viewer/2022081907/5515d7f7550346d46f8b494c/html5/thumbnails/3.jpg)
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)
![Page 4: CS3518 Languages and Computability Kees van Deemter k.vdeemter@abdn.ac.uk Lectures Monday14:00MT6 Tuesday11:00KC T2 Tutorials/Practicals Tuesday13:00-15:00.](https://reader035.fdocuments.us/reader035/viewer/2022081907/5515d7f7550346d46f8b494c/html5/thumbnails/4.jpg)
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!
![Page 5: CS3518 Languages and Computability Kees van Deemter k.vdeemter@abdn.ac.uk Lectures Monday14:00MT6 Tuesday11:00KC T2 Tutorials/Practicals Tuesday13:00-15:00.](https://reader035.fdocuments.us/reader035/viewer/2022081907/5515d7f7550346d46f8b494c/html5/thumbnails/5.jpg)
Course structure in more detail
1. Formal languages
2. Functional programming
3. Imperative Programming
4. Computability
![Page 6: CS3518 Languages and Computability Kees van Deemter k.vdeemter@abdn.ac.uk Lectures Monday14:00MT6 Tuesday11:00KC T2 Tutorials/Practicals Tuesday13:00-15:00.](https://reader035.fdocuments.us/reader035/viewer/2022081907/5515d7f7550346d46f8b494c/html5/thumbnails/6.jpg)
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
![Page 7: CS3518 Languages and Computability Kees van Deemter k.vdeemter@abdn.ac.uk Lectures Monday14:00MT6 Tuesday11:00KC T2 Tutorials/Practicals Tuesday13:00-15:00.](https://reader035.fdocuments.us/reader035/viewer/2022081907/5515d7f7550346d46f8b494c/html5/thumbnails/7.jpg)
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
![Page 8: CS3518 Languages and Computability Kees van Deemter k.vdeemter@abdn.ac.uk Lectures Monday14:00MT6 Tuesday11:00KC T2 Tutorials/Practicals Tuesday13:00-15:00.](https://reader035.fdocuments.us/reader035/viewer/2022081907/5515d7f7550346d46f8b494c/html5/thumbnails/8.jpg)
Let’s get started with formal languages