CSE 130, Fall'00 - Programming Languages: Principles and Paradigms

This is the web page of course CSE 130, located at http://www-cse.ucsd.edu/classes/fa00/cse130/

In this course you will learn the theoretical principles that are used in designing and evaluating programming languages, as well the main programming paradigms such as imperative, object oriented, functional and logic programming. Prerequisite for the class are CSE12 and CSE100, i.e., object-oriented programming and data stractures. Since object oriented programming is a prerequisite, in this course we will concentrate on the other programming styles exemplified mainly by the Scheme, ML and Prolog programming languages. Imperative and object oriented programming languages (like C, C++, Java) will also be used for comparison purposes.

Final Exam

The Final exam is scheduled on Friday December 8, from 3:00pm to 5:59pm in Center 105. Exam is open book, open notes.

We will be regularly holding office hours during final week (Tuesday and Thursday).

Webboard

The WebBoard system (http://fire.ucsd.edu:1080/~cs130f) will be used to make important announcements related to the course. Two groups have been created on WebBoard:

If you have not subcribed to the above lists, you should do so immediately. You can subscribe them visiting http://fire.ucsd.edu:1080/~cs130f. When subscribing you can choose whether you want to receive announcements/partecipate to discussions via email instead of using the WWW interface.

If you have problems joining the lists, send email to cse130@cs.ucsd.edu

Announcements

Course Schedule

Lectures are Mondays and Wednesdays from 4:40 to 6:00 in Center 105.

The Discussion section will be on Fridays from 3:35 to 4:25, also in Center 105.

There will be no classes on Monday Nov 20 and Wednesday Nov 22. Those two classes have been rescheduled on Friday Nov 17 and Friday Dec 1, from 4:40 to 6:00 in Center 105 as usual.

There will be 4 homehowrk assignments, 1 midterm exam and 1 final exam.

Homework assignments will be posted on this web page, usually on Wednesday, and will be typically due on Monday (12 days later) at the beginning of class. Homework assignments are tentatively scheduled on the following dates:

The midterm exam will be in class, and it is scheduled on Wednesday October 25. There will be no make up midterms. If you miss the midterm exam it will count as 0.

Textbook

The textbook for the course is Concepts of Programming Languages, 4th edition, by Robert. W. Sebesta, Addison Wesley.

Lectures will not follow the order presented in the book. We will occasionally give pointer in class to specific sections of the book that cover the material that is being presented in class, but you are the person primarily responsible for locating the chapters in the book you should study. We will also be distributing lecture notes on selected topics that are not adequately covered in the textbook. (Notes will be posted on this web page.)

Notice that lecture notes are an addendum to the book, and for most of the material covered in class the textbook will be the main reference.

In the two weeks following the midterm exam we will be using the ML programming language. You can use one of the many ML tutorials available on-line to teach yourself ML, e.g., R. Harper's Programming in Standard ML. See http://cm.bell-labs.com/cm/cs/what/smlnj/doc/literature.html for a list of on-line tutorials and books. The book Elements of ML Programming by J. Ullman has been put on reserve in the library.

Staff

Unless you need to talk specifically to one of us, you should address your questions to cse130@cs.ucsd.edu.

Name Office Hours Room Email
Instructor Daniele Micciancio Tue. 2-3pm AP&M 5230 dmiccian@ucsd.edu
TAs Bogdan Warinschi Thu. 11-1pm AP&M 3337A bogdan@cs.ucsd.edu
Jie Sun N/A N/A jsun@cs.ucsd.edu
Fritz Schneider Thu. 2:30-4:30pm AP&M 2331 fritz@cs.ucsd.edu

Unless you need to talk specifically to one of us, you should address your questions to cse130@cs.ucsd.edu.

Homeworks

Lecture notes

Course Requirements and Grading

Prerequisite for the class are CSE 12 and CSE 100, i.e., object-oriented programming and data stractures.

Class members are expected to do all of the following in order to satisfactorily pass this class:

Homeworks, midterms and the final exam will contribute to the final grade according to the following percentages: Homeworks (40%, 10% each), Midterm (30%), Final (30%).

Homeworks will be due at the beginning of class, generally on Monday. Late problem sets will NOT be accepted, no exceptions. If you conldn't solve all the problems, just sumbit what you have for partial credit. If you do not submit your solutions by the due date, it will count as 0.

Collaboration policy: Talking with other students about assignments is acceptable, as long as you do the programming and write up the work on your own and clearly acknowledge any collaboration. (I.e., if you talk to student X about problem Y, write at the beginning of your homework "I talked to X about problem Y"). Copying from another assignment, book or paper is cheating and will be taken very seriously. In case of cheating we will enforce the UCSD Policy on Integrity of Scholarship. This means an F grade in the course, and action by the Dean of your college (probation or suspension from UCSD).

Midterm will take place in class during regular lecture hours. The midterm is scheduled on Wednesday October 25. There will be no makeup midterms, and missing the midterm exam will count as 0.

You will be allowed to use the textbook and course notes during the exam, but they must be your own. No other references allowed.

No form of collaboration with other students allowed during midterms and final, of course! (This includes passing around books and course notes. If you want to use the textbook or some notes you must bring your own.)