Administrative Details
- Number & Title: COSC382 Organization of Programming Languages
- Days & Rooms: MWF 12-12:50 in F156
- Instructor: Gene Rohrbaugh, PhD
- Email: grohrbau@messiah.edu
- Phone: Extension 2145
- Office Hours: Frey 123 | M 2:00 | T10:30 | W 10:00 | R 8:40 | F 10:00 (50 minutes each day) [ view as a chart ]
- 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:
- Tucker, A and R Noonan Programming Languages: Principles and Paradigms, second edition. McGraw Hill 2007 ISBN 9780072866094.
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% | Exams (including comprehensive final) (was 20% mid, 25% fin)
- 30% | Programming & other assignments
- 15% | 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 programming assignments throughout the semester. Grading 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
-
For the same reasons, all assignments must be completed and submitted before the due date. No late submissions will be accepted. 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.
- 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.
- Assignments
-
All assignments are to be submitted electronically in accordance with the instructions provided. This will most commonly be through Sakai, Messiah's learning management system.
- 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.
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 as soon as possible. Campus policy states that disability accommodations must be pre-approved through the Office of Disability Services, located in Hoffman 101/102 (extension 5382).
