Programming Principles in Java: Architectures and Interfaces

Programming Principles in Java: Architectures and Interfaces

A first course for would-be professional programmers, using Java. This textbook presents standard architectures for component construction and patterns of control construction and data construction.

Publication date: 01 Jan 2003

ISBN-10: n/a

ISBN-13: n/a

Paperback: n/a

Views: 30,552

Type: Textbook

Publisher: n/a

License: n/a

Post time: 20 Aug 2006 05:55:05

Programming Principles in Java: Architectures and Interfaces

Programming Principles in Java: Architectures and Interfaces A first course for would-be professional programmers, using Java. This textbook presents standard architectures for component construction and patterns of control construction and data construction.
Tag(s): Introduction to Computer Programming Java
Publication date: 01 Jan 2003
ISBN-10: n/a
ISBN-13: n/a
Paperback: n/a
Views: 30,552
Document Type: Textbook
Publisher: n/a
License: n/a
Post time: 20 Aug 2006 05:55:05
Terms and Conditions:
David Schmidt wrote:This material is intended for the use of the CIS students and staff at Kansas State University and should not be copied or distributed beyond KSU without my permission. (Please send me an email if you want to use these notes for personal study or for a course you are teaching---it won't cost you anything; I just want to know who is using the text.)

Book excerpts:

In an ever increasing fashion, amateur programmers use visual, drag-and-drop languages to program applications for home, school, and office use. This type of programming will play a crucial role in satisfying the exploding demand for software, but there will always be limits -- just as no hospital patient would submit to a surgery conducted by a someone who never went through a formal training, no customer of a complex or safety-critical system will settle for software written by anyone but a properly trained, professional programmer.

What makes professional programming different from amateur programming? The answer lies in use of structures -- control structures (sequencing, conditionals, iteration, parallelism), data structures (arrays, stacks, trees), and component structures (modules, classes, objects, packages). Professional programmers understand how to employ properly all three forms of structure; amateurs do not. Further, patterns of structures-within-structures define architectures that are learned and regularly imitated by professionals. As indicated by its title, this text presents standard architectures for component construction and patterns of control construction and data construction.

The text takes a 'modern' approach by emphasizing component structures over the other two forms. Computing has matured into a distributed, component-based activity, where both computer hardware and software are assembled from standardized components and connected together by means of standardized interfaces. By no means does this text ignore the classic developments of control and data structures -- they appear in due course at an appropriate level of detail. But component-level issues drive the software design process, and the text emphasizes this fact.

Java is used as the programming language in this text because it supplies solid support for component-structure-driven design; its control and data structuring mechanisms are adequate as well. Because Java and its support library are huge, only a carefully selected subset that promotes sound programming techniques is presented.

Intended Audience:

As the previous narrative indicates, learning to program requires more than merely learning to write in a particular computer language -- reader must understand the structures within programs and how these structures behave. To do this, reader must pore over the book's programming examples, copy them to the computer, test them, try to 'break' or 'trick' them, modify them in small ways, and try them again. In many ways, computer programs are like toys or appliances that can be examined, played with, disassembled, and reassembled in different ways. Experiences like these will help reader to develop programming intuitions.
 




About The Author(s)


David Schmidt is a native Kansan, and he has been employed at Kansas State University since 1986. His interests lie in design, analysis, and application of programming languages.

David Schmidt

David Schmidt is a native Kansan, and he has been employed at Kansas State University since 1986. His interests lie in design, analysis, and application of programming languages.


Book Categories
Sponsors