CSE 240 Introduction to Programming Languages
CSE 240 Introduction to Programming Languages (3)
Catalog Description
Introduces the procedural (C/C++), applicative (Scheme/LISP), and declarative (Prolog) languages.
Textbook
Y. Chen, Introduction to Programming Languages: Principles, C, C++, Scheme and Prolog,
Kendall/Hunt Publishing, 2003, ISBN 0-7575-0367-5.
Course Objectives and Outcomes
1. To provide computer science students with an exposure to different programming paradigms
• Students will understand strong vs. weak typing in computer programming languages
• Students will understand the control structures of functional, logic, and imperative programming languages.
• Students will understand the execution of functional, logic, and imperative programming languages.
• Students will understand the recursion mechanism of functional, logic, and imperative programming languages.
2. To develop an introductory understanding of an applicative programming language (Scheme)
• Students will work with the Scheme interpreter to evaluate simple functions.
• Students will write and execute simple Scheme functions.
• Students will write and execute Scheme programs requiring multiple functions.
3. To develop an introductory understanding of a declarative programming language (Prolog)
• Students will create a simple Prolog factbase and provide queries to obtain information from the factbase.
• Students will create Prolog programs that use recursive rules to provide a problem solution.
• Students will create Prolog programs that use multiple rules to solve a problem.
4. To develop an introductory understanding of a procedural programming language (C/C++)
• Students will write C/C++ programs using pointers.
• Students will write C/C++ programs using multiple functions/procedures.
• Students will write C/C++ programs using dynamic memory allocation.
• Students will write C/C++ programs that allocate and de-allocate static, stack and heap memory.
• Students will design C/C++ programs applying object-oriented features such as inheritance, polymorphism and class hierarchy.
Prerequisites by Course & Topic
CSE210 Object-Oriented Design and Data Structures.
Basic concepts of computer since.
Object-oriented design.
Basic data structures and control structures
A high level programming language
Major Topics Covered in the Course
1. Aspects of programming languages (2 weeks)
• Different paradigms of programming languages
• Introduction to the structures of programming languages
• Program processing: interpretation, compilation and macro processing
• Strong versus weak typing
2. Introduction to procedural programming languages (C and C++) (5 weeks)
• Basic data types and data declarations, scope rule and forward declaration
• Functions and parameter passing
• Complex data types: array, pointer and string types, constants, enumeration type and structure types
• Object-oriented programming
• Class definition and members of class, constructor and destructors
• Memory management: static, stack and heap memory, and garbage collection
• Inheritance and class hierarchies, polymorphism, virtual functions and dynamic binding
• From C++ to C#
3. Introduction to applicative programming language (Scheme) (4 weeks)
• Arithmetic expression and prefix notation
• Basic Scheme procedures, defining your own procedures
• Scheme environment, global and local variables
• Recursive procedures
• Programming with data structures, number, character, strings, symbol, pairs and lists
4. Introduction to declarative programming language Prolog (3 weeks)
• Facts, rules, and goals
• Structured facts and rules
• Scope of variables
• Arithmetic operations
• Recursion and recursive rules
• Lists and list manipulation
Class/Laboratory Schedule: Lecture: 2 hours per week, Laboratory: 2 hours per week.
Contribution to EC 2000 Professional Component: Engineering Topics: 100%
Course Contribution to Program Objectives:
Using modeling techniques in program design (1.3)
Underlying mathematics (2.1)
Data structures and algorithms (2.3)
Techniques of programming languages (2.4)
Computer organization and architecture (2.6)
Using modern lab facilities (5.2)
Estimate CSAB Category Content
| |CORE |ADVANCED | |CORE |ADVANCED |
|Data Structures | | |Computer Organization and Architecture | | |
|Algorithms | | |Concept of Programming Languages |3 | |
|Software Design | | | | | |
Problem Analysis
Students are assessed on their ability and skill to analyze and solve problems using different programming paradigms and languages.
Coordinator/Prepared by: Y. Chen, 05/2003
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- 1 introduction to computer tripod
- cse 240 introduction to programming languages
- introduction to computer programming in c and apps
- csci 101 introduction to computers and information
- introduction to computer programming jes
- midterm exam of cs005 introduction to computer
- introduction to computers and programming
- cis 110 intro to computer logic and programming
- ge209 introduction to computer programming
- course outline fall 04 cs 113 introduction to computers
Related searches
- introduction to java programming pdf
- programming languages and their uses
- top programming languages 2019
- introduction to java programming and data structures
- introduction to java programming 10th
- introduction to java programming liang
- introduction to java programming ppt
- scientific programming languages ranking
- computer programming languages pdf
- history of programming languages timeline
- history of programming languages book
- programming languages history pdf