California State University Stanislaus

CS 4100: Programming Languages (WP)

Spring 2010

MWF 12:20 pm - 1:18 pm, P 114,  Dr. Melanie Martin


[Basic Information]         [Announcements]         [Calendar/Assignments]        [Links]       

Welcome to CS 4100, Programming Languages

Course Description

This course will introduce you to the principles of the design, evaluation, and implementation of computer programming languages. As such it is not a crash course to teach you to program in a half dozen new dialects, although you will find learning new languages easier as a result of this study. Our emphasis will be on the kinds of features languages might have, how they influence a programmer's thought process, and how they may be implemented on a computer.

At this level of study, we will find that complex tradeoffs between language principles coupled with a variety of differing goals often can lead designers to radically different design decisions. There seems to be no single "right" way to design a programming language, no single language that is "right" for all applications. You will be asked to explore some of these tradeoffs through a series of writing assignments in which your thought process and ability to balance fairly many aspects of complex issues will often be more important than the conclusions you reach. Because of this subject matter and pedagogical approach, this course meets the University graduation requirement for Writing Proficiency, and you will need to have passed the University Writing Proficiency Screening Test before enrolling.

(The above paragraphs are from Dr. Ray Zarling's CS 4100 course description, with permission.)

Announcements and Upcoming Events

2/17/10

Welcome to CS 4100!     

3/2/10
Furlough Day - No Office Hours
4/14/10
Office Hours for 4/15 to 4/23:
April 15 - Thursday         2 to 4 pm
April 16 - Friday              2 to 3:30 pm
April 19 - Monday          CANCELLED
April 20 - Tuesday          CANCELLED
April 21 - Wednesday     1:30 to 5 pm
April 22 - Thursday         3:30 to 5 pm
April 23 - Friday             CANCELLED
5/14/10
Furlough Day
5/19/10
Office hours change:
     No office hours on Friday 5/21
     Replaced by Thursday 5/20 1-3 pm

Basic Information

Textbook is Principles of Programming Languages: Design, Evaluation, and Implementation (Third Edition), by Bruce J. MacLennan

Instructor: Dr. Melanie Martin                           Office: Demergasso-Bava Hall 276

Email: mmartin@cs.csustan.edu                               Office Phone: (209) 667-3787

Web Page: www.cs.csustan.edu/~mmartin

Office Hours: 

Monday:  1:30 to 2:30 pm
Tuesday:  2:00 to 3:30 pm
Friday:     2:00 to 3:30 pm

and by appointment.

Best way to contact Dr. Martin:  Email mmartin@cs.csustan.edu  Please put "CS4100" in the subject line of the email.

Prerequisite: Completion of the Writing Proficiency Screening Test with a passing score and CS 3100.

Warning: I reserve the right to make changes to the syllabus at any time during the term by announcing them in class and on my web page.

Course Email list: There is an email list set up for this course. Please join it at your earliest convenience, since class announcements and discussion may take place on the list.
To sign up, go to: http://majord.csustan.edu
Enter your email address and cs4100-1 as the name of the list.


Grading and Policies

Final grades will be based on projects and assignments, a term project and exams. A plus and minus grading scale wll be used to assign final grades. Except for designated collaborative activities in connection with the project, all writing and other work you present for credit must be entirely your own, or developed on your own in consultation with the course instructor or other Department faculty. Penalties for representing other people's work as your own will range from No Credit on an assignment through failure of the course and possible University disciplinary action. Over the course of the term we will discuss these issues in more detail, but it is your responsibility to seek clarification and understand the parameters involved. Your work may be electronically checked for plagiarism using Turnitin.com.

Projects and Assignments:  Homework will usually require you to organize you thoughts about some aspect of the material we are studying, and to write a carefully crafted and thoughtful paper. Some parts of your assignments will be used only for class discussion and not turned in, but usually they will be graded. In aggregate, all homework you turn in will comprise 30% of you final grade. Some of the questions will require problem solving or programming skills, but programming segments or other technical language will generally be in service of some larger point supported by prose arguments. Essays must be prepared on a word processor. Late assignments will be accepted unless you are notified otherwise, but will suffer a grading penalty dependent on the degree of lateness.

Term Project:  In addition to these assignments, you will be required to write a term project. Specific requirements and a timetable will be distributed early in the term. The project will take the place of a final exam, and the final draft of the project will be due at the time normally scheduled for the final. It will not be accepted after that time. The project grade will be based upon prewriting activities as well as the final product and will in aggregate count as 30% or your final course grade.

Submission of Projects and Assignments: All projects and assignments (unless otherwise stated) are to be turned as follows:
1. A hard copy is to be turned in at the beginning of class on the due date.
2. An electronic copy is to be uploaded to the CSHomework System (https://pollux.csustan.edu/cshomework/) by midnight on the due date.

Exams: There will be two exams given during the course of the semester, approximately in the sixth and the last weeks of the semester. The exact time of the exams will be announced a week in advance of each exam. Each exam will account for 20% of your final grade.

(The above four paragraphs borrowed liberally from Dr. Ray Zarling's CS 4100 course description, with permission.)

Academic Honesty: The work you do for this course will be your own, unless otherwise specified. You are not to submit other people's work and represent it as your own. I consider academic honesty to be at the core of the University's activities in education and research. Academic honesty is expected at all times in this course.

Cell Phone Policy: During class time, your cell phone (including headsets) must be turned off and out of sight. Any use of a cell phone during class will result in confiscation of the phone until that day's class has ended or your removal from the class for that day. If you attempt to use your cell phone or leave it on during an exam, you will be considered to have finished your test, and I will collect your exam at that time.  Exceptions may be made only if you discuss your situation with me prior to the start of that day's class, in this case, your cell phone must be set to vibrate/silence.

Important dates:

(See Schedule of Courses or Academic Calendar)

Last day to add/drop a class:                        

March 15;

Last day to change grade options (CR/NC)

May 14;

No classes.

March 31, April 5-9, May 25, May 31.