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.
Programming Principles in Java: Architectures and Interfaces
Author : David Schmidt, Kansas State University
Publication Date : January 2003
View / Download Programming Principles in Java: Architectures and Interfaces
Blog Archive
-
▼
2010
(59)
-
▼
July
(20)
- Data Structures and Algorithms: Annotated Referenc...
- Introduction to Computer Science
- How to Think Like a Computer Scientist: Learning w...
- How To Think Like A Computer Scientist: Learning w...
- How To Think Like A Computer Scientist, Java Version
- How To Design Programs: An Introduction To Program...
- How to be a Programmer: A Short, Comprehensive, an...
- Concrete Abstractions - An Introduction to Compute...
- A College Student's Guide to Computers in Education
- A Beginners C++
- A Balanced Introduction to Computer Science
- Structure and Interpretation of Computer Programs ...
- Structure and Interpretation of Computer Programs
- Programming Principles in Java: Architectures and ...
- Programming in Oberon - Steps Beyond Pascal
- Programmed Lessons in Quick Basic
- Learn to Program Using Python
- Introduction To Programming With Java
- Introduction to Computing - Explorations in Langua...
- Introduction to Interactive Programming In Java
-
▼
July
(20)
Monday, July 26, 2010
Programming Principles in Java: Architectures and Interfaces


Posted under :
Computer Science,
Introduction to Computer Science
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment