CS 471 Programming Languages

Catalog Description: 

A survey of the major programming paradigms and their related languages, including procedural, functional, logic and object-oriented programming. Topics include: binding, exception handling, data sharing, scope, parameter passing, type checking, runtime storage management, lexical analysis, syntactic analysis, parsing, code generation and optimization.

Prerequisite: 

CS 219 and CS 226

Credits: 
3
Offered: 
First semester
Required or Elective: 
Required for the BS in Computer Science.
Level: 
Advanced
Coordinator: 
Aijuan Dong
Current Textbook: 

Concepts of Programming Languages 10/e by Robert W. Sebesta. Addison-Wesley, 2012.

Topics covered: 
  • Syntax and Semantic
  • Lexical and Syntax Analysis
  • ADT and Encapsulation, OOP
  • Inheritance and dynamic binding, OOP
  • Functional Programming
  • Functional Programming
  • Logical Programming
  • Names, Bindings, Type checking, and Scopes
  • Data Types
  • Expressions
  • Control Structures
  • Subprograms
Student Learning Outcomes: 

On completing this course, the student will be able to:

  1. Demonstrate an understanding of the basic stages in language design and implementation.
  2. Understand the four programming language paradigms and be able to select and use a variety of programming languages
  3. Be acquainted with the design principles and methods of implementation of the basic language constructs, including data types, expressions, control structures, and subprograms.
  4. Be able to identify appropriate publications, understand and evaluate them
  5. Develop oral and written skills that clearly convey information appropriate to peers, technical audiences, and lay audiences.
Relation of Course Outcomes to Program Outcomes: 

 

CS 471 Student Outcomes (SOs)
Course Learning Outcomes a b c d e f g h i j k
1. Demonstrate an understanding of the basic stages in language design and implementation.  ✔                    
2. Understand the four programming language paradigms and be able to select and use a variety of programming languages  ✔  ✔  ✔            ✔    
3. Be acquainted with the design principles and methods of implementation of the basic language constructs, including data types, expressions, control structures, and subprograms.  ✔                    
4. Be able to identify appropriate publications, understand and evaluate them                ✔      
5. Develop oral and written skills that clearly convey information appropriate to peers, technical audiences, and lay audiences.            ✔          
Role in Assessment: 

See the pages "BSCS Course Matrix" and "BSCS Courses for Assessment"

 

SO PI Strategy
f f.1

(CO 5 oral & written) Students will read, write a 1 page summary for, and present an important technical paper in programming languages

f f.3

(CO 5 oral & written) Students will read, write a 1 page summary for, and present an important technical paper in programming languages

i i.2

(CO 2 select & use) Student will match application areas with programming languages.

 


 

Go to top