CSE 141 Concepts in Programming Languages I (2012-2013)

CSE 141 Concepts in Programming Languages I

(Required for CSE.)
Catalog Data:

CSE 141 Concepts in Programming Languages I (Credit Units: 4) In-depth study of several contemporary programming languages stressing variety in data structures, operations, notation, and control. Examination of different programming paradigms, such as logic programming, functional programming and object-oriented programming; implementation strategies, programming environments, and programming style. Prerequisite: Informatics42, ICS51, CSE31, EECS31 with a grade of C or better; ICS33, CSE43, Informatics45, ICS23, CSE23 with a grade of C or better. Same as COMPSCI 141 and IN4MATX 101. (Design units: 0)

Required Textbook:
. Edition, , 1969, ISBN-13 978-0321330253.

Recommended Textbook:
None
References:
None
Coordinator:
Shannon Tauro
Relationship to Student Outcomes
This course relates to Student Outcomes: CAC a.
Course Learning Outcomes. Students will:

1. Understand implementation details of syntax & semantic analysis for a simple programming language.

2. Recall programming paradigms and associated languages.

3. Understand and appreciate the use of languages as they pertain to application areas. (CAC a)

4. Describe operations, control-structures, and program structure of simple imperative programs. (CAC a)

Prerequisites by Topic

Basic computing skills: searching and browsing the Web, reading and sending email, downloading files, viewing and printing PDF(Adobe Acrobat) documents, and creating or saving documents for email and other purposes in plain ASCII text form (not HTML or Word attachments).

Lecture Topics:
  • Foundations
  • Course Overview and Introduction (Week 1)
  • VonNeumann Architecture/Compilers/Interpreters (Week 1)
  • Fundamentals
  • Programming Language Syntax & Semantics (Week 2)
  • Names, Variables, & Binding (Week 2)
  • Data Types & Type Checking (Week 3)
  • Scope & Lifetime (Week 3)
  • Scope, Function Calls and Storage Management
  • Sub-Programs & Sub-Program Implementation (Week 4, 5)
  • Exploration of Languages
  • Logical Programming—Prolog (Week 6, 7)
  • Functional Programming—Haskell (Week 7, 8)
  • Inheritance/Generic Programming—C++/Java (Week 9, 10)
Class Schedule:

Meets for 3 hours of lecture, 1 hour of discussion and 1 hour of laboratory each week for 10 weeks.

Computer Usage:

Windows XP, Textpad, Java

Laboratory Projects:
  • Lab 1 – Von Nuemann Architecture & Parse Trees
  • Lab 2 – Variables, type checking, storage, scopes
  • Lab 3 – Language Paradigms
  • Lab 4 – Java to C++
Professional Component

Contributes towards the Computer Science and Engineering major requirements for Engineering Topics courses.

Design Content Description
Approach:
Lectures:
Laboratory Portion:
Grading Criteria:
  • Homework/Labs: 35%
  • Quizzes: 15%
  • Midterm Exam: 20%
  • Final Exam: 30%
  • Total: 100%
Estimated ABET Category Content:

Mathematics and Basic Science: 0.0 credit units

Computing: 4.0 credit units

Engineering Topics: 0.0 credit units

Engineering Science: 0.0 credit units

Engineering Design: 0.0 credit units

Prepared:
April 9, 2012
Senate Approved:
January 10, 2012
Approved Effective:
2012 Fall Qtr