Course:CS 330 - Programming Languages
Spring 2012
Description and objectives: Half of this course is a hike across the rugged landscape of current high-level programming languages. We'll bivouac in each of the four main language paradigms. The other half of this course will involve blazing new trails of designing our own programming languages. This course contributes to UWEC's creative and critical thinking learning goal.

Upon successfully completing this course, you will be able to:

  • Recognize and exploit the strengths of the four main language paradigms: imperative, functional, object-oriented, and logical.
  • Design and develop interpreters for your own domain-specific languages.
  • Operate under languages like C and C++ that do not perform automatic memory management.
Instructor:Chris Johnson (johnch@uwec.edu)
Office hours:M 3-4:30 PM, WF 2-3 PM in Phillips 134
Webpage:http://clog.twodee.org/
Discussion board:http://www.piazza.com/class
Lecture:MWF 11-11:50 AM
Phillips 276
Exams:Final - Friday, May 18 at 8 AM
Grading:
30%Homework
20%Midterm or Quizzes
30%Final project
20%Final exam
Textbook:Programming Languages: Principles and Paradigms (2nd edition)
by Robert Tucker
ISBN: 978-0-0-7286609-4
Communication: Your instructor is finite and values focus. Please keep these points in mind when needing to communicate with him:
  • Post questions to the discussion board. Use email only when absolutely necessary.
  • Attend posted office hours. Do not drop by at other times unannounced. If you have schedule conflicts, send an email to arrange an alternate time.
  • Your instructor responds to email only once a day and certainly not after 5 PM.
Good studentship: Follow these principles to maximize your learning and grade:
  • A good education requires both good teaching and good learning. It's hard work for both instructor and student.
  • Early is better than on time. Late homework receives a 0. Hard deadlines are set to ensure faster grading.
  • Plan for homework to take longer than you think. Ample time is allotted. Extensions are not granted.
  • Do your own coding. Discussion of problems is allowed, but plagiarism and soliciting solutions will earn you a report of academic misconduct and lower your grade. You don't want to live in a world serviced by cheaters, so don't be one yourself.
  • Grades are calculated according to your scores, not your circumstances.
Extra credit: 1% extra credit will be given for each high-quality, exam-caliber question/problem a student posts on the course blog. 3% extra credit will be given for each high-quality, fully-designed, and fully-implemented homework assignment a student posts on the course blog. The quality will be determined by the instructor. Posts must be categorized with "cs330," "spring 2012," and "problem." A student may receive at most 3% extra credit.
Accommodations: Any student who has a disability and is in need of classroom accommodations, please contact the instructor and the Services for Students with Disabilities Office in Old Library 2136 at the beginning of the semester.