CSE321 Programming Languages Overview POSTECH March 5 2013

  • Slides: 12
Download presentation
CSE-321 Programming Languages Overview 박성우 POSTECH March 5, 2013

CSE-321 Programming Languages Overview 박성우 POSTECH March 5, 2013

Language = Frame of Thought • The language defines the frame of thought. –

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

C Exercise: Integration • Specification – input: function f from int to int range a and b – output: f(a) + f(a + 1) +. . . + f(b) • Solution? 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 –

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,

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

Course Overview

CSE-321 Programming Langauges • Course webpage http: //www. postech. ac. kr/~gla/cs 321 • Discussion

CSE-321 Programming Langauges • Course webpage http: //www. postech. ac. kr/~gla/cs 321 • 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

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

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: 59

Assignment 1 • Assignment 1 will be out tonight. – Due at 11: 59 pm, March 12 (next Tuesday) – Details of the instruction are all in the handout. – If you don't find your handin directory, email gla@postech. ac. kr. 10

Final Words • This course is not about: – functional programming, or SML –

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!

Welcome to CSE-321!