Principles of Programming Languages - PowerPoint PPT Presentation

Loading...

PPT – Principles of Programming Languages PowerPoint presentation | free to download - id: 169e34-NDY2M



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Principles of Programming Languages

Description:

Principles of Programming Languages ... methods in programming language studies. 11/19 ... This is not a course about your top 10 favorite programming languages ... – PowerPoint PPT presentation

Number of Views:2574
Avg rating:3.0/5.0
Slides: 17
Provided by: ValuedSony2
Learn more at: http://www.cs.bu.edu
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Principles of Programming Languages


1
Principles of Programming Languages
  • Hongwei Xi
  • Comp. Sci. Dept.
  • Boston University

2
Welcome!
  • Principles of Programming Languages
  • Introduction to some fundamental principles in
    the design and implementation of programming
    languages
  • Emphasis on the use of mathematical methods in
    programming language studies

3
Course Overview
  • Type Systems
  • What is type safety?
  • What are the advantages of typed languages?
  • What are the disadvantages of typed languages?

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
Course Overview
  • Type Inference
  • 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?

6
What is this course like?
  • Stressing both mathematical reasoning and
    implementation skill
  • Prove theorems
  • Build systems
  • Emphasizing mathematical rigor and clarity
  • If you cant explain it, you probably dont
    understand it

7
What is this course like?
  • It proceeds in a fast pace
  • You are expected to read the text that we may not
    have time to cover in class
  • You are expected to try programming examples that
    we may not have time to explain in class
  • You may need to take notes on the materials we
    cover that are not in the textbook, though I will
    minimize the need for note-taking by providing
    you with as many notes as possible

8
What is this course like?
  • You are to have a rapid exposure to many
    fundamental concepts in programming languages
  • You are expected to gain a great deal more
    understanding of programming, which can be really
    helpful for you to pursue other subjects in
    computer science
  • Above all, I hope that you will find a great deal
    more fun in programming

9
What is this course not like?
  • This is not a course about your top 10 favorite
    programming languages
  • We are interested in fundamental concepts
  • We are not so concerned with fads
  • This is not a compiler course, though it can
    certainly be of great help for you to take a
    compiler course later

10
Programming Language
  • Standard ML (SML)
  • http//cm.bell-labs.com/cm/cs/what/smlnj
  • If you know little or nothing about SML, please
    learn it now!

11
Homework
  • There are approximately 8 assignments
  • Individual work only unless specified otherwise!
  • Clarity and elegance count
  • It is not enough to just work on test data

12
Warnings
  • This is likely a challenging course for you as
    many new and unfamiliar concepts in programming
    languages are to be introduced rapidly
  • You may need to give some time for certain
    concepts to sink in
  • You may find that some programming assignments
    are difficult and demanding
  • Please ask for help if you need it ask it sooner
    rather than later

13
Pleas
  • This is the first time for me to teach such a
    course at Boston University
  • I am likely to be a bit overly ambitious, and
  • I am certain to make (quite a few) mistakes, but
  • I will do my best to make the course run as
    smoothly as possible
  • Please be patient and ask (a lot of) questions!

14
Academic Integrity
  • Strict adherence to the university guidelines
  • All work you turn in must be solely your own
    unless specified otherwise
  • You are allowed to discuss problems with your
    classmates but you must write your own code and
    solutions
  • Please always remember that every student
    deserves a chance to achieve a fair grade

15
Important Course Information
  • Lecture Times 10-11AM MWF
  • Classroom MCS B31
  • Course Homepage http//www.cs.bu.edu/hwxi/acad
    emic/courses/CS520.html
  • Instructor Hongwei Xi
  • Office Hours Monday 11AM-12PM Wednesday 1PM-3PM
  • Grades Calculation 40 (homework) 20
    (midterm) 40 (final) A 80 or above
    B 70 or above C 60 or above
    D 50 or above

16
The End
Questions?
About PowerShow.com