Faculty Contact Information:
Class meeting times: Tuesday and Thursday evenings from 1935 until 2220.
The term begins October 28 and ends December 18, 2003
INSTRUCTOR: Edmund I. Deaton
e-mail: edeaton@faculty.ed.umuc.edu
phone: 0434 662 079 (h), 3387 389 270 (c).
|
|
Consultation:
|
Dr. Deaton will be available 30 minutes before each class meeting. He is also available by appointment, e-mail and telephone. We will also use the WebBoard for consultation.
|
|
Required Texts and Readings:
|
Sebesta, Robert W. (2004). Concepts of Programming Languages, (6th ed.). Boston: Pearson.
|
|
Supplementary Readings:
The standard for papers in the graduate program is the APA style. All participants in this course and all graduate INSS, MGMT, PUAD, and ECON courses should have a copy of the style guide:
American Psychological Association. (2001). Publication Manual of the American Psychological Association, 5th Edition. Washington DC: Author.
For this course, a copy of the APA Crib Sheet will suffice. It is available from
URL: www.wooster.edu/psychology/apa-crib.html
All graduate students should be prepared to utilize the UMUC online library at http://www.umuc.edu/library/. The library contains a large number of full text academic journals that are free of charge and immediately available. The library homepage also contains a number of links related to improving students' research and writing skills.
|
|
Recommended Journals:
|
Publications of the various professional societies (such as ACM -- the Association for Computing Machinery, the IEEE Computing Society, and the various management professional societies) are strongly recommended. In addition, there are many trade journals (such as eWEEK) that MIS professionals should become familiar with, many of these being published both weekly and on-line.
|
|
Course Description:
|
3 semester hours credit. Prerequisites: Undergraduate programming and college algebra, or permission of the Program Director. Recommended prerequisite: INSS 510. Provides an in-depth look at software 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:
Upon completion of the course, participants should be conversant in: 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
|
|
Course 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. Describe 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. Describe 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
|
|
Grading Information:
A 90% - 100%
B 80% - 89%
C 70% - 79%
F(a) less than 70%
The grade of F(n) is given for non finishing of the course.
The grade of I (Incomplete) can be given only in special circumstances. See the University of Maryland University College catalog for further information.
|
|
Course Requirements:
Graduate school at the masters level focuses on helping students obtain the education needed for success as professionals in their chosen fields. Thus, UMUC-Europe Graduate Programs and Bowie State University share the common goals of promoting excellence in academic scholarship through thoughtful inquiry and the skillful application of knowledge and theory for the betterment of society.
In order to maximize your graduate educational experience in general and this course in particular, you are required to:
10% - Minor Assignments, Exercises, Participation in classroom discussions
30% - Programming Assignments
20% - Mid Term Examination
25% - Final Examination
15% - Group Research Project
|
|
Description of Course Requirements:
Participate in classroom discussions: You are expected to come to class prepared to engage in all discussions in a professional and informed manner. This requires a significant time commitment.
Complete two programming assignments, study a program written in another language and write a group research paper on a programming language: You are required to conduct professional-level research, including appropriately citing works of others and avoiding plagiarism.
Orally/visually present prepared material: You are required to present your results in a professional manner. This typically means an oral presentation accompanied by appropriate visual material.
Complete two written examinations: The examination process in this class will assist you in developing the writing and critical thinking skills necessary for successfully passing the comprehensive exam required of all graduate students. Some examination questions used for this course will either be taken directly from past comprehensive exams or written as though to be included on a comprehensive exam.
|
|
Course Schedule:
This schedule presents 16 units or modules, with each unit corresponding to a regular three-hour weekday meeting.
Initial meeting: October 28
Review of syllabus
Clarification of goals, objectives and requirements
Orientation to subject
Read Chapters 1 and 2: Preliminaries; Evolution of the Major
Programming Languages.
October 30: Read Chapters 3 and 4: Describing Syntax and Semantics; Lexical and Syntax Analysis
November 4: Read Chapter 5: Names, Bindings, Type Checking, and Scopes
November 6: Read Chapter 6: Data Types. The Study of a Program Assignment is Due.
November 11: Read Chapter 7: Expressions and Assignment Statements
November 13: Read Chapter 8: Statement-Level Control Statements
November 18: Review and Exercises.
November 20: Mid Term Examination
November 25: Read Chapters 9 and 10: Subprograms; Implementing Subprograms
November 27: Thanksgiving, no class, makeup will be next week on Friday.
December 2: Read Chapter 11: Abstract Data Types
December 4: Read Chapter 12: Support for Object-Oriented Programming
December 5: Read Chapter 13: Concurrency. Programming Assignment #2 is Due.
December 9: Read Chapter 14: Exception Handling
December 11: Read Chapters 15 and 16: Functional and Logic Programming Languages.
December 16 : Final Examination
December 18: Presentation of Group Projects. Programming Assignment #3 is Due. Course Evaluations.
|
|
Academic Policies:
Please refer to the UMUC - Europe Graduate Catalog, available online at http://www.ed.umuc.edu/general_info/publications/catalogs/index.html or from your local Education Center, for information on the following: Academic Integrity Course Load Exception to Policy Grade Appeal Process Make-up Examinations Nondiscrimination Students with Disabilities
|
|
Faculty Bio:
INSTRUCTOR: Edmund I. Deaton
Dr. Deaton received his Ph.D. in Mathematics from The University of Texas. He has been teaching and doing research in Computer Science since 1980. After many years at San Diego State University he retired in 1992. He was a visiting professor at Hope College, Holland, Michigan during 1993-1995. He spent two years at Oklahoma State University from 1980 to 1982 as a visiting professor and visited there again in 1992. He worked as a management consultant with a Southern California consulting firm for several years in the 1980's. He specialized in database design for governmental entities. He has been with the University of Maryland, European Division since 1995. He teaches in the graduate MIS program and also teaches undergraduate computer science courses. His academic specialty is data base design. His primary hobbies are hiking and Alpine climbing. Although based in Heidelberg, he calls Rota, Spain home and hopes to be assigned there for some time each year. He is currently living in Aviano, Italy and will be there until January, 2004. Phone (Aviano, Italy) +39 4034 662 079 (h), +39 3387 389 270
|
|