Printed from http://andreaprovaglio.com. All rights reserved.
| Track: | Programming Languages |
| Platform: | Java |
| Days: | 5 |
| Code: | 211 |
| Author: | Andrea Provaglio |
An intermediate course about programming on the Java platform. Targeted to programmers with a basic understanding of the OO principles.
Java was publicly released in 1995 and today it's a very mature programming platform. On the other hand, many things have changed in Java since '95, partly with the intent of adding new features, partly to correct design flaws coming from early implementations.
This course is designed to teach the students not just the language syntax and libraries, but to give guidelines on what is considered today the proper way to write Java code, avoiding practices and idioms that were popular in the past but turned out to be generally bad ideas.
We start by defining Java as an OS-independent programming and execution platform, not made only of the language and the Virtual Machine, but one that includes other languages and diverse hardware platforms.
We proceed with describing the fundamental language constructs and how to apply the concepts of inheritance, composition, interfaces and polymorphism in Java. We also spend some time on explaining the proper use of Structured Exception Handling in Java (a topic that's been a bit controversial in the Java community). Once covered the OOP part, we start looking at some of the most commonly used Java packages and how to apply them to recurring programming problems.
The last part of the course is about "programming in the large" and it presents an overview networking, database access, multithreading and the use of Java Annotations for meta-programming (a technique that's becoming more and more common, especially for server-side applications).
Some topics we decided not to cover in this course: we don't talk about the Java libraries for graphical user interfaces (not everybody seems to be interested in those and they are not too hard to learn from a tutorial or a book once you have a solid foundation in Java); we also don't cover the OOP fundamentals – the student is expected to have a basic understanding of what classes and objects are before coming to this course.
About 30% of the time is on guided exercises.
To get the most out of this course, you should have attended the following courses or have equivalent practical experience:
Previous programming experience in C or C++ is not required, although some confidence with C will let the student focus more on the Java language design rather than the syntax.
For additional information, please contact us.