Messiah COSC 382 - Syllabus (7 pages)

Previewing pages 1, 2 of 7 page document View the full content.
View Full Document

Syllabus



Previewing pages 1, 2 of actual document.

View the full content.
View Full Document
View Full Document

Syllabus

37 views


Pages:
7
School:
Messiah College
Course:
Cosc 382 - Organization of Programming Languages
Unformatted text preview:

01 1 OPL COSC 382 Organization of Programming Languages Messiah College Syllabus Fall Term 2006 Catalog Description Study of features of programming languages and of the methods used to specify and translate them Topics include LISP virtual machines syntax and semantics binding times scoping rules implementation choices procedure calling and parameter passing COSC 282 Data Structures and Algorithms is a prerequisite for this course Instructor Dr Gene B Chase Office Frey 123 Phones office 766 2511 ext 2770 home 766 7904 Electronic mail chase messiah edu Home page www GeneBChase com My office hours are posted on my office door where you may sign for an automatic appointment Objective I have two objectives for this course 1 To present computer science as a mathematically rigorous discipline 2 To equip your to understand the spectrum of programming languages so that you can choose the right language for the job or create the right language for the job if no appropriate one exists Outcomes 1 You will program in C Lisp and Prolog 2 You will compare the features of these and other languages Java Perl APL XSLT and ML for example in three closed book exams 3 You will prove small program segments to be correct 4 You will write a paper that uses multiple sources and specific program code to defend or to critique your choice of a programming language for a specific task Materials Needed 1 This notebook 2 Robert W Sebesta Concepts of Programming Languages seventh edition Pearson Addison Wesley 2006 3 Possibly other source books depending on the language you choose to study if there are no good online tutorials for your topic area Americans with Disabilities Act Messiah College welcomes students with disabilities If you have a documented disability and wish to discuss academic accommodations for this specific course please contact me as soon as possible All disability accommodations must be pre approved through Dr Keith Drahn in the Office of Disability Services telephone x7258 Academic Integrity Plagiarism representing another s work as your own copying another person s work without credit or allowing your work to be copied will surely result in a lower grade in this course and may result in failing the course depending on its severity You must document any sources that you use whether from 01 2 OPL the internet another person or printed materials This includes especially the work of other students who are currently taking this course or who have taken this course before Academic integrity is broader than plagiarism It includes such things as returning library materials promptly so that you are not keeping another student from completing his or her work All students at Messiah College must read and abide by the College s policy on academic integrity which is found in the 2004 2005 edition of the Student Handbook on pages 108 110 The handbook is available on the Internet at www messiah edu offices student affairs student handbook resources policies pdf Your signature on the second day of class certifies that you have read and understood and intend to comply with this policy Grading 45 Exams Three closed book tests are worth 15 each The third although scheduled during the regularly scheduled final examination week is not comprehensive 30 Labs Three lab reports are weighted 10 each Turing machines C and Lisp Prolog 25 project A project topic is chosen by date as scheduled 2 and a list of three sources that you have read for your project is due as scheduled 3 You will give a 10 min report on your project on the assigned date 8 An 8 10 page paper analyzing your project topic is due at 5 30 p m on the assigned date 12 Lateness except for emergency is not acceptable Absences participation Keep up with daily readings from your text and discuss them in class Report anticipated absences beforehand unless an emergency Report emergency absences as soon as possible Unexcused absences are a 1 deduction of the course grade per absence Unannounced quizzes worth 1 on assigned readings are my way to find out if you are participating by keeping up with the readings Extra credit small class presentations on Wednesdays can earn 1 bonus In our course unlike extra credit Wednesdays in some of my other courses the presentation must be related to the topic of our course but may not be from your textbook Overview of Topics This list of topics includes everything that this course could be about We will not do all of it When we review for exams we will check off which topics relate to that exam G Programming languages types G General Functional imperative object oriented other dataflow visual G Purity vs convenience E g assignment as expression ternary if G Special purpose SQL process control graphics gaming G Criteria for judging a good programming language Sebesta Chapter 1 G Semantic fit to problem domain G Chapter 1 criteria G History of programming languages Sebesta Chapter 2 People 1 John Backus team 2 Grace Murray Hopper team 3 John McCarthy 4 John Kemeny Thomas Kurtz 5 Nikolas Wirth 6 Ken Iverson 7 Ralph Griswold 8 Ken Thompson Dennis Ritchie 9 Bjarne Stroustrup 10 James Gosling 11 Larry Wall Languages 1 Fortran 2 Cobol 3 Lisp 4 Basic 5 Algol and Pascal and Modula 6 APL 7 Snobol and Icon 8 C 9 C 10 Java 11 Perl 01 3 OPL G Compiler theory general Sebesta Chapters 1 4 in part G Syntax Sebesta Chapters 3 and 4 1 G Tokens lexemes G Recognition generation derivations G Chomsky Hierarchy of Grammars G FSG FA and regular expressions CSG BNF EBNF and parse trees PDA and LBA Turing Machines G Parsing G Top down parsers e g recursive descent as an LL parser G Bottom up shift reduce parsers e g LR table parsing G Ambiguous grammars G Semantics Sebesta Chapter 3 G Static semantics e g attribute grammars G Dynamic semantics to prove program correctness G Operational G Axiomatic G Assertions Preconditions postconditions loop invariants weakest preconditions G Denotational G E g short circuit evaluation G E g scope of index in a loop G Translation G Preprocess compile link load execute G Interpret G Eager vs lazy evaluation G Learning Perl G Learning C G Terms to know G side effects operator overloading orthogonality aliasing object based vs object oriented G Binding times and lifetime G Times Language definition time compile time link time load time run time G Memory management garbage collection and memory leakage dereferencing and dangling pointers eager vs lazy heap management G Scoping G Dynamic vs static scoping G


View Full Document

Access the best Study Guides, Lecture Notes and Practice Exams

Loading Unlocking...
Login

Join to view Syllabus and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Syllabus and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?