COSC 341     Programming Languages     WINTER 2015

Course communication
  1. Course home page -- emunix.emich.edu/~haynes/341/wi15
Instructor: Professor Susan Haynes
  1. Home page: http://emunix.emich.edu/~haynes
  2. Office: 511E Pray-Harrold
  3. Email: shaynes @ emich.edu
Office Hours
M 1 - 2 pm
T 1 - 2 pm, 3:30 - 4:30 pm
W 1 - 2 pm, 3:30 - 4:30pm
θ 1 - 2pm

Required Textbooks:

Catalog Description: Formal definition of programming languages; structure of simple statements; globalproperties of algorithmic languages; data description; run-time representation of programs; procedural languages such as C and C++, non-procedural languages such as Lisp or Prolog. Credit will not be given for both COSC 341 and COSC 34

Learning Objectives (from the "master syllabus"):

  1. Explain the compilation process and the interpretation process.
  2. Read and create BNF to describe syntax
  3. Read and create one semantic description for a language.
  4. Understand design alternatives for
  5. Write programs in at least two different paradigms (functional, logical, OO, ...) in at least two languages, neither of which is the "teaching language" of the department.

Specific objectives

What is beginner level facility? It comprises primitive types, aggregate types, blocks, conditionals, looping, functions, understanding scope and lifetime.

Grading:
Projects 60%
Midterm (1st half of term) 15%
Final Exam (2nd half of term) 15%
Other 10%

Assignment of grades:

  1. 91 - 100% A range
  2. 81 - 90% B range
  3. 71 - 80% C range
  4. 61 - 70% D range



Academic Honesty: I expect you to behave according to the highest possible ethical standards. If you claim anyone else's work as your own, or if you allow someone else to claim your work, you will receive an E in this class. Additionally, I will report your name to the Dean of Students for possible expulsion. Warning: the Internet is seductive; there is a lot of publicly accessible material out there. I will tell you when and how it will be acceptable to cannibalize code for a project. It is never acceptable to cannibalize text (e.g., for a paper). Do not plagiarize! Theft is beneath you.



Caveat: This syllabus and the course outline will be changed as I deem pedagogically necessary or preferable. I will publish written changes to the syllabus. Such a change may require a change in grading rubric.