CSE 262 Programming Languages (3)
Instructor: Liang Cheng
Current Catalog Description
Use, structure and implementation of several programming languages. Prerequisite: CSE 17
Textbook
Sebesta, Robert W. Concepts of Programming Languages, 7th ed., Boston, MA, 2005. ISBN 0-321-33025-0, Addison Wesley
References
Course Goals
1. Learn the concepts underlying the design, implementation, and use of different programming languages and programming paradigms.
2. Gain the knowledge to better choose the best language for any programming task and to more easily learn new languages independently.
Prerequisites by Topic
1. Top-down design
2. Primitive data types.
3. Repetition and selection.
4. Recursion.
5. Pointer structures
6. Classes.
Major Topics Covered in the Course
1. Describing Syntax and Semantics
2. Names, Bindings, and Type Checking, and Scopes
3. Data Types
4. Expressions and Assignment Statements
5. Statement-Level Control Structures
6. Subprograms
7. Function Programming Language
8. Abstract Data Types and Encapsulation Constructs
9. Object-Oriented Programming
10. Concurrency
11. Logic Programming Language
12. Exception Handling and Event Handling
Laboratory projects (specify number of weeks on each)
There are three programming project assignments, two weeks per project assignment.
Estimate CSAB Category Content
CORE ADVANCED
Data Structures 1.0
Computer Organization and Architecture 0.5
Algorithms Software Design 0.5
Concepts of Programming Languages 1.0
Oral and Written Communications
Every student is required to submit at least _0_ written reports (not including exams, tests, quizzes, or commented programs) of typically __0__ pages and to make __0___ oral presentations of typically __0__ minutes duration. Include only material that is graded for grammar, spelling, style, and so forth, as well as for technical content, completeness, and accuracy.
Social and Ethical Issues
Awareness of collaboration / academic honesty is explicitly conveyed in classroom lectures and online course documents, e.g., “All graded work is expected to be your own, unless the instructor has authorized collaboration in writing. In particular, you are not allowed to ask anyone but the instructor or TA for help with your homework or programming assignments. However, you are free to discuss the topics and concepts of the course with your classmates, as long as you do not discuss the specifics of any assignment. Any violation of this policy could result in failure of the course.”
Theoretical Content
Syntax and semantics: 4.5 hours.
Binding and scoping: 3 hours.
Abstract data types and encapsulation constructs: 3 hours.
Concepts of object oriented programming: 3 hours.
Concurrency: 3 hours.
Problem Analysis
Each of the three programming project assignments confronts the student with one large problem and/or a number of smaller problems. The problems consist of reducing the problems given in the assignments to ones that can be programmed.
Solution Design
CSE262 is an introduction to the design and implementation of programming languages. It discusses design elements of programming languages that make a language ideal for implementing particular types of algorithms. The course provides basic comparisons of a wide variety of programming languages and brief glimpses at writing programs of representative languages.