Object-Oriented Programming Laboratory
Faculty: Faculty of Computer and Information Sciences Laboratory Building
Location: 3rd Floor D3-04
Capacity: 60 Students
Responsible Faculty Members:
-
Assoc. Prof. Dr. Kasım ÖZACAR
-
Asst. Prof. Dr. Nehad T.A. RAMAHA
Laboratory Supervisors:
-
Research Assistant Elif DORUKBAŞI
-
Research Assistant Hasan DEMİR
Laboratory View
General view of Karabük University Faculty of Computer and Information Sciences – Object-Oriented Programming Laboratory.
Purpose of the Laboratory
The Object-Oriented Programming (OOP) Laboratory aims for students to learn the object-based software development approach in a practical manner. This laboratory enables the teaching of fundamental object-oriented programming concepts such as class, object, inheritance, polymorphism, encapsulation and abstraction through software projects.
Students learn to model real-world problems with object-based structures and develop sustainable software designs using programming languages such as C++, Java or Python.
Laboratory Usage Rules
-
The laboratory should only be entered during class or project hours, under the supervision of an instructor or authorized personnel.
-
Computers, network devices and cabling systems should only be used for experimental purposes. Connections should not be energized before the experiment without being shown to the instructor.
-
Approval must be obtained from the instructor before any connection or configuration process.
-
Unauthorized intervention in laboratory software, uploading personal files or changing internet settings is prohibited.
-
Each student must keep experiment reports regularly and submit them at the end of the course.
-
At the end of the experiment, connections must be disconnected, computers must be shut down and the desk arrangement must be maintained.
-
In case of damage to laboratory equipment or detection of failure, the situation must be reported to the responsible personnel immediately.
Areas of Use
-
Object-Oriented Programming (OOP) course applications
-
Object-based software development in C++, Java or Python languages
-
Class design, inheritance and polymorphism applications
-
Design patterns and reusable code development studies
-
Modeling object relationships with UML diagrams
-
Practical teaching of encapsulation and abstraction concepts
-
Graduation projects, mobile application fundamentals and software engineering studies
Learning Outcomes
-
Explains and applies the fundamental principles of object-oriented programming (class, object, inheritance, encapsulation, polymorphism).
-
Can develop class and object-based applications in languages such as C++/Java/Python.
-
Designs reusable code structures through abstraction and inheritance.
-
Applies design patterns (e.g. Singleton, Factory, Observer) in real projects.
-
Can interpret UML class diagrams and convert them into software.
-
Acquires the ability to develop modular, maintainable and scalable software.
-
Develops teamwork, project management and technical reporting skills.
-
Ensures compliance with engineering ethics and code standards in the software development process.