Programming Languages (CPSC 3400)

Spring 2009, 11-12:15 p.m. Tue-Thu, Rm. 2 Library

Instructor: Jim Jones
Office hrs: 2-3 p.m. daily and other times as available
Office: Room 19 Library (Phone x5294)

Text: Modern Programming Languages: A Practical Introduction, by Adam Brooks Webber (www.webber-labs.com/mpl.html)

Course Description:
A study of programming language concepts including syntax and semantic specification, program control structures, memory and data structures for implementation, and data abstraction. Topics include: recursive functions, data typing, inheritance, distributed processing, functional programming, logic programming, script languages, text processing languages, and parsing issues. Representative languages are studied and projects in several of them are performed. The objectives for this course are:

  1. To learn the major principles and concepts underlying all programming languages.
  2. To gain perspective and insight into the effect programming languages and their design have on the way we communicate with computers and think about computing.
  3. To become familiar with the details of important programming languages and language paradigms.
  4. To practice solving computing problems using several different programming languages and paradigms.

Course Schedule:
The pace of this course depends somewhat on the nature of the class, discussion, and unplanned circumstances. I intend to procede through the chapters in the order appearing in the textbook. It is my intent to cover 2 chapters a week for most weeks. Chapters 13, 15, and 17, will receive less attention since Java should be familiar to students in this class (but you are expected to read them). Chapter 23 will not be covered (but you should read it if you intend to go on to graduate school or take the GRE specialty exam in CS). Assignments and exams will be announced in class. In as much as possible I will also announce them by email (using the cpsc3400-L listserv) and on the class website (http://csit.graceland.edu/~jsjones/cpsc3400).

Grading:
I assign points to assignments, projects, and quizzes that reflect their value relative to each other without being weighted in any special way. Thus, a 20 pointer has twice the value of 10 pointer no matter whether it is an exercise or an exam. One's score is simply computed from the sum of all scores earned divided by the total possible. I also assign points so that no one item would be seen as meaningless or overly significant (typically no assignment, project, or exam counts less than 5% or more than 30% of the final grade). Attendance and participation is expected throughout the course. Perfect attendance will earn the student a 3% bonus. Any excused absence will have to be made up in order earn this bonus credit (typically a 3-page paper or presentation). Whenever I am concerned that some students are relying too much on others for help, not doing the reading, or not being engaged in the topic my attention shifts to writing exams in order to be fair to those who are. Expect two to four exams (including final) and regular assignments. Grade threshold follows:

A: 90% and above B: 80% and above C: 70% and above D: 55% and above F: below 55%

I generally do not "curve" grades, but I sometimes look at how class scores are clustered to get a truer sense of where the actual grade categories lay.

Final Exam:
Wednesday, May 13, 2009, 10 a.m. to noon
Mark your calendar NOW since there is a strict Graceland policy on final examinations. Only those having three or more finals on the same day can seek changes. You can go to http://csit.graceland.edu/~jsjones/finals to determine all your final exam times to see if you will face this and need to talk with your teachers (FYI- this webpage is a Python CGI based form).

Classroom Civility/Courtesy:
Checking email and engaging in electronic chats are inappropriate during class sessions in the computer labs, especially while I am lecturing. These constitute lack of participation and may accumulate absence or participation penalties.
It is rude and disruptive to come late or leave early. If you need to do so, please inform or ask me beforehand.
Turn off cell phones and beepers during class and exams. See me beforehand if you need them.
Hats, notes, bookbags and other materials are to be placed on the floor or out of sight during an exam.
Civility is expected toward the teacher and with each other. Being disruptive or argumentative in class is inappropriate. Resolve conflicts outside of classtime.

Plagiarism and Cheating:
So much of what we do is electronic in nature, easy to transmit and copy. Take special care to stay honest when seeking help and facing a deadline. Protect your work from those who might copy it and do not get so involved in helping someone that you are merely doing their work (an easy trap to fall into). When in doubt about what is appropriate, ask me. See also the Graceland policy on academic integrity.

Any student who, because of a disabling condition, may require some special arrangements in order to meet course requirements should contact the instructor as soon as possible to make necessary accommodations.