Note: Information here is PRELIMINARY and subject to change.
Administrative Details
- Number & Title: COSC382 Organization of Programming Languages
- Days & Rooms: Fall 2010 MWF 12-12:50 in F156
- Instructor: Gene Rohrbaugh, PhD
- Email: grohrbau@messiah.edu
- Phone: Extension 2145
- Office Hours: Frey 123 | Fall 2010 | TBD
- Website: www.tigerram.com
Course Description
Study of features of programming languages and of the methods used to specify and translate them. Topics include programming paradigms, syntax, lexical & syntactic analysis, names, types, semantics, functions, scoping rules, binding times, procedure calling, parameter passing, functional programming, logic programming.
- Prerequisites:
- COSC 281 System Internals & Assembly Language
- Textbook:
- Sebesta, R. W. (2010). Concepts of programming languages. Boston: Addison-Wesley. 978-0-13-607347-5. (New for Fall 2010)
Learning Objectives
To successfully complete this course, students will:
- outline a brief history of programming languages; describe the four major programming paradigms; produce validated & verified code in each
- define syntax, semantics, names, types and functions in the context of programming languages
- demonstrate understanding of syntax & semantics by constructing grammars, producing parse trees, (dis)proving generative equivalence of grammars; and describing the semantics of a given code segment
- demonstrate understanding of naming and binding; basic and nonbasic types; static and dynamic typing; function call and return; parameter passing; and recursion
- research and present an issue in language design
Grading
- 45% | Quizzes and Exams (including comprehensive final)
- 35% | Programming & other assignments
- 10% | Semester project
- 10% | Preparation & participation
A ≥ 93 |
A- ≥ 90 |
|
B+ ≥ 87 |
B ≥ 83 |
B- ≥ 80 |
C+ ≥ 77 |
C ≥ 73 |
C- ≥ 70 |
D+ ≥ 67 |
D ≥ 60 |
|
F < 60 |
||
Exams
There will be a mid-term exam and a comprehensive final exam. Please do not miss exam days. Make-up exams can only be given for verified emergencies, and only if you have made arrangements in advance.
Programming Assignments
In order to contextualize the material we're learning, there will be a series of assignments (including some programming) throughout the semester. Grading for written work will be based on correctness, completeness, and timeliness; grading for programming assignments will be based on the code itself, adherence to specifications, documentation, and timeliness.
Semester Project
There will also be a semester project in which each student will research a lesser-known programming language. Products will include both a written paper and a prepared presentation. More details will be provided separately.
Expectations
- Attendance
-
Regular attendance and active participation is crucial to your success in this class. In part, this is because we will devote the majority of the class time to the most important and challenging course topics. The best way to master the material is in the context of a learning community — interacting with peers and with the instructor on a regular basis. Sometimes you will find you can contribute to the collective understanding; sometimes you will benefit from what others have to share. In your education at Messiah College, you should aspire to more than mere technical mastery of the material. If you miss class for any reason, speak to a fellow student to find out what was covered in class that day. Participation refers to factors such as timeliness, attitude, engagement, initiative, collaboration, and attentiveness. Preparation refers to completion of reading and other assignments before class on the day they are due.
- Timeliness
-
All assignments must be completed and submitted before the due date. Any student who falls behind in reading or other assignments can no longer actively participate in the daily learning activities of the course, to the detriment of everyone. To make allowance for unforseen circumstances, each student may submit up to three assignments late during the semester, with the following penalties: within the first 24 hours after the due date, a 10% reduction in points; within the next 24 hours, with a 25% reduction in points. After 48 hours, no assignments will be accepted. Once a student has received credit for three late assignments, no further late assignments can be submitted.
- Communication
-
Messiah College email will be used for official communication relating to the class. In order to avoid missing important messages, please check your Messiah email at least once a day Monday-Friday. Any email you send me MUST have a subject line that identifies the course and the specific subject of your inquiry (examples: "COSC382 syntax homework due 10/5," "COSC180 question on class lecture for 9/22," "COSC418 absence on 11/5 due to family emergency") Email sent without a subject line or with a generic subject line will be treated as SPAM (examples: "today's homework," "question for you," "missing class").
- Assignments
-
All assignments are to be submitted in accordance with the instructions provided. Assignments that call for electronic copies must submitted be via Sakai -- no emailed work will be accepted. Assignments that call for hard copies must be submitted at the beginning of class on the due date -- after class begins, no work will be accepted.
- Collaboration
-
In general, it is a good idea to complete learning activities with other students. Unless I specify otherwise, you are encouraged to work collaboratively, with the following provisions: (1) share ideas and thought processes, but not answers; (2) turn in your own individual submission; (3) indicate any such collaboration. Unless explicitly instructed to, NEVER SHARE CODE with another student, even after you have completed the class. Doing so is a violation of academic integrity, and could result in severe penalties, both to the other student and to you EVEN AFTER YOU'VE COMPLETED THE CLASS.
When collaboration is explicitly called for, each student will be asked to evaluate the participation of her/his peers. Make sure your contribution to the project is sufficient.
Academic Integrity
Academic integrity is taken very seriously. Violations will result in severe consequences, including failing the course. For a complete policy, see the current Student Handbook. Violations include (but are not limited to):
Plagiarism: Examples: failing to cite a reference, failing to use quotation marks where appropriate, misrepresenting another’s work as your own.
Cheating: Attempting to use or using unauthorized material or study aids for personal assistance in examinations or other academic work. Examples: using a cheat sheet, altering a graded exam, looking at a peer’s exam.
Fabrication: Submitting altered or contrived information. Examples: falsifying sources and/or data, etc.
Facilitating Academic Dishonesty: Examples: working together on an assignment where collaboration is not allowed, doing work for another student, allowing one’s own work to be copied.
ADA
Messiah College welcomes students with disabilities. If you have a documented disability and wish to discuss needed academic accommodations for this specific course, please speak with the instructor within the first week of class (or within the first week following the documentation of your disability). Campus policy states that disability accommodations must be pre-approved through the Office of Disability Services, located in Hoffman 101/102 (extension 5382).
