This course provides an introduction to object-oriented programming using Java. An overview of programming design using object-orientation is given, and advanced concepts of object-orientation are discussed, including inheritance and polymorphism. Additionally basic programming constructs are covered, namely variables, control structures (decision and loop structures), functions, and input and output. Basic design of graphical user interfaces and more advanced data types such as arrays, vectors, strings, enumerations, and user defined abstract data types are covered. Linux is used as the platform for implementation of programs. The presentation style is in the form of tutorial-based lectures and hands-on practical sessions.
After completion of this course, delegates will have a basic knowledge and understanding of object-oriented programming in Java. Delegates will be familiar with the basic programming constructs such as variables, data types, input and output to console and files, decision making, looping, relational and logic operators, and functions. Knowledge about more advanced data types, e.g. strings, arrays, and abstract data types, will be obtained. In addition to these basic programming constructs, delegates will gain knowledge on and experience with object-oriented design and programming. Delegates will be able to design classes, interfaces, and class hierarchies to implement complex programs. Additionally, delegates will gain experience in writing, compiling, and executing C++ programmes in a Linux environment.
• Introduction to Computers and Programming.
• Introduction to Linux and Makefiles.
• Introduction to Objects and Object-Oriented Programming.
• Introduction to Java and Basic Programming Control Structures.
• Design of classes, class hierarchies, and abstract data types.
• Inheritance and polymorphism.
• Complex data types (including arrays, strings, vectors).
• Exception handling and events.
• Design of Graphical User Interfaces.
Information and Communication Technology
Who Should Attend:
First-time/novice programmers or programmers with experience only in imperative programming languages.