The topics are loosely thrown into the following main topics:
- The Java language and all it's intricacies
- The concept of "object oriented programming" (OOP) and it's main features
- Introduction to software engineering: development frameworks and design patterns
The subject begins by teaching you the Java language with the assumption that you know C. Their syntax is quite similar, but Java is NOTHING like C (there's no pointers, so you can let out a sigh of relief). Java, in all its glory, is a very nice programming language. Java is fun. You will grow to love Java. The amount of included libraries is absolutely phenomenal, and that's only the standard ones. There are also tonnes of third party libraries out there on the internet. I won't say much about this part of the course, it's your basic "lets all hold hands and learn a programming language" that you would be very familiar with from first year.
Next, the subject moves into teaching you about the object oriented design paradigm and it's main features: encapsulation, inheritance, and polymorphism. You will learn about the differences between object oriented and procedural programming languages (such as C). You will also learn how the features of OOP promote good code design, and how to use them to write well-designed code. In this part of the course you really need to keep an open mind and really think hard about what they're teaching you, some things might (will) not be immediately obvious.
The final part of the course will introduce you to software engineering, where design is king. You are introduced to the concept of design patterns and development frameworks (the latter which you would have already used in the projects), as well as UML modelling. I stress that this is only an introduction, and there are many many more things that are yet to be covered, which you will learn in your final year subjects. This part of the course is pretty chill, and doesn't require much work. But you should think about how the design patterns they introduce could be used in practice, they will appear on the exam, and you don't want to be surprised.