<p> COURSE DESCRIPTION</p><p>Department and Course Number CSC 319 Course Coordinator: John Minor Course Title: Programming Languages Total Credits: 3</p><p>Current catalog Description: Design, evaluation and implementation of programming languages. Includes data types and data abstraction, sequence control and procedural abstraction, parameter passing techniques, scope rules, referencing environments and run-time storage management. Study and evaluation of a number of programming languages. Credits: 3. Prerequisite: CSC 219 and CSC 269.</p><p>Textbook: Sebesta, Robert; Concepts of Programming Languages (4th Edition); Addison- Wesley, 1999.</p><p>Course Goals: To show computer science students the principles that are involved in the design and implementation of programming languages, so that they can more intelligently select, learn and evaluate same.</p><p>Prerequisite by Topic</p><p>1. Machine organization and assembly-level programming 2. Standard data structures 3. Knowledge of some high-level languages (C++ at least)</p><p>Major Topics Covered by the Course</p><p>1. Evaluation Criteria, Language and Translation Terms (3 hours) 2. Comparison of Language Generations (3 hours) 3. Syntax and BNF Grammars (3 hours) 4. Typing, Scope and Lifetime Rules (6 hours) 5. Data, Data Structures and Their Implementation (6 hours) 6. Expressions, Precedence Rules, and Sequence Control (3 hours) 7. Procedural Abstraction and Parameter Passing (6 hours) 8. Subprogram Call/Return Implementation (3 hours) 9. Data Abstraction and Inheritance (3 hours) 10. Functional and other Language Models (6 hours) 11. Tests (3 hours)</p><p>Laboratory Projects</p><p>1. Design and implement a function in Lisp to count the non-nil atoms in a list. (1 week) 2. Design and implement a function in Lisp that returns the derivative of a fully-parenthesized, infix expression. (1 week) Estimate CSAB Category Content</p><p>CORE ADVANCED Concepts of programming languages 3</p><p>Oral and Written Communications</p><p>No significant component</p><p>Social and Ethical Issues</p><p>No significant component</p><p>Theoretical Content</p><p>Approximately 15% of the lecture time is spent on theoretical topics (algorithms, formal languages).</p><p>Analysis and Design</p><p>Please see under laboratory projects above.</p>
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages2 Page
-
File Size-