{"id":25602602,"url":"https://github.com/margitantal68/oop-2024","last_synced_at":"2026-06-25T11:31:08.007Z","repository":{"id":222644567,"uuid":"757437217","full_name":"margitantal68/oop-2024","owner":"margitantal68","description":"📚 This open-access course will introduce you to object-oriented programming in Java.","archived":false,"fork":false,"pushed_at":"2024-10-22T07:26:07.000Z","size":2326,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-23T10:39:16.041Z","etag":null,"topics":["collections","inheritance","java","object-oriented-programming","oop","oop-java","polymorphism","programming","programming-languages","static-members","threads"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/margitantal68.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-14T13:50:54.000Z","updated_at":"2024-10-22T07:26:10.000Z","dependencies_parsed_at":"2024-03-24T13:42:52.540Z","dependency_job_id":"cdbf14bf-b871-43b8-9292-cd08695d71d0","html_url":"https://github.com/margitantal68/oop-2024","commit_stats":null,"previous_names":["margitantal68/oop-2024"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/margitantal68%2Foop-2024","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/margitantal68%2Foop-2024/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/margitantal68%2Foop-2024/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/margitantal68%2Foop-2024/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/margitantal68","download_url":"https://codeload.github.com/margitantal68/oop-2024/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240054049,"owners_count":19740764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collections","inheritance","java","object-oriented-programming","oop","oop-java","polymorphism","programming","programming-languages","static-members","threads"],"created_at":"2025-02-21T17:01:59.509Z","updated_at":"2026-06-25T11:31:07.997Z","avatar_url":"https://github.com/margitantal68.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📚 Object-Oriented Programming in Java\n\n[![Java](https://img.shields.io/badge/Language-Java-orange.svg)](https://www.java.com/)\n[![Course](https://img.shields.io/badge/Course-Open--Access-green.svg)](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nWelcome! 👋 This repository contains all the materials for the **Object-Oriented Programming (Java)** course. This course is designed to transition students from procedural programming (C) to the OOP paradigm using Java.\n\n---\n\n## 📖 Table of Contents\n\n- [📚 Object-Oriented Programming in Java](#-object-oriented-programming-in-java)\n  - [📖 Table of Contents](#-table-of-contents)\n  - [🛠 Prerequisites](#-prerequisites)\n  - [👩‍🏫 Slides](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf)\n  - [📅 Weekly Schedule](#-weekly-schedule)\n  - [📊 Practical Exercises](#-practical-exercises)\n  - [🚀 How to Use This Repo](#-how-to-use-this-repo)\n\n---\n\n## 🛠 Prerequisites\nBefore starting, you should have:\n- [x] Familiarity with the **C programming language**.\n- [x] Understanding of basic programming logic (loops, conditions, functions).\n- [x] [JDK 17+](https://www.oracle.com/java/technologies/downloads/) installed on your machine.\n\n---\n\n## 📅 Weekly Schedule\n\nThis table combines slides, practice notebooks, and solutions for easy access.\n\n| Week | Topic                         | Slides | Google Colab Notebooks | Solutions |\n|:---:|:------------------------------|:---:|:---:|:---:|\n| **1** | Introduction to Java          | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Notebook 🔗](https://colab.research.google.com/drive/1iV1RGi3vAUV8_sBk1Fztvisf4ZSsvmFi?usp=sharing) | [Solution ✅](https://colab.research.google.com/drive/1hwHwAZUfN93a58WiFqkyH_jO_htbGbvj?usp=sharing) |\n| **2** | Classes \u0026 Objects             | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Notebook 🔗](https://colab.research.google.com/drive/1tm1O6s1rqTvxhJIF-VjEjFGT1_P_CT9A?usp=sharing) | [Solution ✅](https://colab.research.google.com/drive/1UoVOpByCyvAPvmLnIkgnDw7WZodjysRn?usp=sharing) |\n| **3** | Java Basics                 | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Notebook 🔗](https://colab.research.google.com/drive/1Yiu7qxl-97t-T5qvbkh24Z_2kQtJxaNO?usp=sharing) | [Solution ✅](https://colab.research.google.com/drive/1HgekKcoRvLjhZSYbjf9aTavUkFa_hgko?usp=sharing) |\n| **4** | Strings and Arrays             | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Notebook 🔗](https://colab.research.google.com/drive/1k29SZZO54smB6Bzva_AhpotLX5IdyQYS?usp=sharing) |  |\n| **5** | ArrayList                   | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Notebook 🔗](https://colab.research.google.com/drive/1zCxQcQyu9Q3zifJVhwTf1nsQa-gNUZVb?usp=sharing) |  |\n| **6** | Static Members | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Notebook 🔗](https://colab.research.google.com/drive/1IFXwTeMQoitVjlX6Y3aViVb_Qv5Ze1kC?usp=sharing) |  |\n| **7** | Inheritance and Polymorphism                   | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Notebook 🔗](https://colab.research.google.com/drive/1pqkcGSYk1aiyiXCJBCsMF6p2j6wmBkxX?usp=sharing) |  |\n| **8** | Dynamic and Static Polymorphism         | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Notebook 🔗](https://colab.research.google.com/drive/1XT0W6fsTYebmkDzXkxwedbHYqTdX21BF?usp=sharing) |  |\n| **9** | Interfaces                  | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Notebook 🔗](https://colab.research.google.com/drive/1InpYryA2G5HPVUMI6Y-CwdOtbsks_75T?usp=sharing) | [Solution ✅](https://colab.research.google.com/drive/1kycGs1QLMsUfIGPaaHU-r6an2DiOLsXd?usp=sharing) |\n| **10** | Sorting               | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Notebook 🔗](https://colab.research.google.com/drive/1eHAOfL9qq9NiTCNgAKjPNI56xz4AQc-j?usp=sharing) |  |\n| **11** | Exceptions                 | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Notebook 🔗](https://colab.research.google.com/drive/11P6F1nHdwMUbKuP5kPRZqT2fgvK_KNCN?usp=sharing) |  |\n| **12** | Collections            | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Notebook 🔗](https://colab.research.google.com/drive/1OM_pEyLVa8Sw-C-AF6ulZ9bT27p9eXT3?usp=sharing) |  |\n| **13** | Exam Preparation            | [Link 📄](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf) | [Exam Topics (HU)](practical-exercises/oop_exam_topics_hu.pdf) |  |\n---\n\n## 📊 Practical Exercises\n\nThe laboratory exercises are located in the [`/practical-exercises`](./practical-exercises) folder.\n|Week| Problem |\n|:---:|:---:|\n| **1** |[📊 Week 1](https://github.com/margitantal68/oop-2024/blob/main/practical-exercises/OOP_LAB1.pdf)|\n| **2** |[📊 Week 2](https://github.com/margitantal68/oop-2024/blob/main/practical-exercises/OOP_LAB2.pdf)|\n| **3** |[📊 Week 3](https://github.com/margitantal68/oop-2024/blob/main/practical-exercises/OOP_LAB3.pdf)|\n| **4** |[📊 Week 4](https://github.com/margitantal68/oop-2024/blob/main/practical-exercises/OOP_LAB4.pdf)|\n| **5** |[📊 Week 5](https://github.com/margitantal68/oop-2024/blob/main/practical-exercises/OOP_LAB5.pdf)|\n| **6** |[📊 Week 6](https://github.com/margitantal68/oop-2024/blob/main/practical-exercises/OOP_LAB6.pdf)|\n| **7** |[📊 Week 7](https://github.com/margitantal68/oop-2024/blob/main/practical-exercises/OOP_LAB7.pdf)|\n| **9** |[📊 Week 9](https://github.com/margitantal68/oop-2024/blob/main/practical-exercises/OOP_LAB9.pdf)|\n| **10** |[📊 Week 10](https://github.com/margitantal68/oop-2024/blob/main/practical-exercises/OOP_LAB10.pdf)|\n| **11** |[📊 Week 11](https://github.com/margitantal68/oop-2024/blob/main/practical-exercises/OOP_LAB11.pdf)|\n| **12** |[📊 Week 12](https://github.com/margitantal68/oop-2024/blob/main/practical-exercises/OOP_LAB12.pdf)|\n| **13** |[📊 Week 13](https://github.com/margitantal68/oop-2024/blob/main/practical-exercises/OOP_LAB13.pdf)|\n---\n\n## 🚀 How to Use This Repo\n\n1. **View Slides**: Start with the [OOP - Java slides](https://www.ms.sapientia.ro/~manyi/teaching/oop/oop_java.pdf).\n2. **Interactive Practice**: Click the **Week X** links in the table above to open Google Colab notebooks.\n3. **Local Development**: Solve the weekly lab exercises!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmargitantal68%2Foop-2024","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmargitantal68%2Foop-2024","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmargitantal68%2Foop-2024/lists"}