Java Programming for Beginners with BlueJ Online Class

Teacher: Yoel

Java Programming for Beginners with BlueJ

Teacher Rating:
  • Currently 0.0/5 Stars.
8 total sessions
Subject:
Computer Programming
Meets on:
Next on Sunday Jan 3 at 12:00 PM (view full schedule)
Sessions:
(14) 50 min sessions 14 sessions remain

About Class

Learn the fundamentals of Object Oriented Programming from a software professional with twenty-five years experience and fifteen years of hands on training experience with elite teams in israel and Canada. Master the basics of Java programming using tools that will migrate with you as your level of expertise increases.

Paying participants will have access to online copy of Objects First With Java: A Practical Introduction Using BlueJ, 4/E (Continent on minimum number of paid participants.)

Syllabus

Chapter 1 Objects and classes
1.1 Objects and classes
1.2 Creating objects
1.3 Calling methods
1.4 Parameters
1.5 Data types
1.6 Multiple instances
1.7 State
1.8 What is in an object?
1.9 Object interaction
1.10 Return values
1.11 Objects as parameters

Chapter 2 Understanding class definitions

2.1 Ticket machines
2.2 Examining a class definition
2.3 Fields, constructors, and methods
2.4 Passing data via parameters
2.5 Assignment
2.6 Accessor methods
2.7 Mutator methods
2.8 Printing from methods
2.9 Summary of the na?ve ticket machine
2.10 Reflecting on the design of the ticket machine
2.11 Making choices: the conditional statement
2.12 A further conditional-statement example
2.13 Local variables
2.14 Fields, parameters, and local variables
2.15 Summary of the better ticket machine
2.16 Self-review exercises
2.17 Reviewing a familiar example

Chapter 3 Object interaction
3.1 The clock example
3.2 Abstraction and modularization
3.3 Abstraction in software
3.4 Modularization in the clock example
3.5 Implementing the clock display
3.6 Class diagrams versus object diagrams
3.7 Primitive types and object types
3.8 The ClockDisplay source code
3.8.1 Class NumberDisplay
3.8.2 String concatenation
3.8.3 The modulo operator
3.8.4 Class ClockDisplay
3.9 Objects creating objects
3.10 Multiple constructors
3.11 Method calls
3.12 Another example of object interaction
3.14 Method calling revisited

Chapter 4 Grouping objects
4.1 Grouping objects in flexible-size collections
4.2 A personal notebook
4.3 A first look at library classes
4.4 Object structures with collections
4.5 Generic classes
4.6 Numbering within collections
4.7 Removing an item from a collection
4.8 Processing a whole collection
4.9 Another example: an auction system
4.10 Flexible collection summary
4.11 Fixed-size collections

Chapter 5 More sophisticated behavior
5.1 Documentation for library classes
5.2 The TechSupport system
5.3 Reading class documentation
5.4 Adding random behavior
5.5 Packages and import
5.6 Using maps for associations
5.7 Using sets
5.8 Dividing strings
5.9 Finishing the TechSupport system
5.10 Writing class documentation
5.11 Public versus private
5.12 Learning about classes from their interfaces
5.13 Class variables and constants

Chapter 6 Well-behaved objects
6.1 Introduction
6.2 Testing and debugging
6.3 Unit testing within BlueJ
6.4 Test automation
6.5 Modularization and interfaces
6.6 A debugging scenario
6.7 Commenting and style
6.8 Manual walkthroughs
6.9 Print statements
6.10 Choosing a test strategy
6.11 Debuggers
6.12 Putting the techniques into practice

Chapter 7 Designing classes
7.1 Introduction
7.2 The world-of-zuul game example
7.3 Introduction to coupling and cohesion
7.4 Code duplication
7.5 Making extensions
7.6 Coupling
7.7 Responsibility-driven design
7.8 Localizing change
7.9 Implicit coupling
7.10 Cohesion
7.11 Refactoring
7.12 Design guidelines
7.13 Executing without BlueJ

Chapter 8 Improving structure with inheritance
8.1 The DoME example
8.2 Using inheritance
8.3 Inheritance hierarchies
8.4 Inheritance in Java
8.5 DoME: adding other item types
8.6 Advantages of inheritance (so far)
8.7 Subtyping
8.8 The Object class
8.9 Autoboxing and Wrapper classes
8.10 The collection hierarchy

Chapter 9 More about inheritance
9.1 The problem: DoME’s print method
9.2 Static type and dynamic type
9.3 Overriding
9.4 Dynamic method lookup
9.5 Super call in methods
9.6 Method polymorphism
9.7 Object methods: toString
9.8 Protected access
9.9 Another example of inheritance with overriding

Chapter 10 Further abstraction techniques
10.1 Simulations
10.2 The foxes-and-rabbits simulation
10.3 Abstract classes
10.4 More abstract methods
10.5 Multiple inheritance
10.6 Interfaces
10.7 Summary of inheritance

Chapter 11 Building graphical user interfaces
11.1 Introduction
11.2 Components, layout, and event handling
11.3 AWT and Swing
11.4 The ImageViewer example
11.5 ImageViewer 1.0: the first complete version
11.6 ImageViewer 2.0: improving program structure
11.7 ImageViewer 3.0: more interface components
11.8 Further extensions
11.9 Another example: SoundPlayer338

Chapter 12 Handling errors
12.1 The address-book project
12.2 Defensive programming
12.3 Server error reporting
12.4 Exception-throwing principles
12.5 Exception handling
12.6 Defining new exception classes
12.7 Using assertions
12.8 Error recovery and avoidance
12.9 Case study: text input/output

Chapter 13 Designing applications
13.1 Analysis and design
13.2 Class design
13.3 Documentation
13.4 Cooperation
13.5 Prototyping
13.6 Software growth
13.7 Using design patterns
13.7.1 Structure of a pattern
13.7.2 Decorator
13.7.3 Singleton
13.7.4 Factory method
13.7.5 Observer

Chapter 14 A case study
14.1 The case study
14.2 Analysis and design
14.3 Class design
14.3.4 Testing
14.4 Iterative development

Prerequisites

Have successfully installed the professional Java development Environment BlueJ on your computer. Available for Windows 2000, XP, Vista or newer, for MacOS X for Debian, Ubuntu and other Debian-based systems all other systems.

Class Wall

Add Comment
Superpass-18x20 $18 USD per session

Prepayment is required for all meetings of this class.

Register_button Payment_forms
Yoel is also Teaching
No-pails
Logo-flame-75