Transcript PPT

CSE-321 Programming Languages
Overview
박성우
POSTECH
March 5, 2013
Language = Frame of Thought
• The language defines the frame of thought.
– what you can communicate to others
– what concepts you are able to think over
自由
• Big question:
"Does the programming language define the frame of
thought in the course of programming?"
2
C Exercise: Integration
• Specification
– input: function f from int to int
range a and b
– output: f(a) + f(a + 1) + ... + f(b)
• Solution?
int integral(int (*f)(int), int a, int b) {
int i, sum = 0;
for (i = a; i <= b; i++)
sum += f(i);
return sum;
}
• Question: what if there were no function pointer?
3
C Exercise: Derivative
• Specification
– input: function f from float to float
– output: derivative f' of f such that
f'(x) = (f(x + ) - f(x)) / 
• Solution?
4
Question for You
• What is your favorite programming language?
– Assembly, Basic, Pascal, C, C++, C#, Java, Perl, Python,
Ruby, Prolog, Lisp, SML, Haskell, Scheme, ...
• What is its strength?
• What is its weakness?
• What is its limitation?
• Do you think your programming language defines the
frame of thought?
5
Course Overview
CSE-321 Programming Langauges
• Course webpage
http://www.postech.ac.kr/~gla/cs321
• Discussion board
– telnet pl.postech.ac.kr, board 321
• Anonymous feedback
http://pl.postech.ac.kr/~gla/feedback/
– Visit POVIS for the reviews on this course
• Software
– Standard ML 110.58
– AFS client software
• Good news:
– No midterm
– No final
7
Online Teaching
• All lecture videos are available on the webpage.
• Watch the lecture video BEFORE class.
• In class, we will just discuss what you learned.
– I will lead the discussion.
– You will ask questions on the lecture.
• We will have an in-class exam after finishing each topic
– 1 or 2 exams each week
• Grading
– 50% assignments (heart of this course)
• 8 programming assignments, all in SML
– 50% in-class exams
• Absolute grading system
8
No Cheating
• Read the document on the disciplinary policy.
• 2006
– 7 students cheated (out of 46 students)
– 2 suspicious cases
• 2011
– 5 students cheated (out of 35 students)
• We will check your programs at the end of the semester.
– all your programs + those submitted in the previous years
• Cheating will not be tolerated.
– Cheating will expel you from class and get you an F.
9
Assignment 1
• Assignment 1 will be out tonight.
– Due at 11:59pm, March 12 (next Tuesday)
– Details of the instruction are all in the handout.
– If you don't find your handin directory, email
[email protected].
10
Final Words
• This course is not about:
– functional programming, or SML
– learning new programming languages
– learning the history of programming languages
• This course is about:
– programming language theory
– programming language implementation
– programming language principle
11
Welcome to CSE-321!