At the end of this course, the students; 1) Learn object-oriented concepts and techniques. 2) Know the principles of object-oriented analysis and design. 3) Design type classes. 4) Know the primitives of Java programming language. 5) Develop Java Applets and Java Applications. 6) Apply exception handling technique. 7) Know event-driven programming technique. 8) Apply multithreaded application model
MODE OF DELIVERY
Face to face
PRE-REQUISITES OF THE COURSE
No
RECOMMENDED OPTIONAL PROGRAMME COMPONENT
None
COURSE DEFINITION
General concepts and principles of object-orientation. Object-Oriented Analysis and Design. Unified Modeling Language (UML). Introduction to Java programming language. Application types and language primitives. Class design and object basics. Composition, inheritance, abstract/concrete classes, interfaces, and polymorphism. Exception handling. Event-driven programming. Java Applets and applications. Multithreaded programming techniques.
COURSE CONTENTS
WEEK
TOPICS
1st Week
Fundamental concepts of OOP
2nd Week
Object-Oriented analysis and design
3rd Week
Java Language primitives and built-in types
4th Week
Class design and object basics
5th Week
Aggregation and Inheritance techniques
6th Week
Abstract and Concrete Classes
7th Week
Interfaces and polymorphism
8th Week
Mid-term
9th Week
Interfaces and polymorphism
10th Week
Exception handling
11th Week
GUI design and event-driven programming
12th Week
Java Applet basics
13th Week
Introduction to multithreading
14th Week
Course summary and review
RECOMENDED OR REQUIRED READING
1. Lewis, J., Loftus, W., "Java Software Solutions: Foundations of Program Design", ISBN: 0132149184, Addison-Wesley, (2012). 2. Deitel, P., Deitel, H. "Java How to Program (Early Objects)", ISBN: 0132575663, Prentice Hall, (2012). 3. Budd, T., "Understanding OOP with Java", Addison-Wesley, (2000).