CSE 262 Programming Languages (3)

Instructor:

James Femister (Fall 2017)

Current Catalog Description

Use, structure and implementation of several programming languages. Prerequisite: CSE 17 or CSE 18.

Textbook

Michael L. Scott, "Programming Language Pragmatics", 4th ed., Morgan Kaufmann, 2015, ISBN 978-0124104099

References

COURSE OUTCOMES

Students will have:

  1. Understanding of the design, implementation, and use of different programming languages.
  2. Abilty to choose the best language for any programming task.
  3. Ability to more easilty learn new languages independently.

RELATIONSHIP BETWEEN COURSE OUTCOMES AND STUDENT ENABLED CHARACTERISTICS

CSE 262 substantially supports the following student enabled characteristics:

A. An ability to apply knowledge of computing and mathematics appropriate to the discipline.

J. An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.

Prerequisites by Topic

  1. Top-down design
  2. Primitive data types
  3. Repetition and selection
  4. Recursion
  5. Object-oriented programming
  6. Fluency with JAVA

Major Topics Covered in the Course

  1. Syntax
  2. Lexical and Syntactic Analysis
  3. Names and Bindings
  4. Data Types
  5. Logic Programming
  6. Semantics of Expressions, Assignment Statements and Control Structures
  7. Functions
  8. Functional Programming
  9. Memory Management
  10. Imperative Programming
  11. Oject-Oriented Programming

Assessment Plan for the Course

The students are given four homework assignments, three programmin assignments, a midterm, and a final examination. Each homework assignment typically covers a single topic. The first programmin assignment involves constructing a simple lexer and parser in JAVA. The other two programming assignments introduce students to working in the logic and functional programming paradigms. The midterm and final include vocabulary, short answer questions, and short programs. When I grade homeworks, programs and exams, I look for common errors among students, and point these out in class.

How Data in the Course are Used to Assess Program Outcomes:(unless adequately covered already in the assessment discussion under Criterion 4)

Each semester I include the averages and standard deviations for each graded item my self-assessment of the course. I also provide a matrix that relates these items to the curricular objects. This report, in turn, by the Curriculum Committee.


© 2014-2016 Computer Science and Engineering, P.C. Rossin College of Engineering & Applied Science, Lehigh University, Bethlehem PA 18015.