Programming Languages: Principles and Paradigms

CSE130, Spring 2005


Course overview
Contact information
Integrity of scholarship
Class and exam schedule
Grading guidelines
Text and other material
Homework assignments
Programming assignments
Lecture notes
Class Web board
Useful links about Common Lisp
Useful links about Prolog


Course overview

CSE 130 surveys the main features and fundamental concepts of programming languages and their design.  The course considers the characteristics which various languages have in common as well as the ways in which they may be differentiated.  The principle languages used as exemplars of the course concepts are C, Java, COMMON LISP, Prolog, and scripting languages, although a number of others will be covered to demonstrate language principles, design, and evolution.  While one component of the course will be to write programs in the principle languages, CSE 130 is not a programming course, per se, and thus focuses more on programming languages in general, and less on the details of specific languages.  As such, in addition to programming assignments, student performance in the course will be based strongly on homework assignments, a midterm, and a final exam.

Contact information

Name email Telephone Office Office Hours
Henri Casanova (Instructor) casanova@cs.ucsd.edu 858-822-0489 AP&M #3349C Wed,Thu: 1PM until 2PM
Cameron Chrisman (TA) cchrisman@ucsd.edu N/A EEBU 1, #6307C Wed: 3PM until 4PM
Charles Lucas (TA) cplucas@cs.ucsd.edu N/A EBU 1, #6307 Mon: 10AM until 11AM

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.

Class and exam schedule

Lectures: Tue & Thu, 5PM to 6:20PM, Center 214
Discussion Sessions: Mon, 9AM to 9:50AM, HSS 1330

Midterm Exam: Thu, May 12, 5PM-6:20PM, Center 214
[SOLUTIONS]
Final Exam: Wed, June 8, 7PM-10PM, Center 214

Grading guidelines

Homework Assignments (HW) 2 @ 7.5% each
Programming Assignments (PA) 2 @ 15% each
Midterm Examination 25%
Final Examination 30%

Notes:

Text and other materials

The required text for CSE 130 for the Spring Quarter 2003 is Concepts of Programming Languages, Sixth Edition, by Robert W. Sebesta (ISBN 0-201-75295-6), and is available at the UCSD Bookstore.

Other course materials such as reference works, web sites, tutorials, etc. will be made available on this site as appropriate. Please note that, because of the broad range of topics covered in this class, not all material presented during lectures will appear in the textbook, or may be explained differently and/or in greater depth. Acceptable completion of the course assignments and examinations is contingent upon familiarity with the assigned readings and material covered in class, so attendance at lectures and discussion sections is exceptionally important.

Homework assignments (HW)

Programming assignments (PA)

Lecture notes

Class Web board

The class Web Board can be accessed
HERE.

Useful links about Common Lisp

Useful links about Prolog