
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:
Grades:
- 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 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.