As with any exam, it will vary from person to person as to what is deemed to be difficult. Since this particular exam is about software development, you will have to have a good sense of programming fundamentals. Being able to read flow charts and follow If, Else, Do and Do While loops are essential. Object Oriented Programming can be difficult to get your head around if you have been used to writing code in a procedural fashion. Object Oriented Programming contains classes, objects, methods, parameters, properties, and inheritance.
A class is a set of functions that work together to accomplish a task. A class can contain or manipulate data, but it usually accomplishes this according to a pattern rather than a specific implementation. An instance of a class is considered an object.
An object will receive all of the characteristics of a class, including all of the default data and any actions that can be performed by its functions. The difference between a class and object is that a class has the ability to do something and the object is the execution of that ability.
A method is a function that is encased in a class.
Parameters are variables passed into a function that instructs the variable what it is to do. Parameters can also be referred to as arguments.
A property is the default set of data stored in a class. A class can have multiple properties associated with it and the properties can be changed dynamically through the methods of the class.
Inheritance in Object Oriented Programming is similar to inheritance within Windows folders. If you start with a parent class that contains shared characteristics among several classes, the parent class can then be extended to the child class. Any changes in the parent class will automatically cascade to its children.