Applications Software Development Short Courses
Applications Software is vital for many aspects of business and societal functions. These software types have become more refined, with a wider array of platforms used to deploy them
The suite of applications software development short courses provides instruction on key aspects, attributes and practices pertaining to the development of efficient and effective applications.
A variety of real-world examples and scenarios will be utilized to underpin the training program.
The courses are designed for software developers, as well as other professionals involved with supporting or maintain applications software. The courses allow delegates to update their knowledge and learn new or improved techniques for effective applications software development.
ASD01: Introduction to Java Programming
Topics covered:
• The O-O paradigm – encapsulation, inheritance, polymorphism and reusability
• O-O design with UML
• Objects as instantiated classes
• Extended classes; Abstract classes and Interfaces
• Aggregation, Composition, Overloading and Overriding operations in Java
• Java Data Structures
• Programmatic issues – flow-control constructs; looping, branching and recursion
• Exceptions handling with try and catch constructs
• Java event handling
• Working with files and directories; I/O streams
• Interfacing Java with Relational DBMS schemes
• Java development environment; JDKs and IDEs
Duration: The course features twice weekly synchronous online sessions (2 hours per session), over a 6-week period (24 hours total course contact duration).
ASD02: Advanced Java Programming
Topics covered:
• Advanced O-O design with UML
• S.O.L.I.D. design with Java
• Using Design patterns – Factory, Singleton, Template, State, Adaptor etc
• Refactoring Java code
• Using Meta-data and Meta-data annotation
• Advanced work with database persistence layers
• Test-driven applications development with Java
• Java multi-threading
• GUI development with Java
• Java web applications
• Java Servlets
• JSP and JSF development frameworks
• Developing REST/SOAP web services with Java
Duration: The course features twice weekly synchronous online sessions (2 hours per session), over a 6-week period (24 hours total course contact duration).
ASD03: C++ Programming
Topics covered:
• C++ Object-Oriented (O-O) programming concepts
• C++ Classes and instances (run-time objects)
• Private and public class members; protected class members; Base classes
• Class constructors and destructors; Initializing class members; Explicit ‘Copy’ construction
• Self-referencing with the ‘this’ pointer
• C++ polymorphism, class inheritance and method over rides
• Function overloading; using friend functions and classes
• Looping (while, for loop constructs) branching (if and switch constructs) and blocking with C++
• Using ‘break’ and ‘continue’ statements
• Pre-processor directives and pragmas
• The main ( ) function and its arguments
• C++ arithmetic expressions
• Unary, bitwise and logical operators
• Operator precedence
• Manipulating strings in C++; use ‘cout’ and ‘cin’ functions
• C++ pointers and pointer arithmetic; ‘heap’ memory access
• Dynamic memory allocation in C++; ‘new’ and ‘delete’ functions
• C++ function definition
• Passing values to functions and returning values
• Call-by-value, call-by-reference and call-by-address function calls
• C++ error-handling; using ‘try’ ‘throw’ and ‘catch’ functions
• Type-casting, enumeration types and downcast pointers
• Creating template and container classes to enhance code re-usability; list, set and vector containers
• Using the STL (Standard Template Library)
• Using C++ namespaces to enhance code maintenance and design
Duration: The course features twice weekly synchronous online sessions (2 hours per session), over a 6-week period (24 hours total course contact duration).
The courses are delivered via instructor-led online sessions. Emphasis is placed on the use of programming scenarios and examples to impart practical knowledge. Sessions will involve a mix of instructor presentations and applications development work, with supporting classroom discussions.
Assessment of performance will be through delegate-completed portfolio of work. The final course outcome is a college-issued “Applications Software Development” Course Certificate of Completion.