Three new chapters. Improved case studies. Reorganization of using objects material. iii

Size: px
Start display at page:

Download "Three new chapters. Improved case studies. Reorganization of using objects material. iii"

Transcription

1 Preface The newly revised Building Java Programs textbook is designed for use in an introductory course in computer science. The new chapters in this edition will make it useful in a more advanced course in computer science as well. We have class-tested it with thousands of undergraduates at the University of Washington, most of whom were not computer science majors. Introductory computer science courses have a long history at many universities of being killer courses with high failure rates. But as Douglas Adams says in The Hitchhiker s Guide to the Galaxy, Don t panic. Students can master this material if they can learn it gradually. The introductory courses at the University of Washington are experiencing record enrollments and other schools that have adopted our textbook report that students are succeeding with our approach. Since the publication of our first edition, there has been a movement toward the objects later approach that we have championed (as opposed to the objects early approach). We know from years of experience that a broad range of scientists, engineers, and others can learn how to program in a procedural manner. Once we have built a solid foundation of procedural techniques, we turn to object-oriented programming. By the end of the course, students will have learned about both styles of programming. Here are some of the changes that we have made in the second edition: Three new chapters. We have created three new chapters that extend the coverage of the book, using material that we present in our second course in computer science. Chapter 15 explores the issues that arise in the course of implementing a robust and powerful collection class. Chapter 16 explores programming with linked lists, and Chapter 17 explores programming with binary trees. Improved case studies. Chapters 6 and 7 contain new case studies that are more interesting than those included in the first edition. The other case studies throughout the textbook have been expanded to better explain subtle points with which students often struggle. Reorganization of using objects material. Material in Chapters 3, 4, and 6 has been reorganized into a new section in Chapter 7 on reference semantics. We have found that this approach works better for explaining these important concepts. iii

2 iv Preface New section on procedural design heuristics. Chapter 4 now includes a discussion of design guidelines for procedural programming. New section on de Morgan s laws. Chapter 5 has been updated to include a section on de Morgan s laws and their application to programming with boolean expressions. Rebalancing of object coverage. We have adjusted Chapters 8 and 9, which cover objects and inheritance, to provide more coherent coverage of these topics. New appendix on Java language features. A new appendix describes language details not covered in the chapters such as enumerated types and packages. Arrays class coverage. A new section in Chapter 7 includes coverage of the utility methods available from the Arrays class. Expanded self-checks and programming exercises. We have significantly increased the number and quality of self-check exercises and programming exercises incorporating new problems in each chapter. The following features have been retained from the first edition: Focus on problem solving. Many textbooks focus on language details when they introduce new constructs. We focus instead on problem solving. What new problems can be solved with each construct? What pitfalls are novices likely to encounter along the way? What are the most common ways to use a new construct? Emphasis on algorithmic thinking. Our procedural approach allows us to emphasize algorithmic problem solving: breaking a large problem into smaller problems, using pseudocode to refine an algorithm, and grappling with the challenge of expressing a large program algorithmically. Layered approach. Programming in Java involves many concepts that are difficult to learn all at once. Teaching Java to a novice is like trying to build a house of cards. Each new card has to be placed carefully. If the process is rushed and you try to place too many cards at once, the entire structure collapses. We teach new concepts gradually, layer by layer, allowing students to expand their understanding at a manageable pace. Case studies. We end most chapters with a significant case study that shows students how to develop a complex program in stages and how to test it as it is being developed. This structure allows us to demonstrate each new programming construct in a rich context that can t be achieved with short code examples.

3 Preface v Layers and Dependencies Many introductory computer science books are language-oriented, but the early chapters of our book are layered. For example, Java has many control structures (including for loops, while loops, and if/else statements), and many books include all of these control structures in a single chapter. While that might make sense to someone who already knows how to program, it can be overwhelming for a novice who is learning how to program. We find that it is much more effective to spread these control structures into different chapters so that students learn one structure at a time rather than trying to learn them all at once. The following table shows how the layered approach works in the first six chapters: The Layers Programming Chapter Control flow Data techniques Input/Output 1 methods String literals procedural println, print decomposition 2 definite loops (for) variables local variables expressions class constants int, double pseudocode 3 return values using objects parameters console input graphics (optional) 4 conditional char pre/post conditions printf (if/else) throwing exceptions 5 indefinite loops boolean assertions (while) robust programs 6 Scanner token-based processing file input/output line-based processing Chapters 1 6 are designed to be worked through in order, with greater flexibility of study then beginning in Chapter 7. Chapter 6 may be skipped, although the case study in Chapter 7 involves reading from a file, a topic that is covered in Chapter 6.

4 vi Preface The following is a dependency chart for the book: Chapters 1 6 Programming Fundamentals Chapter 7 Arrays Chapter 8 Classes Chapter 12 Recursion Chapter 9 Inheritance and Interfaces Chapter 13 Searching and Sorting Chapter 10 ArrayLists Chapter 14 Graphical User Interfaces Chapter 11 Java Collections Framework Chapter 15 Implementing a Collection Class Chapter 16 Linked Lists Chapter 17 Binary Trees Supplements Answers to all self-check problems appear in Appendix A. In addition, students can access the following resources at or our web site at Source code and data files for all case studies and other complete program examples. The DrawingPanel class used in the optional graphics Supplement 3G. The Practice-It! web programming practice system.

5 Preface vii Instructors can access the following resources from our web site at buildingjavaprograms.com/: PowerPoint slides suitable for lectures. Solutions to exercises and programming projects, along with homework specification documents for many projects. Sample Exams and solution keys. Additional Lab Exercises and Programming Exercises with solution keys. To access protected instructor resources, contact us at The same materials are also available at com/regesstepp/. To receive a password for this site or to ask other questions related to resources, contact your Addison-Wesley sales representative or send to computing@aw.com. Practice-It! For the second edition, we have written a web application called Practice-It! that is available from our web site at This application allows students to practice the exercises from the book and from our introductory programming courses. The system presents a menu of exercises and allows the user to type a solution to a problem and submit it to our server. The system will test the solution and report whether the code solves the problem correctly. For self-checks and University of Washington problems, you may also view the instructor s solutions. Many of our own students have reported that they find this system useful, especially when they are studying for exams. VideoNotes We have recorded a series of instructional videos to accompany the second edition of the textbook. They are available at Roughly 3 4 videos are posted for each chapter. An icon in the margin of the page indicates when a VideoNote is available for a given topic. In each video, we spend 5 15 minutes walking through a particular concept or problem, talking about the challenges and methods necessary to solve it. These videos make a good supplement to the instruction given in lecture classes and in the textbook. Your new copy of the second edition has an access code that will allow you to view the videos. Acknowledgments First, we would like to thank the many students and teaching assistants who have used and commented on early drafts of this text. We could not have written this book without their input. Special thanks go to Hélène Martin, who pored over early versions of these chapters to find errors and to identify rough patches that needed work. We would

6 viii Preface also like to thank instructor Benson Limketkai for spending many hours performing a technical proofread of the second edition. Second, we would like to thank the talented pool of reviewers who guided us in the process of creating this textbook: Greg Anderson, Weber State University Delroy A. Brinkerhoff, Weber State University Ed Brunjes, Miramar Community College Tom Capaul, Eastern Washington University Tom Cortina, Carnegie Mellon University Charles Dierbach, Towson University H.E. Dunsmore, Purdue University Michael Eckmann, Skidmore College Mary Anne Egan, Siena College Leonard J. Garrett, Temple University Ahmad Ghafarian, North Georgia College & State University Raj Gill, Anne Arundel Community College Michael Hostetler, Park University David Hovemeyer, York College of Pennsylvania Chenglie Hu, Carroll College Philip Isenhour, Virginia Polytechnic Institute Andree Jacobson, University of New Mexico David C. Kamper, Sr., Northeastern Illinois University Simon G.M. Koo, University of San Diego Evan Korth, New York University Joan Krone, Denison University John H.E.F. Lasseter, Fairfield University Eric Matson, Wright State University Kathryn S. McKinley, University of Texas, Austin Jerry Mead, Bucknell University George Medelinskas, Northern Essex Community College John Neitzke, Truman State University Dale E. Parson, Kutztown University Richard E. Pattis, Carnegie Mellon University Frederick Pratter, Eastern Oregon University Roger Priebe, University of Texas, Austin Dehu Qi, Lamar University

7 Preface ix John Rager, Amherst College Amala V.S. Rajan, Middlesex University Craig Reinhart, California Lutheran University Mike Scott, University of Texas, Austin Alexa Sharp, Oberlin College Tom Stokke, University of North Dakota Leigh Ann Sudol, Fox Lane High School Ronald F. Taylor, Wright State University Andy Ray Terrel, University of Chicago Scott Thede, DePauw University Megan Thomas, California State University, Stanislaus Dwight Tuinstra, SUNY Potsdam Jeannie Turner, Sayre School Tammy VanDeGrift, University of Portland Thomas John VanDrunen, Wheaton College Neal R. Wagner, University of Texas, San Antonio Jiangping Wang, Webster University Yang Wang, Missouri State University Stephen Weiss, University of North Carolina at Chapel Hill Laurie Werner, Miami University Dianna Xu, Bryn Mawr College Carol Zander, University of Washington, Bothell We would also like to thank the dedicated University of Washington teaching assistants who have added many problems to our Practice-It system: Robert Baxter, Whitaker Brand, Leslie Ferguson, Lisa Fiedler, Jason Ganzhorn, Stefanie Hatcher, Roy McElmurry, Jeff Prouty, Stephanie Smallman, Eric Spishak, and Kimberly Todd. Finally, we would like to thank the great staff at Addison-Wesley who helped produce the book. Michelle Brown, Jeff Holcomb, Maurene Goo, Patty Mahtani, Nancy Kotary, and Kathleen Kenny did great work preparing the first edition. Our copy editors and the staff of Aptara Corp, including Heather Sisan, Brian Baker, Brendan Short, and Rachel Head, caught many errors and improved the quality of the writing. Marilyn Lloyd and Chelsea Bell served well as project manager and editorial assistant respectively. Special thanks go to our editor Matt Goldstein, who has believed in the concept of our book from day one. We couldn t have finished this job without all of their support. Stuart Reges Marty Stepp

8 LOCATION OF VIDEO NOTES IN THE TEXT Chapter 1 Pages, 31, 40 Chapter 2 Pages, 63, 72, 87, 95, 108 Chapter 3 Pages, 136, 151, 156, 162 Chapter 3G Pages, 189, 205 Chapter 4 Pages, 231, 239, 266 Chapter 5 Pages, 310, 313, 315, 319, 342 Chapter 6 Pages, 382, 395, 409 Chapter 7 Pages, 440, 447, 464, 481 Chapter 8 Pages, 505, 517, 525, 538 Chapter 9 Pages, 565, 578, 594 Chapter 10 Pages, 638, 643, 652 Chapter 11 Pages, 680, 693, 701 Chapter 12 Pages, 728, 736, 756 Chapter 13 Pages, 776, 779, 785 Chapter 14 Pages, 823, 836, 855 Chapter 15 Pages, 894, 900, 904 Chapter 16 Pages, 936, 943, 956 Chapter 17 Pages, 1001, 1002, 1012 x

9 Brief Preface iii Chapter 1 Introduction to Java Programming 1 Chapter 2 Primitive Data and Definite Loops 61 Chapter 3 Introduction to Parameters and Objects 132 Supplement 3G Graphics (Optional) 188 Chapter 4 Conditional Execution 226 Chapter 5 Program Logic and Indefinite Loops 301 Chapter 6 File Processing 373 Chapter 7 Arrays 425 Chapter 8 Classes 500 Chapter 9 Inheritance and Interfaces 555 Chapter 10 ArrayLists 628 Chapter 11 Java Collections Framework 679 Chapter 12 Recursion 718 Chapter 13 Searching and Sorting 774 Chapter 14 Graphical User Interfaces 822 Chapter 15 Implementing a Collection Class 886 Chapter 16 Linked Lists 929 Chapter 17 Binary Trees 981 Appendix A Answers to Self-Check Problems 1035 Appendix B Java Summary 1107 Appendix C Javadoc Comments and the Java API Specification 1122 Appendix D Additional Java Syntax 1128 Index 1137 xi

10

11 Preface iii Chapter 1 Introduction to Java Programming Basic Computing Concepts 2 Why Programming? 2 Hardware and Software 3 The Digital Realm 4 The Process of Programming 6 Why Java? 7 The Java Programming Environment And Now Java 10 String Literals (Strings) 14 System.out.println 15 Escape Sequences 15 print versus println 17 Identifiers and Keywords 18 A Complex Example: DrawFigures1 20 Comments and Readability Program Errors 24 Syntax Errors 24 Logic Errors (Bugs) Procedural Decomposition 28 Static Methods 31 Flow of Control 34 Methods that Call Other Methods 36 An Example Runtime Error Case Study: DrawFigures 40 Structured Version 41 Final Version without Redundancy 43 Analysis of Flow of Execution 44 xiii

12 xiv Chapter 2 Primitive Data and Definite Loops Basic Data Concepts 62 Primitive Types 62 Expressions 63 Literals 65 Arithmetic Operators 66 Precedence 68 Mixing Types and Casting Variables 72 Assignment/Declaration Variations 77 String Concatenation 80 Increment/Decrement Operators 82 Variables and Mixing Types The for Loop 87 Tracing for Loops 89 for Loop Patterns 93 Nested for Loops Managing Complexity 97 Scope 97 Pseudocode 103 Class Constants Case Study: Hourglass Figure 108 Problem Decomposition and Pseudocode 109 Initial Structured Version 111 Adding a Class Constant 112 Further Variations 115 Chapter 3 Introduction to Parameters and Objects Parameters 133 The Mechanics of Parameters 136 Limitations of Parameters 140 Multiple Parameters 143 Parameters versus Constants 146 Overloading of Methods Methods That Return Values 147 The Math Class 148 Defining Methods That Return Values 151

13 xv 3.3 Using Objects 155 String Objects 156 Interactive Programs and Scanner Objects 162 Sample Interactive Program Case Study: Projectile Trajectory 168 Unstructured Solution 172 Structured Solution 174 Supplement 3G Graphics (Optional) 188 3G.1 Introduction to Graphics 189 DrawingPanel 189 Drawing Lines and Shapes 190 Colors 195 Drawing with Loops 198 Text and Fonts 202 3G.2 Procedural Decomposition with Graphics 205 A Larger Example: DrawDiamonds 206 3G.3 Case Study: Pyramids 209 Unstructured Partial Solution 210 Generalizing the Drawing of Pyramids 212 Complete Structured Solution 213 Chapter 4 Conditional Execution if/else Statements 227 Relational Operators 229 Nested if/else Statements 231 Object Equality 238 Factoring if/else Statements 239 Multiple Conditions Cumulative Algorithms 242 Cumulative Sum 242 Min/Max Loops 244 Cumulative Sum with if 248 Roundoff Errors Text Processing 253 The char Type 253 char versus int 254

14 xvi Cumulative Text Algorithms 255 System.out.printf Methods with Conditional Execution 262 Preconditions and Postconditions 262 Throwing Exceptions 262 Revisiting Return Values 266 Reasoning about Paths Case Study: Body Mass Index 273 One-Person Unstructured Solution 274 Two-Person Unstructured Solution 277 Two-Person Structured Solution 279 Procedural Design Heuristics 283 Chapter 5 Program Logic and Indefinite Loops The while Loop 302 A Loop to Find the Smallest Divisor 303 Random Numbers 306 Simulations 310 do/while Loop Fencepost Algorithms 313 Sentinel Loops 315 Fencepost with if The boolean Type 319 Logical Operators 321 Short-Circuited Evaluation 324 boolean Variables and Flags 328 Boolean Zen 330 Negating Boolean Expressions User Errors 334 Scanner Lookahead 335 Handling User Errors Assertions and Program Logic 339 Reasoning about Assertions 341 A Detailed Assertions Example Case Study: NumberGuess 347 Initial Version without Hinting 347 Randomized Version with Hinting 349 Final Robust Version 353

15 xvii Chapter 6 File Processing File-Reading Basics 374 Data, Data Everywhere 374 Files and File Objects 374 Reading a File with a Scanner Details of Token-Based Processing 382 Structure of Files and Consuming Input 384 Scanner Parameters 389 Paths and Directories 390 A More Complex Input File Line-Based Processing 395 String Scanners and Line/Token Combinations Advanced File Processing 401 Output Files with PrintStream 401 Guaranteeing That Files Can Be Read Case Study: Zip Code Lookup 409 Chapter 7 Arrays Array Basics 426 Constructing and Traversing an Array 426 Accessing an Array 430 A Complete Array Program 433 Random Access 437 Arrays and Methods 440 The For-Each Loop 443 Initializing Arrays 445 The Arrays Class Array-Traversal Algorithms 447 Printing an Array 448 Searching and Replacing 450 Testing for Equality 453 Reversing an Array 454 String Traversal Algorithms Reference Semantics 460 Multiple Objects 462

16 xviii 7.4 Advanced Array Techniques 464 Shifting Values in an Array 464 Arrays of Objects 469 Command-Line Arguments 470 Nested Loop Algorithms Multidimensional Arrays 473 Rectangular Two-Dimensional Arrays 473 Jagged Arrays Case Study: Benford s Law 479 Tallying Values 481 Completing the Program 485 Chapter 8 Classes Object-Oriented Programming 501 Classes and Objects 502 Point Objects Object State and Behavior 505 Object State: Fields 506 Object Behavior: Methods 508 The Implicit Parameter 511 Mutators and Accessors 513 The tostring Method Object Initialization: Constructors 517 The Keyword this 522 Multiple Constructors Encapsulation 525 Private Fields 526 Class Invariants 532 Changing Internal Implementations Case Study: Designing a Stock Class 538 Object-Oriented Design Heuristics 539 Stock Fields and Method Headers 541 Stock Method and Constructor Implementation 543 Chapter 9 Inheritance and Interfaces Inheritance Basics 556 Nonprogramming Hierarchies 557

17 xix Extending a Class 559 Overriding Methods Interacting with the Superclass 565 Calling Overridden Methods 565 Accessing Inherited Fields 566 Calling a Superclass s Constructor 568 DividendStock Behavior 570 The Object Class 572 The equals Method 573 The instanceof Keyword Polymorphism 578 Polymorphism Mechanics 581 Interpreting Inheritance Code 583 Interpreting Complex Calls Inheritance and Design 588 A Misuse of Inheritance 588 Is-a Versus Has-a Relationships 591 Graphics2D Interfaces 594 An Interface for Shapes 595 Implementing an Interface 597 Benefits of Interfaces Case Study: Financial Class Hierarchy 602 Designing the Classes 603 Redundant Implementation 607 Abstract Classes 610 Chapter 10 ArrayLists ArrayLists 629 Basic ArrayList Operations 630 ArrayList Searching Methods 633 A Complete ArrayList Program 636 Adding to and Removing from an ArrayList 638 Using the For-Each Loop with ArrayLists 642 Wrapper Classes The Comparable Interface 646 Natural Ordering and compareto 648 Implementing the Comparable Interface 652

18 xx 10.3 Case Study: Vocabulary Comparison 656 Some Efficiency Considerations 657 Version 1: Compute Vocabulary 659 Version 2: Compute Overlap 664 Version 3: Complete Program 669 Chapter 11 Java Collections Framework Lists 680 Collections 680 LinkedList versus ArrayList 681 Iterators 684 Abstract Data Types (ADTs) 687 LinkedList Case Study: Sieve Sets 693 Set Concepts 694 TreeSet versus HashSet 696 Set Operations 697 Set Case Study: Lottery Maps 701 Basic Map Operations 702 Map Views (keyset and values) 704 TreeMap versus HashMap 705 Map Case Study: WordCount 706 Collection Overview 709 Chapter 12 Recursion Thinking Recursively 719 A Nonprogramming Example 719 An Iterative Solution Converted to Recursion 722 Structure of Recursive Solutions A Better Example of Recursion 726 Mechanics of Recursion Recursive Functions and Data 736 Integer Exponentiation 736 Greatest Common Divisor 739 Directory Crawler 745 Helper Methods Recursive Graphics (Optional) 752

19 xxi 12.5 Case Study: Prefix Evaluator 756 Infix, Prefix, and Postfix Notation 757 Evaluating Prefix Expressions 757 Complete Program 761 Chapter 13 Searching and Sorting Searching and Sorting in the Java Class Libraries 775 Binary Search 776 Sorting 779 Shuffling 780 Custom Ordering with Comparators Program Complexity 785 Empirical Analysis 788 Complexity Classes Implementing Searching and Sorting Algorithms 794 Sequential Search 795 Binary Search 796 Recursive Binary Search 799 Searching Objects 802 Selection Sort Case Study: Implementing Merge Sort 806 Splitting and Merging Arrays 807 Recursive Merge Sort 810 Complete Program 813 Chapter 14 Graphical User Interfaces GUI Basics 823 Graphical Input and Output with Option Panes 823 Working with Frames 826 Buttons, Text Fields, and Labels 831 Changing a Frame s Layout 833 Handling an Event Laying Out Components 836 Layout Managers 837 Composite Layouts Interaction Between Components 845 Example 1: BMI GUI 845

20 xxii Object-Oriented GUIs 846 Example 2: Credit Card GUI Additional Components and Events 855 Text Areas, Scrollbars, and Fonts 856 Icons 858 Mouse Events Two-Dimensional Graphics 865 Drawing onto Panels 865 Animation with Timers Case Study: Implementing DrawingPanel 872 Initial Version without Events 872 Second Version with Events 874 Chapter 15 Implementing a Collection Class Simple ArrayIntList 887 Adding and Printing 887 Thinking about Encapsulation 893 Dealing with the Middle of the List 894 Another Constructor and a Constant 899 Preconditions and Postconditions A More Complete ArrayIntList 904 Throwing Exceptions 904 Convenience Methods Advanced Features 910 Resizing When Necessary 910 Adding an Iterator ArrayList<E> 918 Chapter 16 Linked Lists Working with Nodes 930 Constructing a List 931 List Basics 933 Manipulating Nodes 936 Traversing a List A Linked List Class 943 Simple LinkedIntList 943

21 xxiii Appending add 945 The Middle of the List A Complex List Operation 956 Inchworm Approach An IntList Interface LinkedList<E> 965 Linked List Variations 966 Linked List Iterators 969 Other Code Details 971 Chapter 17 Binary Trees Binary Tree Basics 982 Node and Tree Classes Tree Traversals 986 Constructing and Viewing a Tree Common Tree Operations 1001 Sum of a Tree 1001 Counting Levels 1002 Counting Leaves Binary Search Trees 1005 The Binary Search Tree Property 1006 Building a Binary Search Tree 1008 The Pattern x = change(x) 1012 Searching the Tree 1015 Binary Search Tree Complexity SearchTree<E> 1020 Appendix A Answers to Self-Check Problems 1035 Appendix B Java Summary 1107 Appendix C Javadoc Comments and the Java API Specification 1122 Appendix D Additional Java Syntax 1128 Index 1137

Building Java Programs

Building Java Programs Building Java Programs A Back to Basics Approach Stuart Reges I Marty Stepp University ofwashington Preface 3 Chapter 1 Introduction to Java Programming 25 1.1 Basic Computing Concepts 26 Why Programming?

More information

Course materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011).

Course materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011). AP Computer Science A Advanced Placement Computer Science A is a fast-paced course equivalent to a college introductory programming class. Students will learn about the exciting kinds of problems tackled

More information

CONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17

CONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17 List of Programs xxv List of Figures xxix List of Tables xxxiii Preface to second version xxxv PART 1 Structured Programming 1 1 Getting started 3 1.1 Programming 3 1.2 Editing source code 5 Source code

More information

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix PGJC4_JSE8_OCA.book Page ix Monday, June 20, 2016 2:31 PM Contents Figures Tables Examples Foreword Preface xix xxi xxiii xxvii xxix 1 Basics of Java Programming 1 1.1 Introduction 2 1.2 Classes 2 Declaring

More information

Welcome to Starting Out with Programming Logic and Design, Third Edition.

Welcome to Starting Out with Programming Logic and Design, Third Edition. Welcome to Starting Out with Programming Logic and Design, Third Edition. This book uses a language-independent approach to teach programming concepts and problem-solving skills, without assuming any previous

More information

Contents Chapter 1 Introduction to Programming and the Java Language

Contents Chapter 1 Introduction to Programming and the Java Language Chapter 1 Introduction to Programming and the Java Language 1.1 Basic Computer Concepts 5 1.1.1 Hardware 5 1.1.2 Operating Systems 8 1.1.3 Application Software 9 1.1.4 Computer Networks and the Internet

More information

This page intentionally left blank

This page intentionally left blank This page intentionally left blank arting Out with Java: From Control Structures through Objects International Edition - PDF - PDF - PDF Cover Contents Preface Chapter 1 Introduction to Computers and Java

More information

Preface. The Purpose of this Book and Its Audience. Coverage and Approach

Preface. The Purpose of this Book and Its Audience. Coverage and Approach Preface The Purpose of this Book and Its Audience Java 5 Illuminated covers all of the material required for the successful completion of an introductory course in Java. While the focus is on presenting

More information

MyProgram m i ng Lab. get with the programming. Through the power of practice and immediate personalized

MyProgram m i ng Lab. get with the programming. Through the power of practice and immediate personalized get with the programming Through the power of practice and immediate personalized feedback, MyProgrammingLab improves your performance. MyProgram m i ng Lab Learn more at www.myprogramminglab.com Preface

More information

Mathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10

Mathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10 Mathematics/Science Department Kirkwood Community College Course Syllabus Computer Science CSC142 Bob Driggs Dean Cate Sheller Instructor 1/10 Computer Science (CSC142) Course Description Introduces computer

More information

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS Contents Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS 1.1. INTRODUCTION TO COMPUTERS... 1 1.2. HISTORY OF C & C++... 3 1.3. DESIGN, DEVELOPMENT AND EXECUTION OF A PROGRAM... 3 1.4 TESTING OF PROGRAMS...

More information

"Charting the Course... Java Programming Language. Course Summary

Charting the Course... Java Programming Language. Course Summary Course Summary Description This course emphasizes becoming productive quickly as a Java application developer. This course quickly covers the Java language syntax and then moves into the object-oriented

More information

JAVA CONCEPTS Early Objects

JAVA CONCEPTS Early Objects INTERNATIONAL STUDENT VERSION JAVA CONCEPTS Early Objects Seventh Edition CAY HORSTMANN San Jose State University Wiley CONTENTS PREFACE v chapter i INTRODUCTION 1 1.1 Computer Programs 2 1.2 The Anatomy

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

CO Java SE 8: Fundamentals

CO Java SE 8: Fundamentals CO-83527 Java SE 8: Fundamentals Summary Duration 5 Days Audience Application Developer, Developer, Project Manager, Systems Administrator, Technical Administrator, Technical Consultant and Web Administrator

More information

CompuScholar, Inc. 9th - 12th grades

CompuScholar, Inc. 9th - 12th grades CompuScholar, Inc. Alignment to the College Board AP Computer Science A Standards 9th - 12th grades AP Course Details: Course Title: Grade Level: Standards Link: AP Computer Science A 9th - 12th grades

More information

Objects First with Java

Objects First with Java ^ Objects First with Java A Practical Introduction using BlueJ David J. Barnes and Michael Kolling Second edition PEARSON Prentice Hall Harlow, England London New York Boston San Francisco Toronto Sydney

More information

https://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.asp...

https://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.asp... 1 of 8 8/27/2014 2:15 PM Units: Teacher: ProgIIIAPCompSci, CORE Course: ProgIIIAPCompSci Year: 2012-13 Computer Systems This unit provides an introduction to the field of computer science, and covers the

More information

Curriculum Map Grade(s): Subject: AP Computer Science

Curriculum Map Grade(s): Subject: AP Computer Science Curriculum Map Grade(s): 11-12 Subject: AP Computer Science (Semester 1 - Weeks 1-18) Unit / Weeks Content Skills Assessments Standards Lesson 1 - Background Chapter 1 of Textbook (Weeks 1-3) - 1.1 History

More information

College Board. AP CS A Labs Magpie, Elevens, and Picture Lab. New York: College Entrance Examination Board, 2013.

College Board. AP CS A Labs Magpie, Elevens, and Picture Lab. New York: College Entrance Examination Board, 2013. AP Computer Science August 2014 June 2015 Class Description AP Computer Science is the second class after Pre-AP Computer Science that together teach the fundamentals of object-oriented programming and

More information

Murach s Beginning Java with Eclipse

Murach s Beginning Java with Eclipse Murach s Beginning Java with Eclipse Introduction xv Section 1 Get started right Chapter 1 An introduction to Java programming 3 Chapter 2 How to start writing Java code 33 Chapter 3 How to use classes

More information

Jones & Bartlett Learning, LLC NOT FOR SALE OR DISTRIBUTION. useful as well. It has been written to provide introductory computer science

Jones & Bartlett Learning, LLC NOT FOR SALE OR DISTRIBUTION. useful as well. It has been written to provide introductory computer science Purpose of This Book and Its Audience Java Illuminated, NOT FOR Third Edition, OR covers all of the material required for the successful completion of an introductory course in Java. While the focus is

More information

xviii APPROACH FEATURES

xviii APPROACH FEATURES Welcome to the third edition of my C++ text. The highly successful first edition was one of the first textbooks available for teaching C++ in the first programming course. The text was introduced at the

More information

Object-Oriented Programming and Data Structures

Object-Oriented Programming and Data Structures Java Methods A & AB Object-Oriented Programming and Data Structures Maria Litvin Phillips Academy, Andover, Massachusetts Gary Litvin Skylight Software, Inc. Skylight Publishing Andover, Massachusetts

More information

Introduction to Programming System Design CSCI 455x (4 Units)

Introduction to Programming System Design CSCI 455x (4 Units) Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,

More information

[CHAPTER] 1 INTRODUCTION 1

[CHAPTER] 1 INTRODUCTION 1 FM_TOC C7817 47493 1/28/11 9:29 AM Page iii Table of Contents [CHAPTER] 1 INTRODUCTION 1 1.1 Two Fundamental Ideas of Computer Science: Algorithms and Information Processing...2 1.1.1 Algorithms...2 1.1.2

More information

TeenCoder : Java Programming (ISBN )

TeenCoder : Java Programming (ISBN ) TeenCoder : Java Programming (ISBN 978-0-9887070-2-3) and the AP * Computer Science A Exam Requirements (Alignment to Tennessee AP CS A course code 3635) Updated March, 2015 Contains the new 2014-2015+

More information

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Weiss Chapter 1 terminology (parenthesized numbers are page numbers) Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement

More information

IMACS: AP Computer Science A

IMACS: AP Computer Science A IMACS: AP Computer Science A OVERVIEW This course is a 34-week, 4 classroom hours per week course for students taking the College Board s Advanced Placement Computer Science A exam. It is an online course

More information

Preface. Features of the Third Edition

Preface. Features of the Third Edition The C++ programming language is derived from the C programming language, with added features to support object-oriented programming through the use of classes and programmerdefined types. The features

More information

C# Programming: From Problem Analysis to Program Design. Fourth Edition

C# Programming: From Problem Analysis to Program Design. Fourth Edition C# Programming: From Problem Analysis to Program Design Fourth Edition Preface xxi INTRODUCTION TO COMPUTING AND PROGRAMMING 1 History of Computers 2 System and Application Software 4 System Software 4

More information

Data Structures and Abstractions with Java

Data Structures and Abstractions with Java Global edition Data Structures and Abstractions with Java Fourth edition Frank M. Carrano Timothy M. Henry Data Structures and Abstractions with Java TM Fourth Edition Global Edition Frank M. Carrano University

More information

Absolute C++ Walter Savitch

Absolute C++ Walter Savitch Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents

More information

ощ 'ршорвшэш! цвн-эориэу ощ 'sajbpossv # PIPG DUJ 'ssjmoossv ^ PIPG pipa w н OX ЛЮН VAV

ощ 'ршорвшэш! цвн-эориэу ощ 'sajbpossv # PIPG DUJ 'ssjmoossv ^ PIPG pipa w н OX ЛЮН VAV ощ 'ршорвшэш! цвн-эориэу ощ 'sajbpossv # PIPG DUJ 'ssjmoossv ^ PIPG pipa w н OX ЛЮН VAV Contents Preface Chapter 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19

More information

C ONTENTS PART I FUNDAMENTALS OF PROGRAMMING 1. and Java 3. Chapter 1 Introduction to Computers, Programs,

C ONTENTS PART I FUNDAMENTALS OF PROGRAMMING 1. and Java 3. Chapter 1 Introduction to Computers, Programs, C ONTENTS PART I FUNDAMENTALS OF PROGRAMMING 1 Chapter 1 Introduction to Computers, Programs, and Java 3 1.1 Introduction 4 1.2 What Is acomputer? 4 1.3 Programs 7 1.4 Operating Systems 9 1.5 Number Systems

More information

https://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.aspx?m=5507&c=618&mo=18917&t=191&sy=2012&bl...

https://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.aspx?m=5507&c=618&mo=18917&t=191&sy=2012&bl... Page 1 of 13 Units: - All - Teacher: ProgIIIJavaI, CORE Course: ProgIIIJavaI Year: 2012-13 Intro to Java How is data stored by a computer system? What does a compiler do? What are the advantages of using

More information

AP Computer Science A Syllabus

AP Computer Science A Syllabus AP Computer Science A Syllabus Course Overview The focus of this class is structured logic with an emphasis on developing simple, elegant algorithms and thinking in an object-oriented manner. The Java

More information

Language Features. 1. The primitive types int, double, and boolean are part of the AP

Language Features. 1. The primitive types int, double, and boolean are part of the AP Language Features 1. The primitive types int, double, and boolean are part of the AP short, long, byte, char, and float are not in the subset. In particular, students need not be aware that strings are

More information

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Instructor: Ronald C. Persin Course Resources Java Software Solutions for AP Computer Science, A. J. Lewis, W. Loftus, and C. Cocking,

More information

Big Java Late Objects

Big Java Late Objects Big Java Late Objects Horstmann, Cay S. ISBN-13: 9781118087886 Table of Contents 1. Introduction 1.1 Computer Programs 1.2 The Anatomy of a Computer 1.3 The Java Programming Language 1.4 Becoming Familiar

More information

AP Computer Science A. Course Syllabus. Jackson County High School Instructor: LaDonna Woods School Year

AP Computer Science A. Course Syllabus. Jackson County High School Instructor: LaDonna Woods School Year AP Computer Science A Course Syllabus Jackson County High School 606-287-7155 Grade Level: 10-12 Course Length: 36 weeks Instructor: LaDonna Woods School Year 2013-2014 Email: LaDonna.Woods@jackson.kyschools.us

More information

COURSE OF STUDY UNIT PLANNING GUIDE COMPUTER SCIENCE 1 FOR: 5 CREDITS GRADE LEVEL: 9-12 FULL-YEAR COURSE PREPARED BY: SUSIE EISEN

COURSE OF STUDY UNIT PLANNING GUIDE COMPUTER SCIENCE 1 FOR: 5 CREDITS GRADE LEVEL: 9-12 FULL-YEAR COURSE PREPARED BY: SUSIE EISEN COURSE OF STUDY UNIT PLANNING GUIDE FOR: COMPUTER SCIENCE 1 5 CREDITS GRADE LEVEL: 9-12 FULL-YEAR COURSE PREPARED BY: SUSIE EISEN SHANNON WARNOCK, SUPERVISOR OF MATHEMATICS AND SCIENCE JULY 2017 DUMONT

More information

Data Structures in C++ Using the Standard Template Library

Data Structures in C++ Using the Standard Template Library Data Structures in C++ Using the Standard Template Library Timothy Budd Oregon State University ^ ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Reading, Massachusetts Harlow, England Menlo

More information

Problem Solving with C++

Problem Solving with C++ GLOBAL EDITION Problem Solving with C++ NINTH EDITION Walter Savitch Kendrick Mock Ninth Edition PROBLEM SOLVING with C++ Problem Solving with C++, Global Edition Cover Title Copyright Contents Chapter

More information

This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units.

This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units. This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units. Introduction Overview Advancements in technology are

More information

PROBLEM SOLVING WITH FORTRAN 90

PROBLEM SOLVING WITH FORTRAN 90 David R. Brooks PROBLEM SOLVING WITH FORTRAN 90 FOR SCIENTISTS AND ENGINEERS Springer Contents Preface v 1.1 Overview for Instructors v 1.1.1 The Case for Fortran 90 vi 1.1.2 Structure of the Text vii

More information

Learning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo

Learning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Learning C# 3.0 Jesse Liberty and Brian MacDonald O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Table of Contents Preface xv 1. C# and.net Programming 1 Installing C# Express 2 C# 3.0

More information

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department 0901212 Python Programming 1 st Semester 2014/2015 Course Catalog This course introduces

More information

Foundations of object orientation

Foundations of object orientation Foreword Preface List of projects discussed in detail in this book Acknowledgments Part 1 Chapter 1 Chapter 2 Foundations of object orientation Objects and classes 1.1 Objects and classes 1.2 Creating

More information

AP Computer Science A

AP Computer Science A AP Computer Science A Couse Information: Couse Title: AP Computer Science A Couse Number: 8317 Length of Course: Full year No. of Credits: 1.0 Instructor Information: Instructor: Michael George Email:

More information

Java Programming with Eclipse

Java Programming with Eclipse One Introduction to Java 2 Usage of Java 3 Structure of Java 4 Flexibility of Java Programming 5 Using the Eclipse Software 6 Two Running Java in Eclipse 7 Introduction 8 Using Eclipse 9 Workspace Launcher

More information

Introduction. Assessment Test. Part I The Programmer s Exam 1

Introduction. Assessment Test. Part I The Programmer s Exam 1 4276FM.fm Page ix Thursday, October 2, 2003 11:22 AM at a Glance Introduction Assessment Test xix xxv Part I The Programmer s Exam 1 Chapter 1 Language Fundamentals 3 Chapter 2 Operators and Assignments

More information

Contents. iii Copyright 1998 Sun Microsystems, Inc. All Rights Reserved. Enterprise Services August 1998, Revision B

Contents. iii Copyright 1998 Sun Microsystems, Inc. All Rights Reserved. Enterprise Services August 1998, Revision B Contents About the Course...xv Course Overview... xvi Course Map... xvii Module-by-Module Overview... xviii Course Objectives... xxii Skills Gained by Module... xxiii Guidelines for Module Pacing... xxiv

More information

Programming in Scala Second Edition

Programming in Scala Second Edition Programming in Scala Second Edition Martin Odersky, Lex Spoon, Bill Venners artima ARTIMA PRESS WALNUT CREEK, CALIFORNIA Contents Contents List of Figures List of Tables List of Listings Foreword Foreword

More information

Syllabus & Curriculum for Certificate Course in Java. CALL: , for Queries

Syllabus & Curriculum for Certificate Course in Java. CALL: , for Queries 1 CONTENTS 1. Introduction to Java 2. Holding Data 3. Controllin g the f l o w 4. Object Oriented Programming Concepts 5. Inheritance & Packaging 6. Handling Error/Exceptions 7. Handling Strings 8. Threads

More information

Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p.

Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p. Preface p. xix Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p. 5 Java Applets and Applications p. 5

More information

Microsoft. Microsoft Visual C# Step by Step. John Sharp

Microsoft. Microsoft Visual C# Step by Step. John Sharp Microsoft Microsoft Visual C#- 2010 Step by Step John Sharp Table of Contents Acknowledgments Introduction xvii xix Part I Introducing Microsoft Visual C# and Microsoft Visual Studio 2010 1 Welcome to

More information

Computer Programming C++ (wg) CCOs

Computer Programming C++ (wg) CCOs Computer Programming C++ (wg) CCOs I. The student will analyze the different systems, and languages of the computer. (SM 1.4, 3.1, 3.4, 3.6) II. The student will write, compile, link and run a simple C++

More information

Acknowledgments I INTRODUCTION 1

Acknowledgments I INTRODUCTION 1 Preface This handbook of data structures and algorithms is designed as a comprehensive resource for computer science students and practitioners. The book is, quite literally, the product of a marriage

More information

Microsoft Visual C# Step by Step. John Sharp

Microsoft Visual C# Step by Step. John Sharp Microsoft Visual C# 2013 Step by Step John Sharp Introduction xix PART I INTRODUCING MICROSOFT VISUAL C# AND MICROSOFT VISUAL STUDIO 2013 Chapter 1 Welcome to C# 3 Beginning programming with the Visual

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery. HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets

More information

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline :: Module Title Duration : Intro to JAVA SE7 and Programming using JAVA SE7 : 9 days Course Description The Java SE 7 Fundamentals course was designed to enable students with little or no programming experience

More information

Preface A Brief History Pilot Test Results

Preface A Brief History Pilot Test Results Preface A Brief History In Fall, 2005, Wanda Dann and Steve Cooper, originators of the Alice approach for introductory programming (in collaboration with Randy Pausch), met with Barb Ericson and Mark Guzdial,

More information

Reviewing for the Midterm Covers chapters 1 to 5, 7 to 9. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013

Reviewing for the Midterm Covers chapters 1 to 5, 7 to 9. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 Reviewing for the Midterm Covers chapters 1 to 5, 7 to 9 Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 2 Things to Review Review the Class Slides: Key Things to Take Away Do you understand

More information

5/23/2015. Core Java Syllabus. VikRam ShaRma

5/23/2015. Core Java Syllabus. VikRam ShaRma 5/23/2015 Core Java Syllabus VikRam ShaRma Basic Concepts of Core Java 1 Introduction to Java 1.1 Need of java i.e. History 1.2 What is java? 1.3 Java Buzzwords 1.4 JDK JRE JVM JIT - Java Compiler 1.5

More information

102. Introduction to Java Programming

102. Introduction to Java Programming 102. Introduction to Java Programming Version 5.0 Java is a popular and powerful language. Although comparatively simple in its language structure, there are a number of subtleties that can trip up less

More information

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features

More information

A Web-Based Introduction

A Web-Based Introduction A Web-Based Introduction to Programming Essential Algorithms, Syntax, and Control Structures Using PHP, HTML, and MySQL Third Edition Mike O'Kane Carolina Academic Press Durham, North Carolina Contents

More information

Contents. 1 Introduction to Computers, the Internet and the World Wide Web 1. 2 Introduction to C Programming 26

Contents. 1 Introduction to Computers, the Internet and the World Wide Web 1. 2 Introduction to C Programming 26 Preface xix 1 Introduction to Computers, the Internet and the World Wide Web 1 1.1 Introduction 2 1.2 What Is a Computer? 4 1.3 Computer Organization 4 1.4 Evolution of Operating Systems 5 1.5 Personal,

More information

DATA STRUCTURES AND PROBLEM SOLVING USING JAVA

DATA STRUCTURES AND PROBLEM SOLVING USING JAVA DATA STRUCTURES AND PROBLEM SOLVING USING JAVA Second Edition MARK ALLEN WEISS Florida International University Addison Wesley Boston San Francisco New York London Toronto Sydney Tokyo Singapore Madrid

More information

AP Computer Science A Course Syllabus

AP Computer Science A Course Syllabus AP Computer Science A Course Syllabus Textbook: Litvin, Maria and Litvin, Gary. Java Methods: Object-Oriented Programming and Data Structures. Skylight Publishing, 2011 http://www.skylit.com Course Description:

More information

3D Graphics Programming Mira Costa High School - Class Syllabus,

3D Graphics Programming Mira Costa High School - Class Syllabus, 3D Graphics Programming Mira Costa High School - Class Syllabus, 2009-2010 INSTRUCTOR: Mr. M. Williams COURSE GOALS and OBJECTIVES: 1 Learn the fundamentals of the Java language including data types and

More information

Fundamentals of Java Programming

Fundamentals of Java Programming Fundamentals of Java Programming Mitsunori Ogihara Fundamentals of Java Programming 123 Mitsunori Ogihara Department of Computer Science University of Miami Miami, FL, USA ISBN 978-3-319-89490-4 ISBN 978-3-319-89491-1

More information

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST) Programming Concepts & Algorithms Course Syllabus Course Title Course Code Computer Department Pre-requisites Course Code Course Instructor Programming Concepts & Algorithms + lab CPE 405C Computer Department

More information

CLASSIC DATA STRUCTURES IN JAVA

CLASSIC DATA STRUCTURES IN JAVA CLASSIC DATA STRUCTURES IN JAVA Timothy Budd Oregon State University Boston San Francisco New York London Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Paris Cape Town Hong Kong Montreal CONTENTS

More information

