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, LISP, and Prolog, 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.
| Name | Telephone | Office | Office Hours | |
|---|---|---|---|---|
| Henri Casanova (Instructor) | casanova@cs.ucsd.edu | 858-822-0489 | AP&M 3349C | Mon/Wed, 5PM - 6PM |
| David Hutches (Instructor) | hutches@cs.ucsd.edu | 858-534-2202 | AP&M 5016 | Tue/Thu, 5PM - 6PM |
| Abhishek Agrawal (TA) | abagraw@cs.ucsd.edu | N/A | AP&M 3349A | Fri, 11AM - 12PM |
| Haixia Shi (TA) | hashi@cs.ucsd.edu | N/A | AP&M 3349A | Mon, 3PM - 4PM |
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 beginning on page 62 of the Academic Regulations section (PDF) of the 2002-2003 General Catalog, 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. 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.
Lectures: Tue/Thu, 3:30-4:50, CSB 001
Discussion Sessions: Fri, 10:00-10:50, HSS 1330
Midterm Exam: 05/13, 3:30-4:50, CSB 001
Final Exam: 06/12, 3:00-6:00, CSB 001
| Homework Assignments (HW) | 2 @ 7.5% each |
| Programming Assignments (PA) | 3 @ 10% each |
| Midterm Examination | 25% |
| Final Examination | 30% |
Notes:
The required text for CSE 130 for the Spring Quarter 2003 is Concepts of Programming Languages, Fifth 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.
| Date | Topic | Reading | Assignments |
| Tue, 04/01 | Course description, introduction to programming languages | Chapter 1 | |
| Thu, 04/03 | Language categories, compilation, interpretation | Chapter 2 | |
| Tue, 04/08 | C and Java | Chapters 11 & 12 | |
| Thu, 04/10 | Prolog | Chapters 16 | PA #1 out |
| Tue, 04/15 | LISP | Chapters 15 | |
| Thu, 04/17 | Syntax | Chapters 3 & 4 | |
| Tue, 04/22 | Semantics | Chapters 3 & 4 | PA #1 due / HW #1 out |
| Thu, 04/24 | Names, variables, binding | Chapter 5 | |
| Tue, 04/29 | Binding, type checking | Chapter 5 | HW #1 due / PA #2 out |
| Thu, 05/01 | Data types | Chapter 6 & 11 | |
| Tue, 05/06 | Expressions and assignments | Chapter 7 | |
| Thu, 05/08 | Expressions and assignments | Chapter 7 | |
| Tue, 05/13 | Midterm examination | Solutions! | |
| Thu, 05/15 | Control structures | Chapter 8 | PA #2 due / PA #3 out |
| Tue, 05/20 | Subprograms | Chapters 9 & 10 | |
| Thu, 05/22 | Subprograms | Chapters 9 & 10 | |
| Tue, 05/27 | Scoping | Chapter 5 | |
| Thu, 05/29 | Scoping | Chapter 5 | PA #3 due / HW #2 out |
| Tue, 06/03 | Other languages | Chapter 2 | |
| Thu, 06/05 | Unusual and special purpose languages | Chapter 2 | HW #2 due |
| Thu, 06/12 | Final Examination | Solutions! |