Can you please explain what were the reason to include the following objectives into OCAJP and not OCPJP.
1.5 Use virtual method invocation
3.5 Design a class using the Singleton design pattern 3.6 Write code to implement the DAO pattern
3.7 Design and create objects using a factory, and use factories from the API
11.2 Apply atomic variables and locks
11.3 Use Executors and ThreadPools
11.4 Use the parallel Fork/Join Framework
Because I think these are a bit advanced topics that could have suited well with OCPJP and not OCAJP.
OCAJP is a stepping stone for OCPJP and if some finds these objectives as difficult then it would de-motivate him/her to proceed further.