
Maryland in Europe Graduate Programs
Bowie State University
INSS 520
Weekends 25/26 January;8/9,22/23 February;8/9 March 2003
Rhein-Main
0900-1600 (Lunch 1200-1300)
|
Instructor: |
Chris Payne PhD |
|
Mailing Address: |
Unit 29216 APO AE 09102 |
|
Email Address: |
chris-payne60@wanadoo.fr |
|
Consultation: |
Before or after class or at other times by appointment |
Course Description: Prerequisites: Undergraduate programming and college algebra, or permission of the instructor. Recommended prerequisite: INSS 510. Provides an in-depth look at programming languages from a design and implementation perspective. Language semantics and syntax issues are explored. Specification and implementation of data structures are examined. Characteristics of non-procedural, heuristic and object-oriented languages are discussed. Current developments in software engineering methodologies are reviewed as well as research into the improvement of those practices. Software project management concepts and software quality issues are also addressed. Students will be required to complete programming projects.
Course Goals/Objectives:
Goals: Students who complete this course should have knowledge of:
|
1. |
Major attributes of several programming languages |
|
2. |
Tradeoffs in programming language design and usage |
|
3. |
Data types and abstract data types |
|
4. |
Basic data structures |
|
5. |
Structured programming |
|
6. |
How a programming language can support good software engineering |
|
7. |
Computational complexity and its relationship to software quality; |
|
8. |
The principal programming paradigms: imperative/procedural, object-oriented, functional/applicative, logic, and concurrent programming |
|
9. |
Current issues in programming languages |
Objectives: At the conclusion of this course the student will be able to:
|
1. |
Describe and apply the fundamental criteria needed to evaluate and compare computer programming languages |
|
2. |
Demonstrate understanding of the underlying concepts of programming languages such as: syntax, semantics, binding, type checking, scope, data types, expressions, control structures, and subprograms |
|
3. |
Understand the major programming paradigms; recognize differences between imperative, object-oriented, functional and logic programming languages |
|
4. |
Compare and contrast the different capabilities of programming languages and evaluate languages for various programming problems |
|
5. |
Characterize a given program or algorithm in terms of its computational complexity and efficiency |
|
6. |
Compare and contrast different implementations of standard data structures such as lists, stacks, and queues |
|
7. |
Understand concepts of object-oriented programming such as encapsulation, inheritance, dynamic binding, and polymorphism |
|
8. |
Apply understanding of software engineering practices to software quality assurance |
|
9. |
Apply programming concepts in making software management decisions |
|
10. |
Research and discuss current issues in programming languages |
Text: Sebesta, Robert W. (2002). Concepts of Programming Languages, (5th ed.). Boston: Addison-Wesley.
Grading Information: Grades for this course will be assigned as follows:
|
  |
A |
92% + |
C |
70 79% |
|   |
B |
80 91% |
F |
Below 70% F(a) or regular non-attendance F(n) |
Course Requirements:
|
  |
Midterm Examination: |
35% |
|   |
Final Examination: |
35% |
|   |
3 computer programs |
10% each |
Project Description: Students will be required to complete three computer programs to illustrate the features of different program types. Full details will be given out on the first day of class.
Course Schedule:
|
Module |
Topics |
Assigned readings/assignments due |
|
1 |
Introduction and Overview |
Ch. 1 |
|
2 |
The History of Programming Languages |
Ch. 2 |
|
3 |
Programming Syntax and Semantics |
Ch. 3 |
|
4 |
Binding, Datanames and Scope |
Ch. 4 |
|
5 |
Data Types |
Ch. 5 |
|
6 |
The Assignment Statement |
Ch. 6 Program # 1 Hand-in |
|
7 |
Control Structures |
Ch. 7 |
|
8 |
Subprograms |
Chs 8/9 Midterm Exam (Chs. 1-8) |
|
9 |
Abstract Data Types |
Ch. 10 |
|
10 |
Concurrency |
Ch. 11 |
|
11 |
Exception Handling |
Ch. 12 |
|
12 |
Functional Programming |
Ch. 13 Program #2 Hand-in |
|
13 |
Logic Programming |
Ch. 14 |
|
14 |
Object Orientation |
  |
|
15 |
Database and |Internet Languages |
  |
|
16 |
Final Examination |
Program #3 Hand-in |
About Your Instructor: I am Chris Payne, a Collegiate Professor with the University. I have been involved with the Graduate Program in Management Information Systems since 1994 . In all, I have worked for UMUC-Maryland in Europe since 1986 and I spent a year as a visiting associate professor at the University of Maryland in Baltimore between 1985 and 1986. My degrees include a Bachelor's in Math from the University of London, a Masters in Applied Math and a a PhD in Computer Modeling from the University of Liverpool. I worked for nearly 30 years as a college professor in the UK interspersed with periods of work in the steel and oil industries. For a few years I ran a small company to market my own software which included a successful program for computer-aided garden design.
Dr. Chris Payne
Plésidy, France
December 2002