/PO_2023_PON1300_SMIALEK

This repository contains materials for the Object-Oriented Programming course offered in the Computer Science curriculum. The course covers fundamental concepts and practical aspects of object-oriented programming using Java.

Primary LanguageJava

PO_2023_PON1300_SMIALEK

  1. Piotr Śmiałek
  2. grupa nr 12, godz. 13:00 poniedziałek
  3. daredevilq
  4. https://gitexercises.fracz.com/committer/228985f3f6610d5362257e89b55a484a1e3fa0f1?email=piotrsmia@student.agh.edu.pl

This repository contains materials for the Object-Oriented Programming course offered in the Computer Science curriculum. The course covers fundamental concepts and practical aspects of object-oriented programming using Java.

Contents:

Introduction to Object-Oriented Programming:

Overview of the object-oriented programming paradigm compared to other programming paradigms. Introduction to basic concepts related to object-oriented programming. Java Language and Java Virtual Machine (JVM):

Introduction to the Java language's basic properties. Explanation of the Java Virtual Machine (JVM) and its role in executing Java code. Basic Data Types in Java and Ruby:

Explanation of basic data types in Java. Differentiation between object types and primitive types. Overview of wrapper types. State in Object-Oriented Programming (Java and Ruby):

Methods of defining the state in object-oriented programs. Instance variables and class variables. Public, private, protected, and package-private access. Defining Object Behavior:

Methods of defining behavior in object-oriented programming. Instance and class methods. Public, private, protected, and package-private access. Relationship between inheritance and behavior definition. Recommended practices for method access. Exceptions:

Mechanism for error handling using exceptions. Types of errors in computer systems. Recommended practices for exception handling. Collections in Java:

Important classes implementing object collections in Java. Overview of the Map, Set, Collection, and List interfaces. Discussion of the most important interface implementations. Nested Types and Closures:

Introduction to nested types. Discussion of access rules for nested types. Closures and anonymous classes in Java. Reflection in Ruby and Java:

Explanation of reflection mechanisms in Ruby. Explanation of traditional reflection mechanisms in Java. Discussion of limitations associated with reflection usage. Generic Types:

Discussion of generic type concepts. Justification for using generic types. Limitations associated with generic types usage. Threads:

Overview of thread implementations in Java (Runnable and Thread). Discussion of risks associated with concurrent programming. Overview of classes facilitating concurrent programming. Input and Output:

Overview of input and output handling mechanisms in Java. Characteristics of Good Code:

Naming conventions. Testing methodologies. Law of Demeter. SOLID principles.