OBJECT ORIENTED PROGRAMMING
- Course
- ITEC313 - OBJECT ORIENTED PROGRAMMING
- Department
- Information Technologies - English - Undergraduate
- Course Type
- Course
- Status
- Required
- Language
- English
- Credit
- 4
- ECTS
- 7
- T+P+L
- 3 + 0 + 2
- Course Coordinator(s)
- Asst. Prof. Dr. Dokun Iwalewa OLUWAJANA
- Prerequisite
- -
Course Description
The objective of Object Oriented Programming is to identify the classes (including attributes, behaviours and methods), objects and their relationships by reading the problem descriptions, draw objects diagrams by looking to the defined problem description, implement Java class by looking at the given UML Class Diagram, use existing industry standard coding and formatting conventions, event mechanisms in Java, construct a GUI based applications using Java and Eclipse and debug those applications, technically identify the differences between classes, objects, inheritances, polymorphism, interfaces, aggregation, composition and abstract class. In addition, the issues of code re-use and software quality will be discussed and the use of inheritance will be shown through for code re-use.
OBJECT ORIENTED PROGRAMMING
Evaluation Tools (Active Term)
No evaluation items have been defined.
Course outcomes
- 01 Design and develop non-trivial programs using appropriate object oriented design and development methods
- 02 Use UML Class diagrams efficiently for object oriented software design
- 03 Apply principles of object oriented programming for flexibility, re-use and maintenance purposes
- 04 Practice layered architecture model and develop gradually expanding object oriented programs
Course Syllabus
| Week | Topic |
|---|---|
| Week 1 | What is object oriented programming? The difference between Object Oriented Programming (OOP) and structured programming? |
| Week 2 | Java Basics, Swing Library, Variables and I/O, Dialog Boxes |
| Week 3 | Structured Programming Components: Sequence (Functions), Selection (Decision Making) and Iteration (Loops) |
| Week 4 | GUI Programming: JFrame Class, Labels, Buttons, TextBoxes |
| Week 5 | GUI Programming: Checkboxes, RadioButtons, ComboBoxes |
| Week 6 | GUI Programming: JMenu, JMenuItems, JMenuBar, Picture Boxes, Customizing Components |
| Week 7 | Unified Modelling Language (UML): class definitions, static keywords and class relations. |
| Week 8 | Midterm Exam |
| Week 9 | Objects and Classes |
| Week 10 | Multiple Forms |
| Week 11 | Layered Architecture, Auxiliary Classes |
| Week 12 | Inheritance and Multiple Inheritance and Abstract classes |
| Week 13 | Interfaces and Polymorpism |
| Week 14 | Revision and Exercises |
| Week 15 | Final Exam |
Reference Books & Course Materials
- 01 Java for Students, 5th Edition, Pearson, 2010
- 02 Java How To Program, 9th Edition, Deitel P & Deitel, 2011
- 03 Head First Java, 2nd Edition, O'Reilly Media, 2005
Learning Outcomes
- L01 Understand the basics of the Java programming language. Explain the principles of Object-Oriented Programming. Set up a development environment for Java. SOLO 3
- L02 Define and declare classes and objects. Implement constructors and methods. Understand the concept of encapsulation. SOLO 4
- L03 Implement inheritance in Java. Understand method overriding and dynamic method dispatch. Demonstrate polymorphic behavior. SOLO 4
- L04 Create and use abstract classes. Implement interfaces and multiple inheritance. Recognize the importance of abstraction in software design SOLO 4
- L05 Implement try-catch blocks. Understand exception hierarchy. Develop custom exceptions. SOLO 4
- L06 Read and write files using Java I/O streams. Handle file-related exceptions. SOLO 4
- L07 Use ArrayList, HashMap, and other collection classes. Implement generics for type-safe collections. SOLO 4
- L08 Understand and apply design patterns like Singleton, Factory, Observer, and MVC SOLO 4
- L09 Use JDBC to interact with relational databases. Execute SQL queries and handle results. SOLO 4
- L10 Create and manage threads. Understand synchronization and thread safety SOLO 5
- L11 Create interactive Java applications with GUIs. Handle user events and user interface components. SOLO 5
Program Outcomes
- P01 Create a user interface in a contemporary object-oriented language to allow users to access business data
- P02 Identify and analyze user needs and take them into account in the selection, creation, integration, evaluation and administration of computing-based systems
- P03 Analyze common business functions and identify, design, and develop appropriate information technology solutions
- P04 Design and develop software solutions for contemporary business environments by employing appropriate problem-solving strategies
- P05 Configure and administer database server to support contemporary business environments.
- P06 Administer or mange a relational database for a small to medium size company
- P07 Be able to effectively integrate IT-based solutions into the user environment
- P08 Understand professional, ethical, legal, security and social issues and responsibilities
- P09 Be able to apply effective communication skills consistent with the professional environment
- P10 Be able to apply effective collaboration skills in teamwork consistent with the professional environment
Po-Lo Matrix
| LO | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | P09 | P10 | Average |
|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | 2 | 3 | 2 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| L02 | 3 | 3 | 3 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1.3 |
| L03 | 4 | 3 | 3 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1.4 |
| L04 | 4 | 3 | 3 | 4 | 0 | 0 | 3 | 0 | 0 | 0 | 1.7 |
| L05 | 3 | 0 | 0 | 4 | 0 | 0 | 0 | 4 | 0 | 0 | 1.1 |
| L06 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0.6 |
| L07 | 3 | 3 | 4 | 4 | 0 | 0 | 3 | 0 | 0 | 0 | 1.7 |
| L08 | 4 | 3 | 4 | 4 | 0 | 0 | 4 | 0 | 0 | 0 | 1.9 |
| L09 | 4 | 3 | 4 | 4 | 4 | 4 | 4 | 0 | 0 | 0 | 2.7 |
| L10 | 3 | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0.7 |
| L11 | 4 | 3 | 4 | 4 | 0 | 0 | 4 | 0 | 4 | 0 | 2.3 |