Duration: 4 to 5 days
Recommended Class Size: 10 to 20
Prerequisites: Core understanding of programming principles
The purpose of this course is to learn to think in objects, to learn how to design flexible, reusable, maintainable object-oriented systems in Java, C#, or Smalltalk. You will acquire skills in developing applications in the one of these languages. These languages are a powerful systems, and it takes time to learn them. One aspect of our teaching method which sets us apart is that we do not believe in short one-week courses. A short course in an object-oriented language only introduces you to it; it cannot make you useful in it. We believe that a good course needs to be at least a couple of weeks long.
Our thorough method culminates with the students using what they have learned on a practical project, with some mentoring. This is what makes the difference in people being productive in the language and those who are merely familiar with it. With that in mind, we offer the class in two increments; a 4-5 day introductory course (which this proposal addresses) and an advanced course (highly recommended).
One of the characteristics of our courses is that we teach by doing. We have a series of assignments that prepare students for applying their skills in projects. The benefit of completing projects during the training course is that it proves the student's proficiency. One of the teaching techniques that we use for this course utilizes a principle of eXtreme Programming (XP) which pairs students together; this pairing helps students learn from each other and assists them with their productivity in object-oriented programming in a shorter amount of time.
This introductory course will teach the basics of objects and the language to students as outlined in the benefits section above. Students will have hands on experience working with some sample exercises that will have them reading and writing object-oriented code along with debugging applications.
This course is recommended for software developers who wish to develop in objects. Attendees of this course should have basic understanding of programming concepts and have some experience writing software in any programming language.
Both introductory and advanced courses are available.