120 likes | 145 Views
This course covers mathematical foundations, type theory, designing and implementing programming languages. Assignments and exams account for grading. The use of OCaml is mandatory while cheating is strictly prohibited. Access the course webpage for detailed information and guidelines.
E N D
CSE-321 Programming LanguagesOverview 박성우 POSTECH February 21, 2016
Course Outline • Topics to be covered: • mathematical foundation of programming languages • theory of programming languages • type theory • designing programming languages • implementing programming languages
CSE-321 Programming Langauges • Course webpagehttp://pl.postech.ac.kr/~gla/cs321
Grading • Assignments 60%Midterm 20%Final 20% • 8 (or 9) programming assignments • To get a grade of A, you have to complete all assignments. • Missing 1/3 of the lectures gets you the final grade of F.
Discussion Board • telnet pl.postech.ac.kr, board 321 • Create an ID to ask questions.
Anonymous Feedback • http://pl.postech.ac.kr/~gla/feedback/
Objective Caml (OCaml) • Programming language for your assignments • We will use OCaml 4.01. • Read ‘The core language’ and ‘The module system’ sections in the OCaml manual.
No Cheating • Read the document on the disciplinary policy. • 2016: 2 students cheated (out of 40 students) • We have developed clonechecker for OCaml. • We will check all your programs at the end of the semester. • Cheating will get you a grade of F.
programming.postech.ac.kr • Linux machine for your assignments. • OCaml 4.01 is already installed. • Use your Hemos ID to log in. • Contact Hemos Team to request an ID. • Your handin directory is located at: /home/class/cs321/handin/<your Hemos ID>
Assignments • All assignments will be out soon. • Finish the assignments at your pace. • Details of the instruction are all in the handout. • If you don't find your handin directory, email beomseok0203@postech.ac.kr. • You may program on Windows or Linux, but make sure that your program compiles! • Otherwise your program will not be graded.
Why Type Theory? • Type: 데이터의 종류를 요약 • 타입 이론(type theory)에서 발전 • parametric polymorphism, let-polymorphism • subtyping with covariance and contra-variance • F-bounded polymorphism • higher-order kind, type-class • generalized ADT • dependent type • first-class module, functor • 일반 프로그래밍 언어에서 점차적으로 도입