UMUC Europe
SearchSearch Contact UsMyUMUC Site MapWebTycho  

Bowie State University 

Course Syllabus

INSS 520 Software Structures 

Dates:    Weekends:

                  June 1/2, 15/16, 29/30

                  July 20/21

Credits:   3 Semester Hours

 

Prerequisites:   All undergraduate prerequisites. Recommended:  INSS 510
Location:   Kapaun (Vogelweh),           

                      Germany

Instructor's Email Address:    kpainter@faculty.ed.umuc.edu
Instructor:   Kerry Painter Instructor's Web Page:   faculty.ed.umuc.edu/~kpainter

Course Description:

This course covers the fundamental criteria needed to evaluate and compare computer programming languages.  Some of the topics discussed include the following:

  • reasons for studying concepts of programming languages,
  • programming domains,
  • language evaluation criteria,
  • influences on language design,
  • language categories,
  • language design tradeoffs,
  • implementation methods, and
  • programming environments.

Many sample languages will be examined and compared.  

 

Textbook:

        The following textbook is required for the course:

                Concepts of Programming Languages, Fourth Edition

              by Robert Sebesta

              Addison-Wesley Longman, Inc., 1999

              ISBN 0-201-38596-1

 

Required References:

The online edition of the New York Times has excellent coverage of techonology news, much of it computer and information system related.  The service requires a subscription but it is free.  Please visit the New York Times Web page at  http://www.nytimes.com and subscribe.  It is also possible  to have the technology headlines e-mailed to you.

The International Herald Tribune also has excellent coverage of technology news at http://www.iht.com.  Please subscribe to the free, daily technology email news service (IHT Tech Alerts).
 

Objectives:

        After successful completion of the course, a student should be able to:

  • use the tools provided by the text to evaluate critically existing and future programming languages,
  • explain why there are so many different programming languages,
  • explain how and why the many programming languages were developed,
  • describe how languages are similar,
  • describe the differences between programming languages,
  • appreciate some of the history of programming languages,
  • understand some of the underlying concepts important to programming languages such as: syntax, semantics, names, binding, type checking, scopes, data types, expressions, control structures, subprograms, etc.
  • understand the basic ideas behind object-oriented programming,
  • understand the properties of functional programming, and
  • understand the fundamentals of logic programming.
Grades:

        Grades for this course will be based on:
 

End-of-Chapter Problems  10%
End-of-Chapter Review Questions 10%
Home-Made Questions 10%
Research/Programming 10%
Quizzes 10%
Midterm Exam 25%
Final Exam 25%

        and will be assigned as follows:
 

A   90 to 100 (outstanding scholarship)
B   80 to 89  (good scholarship)
C   70 to 79  (satisfactory scholarship)
F Less than 70  (academic failure)


 Homework:

Weekly homework assignments will be given.  These assignments will include the following:  

  • answering the review questions found at the end of each chapter.
  • solving selected problems from the end-of-chapter Problem Sets.  
  • making up relevant questions for each chapter.   These questions will be shared with the rest of the class.

In addition to the weekly homework assignments there will be language research and experimentation activities assigned.  Details will be given at our first meeting.
 

Exams, Quizzes:

Two exams are scheduled:  a midterm and a final.  The midterm exam will cover the material that we cover in the first half of the term and the final exam will cover  the material since the midterm.

Both exams will consist of  a variety of questions:  multiple choice, matching, definition, acronyms, brief explanations, compare and distinguish, short essay, and so on.  

On each Saturday and Sunday morning (excluding the first weekend), we will use the first ten minutes of class to take a quiz.  The quizzes will cover the chapters we discussed the previous weekend.  You vote for which chapters to be quizzed on.  The quizzes serve three purposes:

  • a review of the previous weekend's topics,
  • a preparation for the midterm and final, and
  • an easy grading component to help maintain a high grade average

Office Hours:

I will be available for private meetings during lunch or after class.  Please see me or contact me by email if you wish to meet.

 

Tentative Schedule: 
 

 Session/Date

Topic

Reading Assignment

1

Saturday AM

June 1

Introductions

Introduction to Programming Languages

 

Chapter 1

2

Saturday PM

June 1

 

Evolution of the Major Programming Languages

 

Chapter 2

3

Sunday AM

June 2

 

Syntax and Semantics

 

Chapter 3

4

Sunday PM

June 2

 

Names, Bindings, Type Checking, and Scopes

 

Chapter 4

5

Saturday AM

June 15

 

Data Types

 

Chapter 5

6

Saturday PM

June 15

 

Expressions and the Assignment Statement

Statement Level Controls

 

Chapter 6 

Chapter 7

 

7

Sunday AM

June 16

 

Subprograms

 

 

Chapter 8 

8

Sunday PM

June 16

 

Implementing Subprograms

 

 

Chapter 9

9

Saturday AM

June 29

Midterm Exam - (covers the chapters that we will have covered up to this date;  may be different from the syllabus.  Tentatively:   Chapters 1 - 9))

 

 

 

 

10

Saturday PM

June 29

 

Abstract data types

 

 

Chapter 10

 

11

Sunday AM

June 30

 

Support for OO programming

 

Chapter 11

12

Sunday PM

June 30

 

Concurrency

 

Chapter 12 

13

Saturday AM

July 20

 

Exception Handling

 

 

Chapter 13

 

14

Saturday PM

July 20

 

Functional Programming Languages

 

Chapter 14

15

Sunday AM

July 21

Logic Programming Languages

Wrap-up and Review

Chapter 15
16

Sunday PM

Final Exam - (covers the chapters since the midterm.  Tentatively:  Chapters 10 - 15)  

 

Biography of Instructor:

Kerry Painter earned his BA degree in Chinese-Vietnamese Language Studies from the University of Hawaii in Honolulu. Before attending the University of  Hawaii, he studied electrical engineering at Clemson University, attended the 47-week North Vietnamese language course at the Defense Language Institute in Monterey, California, and worked as a linguist for the Army Security Agency in both Vietnam and Korea.

For six years after college graduation he worked in radio news as a reporter, writer, announcer, news director, and manager in Hawaii, Texas, and Delaware.  He earned an MS degree in Technical and Science Communication and an MS in Computer Science from Drexel University in Philadelphia.

Kerry did doctoral studies at Drexel and has taught a variety of computer science and mathematics courses at Drexel University, Penn State University,  Elizabethtown College, and Swarthmore College, all in Pennsylvania.  He joined The University of Maryland European Division in January 1989 and has taught at SHAPE in Belgium, Soesterberg Air Base in Holland, Aviano Air Base in Italy, and at several German locations:  Augsburg, Bad Kreuznach, Baumholder,  Berlin,  Geilenkirchen, Giebelstadt, Hahn, Hanau, Heidelberg, Kapaun, Kitzingen, Mannheim, Ramstein, Schweinfurt, Spangdahlem,  Wiesbaden, and Wuerzburg.
 


 

Return to Kerry Painter's Home Page

Accreditation | Contact Us DSN 314-370-6762, +49-(0)6221-3780 | Nondiscrimination Statement | ©2008