Understanding Programming: An Introduction Using Java / Edition 1 available in Paperback
- Pub. Date:
- Cengage Learning
This text is focused on teaching Java as a first language using two principles: First, students learn best when they see and appreciate an immediate need. Second, students learn best by doing and experiencing. In the first few chapters, the book starts with a breadth-first approach. Students learn one way to do I/O, one variable type, one way to do a condition, and one loop statement. Quickly, students begin coding useful and interesting programs with this subset of Java. Taking a spiral approach, the author introduces a concept or method in simplified form and gradually, as the need for more capability is demonstrated, expands upon it until the full concept is presented. Chapters are teaching units, not topic units, and the text avoids teaching mechanisms and concepts that allow errors students are not yet ready to understand. Students gain confidence and are excited to learn more as the course progresses.
|Edition description:||New Edition|
|Product dimensions:||7.04(w) x 9.18(h) x 0.59(d)|
About the Author
Scott Cannon is a Professor of Computer Science at Utah State University. His research areas include parallel systems, imbedded systems, and fault-tolerant systems.
Table of Contents
1. YOUR FIRST JAVA PROGRAM. Programming with High-Level Languages. A Simple Java Program. Literal Output. Double Variables and Declarations. Variable Input and Output. Assignments and Expressions. Class Debugging. Example Projects. Summary. Exercises. 2. SIMPLE CHOICE AND REPITITION. The Conditional Statement. Statement Blocks. The while Statement. Introduction to Analysis and Design. Use of Loops. Nested Conditions and Loops. Example Project. Summary. Exercises. 3. HELPER METHODS. Modular Programming Concepts. Top-Down Design with Methods. Methods that Return a Value. Helper Method Parameters. Scope of Variables. Constants. Example Project. Library Classes and Helper Methods. Summary. Exercises. 4. PROBLEM SOLVING AND METHOD DESIGN. Learning to Solve Programming Problems. Useful Thought Processes. Basic Components. Compound Design. Top-Down Design. The Software Life Cycle. Summary. Exercises. 5. MORE DATA TYPES. Floating Point. Integers. More Comparison Operators. Characters. Strings. Boolean Variables. Example Project. Summary. Exercises. 6. MORE CONTROL STRUCTURES. The Single-Choice if. Compound Comparisons. The for Loop. Shorthand Operators. Multiple Choice and the Switch. The do-while Loop. Block-Local Variables. Example Project. Summary. Exercises. 7. DESIGNING WITH CLASSES. Simple Disk I/O. Designing Your Own Dynamic Classes. Object Operations. Reference Parameters. Constructors. An Introduction to Inheritance. Static vs. Dynamic. Example Project. Summary. Exercises. 8. SIMPLE ARRAYS. Array Declaration and Referencing. Array Initialization. Array Processing with Loops. Common Errors. Arrays as Arguments and Parameters. Array Searching. Sorting an Array. Review of References. Arrays of Objects. Multi-dimensional Arrays. Example Project. Summary. Exercises. 9. STREAM I/O AND TEXT PROCESSING. String Helper Methods. String Parsing. Exception Handling. Java Streams. Example. Summary. Exercises. 10. RECURSION. Recursive Definitions. Recursive Methods. Tracing Recursion. Binary Search. Example Project. Summary. Exercises. 11. PROGRAMMING WITH SWING. Swing. Window Components. Example. JOptionPane Class. Summary. Exercises. 12. PROGRAMMING WITH APPLETS. Internet Overview. Applets. Invoking an Applet from HTML. Converting Swing GUIs to Applets. Example. The Appletviewer. Additional Applet Features. Older Browsers. Security with Applets. Summary. Exercises. Appendix A: Io, Diskinput, And Diskoutput Classes. IO Class. IO Helper Method Descriptions. DiskInput Class. DiskInput Helper Method Descriptions. DiskOutput Class. DiskOutput Helper Method Descriptions. Appendix B: Java Reserved Words. Appendix C: Ascii Codes.