CSE 262 Programming Languages (3)

Instructor:

Gang Tan (Spring 2014, Fall 2014)

Current Catalog Description

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

Textbook

Tucker, Allen B. and Robert E. Noonan. "Programming Languages:Principles and Paradigms", 2nd ed., McGraw-Hill, 2007, ISBN 978-00072866094

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 Program Outcomes

CSE 262 substantially supports the following program outcomes:

  •  An ability to analyze a problem and identify and define the computing requirements appropriate to it solution
  •  An ability to design, implement, and evaluate a computer-based system
  •  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

CSE 262 provides modest support to the following program outcomes:

Recognition of the need for, and an ability to engage in, continuing professional development

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 Computer Science and Engineering, P.C. Rossin College of Engineering & Applied Science, Lehigh University, Bethlehem PA 18015.