CSE 341
Programming Languages
Spring 1999
|
Department of Computer Science and Engineering, University of Washington
Steve Tanimoto (instructor) and Jeremy Baer (teaching assistant).
|
Syllabus
(most recently updated on 10 June 1999)
Tentative list of topics to be covered:
-
Overview of Programming Language Families
-
History of Programming Languages
-
The Object-Oriented Approach
-
Java classes and instances
-
Java commonly used classes
-
Java AWT
-
Java multitasking and networking
-
Java case study
-
Interaction with Lisp
-
Lisp S-expressions, representation of list structure
-
Lisp evaluation
-
Defining functions, recursion
-
Functional programming with Lisp
-
Lexical closures and their relation to objects
-
Pattern matching
-
Fundamentals of logic programming
-
Logic programming using a Lisp resolution engine
-
Introduction to visual programming systems
-
Visual programming: systems and issues
-
Scripting languages and Perl introduction
-
Pattern matching in Perl
-
String interpolation and other features of Perl
-
CGI programming
-
Integration with the OS, databases, and browsers
-
Case study
Grading -- approximate percentages
-
Java programs 15%. Java Quiz 5%.
-
Lisp programs 15%. Lisp Quiz 5%.
-
Perl program 10%.
-
Other assignments 15%.
-
Project 35%.
Late Policy for Homework
Unless otherwise noted, if an assignment is turned in after the beginning
of the class at which the assignment is due, but within 1 hour of deadline,
10% off. Between 1 hour and 1 day late, 15% off. Between 1 day and
1 week late, 20% off. After 1 week late, 10% per additional week
late.
Policy on Collaboration
WARNING: Unless indicated otherwise in writing, each assignment is to be
done by each student individually and independently. Students are
encouraged to study together and help each other in debugging. However,
sharing a solution with another student before the assignment is due or
looking at someone else's solution and subsequently modifying your own
before the assignment is due is inappropriate. Student solutions
judged by the TA and instructor to be suspiciously similar may lead to
prosecution under the College of Engineering's policy on academic misconduct.
Texts
1. Timothy Budd: Understanding Object-Oriented Programming with Java.
Reading, MA: Addison-Wesley, 1998. (available at the University Bookstore).
2. Steven Tanimoto: Lisp Lessons: n Steps to Fluency in the Premier
Language for Artificial Intelligence. (copies will be made available
at the copy center).
3. Michael Schilli: Perl Power! : A Jumpstart Guide to Programming
in Perl 5. (to be available at the University Bookstore).
References on Java
Here
are some Java references to help you get started.
References on Lisp
There are a number of online resources for LISP. Here is one of them.
References on Perl
Here are a few of the many online resources for Perl:
Course Newsgroup:
Our newsgroup is uw-cs.courses.cse341