Skip to content

Repository files navigation

Object-Oriented Programming in Java

A Java learning repository for Object-Oriented Programming and application development

Java OOP Swing JDBC MySQL License

A hands-on repository for learning Java through object-oriented concepts, application development, GUI programming, and database connectivity.


Repository Overview

This repository contains Java learning materials, hands-on activities, demonstrations, and application examples focused on developing practical programming skills.

The repository is designed to progressively introduce students to Java programming and object-oriented application development. The contents may evolve over time as new lessons, demonstrations, activities, and projects are added.

Core direction

Java Programming
       │
       ▼
Object-Oriented Thinking
       │
       ▼
Application Development
       │
       ├──────────────► Desktop GUI
       │
       └──────────────► Database Connectivity

Note: The specific lessons and topics in this repository may change as the course progresses. This README intentionally provides a general overview rather than a fixed list of lessons.


Purpose

The repository serves as a practical learning space where students can:

  • Explore Java programming concepts
  • Understand object-oriented programming
  • Study how Java classes and objects work together
  • Develop small applications and demonstrations
  • Practice writing organized and reusable code
  • Explore graphical user interfaces
  • Understand application-to-database connectivity
  • Build upon previous activities as new topics are introduced

Java & Object-Oriented Programming

The repository uses Java as the primary programming language and emphasizes object-oriented approaches to software development.

The learning materials may cover concepts such as:

Classes
   ↓
Objects
   ↓
Attributes & Methods
   ↓
Constructors
   ↓
Encapsulation
   ↓
Inheritance
   ↓
Polymorphism
   ↓
Abstraction
   ↓
Application Design

The exact topics and depth may vary depending on the current lesson or activity.


GUI Application Development

The repository may also include examples involving Java desktop GUI development, particularly using Java Swing and related Java libraries.

The general application flow is:

User
  │
  ▼
Graphical User Interface
  │
  ▼
Java Application Logic
  │
  ▼
Objects / Classes
  │
  ▼
Application Output

Possible GUI technologies and components may be introduced as the course develops.


Database Connectivity

For application development activities that require persistent data, the repository may use JDBC (Java Database Connectivity) and relational database technologies.

The general concept is:

Java Application
       │
       ▼
      JDBC
       │
       ▼
Database

JDBC provides the connection between Java applications and supported relational database systems.

Database-related examples may include common application operations such as:

Create
Read
Update
Delete

The specific database activities and implementations may change as the repository develops.


Application Development Perspective

The repository is intended to move beyond isolated syntax examples toward understanding how programming concepts contribute to an application.

                 ┌──────────────────┐
                 │      Java        │
                 └────────┬─────────┘
                          │
              ┌───────────▼───────────┐
              │        OOP            │
              │ Classes & Objects     │
              │ Reusable Components   │
              └───────────┬───────────┘
                          │
             ┌────────────┴────────────┐
             ▼                         ▼
      ┌──────────────┐         ┌──────────────┐
      │   GUI Layer  │         │ Data Layer   │
      │    Swing     │         │    JDBC      │
      └──────────────┘         └──────────────┘

This provides a foundation for discussing software organization, maintainability, separation of concerns, and application architecture.


Repository Organization

The repository structure may change as new activities and materials are added.

A typical organization may look like:

Repository
│
├── Learning Activities
│   ├── Java Source Files
│
├── Application Examples
│   ├── GUI
│   └── Database
│
├── Documentation
│
└── README.md

The actual folders and files should be treated as the current source of truth for the repository.


Technologies

Technology General Purpose
Java Primary programming language
OOP Application and software design approach
Java Swing Desktop graphical interfaces
JDBC Java-to-database connectivity
MySQL Relational database technology
Git / GitHub Source-code management and collaboration

Additional technologies may be introduced as the repository evolves.


Getting Started

Clone the repository:

git clone https://github.com/itsy-Wency/ObjectOrientedProgramming-JAVA-.git

Open the project in your preferred Java IDE or editor.

For individual Java activities, compile and run according to the instructions provided with the corresponding activity.

Example:

javac Main.java
java Main

For projects with external libraries or database connectivity, additional configuration may be required.


Learning Approach

The repository follows a practical approach:

Learn
  ↓
Observe
  ↓
Code
  ↓
Run
  ↓
Modify
  ↓
Experiment
  ↓
Build

Beginners are encouraged to modify examples, test different inputs, trace program execution, and gradually transform demonstrations into their own applications.


Continuously Evolving

This repository is not intended to represent a fixed curriculum.

New content may be added, existing examples may be revised, and topics may change as the course progresses.

Therefore, this README focuses on the overall purpose, technology direction, and learning approach rather than documenting individual lessons.


License

This project is licensed under the MIT License.


Learn Java. Think in Objects. Build Applications.

Java • OOP • GUI • JDBC • Database

About

Beginner programming guide covering core Java OOP concepts, Swing GUI development, Java 2D Graphics, and MySQL database connectivity (JDBC

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages