Introduction to Java Honors






About this Course

  1. Overview
  2. Syllabus
  3. Format
  4. Rationale
  5. Prerequisites
  6. Outline
  7. Objectives
  8. Method
  9. References
  10. Classroom Setup
  11. Web Page



This course is designed to continue the development of programming skills using a high-level language (Java). Building on concepts introduced in the prior C++ course, the student will design algorithms as well as write computer programs using Java syntax. Upon successful completion of this course, the student should be able to: summarize the social and historical implications of computers, be able to use vocabulary, source code, and data structures appropriate to the introductory level of the Java language, and be able to develop object oriented programs to solve problems in mathematics, engineering, and other sciences..




This Syllabus may be accessed online here.




  • Year Course; 1 credit (Honors)
  • Emphasis on paired programming. In private industry, code to be sent into production is usually created by several programmers working together. Anecdotal and qualitative evidence from industry indicates that two programmers working side-by-side at one computer, collaborating on the same design, algorithm, code, or test, perform substantially better than the two working alone. Students creating code in Java by working in small groups ("pairs") using a defined, repeatable process to solve complex problems is the format used in this class.
  • Student-centric, problem-based learning with instructor serving as "facilitator"; assignments worked on collaboratively after focused brainstorming sessions; eTextbook(s) and other ancillary materials may be accessed  by students via the class portal.





This course is intended for the student who wants to add Java to their repertory of languages, and as a “feeder” course for the AP Computer Science course and/or subsequent advanced coursework in Computer Science at the college level. The course assumes no prior knowledge of  Java but does assume programming experience in at least one other high level programming language such as C++ or Python.




 Experience with high level programming language (C, C++, Python, etc.)
 Knowledge of general computing concepts (compilers, operating systems, text editors)
 Experience with a command-line user interface (Unix shell, DOS, etc.)



  • Classes and Methods
  • Variables and Fields
  • Doc Comments
  • Arrays and Control Flow
  • Inheritance
  • The I/O Package
  • Exceptions
  • Packages
  • Applets
  • Graphical user interfaces
  • Complete Outline



Upon completion of this course, the student will be able to:

  • Write and run Java:
    • Compile programs using a Java SDK.
    • Run programs in the Java Virtual Machine.
    • Write Java applets.
  • Apply good object-oriented programming techniques:
    • Design classes.
    • Use inheritance to extend classes.
    • Create a reusable class.
  • Use Java data structures, control flow and I/O:
    • Send output to the screen and to files.
    • Facilitate keyboard input in Java console applications  Example here.
    • Apply correct Java syntax.
    • Handle errors using exceptions.
    • Use strings and arrays in Java.
    • Use flow control statements in Java.
  • Exploit Java's unique and advanced features:
    • Use access control to hide implementation details.
    • Document  programs correctly.






See grading policy for advanced programming courses here


Setup; eBook(s)

The ideal setup for learning Java should include the following components :

Web Page


Mr. Morell's Web Site