Principles of Object-Oriented Programming and Practical Java
Undergraduate course, Guangdong University of Petrochemical Technology, Computer Department, 2025
Principles of Object-Oriented Programming (OOP) refers to the foundational concepts and methodologies in object-oriented programming (OOP) such as encapsulation, inheritance, polymorphism, and abstraction.
These principles are fundamental to designing and implementing software systems where objects are used as the primary building blocks.
"Practical Java" denotes the application and implementation of these object-oriented principles using the Java programming language. It involves not only understanding Java syntax and features but also applying best practices in software design and development to solve real-world problems effectively. Two reference books for learning Java, [I](https://github.com/0voice/expert_readed_books/blob/master/%E8%BD%AF%E4%BB%B6%E6%8A%80%E6%9C%AF/Java%E6%A0%B8%E5%BF%83%E6%8A%80%E6%9C%AF(%E5%8D%B71)%EF%BC%9A%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86(%E5%8E%9F%E4%B9%A6%E7%AC%AC8%E7%89%88).pdf) and [II](https://github.com/0voice/expert_readed_books/blob/master/%E8%BD%AF%E4%BB%B6%E6%8A%80%E6%9C%AF/Java%E6%A0%B8%E5%BF%83%E6%8A%80%E6%9C%AF%E5%8D%B7%202%20%E9%AB%98%E7%BA%A7%E7%89%B9%E6%80%A7%20%E5%8E%9F%E4%B9%A6%E7%AC%AC8%E7%89%88.pdf). The experiment model is [here](/files/2025_2_PJ/0919_PJ_Experiment_model.docx).
| Date | Tasks | Description | Code |
| -------- | ---------- | ----------- | ---- |
| [0902](/files/2025_2_PJ/0902_PJ_ch1.pptx) | none | Java introduction | no |
| [0903,10,16](/files/2025_2_PJ/0903_10_PJ_ch2.pptx) | [homework](/files/2025_2_PJ/0910_PJ_hw01.pdf) | basic programming | no |
| [0930](/files/2025_2_PJ/0930_PJ_ch3.pptx) | none | Object-oriented I | no |
| [1009,14,15](/files/2025_2_PJ/1009_PJ_ch4.pptx) | [homework](/files/2025_2_PJ/1015_PJ_hw02.pdf) | Object-oriented II | [1](/files/2025_2_PJ/code/Example01.java), [2](/files/2025_2_PJ/code/Example02.java), [3](/files/2025_2_PJ/code/Example03.java), [4](/files/2025_2_PJ/code/Example04.java), [5](/files/2025_2_PJ/code/Example05.java), [6](/files/2025_2_PJ/code/Example06.java), [7](/files/2025_2_PJ/code/Example07.java), [8](/files/2025_2_PJ/code/Example08.java), [9](/files/2025_2_PJ/code/Example09.java), [10](/files/2025_2_PJ/code/Example10.java), [11](/files/2025_2_PJ/code/Example11.java), [12](/files/2025_2_PJ/code/Example12.java), [13](/files/2025_2_PJ/code/Example13.java), [14](/files/2025_2_PJ/code/Example14.java), [15](/files/2025_2_PJ/code/Example15.java), [16](/files/2025_2_PJ/code/Example16.java), [17](/files/2025_2_PJ/code/Example17.java), [18](/files/2025_2_PJ/code/Example18.java), [19](/files/2025_2_PJ/code/Example19.java), [20](/files/2025_2_PJ/code/Example20.java), [21](/files/2025_2_PJ/code/Example21.java), [22](/files/2025_2_PJ/code/Example22.java), [23](/files/2025_2_PJ/code/Example23.java) |
| [1022](/files/2025_2_PJ/1014_PJ_ch5.pptx) | none | Exception | [1](/files/2025_2_PJ/code_ch5/Example01.java), [2](/files/2025_2_PJ/code_ch5/Example02.java), [3](/files/2025_2_PJ/code_ch5/Example03.java), [4](/files/2025_2_PJ/code_ch5/Example04.java), [5](/files/2025_2_PJ/code_ch5/Example05.java), [6](/files/2025_2_PJ/code_ch5/Example06.java), [7](/files/2025_2_PJ/code_ch5/Example07.java), [8](/files/2025_2_PJ/code_ch5/Example08.java), [9](/files/2025_2_PJ/code_ch5/Example09.java) |
| [1028](/files/2025_2_PJ/1028_PJ_ch6.pptx) | [Exam](/files/2025_2_PJ/1028_PJ_Exam.pdf) | Java API | [Code](/files/2025_2_PJ/code_ch6.zip) |
| [1105,1111](/files/2025_2_PJ/1029_PJ_ch7.pptx) | none | Set | [Code](/files/2025_2_PJ/code_ch7.zip) |
| [1112](/files/2025_2_PJ/1105_PJ_ch8.pptx) | none | Generics | [Code](/files/2025_2_PJ/code_ch8.zip) |
| [1119](/files/2025_2_PJ/1118_PJ_ch9.pptx) | none | Reflection | [Code](/files/2025_2_PJ/code_ch9.zip) |
| 1125 | none | [IO](/files/2025_2_PJ/1125_PJ_ch10.pptx), [Java database connectivity](/files/2025_2_PJ/1125_PJ_ch11.pptx) | [Code_ch10](/files/2025_2_PJ/code_ch10.zip) |
| 1126 | none | [Multiply thread](/files/2025_2_PJ/1126_PJ_ch12.pptx), [Internet programming](/files/2025_2_PJ/1126_PJ_ch13.pptx) | [Code_ch12](/files/2025_2_PJ/code_ch12.zip), [Code_ch13](/files/2025_2_PJ/code_ch13.zip) |
| Experiment | Tasks | Due date |
| ---------- | ------ | -------- |
| 0919 | [Lab01](/files/2025_2_PJ/0919_PJ_experiment1.pdf) | 1017 |
| 1017 | [Lab02](/files/2025_2_PJ/1017_PJ_experiment2.docx) | 1031 |
| 1031 | [Lab03](/files/2025_2_PJ/1031_PJ_experiment3.pdf) | 1128 |
| 1128 | [Lab04](/files/2025_2_PJ/1128_PJ_experiment4.docx) | none |