Instructor: Sorin Lerner
Overview: Programming Languages are the duct tape, bricks, mortar and steel of the information age. Over the last thirty years, a variety of languages with diverse features have been developed, expressive radically different perspectives of the idea of computation. CSE 130 is an introduction to these different perspectives, the fundamental concepts of languages, and how modern language techniques and idioms can be used to engineer software systems. For this purpose, we shall focus on three different paradigms -- functional, object-oriented and logic programming as embodied in OCaml, Python and Prolog. Many students will be encountering these paradigms, languages and idioms for the first time. As with spoken languages, these are best absorbed by immersing yourself in the different environments and practicing your skills through experimentation. Thus, we will have no written homeworks or midterms, but instead grade you through 6-8 programming assignments, a midterm, and a final exam.
Integrity of Scholarship: University rules on integrity of scholarship will be strictly enforced. By taking this course, you implicitly agree to abide by the UCSD Policy on Integrity of Scholarship described on this Web Site. In particular, "all academic work will be done by the student to whom it is assigned, without unauthorized aid of any kind."
You are expected to do your own work on all assignments; there are no group projects in this course. You may (and are encouraged to) engage in general discussions with your classmates regarding the assignments, but specific details of a solution, including the solution itself, must always be your own work. There will be graded assignments and exam in this course, as described below. All exams are closed book; no implements other than your brain and a writing instrument are to be used.
Incidents which violate the University's rules on integrity of scholarship will be taken seriously. In addition to receiving a zero (0) on the assignment/exam in question, students may also face other penalties, up to and including, expulsion from the University. Should you have any doubts about the moral and/or ethical implications of an activity regarding the course, please see the instructors.