* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download CM033 : ADVANCED PROGRAMMING MODELS
Survey
Document related concepts
Relational model wikipedia , lookup
Join-pattern wikipedia , lookup
Control flow wikipedia , lookup
Abstraction (computer science) wikipedia , lookup
Go (programming language) wikipedia , lookup
Falcon (programming language) wikipedia , lookup
Object-oriented programming wikipedia , lookup
C Sharp (programming language) wikipedia , lookup
Object-relational impedance mismatch wikipedia , lookup
Programming language wikipedia , lookup
Reactive programming wikipedia , lookup
Logic programming wikipedia , lookup
Functional programming wikipedia , lookup
Transcript
CM033 : ADVANCED PROGRAMMING MODELS Dave Harrison Office : D202 Phone : 3224 E-Mail : [email protected] WWW : http://computing.unn.ac.uk/staff/cgdh1 1.1 Unit Objectives • To introduce programming with a relational language. – Pedagogical vehicle : GNU PROLOG. • To introduce the four main models of computation and their associated programming language paradigms. – Turing machine. – Von Neumann. Imperative languages. – Predicate calculus. Relational languages. – Lambda calculus. Functional languages. 1.2 Unit Structure • Unit team : – David Harrison (unit tutor). – Alun Moon. • 12 hours lectures. 12 hours practical / seminars. – Weeks 1-10 : Relational programming (PROLOG). – Weeks 11-12 : Computational models and language paradigms. • Assessment : closed book examination. – 2 hours. – 4 questions. – You must attempt 3. 1.3 Books • Prolog Programming For Artificial Intelligence I. Bratko Addison-Wesley Publishing 2000 • Programming Language Concepts And Paradigms D.A. Watt Prentice-Hall International 1993 • Comparative Programming Languages R.G. Clark (Third Edition) Addison-Wesley Publishing 2001 • 1066 And All That W.C. Sellar & R.J. Yeatman Mandarin 1991 1.4 Internet & Intranet Resources • From my home page you can get to a page containing useful links : – ~daveh/links – Notably, the GNU PROLOG home page. – Versions of GNU PROLOG are available for Linux and Windows machines. It’s free. • Usenet newsgroups : – comp.lang.prolog – comp.lang.functional – comp.sigplan – comp.risks – comp.theory 1.5 Internet & Intranet Resources II • Also from my home page you can get to a directory for an old lecture course on declarative programming : – ~daveh/teaching/dp. – PROLOG (1-13) and Miranda (14-24). – All ASCII files. • Several hundred pages : – Lecture notes. – Example programs. – Example programming assignment. • Lots more in this directory than you need but worth a look. – Don’t just print it all out! 1.6 Internet & Intranet Resources III • The PROLOG code given in the lectures can be found in the following directory on Linux/UNIX : /usr/users/daveh/teaching/cm033apm/examples • The answers to the practicals can be found in the following directory on Linux/UNIX : /usr/users/daveh/teaching/cm033apm/practicals 1.7