Download presentation
Presentation is loading. Please wait.
1
Principles of Programming Languages
Hongwei Xi University of Cincinnati Spring, 2001 5 February 2019 Introduction
2
Welcome! 20-ECES-730: Principles of Programming Languages
Introduction to fundamental principles in programming language design and implementation Emphasis on the use of mathematical methods in programming language studies 5 February 2019 Introduction
3
Course Overview Type Systems What is type safety?
What are the advantages of typed languages? What are the disadvantages of typed languages? 5 February 2019 Introduction
4
Course Overview Operational Semantics What is operational semantics?
Why do we need operational semantics? How do we formally present operational semantics? Natural semantics (big step) Reduction semantics (small step) 5 February 2019 Introduction
5
Course Overview Type Inference Polymorphism
Do types have to be obtrusive to programming? Is it a good practice to omit writing types as much as possible? Polymorphism How can polymorphism help code reuse? How can polymorphism enforce data abstraction? 5 February 2019 Introduction
6
Course Overview Subtyping Objects, Classes and Inheritance
When is one type a subtype of another? How can subtyping help code reuse? Objects, Classes and Inheritance How can we build flexible and extensible software? How is subtyping related to inheritance? 5 February 2019 Introduction
7
What is this course like?
Stressing both mathematical reasoning and implementation skill Prove theorems Build systems Emphasizing mathematical rigor and clarity “If you can’t explain it, I won’t trust it ” 5 February 2019 Introduction
8
What is this course like?
You will have to work hard in order to keep up! Many ideas may sound unfamiliar to you. They are often formal and take time to “sink in”. Assignments often require both mathematical reasoning and implementation skill. 5 February 2019 Introduction
9
What this course is like?
There is no textbook for this course Taking notes is a large part of the course Both studying and experimentation are essential to gaining understanding of the material 5 February 2019 Introduction
10
What is this course like?
Most of all, it’s a lot fun! Elegant interplay between theory and practice Rapid exposure to many fundamental ideas Enormous potential for pursuing further studies in language design and implementation 5 February 2019 Introduction
11
What this course is not! This is not a course on your top 10 favorite programming languages We care about fundamental principles, not fads! This is not a compiler course This course can be of great help for you to learn compiler construction Nonetheless, you will be doing a lot of programming! 5 February 2019 Introduction
12
People Teaching Staff Hongwei Xi, Assistant Prof
Swaroop Kavalanekar, Graduate Student 5 February 2019 Introduction
13
Schedules Lectures: TTh 3:30-4:45PM Classroom: Swift 500 Office Hours:
Thursday 4:30-6:30PM Or by appointment (preferred) Or stop by 826 Rhodes 5 February 2019 Introduction
14
Programming Language Standard ML (SML)
If you know nothing of SML, learn it now! 5 February 2019 Introduction
15
Homework Approximately 5 or 6 assignments Clarity and elegance count
About one every two weeks Individual work only unless specified otherwise! Clarity and elegance count It is not enough to just “work” on test data 5 February 2019 Introduction
16
Exams and Grades Midterm (30%) Final (40%) Homework (30%)
Date: Friday, 27 April, 2001 Format: In-class or Take-home Final (40%) Date: Thursday, 7 June, 2001 Time: 7:30-9:30AM Place: Classroom Homework (30%) All exams are open-book Participation can make difference on letter grade 5 February 2019 Introduction
17
Academic Integrity Strict adherence to the university guidelines
All work must be solely your own! If you have difficulty keeping up, ask for help! The teaching staff are always willing to help Ask earlier, rather than later 5 February 2019 Introduction
18
A Plea and A Warning This is my second time to offer such a course
I’m likely to be overly ambitious I’m certain to make (many) mistakes But I’ll do my best to run the course smoothly Please be patient and ask a lot of questions 5 February 2019 Introduction
19
Course Information Everything is on the web!
Course Homepage Notes, Slides, Handouts, Assignments, Solutions Please visit the homepage frequently! 5 February 2019 Introduction
20
Welcome on Board and Enjoy the Ride!
5 February 2019 Introduction
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.