Chapters and Appendix F are PDF documents posted online at the book s Companion Website (located at

Chapters and Appendix F are PDF documents posted online at the book s Companion Website (located at Contents Chapters 16 27 and Appendix F are PDF documents posted online at the book s Companion Website (located at www.pearsonhighered.com/deitel/). Preface Before You Begin xix xxix 1 Introduction to

More information

Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p.

Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p. Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p. 9 Self-Test Exercises p. 11 History Note p. 12 Programming and

More information

1 OBJECT-ORIENTED PROGRAMMING 1

1 OBJECT-ORIENTED PROGRAMMING 1 PREFACE xvii 1 OBJECT-ORIENTED PROGRAMMING 1 1.1 Object-Oriented and Procedural Programming 2 Top-Down Design and Procedural Programming, 3 Problems with Top-Down Design, 3 Classes and Objects, 4 Fields

More information

Java for Non Majors. Final Study Guide. April 26, You will have an opportunity to earn 20 extra credit points.

Java for Non Majors. Final Study Guide. April 26, You will have an opportunity to earn 20 extra credit points. Java for Non Majors Final Study Guide April 26, 2017 The test consists of 1. Multiple choice questions 2. Given code, find the output 3. Code writing questions 4. Code debugging question 5. Short answer

More information

Exam 1 Prep. Dr. Demetrios Glinos University of Central Florida. COP3330 Object Oriented Programming

Exam 1 Prep. Dr. Demetrios Glinos University of Central Florida. COP3330 Object Oriented Programming Exam 1 Prep Dr. Demetrios Glinos University of Central Florida COP3330 Object Oriented Programming Progress Exam 1 is a Timed Webcourses Quiz You can find it from the "Assignments" link on Webcourses choose

More information

Oracle 10g: Java Programming

Oracle 10g: Java Programming Oracle 10g: Java Programming Volume 1 Student Guide D17249GC12 Edition 1.2 July 2005 D19367 Author Kate Heap Technical Contributors and Reviewers Ken Cooper Brian Fry Jeff Gallus Glenn Maslen Gayathri

More information

Chapter 2 Using Data. Instructor s Manual Table of Contents. At a Glance. Overview. Objectives. Teaching Tips. Quick Quizzes. Class Discussion Topics

Chapter 2 Using Data. Instructor s Manual Table of Contents. At a Glance. Overview. Objectives. Teaching Tips. Quick Quizzes. Class Discussion Topics Java Programming, Sixth Edition 2-1 Chapter 2 Using Data At a Glance Instructor s Manual Table of Contents Overview Objectives Teaching Tips Quick Quizzes Class Discussion Topics Additional Projects Additional

More information

Java Software Solutions Foundations of Program Design

Java Software Solutions Foundations of Program Design GLOBAL EDITION Java Software Solutions Foundations of Program Design EIGHTH EDITION John Lewis William Loftus Editorial Director: Editor-in-Chief: Editorial Assistant: Vice President, Marketing: Marketing

More information

AP Computer Science in Java Course Syllabus

AP Computer Science in Java Course Syllabus CodeHS AP Computer Science in Java Course Syllabus College Board Curriculum Requirements The CodeHS AP Java course is fully College Board aligned and covers all seven curriculum requirements extensively

More information

Java Programming Training for Experienced Programmers (5 Days)

Java Programming Training for Experienced Programmers (5 Days) www.peaklearningllc.com Java Programming Training for Experienced Programmers (5 Days) This Java training course is intended for students with experience in a procedural or objectoriented language. It

More information

Full file at

Full file at Java Programming, Fifth Edition 2-1 Chapter 2 Using Data within a Program At a Glance Instructor s Manual Table of Contents Overview Objectives Teaching Tips Quick Quizzes Class Discussion Topics Additional

More information

Java 1.8 Programming

Java 1.8 Programming One Introduction to Java 2 Usage of Java 3 Structure of Java 4 Flexibility of Java Programming 5 Two Running Java in Dos 6 Using the DOS Window 7 DOS Operating System Commands 8 Compiling and Executing

More information

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept F1 A Java program Ch 1 in PPIJ Introduction to the course The computer and its workings The algorithm concept The structure of a Java program Classes and methods Variables Program statements Comments Naming

More information

Java Programming. Price $ (inc GST)

Java Programming. Price $ (inc GST) 1800 ULEARN (853 276) www.ddls.com.au Java Programming Length 5 days Price $4235.00 (inc GST) Overview Intensive and hands-on, the course emphasizes becoming productive quickly as a Java application developer.

More information

WA1278 Introduction to Java Using Eclipse

WA1278 Introduction to Java Using Eclipse Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA1278 Introduction to Java Using Eclipse This course introduces the Java

More information

This page intentionally left blank

This page intentionally left blank This page intentionally left blank Absolute Java, Global Edition Table of Contents Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents Chapter 1 Getting Started 1.1 INTRODUCTION

More information

AP Computer Science A Skyline High School Mr. Coupland

AP Computer Science A Skyline High School Mr. Coupland AP Computer Science A Skyline High School Mr. Coupland AP Computer Science A covers the materials in a typical first-semester computer science course taught at major universities around the country. Java

More information

Fundamentals of the Java Programming Language

Fundamentals of the Java Programming Language Fundamentals of the Java Programming Language Student Guide SL-110 REV E D61798GC10 Edition 1.0 2009 D62399 Copyright 2006, 2009, Oracle and/or its affiliates. All rights reserved. Disclaimer This document

More information

JVA-103. Java Programming

JVA-103. Java Programming JVA-103. Java Programming Version 8.0 This course teaches programming in the Java language -- i.e. the Java Standard Edition platform. It is intended for programmers with experience in languages other

More information

B. Knowledge of basic algebra and experience in problem solving is beneficial. Students should also possess competence in written communication.

B. Knowledge of basic algebra and experience in problem solving is beneficial. Students should also possess competence in written communication. Course Title: AP Computer Science AB (DL) Meeting Times: This is a 36 week course. Students engage in the online class according to the same academic calendar of their schools. Additionally, they can expect

More information

AP Computer Science A Syllabus

AP Computer Science A Syllabus AP Computer Science A Syllabus Course Overview This computer science course will cover the topics in a typical introductory college computer science course. Common algorithms, data structures, abstraction,

More information

Chapter 6 Introduction to Defining Classes

Chapter 6 Introduction to Defining Classes Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of

More information

SQL Queries. for. Mere Mortals. Third Edition. A Hands-On Guide to Data Manipulation in SQL. John L. Viescas Michael J. Hernandez

SQL Queries. for. Mere Mortals. Third Edition. A Hands-On Guide to Data Manipulation in SQL. John L. Viescas Michael J. Hernandez SQL Queries for Mere Mortals Third Edition A Hands-On Guide to Data Manipulation in SQL John L. Viescas Michael J. Hernandez r A TT TAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco

More information

Java SE 8 Programming

Java SE 8 Programming Oracle University Contact Us: +52 1 55 8525 3225 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features and Application Programming

More information

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++ Introduction to Programming in C++ Course Text Programming in C++, Zyante, Fall 2013 edition. Course book provided along with the course. Course Description This course introduces programming in C++ and

More information