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 Be able to understand and apply security protocol and tools to security challenges faced in organizations
- P02 Be able to design security software to combat security issues
- P03 Be able to identify, categorize, and develop security solutions for computer orientated challenges.
- P04 Be able to demonstrate autonomy and responsibility in managing computer security projects
- P05 Be able to follow the state of the arts concepts in computer technology security
- P06 Be able to design, implement, and evaluate a computational system to meet desired security needs within realistic constraints
- P07 Be able to use appropriate security techniques, protocols, skills, and tools necessary for securing computer systems
- P08 Be able to apply effective communication skills consistent with the professional environment
- P09 Be able to apply effective collaboration skills in teamwork consistent with the professional environment
- P10 Be able to apply appropriate security technology and techniques to facilitate a safe operation in an organization
Po-Lo Matrix
| LO | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | P09 | P10 | Average |
|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - |
| L07 | - | - | - | - | - | - | - | - | - | - | - |
| L08 | - | - | - | - | - | - | - | - | - | - | - |
| L09 | - | - | - | - | - | - | - | - | - | - | - |
| L10 | - | - | - | - | - | - | - | - | - | - | - |
| L11 | - | - | - | - | - | - | - | - | - | - | - |