Friday, 6 December 2013

Java Fundamentals - follow up post on Automatic Resource Management

This is the second of two follow up videos for the Java Fundamentals course. In this video, I take the Java try with resources statement a little bit further to tidy up the code we created in chapter 26 of the course.

The video is hosted on youtube - for best viewing results, watch in full screen and choose the HD quality option if that doesn't come up by default when you click on play!

Saturday, 22 June 2013

Follow-up video blog on the keyword Static

One of the topics that didn't make it into the Java Fundamentals course was an explanation of the keyword static... so I've done a short follow up video which goes into detail about that. In the video, I cover what the keyword means and how to use it correctly (both static methods and static variables).

The video is hosted on youtube - for best viewing results, watch in full screen and choose the HD quality option if that doesn't come up by default when you click on play!



Thursday, 20 June 2013

Java Fundamentals now live

Well I'm pleased to say that after months and months of hard work, the Java Fundamentals course is now live and available for purchase from https://www.virtualpairprogrammers.com/training-courses/Java-Fundamentals-training.html

I'm really pleased with how it has turned out - it's a really comprehensive course now, about 12 hours in length, and I think we've covered object orientation in a really accessible way, which I'm most proud of!

Just want to thank Richard Chesterwood, my fellow VPP trainer, for his help and guidance throughout this process - and I'm looking forward now to starting work on the next one!


Thursday, 28 February 2013

Content of the new introductory Java Course

The new Introductory Java course is now being edited. As a result I have a pretty good idea of the final content and running order, although the editing and review process will highlight any key areas that need to be changed, or added, so this might not exactly match the final course content or structure.

I have written the course from the perspective of someone with some programming experience (in any language, such as C, Visual Basic, PHP or just JavaScript) and so this is very much a "conversion" to Java. The first part focuses on how to do things in Java that you are likely to be familiar with in another language, such as declaring variables, conditions and loops, and the second part then covers topics that are more unique to Java and so may be completely new.

I'm conscious that some people will want to use the course having done little programming before, so I've been careful to make sure that any concepts not fully explained are easily understandable by the novice if they are willing to spend a bit of time doing their own online research.

So here's the likely running order:

1 - Introduction to Java
2 - Installing Java and Eclipse
3 - Key aspects of Java syntax
4 - Introduction to Object Orientation
5 - Structuring applications
6 - Java libraries and Javadocs
7 - More advanced Object Orientation (including inheritance and abstract classes)
8 - Exceptions
9 - JUnit
10 - Collections
11 - Yet more object orientation (Interfaces and polymorphism)
12 - Databases
13 - Distributing your software

In any of the books or other courses I have seen on Java, I find that trainers struggle with object orientation (OO) - the issue is finding an example that individuals can understand and relate to. I have been really careful to ensure that we build up the OO aspects in a practical and logical way, and rather than talking about something that is really not related to programming, such as the number of legs on an insect (I do remember that being the example when I first learned about object orientation, and I certainly didn't get it at the time), our examples are hopefully modern, understandable, and useable in real world applications.

Throughout the course we have a key project that we work on together, and while we don't fully complete the application, we do end with a good solid framework and code base that could be extended to be a live, functional and useful application.

I've give another update as we get close to the launch date.