Programming Language Fundamentals by Example
Written in an informal yet informative style, Programming Language Fundamentals by Example uses active learning techniques, giving students a professional learning experience based on professional methods applied with professional standards. It provides an understanding of the many languages and not...
Đã lưu trong:
Tác giả chính: | |
---|---|
Định dạng: | Sách |
Ngôn ngữ: | English |
Được phát hành: |
CRC Press
2009
|
Truy cập trực tuyến: | http://scholar.dlu.edu.vn/thuvienso/handle/DLU123456789/1595 |
Các nhãn: |
Thêm thẻ
Không có thẻ, Là người đầu tiên thẻ bản ghi này!
|
Thư viện lưu trữ: | Thư viện Trường Đại học Đà Lạt |
---|
id |
oai:scholar.dlu.edu.vn:DLU123456789-1595 |
---|---|
record_format |
dspace |
institution |
Thư viện Trường Đại học Đà Lạt |
collection |
Thư viện số |
language |
English |
description |
Written in an informal yet informative style, Programming Language Fundamentals by Example uses active learning techniques, giving students a professional learning experience based on professional methods applied with professional standards. It provides an understanding of the many languages and notations used in computer science, the formal models used to design phases, and the foundations of languages including linguistics and logic.
To give students a thorough, working knowledge of programming languages, this textbook uses a semester-long project in which students create a programming language. This project brings to life the concepts and theories fundamental to computer languages. The author incorporates "thinking tools" such as concept maps, matrices for analysis, and flowcharts.
Designed for fourth year undergraduates and first year graduates with enough exposure to programming to absorb the technical foundations of languages, this textbook offers a unique approach to understanding how programming languages are created and function. |
format |
Book |
author |
Stevenson, D.E. |
spellingShingle |
Stevenson, D.E. Programming Language Fundamentals by Example |
author_facet |
Stevenson, D.E. |
author_sort |
Stevenson, D.E. |
title |
Programming Language Fundamentals by Example |
title_short |
Programming Language Fundamentals by Example |
title_full |
Programming Language Fundamentals by Example |
title_fullStr |
Programming Language Fundamentals by Example |
title_full_unstemmed |
Programming Language Fundamentals by Example |
title_sort |
programming language fundamentals by example |
publisher |
CRC Press |
publishDate |
2009 |
url |
http://scholar.dlu.edu.vn/thuvienso/handle/DLU123456789/1595 |
_version_ |
1757659560757166080 |
spelling |
oai:scholar.dlu.edu.vn:DLU123456789-15952009-12-04T02:16:40Z Programming Language Fundamentals by Example Stevenson, D.E. Written in an informal yet informative style, Programming Language Fundamentals by Example uses active learning techniques, giving students a professional learning experience based on professional methods applied with professional standards. It provides an understanding of the many languages and notations used in computer science, the formal models used to design phases, and the foundations of languages including linguistics and logic. To give students a thorough, working knowledge of programming languages, this textbook uses a semester-long project in which students create a programming language. This project brings to life the concepts and theories fundamental to computer languages. The author incorporates "thinking tools" such as concept maps, matrices for analysis, and flowcharts. Designed for fourth year undergraduates and first year graduates with enough exposure to programming to absorb the technical foundations of languages, this textbook offers a unique approach to understanding how programming languages are created and function. A WORD ABOUT USING THIS TEXT Expectations for the Student and Instructor Opening Comments Possible Semester Course Detailed Semester Plan Milestone Maps INTRODUCTION TO THE PROBLEM Memorandum From the President Background SOL Primitive Data and Primitive Operations Primitive Data Operations Control Structures Expressions Input File Structures and File Scope Derived Types Scope and Persistence Type System Primitive Functions and Arguments Built-in Values, Functions and Pseudo-Functions Type Conversions Part 1. Milestones GENERAL INFORMATION General Information on Milestones Milestone Report General Resources Makefile Prototype Milestone I. Learning a New Language: gForth Milestone Requirements: Introduction to gForth Case 1. String Representation Introduction to gForth Programming in gForth Introduction to Milestone Cases Case 2. Elementary Arithmetic Statements Case 3. Round 2: More Arithmetic Case 4. if, while Statements and User-Defined Functions Case 5. Complex Data Types Case 6. Functions Milestone II. Lexical Structure and Scanner Case 7. Project Management Objectives Professional Methods and Values Assignment Special Reporting Requirements Additional Information Scanner Design Case 8. Designing the Tokens Case 9. Development of Finite State Automata Definitions Case 10. Finite State Machine Design Scanner Design Extended Case 11. Reasoning about Design Work Breakdown Structure Case 12. Scanner Work Breakdown Structure Symbol Tables Case 13. Symbol Table Design Milestone III. Parsing Objectives Professional Methods and Values Assignment Case 14. Do We Have To Work Hard? Testing Requirement Grammars and Things Grammatical Case 15. Conversion of FSA Graphs to Grammars Parser Design Using Production Systems Parser Design II Case 16. Converting the S Production to Code Testing the Parser: Context Free Language Generation Case 17. Structural Induction of Words Case 18. Developing the Parsing Grammar Milestone IV. Type Checking Objective Professional Methods and Values Assignment Performance Objectives Milestone Report What is a Type? Reasoning about Types Case 19. Historically Important Languages Developing Type Rules Case 20. ML Type System Design Issues Developing Type-Checking Rules Case 21. Type Conversion Matrix Specification for the Whole Type Checker Case 22. Form of Input The Search Algorithm Case 23. Should bools be allowed? Unification and Type Checking Algorithm Case 24. Type Checking and the Symbol Table Case 25. Developing the Type Checking Algorithm Milestone V. Elementary Compiling: Constants Only Objectives Professional Methods and Values Assignment Performance Objectives String Implementation Ifs and Whiles Milestone Report Milestone VI. Scoping and Local Variables Variables and Local Values Scoping and SOL Case 26. Binding Times and Scope Case 27. Scopes: Filling in the Details Compiling Issues for SOL Case 28. Handling Nested Scopes Case 29. Getting to the Details: Scope and Forth Case 30. Stack Effects Milestone VII. User-Defined Functions Objective Assignment Performance Objectives Milestone Report Binding the Function Name to the Function Recursive and Non-Recursive Functions Implementation Issues Case 31. Passing Parameters in SOL Case 32. Return Values Milestone VIII. User-Defined Complex Data Assignment Performance Objectives Milestone Report Fundamental Concepts Writing Arrays and Structures in SOL Case 33. gForth Structures Milestone IX. Classes and Objects Classess and Classs Assignment Performance Objectives Milestone Report Encapsulation and Information Hiding Inheritance Polymorphism Part 2. General Information PROJECT Class Mind Maps INTRODUCTION TO LINGUISTICS Focus Problem Philosophy of Linguistics Meaning: Language, Mind and World Case 34. What Does An Infinite Loop Mean? What is Syntax? Case 35. What Can We Learn From A Dictionary? Case 36. How Does What We learned Play Out In Programming Languages? Grammar Case 37. English Grammar with Production Rules Case 38. Grammars in Programming Languages Semantics Focused SQRRR LINGUISTICS FOR PROGRAMMING LANGUAGES Meta language versus Object language Surface Structure and Deep Structure Case 39. What is the Proper Way to Form Java Symbols? Case 40. What are the Parts of Speech in Java? Case 41. How is the Syntax of Java Presented to Developers? Case 42. Graph Models of Syntax 3. Structural Induction Case 43. Structural Induction Interpretation Semantics What about Pragmatics? WHAT IS A GENERAL STRUCTURE FOR COMPILING A General Framework Case 44. Merging Linguistics and Compiling Case 45. Process Ordering Types Case 46. Primitive Data Types Recap Defining a Language Case 47. Designing Modules A UNIFIED APPROACH TO DESIGN Introduction to Design Two Elements Using These Ideas in Design Case 48. Match-case semantics Design Recap TECHNICAL FOUNDATIONS IN PROGRAMMING LANGUAGES Introduction Case 49. Early History of Programming Languages Binding Times: When Do We Know? Scope Case 50. SOL Definitional Environments The _-Calculus Model Case 51. Argument Passing Implementation Issues STORAGE MANAGEMENT ISSUES Computer Memory 261 Determining the Size Required Case 52. Design an Algorithm to Calculate Size Case 53. Why Does sizeof compute 16 and not 13? Case 54. Design an Addressing Polynomial for Arrays Case 55. Develop Extended Addressing Polynomial Case 56. General 2-Dimensional Array Addressing Polynomial Runtime Storage Management Case 57. Stack Frame Manipulation Case 58. Listing Activation Records PERSONAL SOFTWARE DESIGN PROCESS PORTFOLIO Time Management for Computer Science Students Case 59. Tracking Your Time Usage Discovering How Long It Takes to Write a Program Earned Value Computations Appendix: Templates Summary Information for PDSPP0 Requirements Template (RWT) Time Recording Log (TRT) Schedule Planning Template (SPT) Defect Log Template (DLT) HOW DID WE GET HERE? WHERE DO WE GO FROM HERE? Looking Behind The Role of the _-calculus Moving Forward from 1954 From 1954 Until 1965 Programming Languages from 1965-1980 The 1980s and 1990s: The Object Oriented Paradigm The Parallel Processing Revolution Critique of the Present Appendix A. Reflections by One Good Student Milestone I Milestone II-III Milestone IV 2009-12-04T02:16:40Z 2009-12-04T02:16:40Z 2006 Book http://scholar.dlu.edu.vn/thuvienso/handle/DLU123456789/1595 en application/rar CRC Press |