Posts by Collection

publications

A Scalable Approach for Sentiment Analysis of Turkish Tweets and Linking Tweets to News

Published in IEEE, 2016

We present a framework for sentiment analysis on tweets related to news items. Given a set of tweets and news items, our framework classifies tweets as positive or negative and links them to the related news items. For the classification of tweets we use three of the most used machine learning methods, namely Naive Bayes, Complementary Naive Bayes, and Logistic Regression, and for linking tweets to news items, Natural Language Processing (NLP) techniques are used, including Zemberek NLP library for stemming and morphological analysis and then bag-of-words method for mapping. Read more

A survey on semantic Web and big data technologies for social network analysis

Published in IEEE, 2016

Social Network Analysis (SNA) has become a very important and increasingly popular topic among researchers in recent years especially after emerging Semantic Web and Big Data technologies. This survey focuses on recently developed systems for SNA and summarizes the state-of-the-art technologies used by them and points out to future research directions. Read more

Computer Vision Technology On Food Science

Published in Karaelmas, 2017

Computer vision is a science that extracts useful information about an object from an observed image or image sequence automatically by analyzing in theoretical and algorithmic bases. Computer vision systems are increasingly used for detection of the surface defects, contamination, and quality inspection of the foods in the food industry. Read more

Enabling space time division multiple access in IETF 6TiSCH protocol

Published in TUBITAK, 2019

Here the integration of a low-complexity directional antenna system with IETF 6TiSCH protocol is investigated with the aim of creating a 6TiSCH solution with higher spatial reuse. 6TiSCH nodes equipped with such smart directional antennas can schedule bandwidth resources not only in time and frequency domain but also in spatial (space) domain. Read more

A New Routing Objective Function for IETF 6TiSCH Protocol

Published in IEEE, 2022

In this paper; A new parent selection function is proposed for RPL running on top of IETF 6TiSCH protocol stack, which, for each node, takes into account the number of neighbors and the traffic through these routing nodes. Our tests showed a significant improvement in terms of the total number of parent switches and packet delivery rates. Read more

teaching

Wireless Sensor Networks

Undergraduate course, University of Giresun, Department of Computer Engineering, 2019

wireless sensor network This course provides an introduction to the fundamental concepts, technologies, and design principles of wireless sensor networks. Students will learn about the different types of sensors and communication technologies used in WSNs, as well as the various challenges that need to be addressed in the design and implementation of these networks. Topics such as medium access control, routing protocols, data management, power management, security, and applications of WSNs will be discussed in depth. By the end of the course, students will have a solid understanding of the key concepts and technologies involved in wireless sensor networks, as well as hands-on experience with programming and simulation tools. Read more

Object Oriented Programming with Java Advanced

Undergraduate course, University of Giresun, Department of Computer Engineering, 2021

object oriented programming This course is designed to take your Java programming skills to the next level by exploring advanced topics and concepts in object-oriented design. In this course, you will learn how to implement complex data structures, design patterns, and advanced OOP principles such as interfaces, generics, and nested classes. You will also learn how to leverage Java’s powerful features such as streams and lambdas to write clean and concise code. Throughout the course, you will work on challenging assignments and projects that will help you apply the concepts you have learned in real-world scenarios. Read more

Procedural Programming with C

Undergraduate course, University of Giresun, Department of Computer Engineering, 2023

procedural programming with c C is a robust and flexible programming language employed in numerous applications, ranging from operating systems and embedded systems to game development and high-performance computing. As a low-level language, it offers significant control over hardware and memory management, enabling developers to write highly efficient and optimized code. This level of control makes it perfect for performance-critical tasks where speed and resource management are paramount. Its influence is also seen in many modern languages, which have adopted its syntax and features, solidifying C’s role as a foundational language in computer science and software development. Read more

Algorithmic Game Theory

Undergraduate course, University of Giresun, Department of Computer Engineering, 2023

algorithmic game theory Algorithmic Game Theory is an interdisciplinary field that blends the mathematical rigor of game theory with the practical, problem-solving techniques of computer science. This area of study focuses on designing and analyzing algorithms for solving games and game-like scenarios, where multiple players with potentially conflicting interests interact. It encompasses a wide range of topics, including the computation of equilibria, the efficiency and fairness of various algorithmic mechanisms, and the strategic behavior of rational agents in competitive environments. By leveraging computational methods, algorithmic game theory provides valuable insights into complex systems, from economic markets to networked environments, thereby bridging the gap between theoretical foundations and real-world applications. Read more

Object Oriented Programming with Java

Undergraduate course, University of Giresun, Department of Electrical Electronics Engineering, 2024

object oriented programming Java is one of the most popular programming languages, extensively used in various fields such as web development, mobile app development, and game development. It encompasses key concepts like classes, objects, inheritance, polymorphism, encapsulation, and abstraction, which form the foundation of its Object-Oriented Programming (OOP) paradigm. These principles enable developers to create modular, reusable, and efficient code, fostering better software design and maintainability. Java’s platform independence, achieved through the Java Virtual Machine (JVM), allows applications to run on any device equipped with a JVM, making it a versatile choice for cross-platform development. Additionally, Java’s extensive standard library provides a wide range of tools and functionalities, simplifying many common programming tasks and enhancing productivity. Read more

Microprocessors

Undergraduate course, University of Giresun, Department of Electrical Electronics Engineering, 2024

microprocessor Microprocessors act as the heartbeat of modern computing systems, executing numerous tasks with remarkable speed and precision. The x86 architecture, renowned for its adaptability and extensive use in personal computers and servers, provides a foundation for understanding the inner workings of contemporary processors. Microprocessor architecture is the driving force behind computation, makes these small but powerful devices. The complexity of the x86 instruction set and the fundamentals of assembly language programming are essential to directly communicating with the microprocessor. This includes covering the binary world and using the symbolic language of assembly to manipulate registers, control flow, and interact with memory. Read more

Operating Systems

Undergraduate course, University of Giresun, Department of Computer Engineering, 2024

operating systems Operating systems are an essential part of modern computing, serving as the foundation of any computer system. They are responsible for managing the hardware and software resources of a computer and providing a platform for other programs to run on. An operating system acts as an intermediary between the computer hardware and the software applications that users interact with, providing a uniform interface that applications can use to communicate with the hardware. Without an operating system, a computer would be nothing more than a collection of hardware components that could not be easily controlled or utilized by users. Read more

Algorithms

Undergraduate course, University of Giresun, Department of Computer Engineering, 2024

algorithms An algorithm is a set of well-defined instructions for carrying out a particular task. Think of it as a recipe in a cookbook that guides you step by step to make a delicious dish. In the world of computing, algorithms are the backbone that powers programs and applications. They are logical sequences that tell a computer exactly what steps to take to solve a problem or achieve a goal. From simple tasks like sorting a list of numbers to complex operations like image processing or running search engines, algorithms are everywhere. Read more

Computer and Introduction to Programming

Undergraduate course, University of Giresun, Department of Electrical Electronics Engineering, 2024

computer and programming Modern computing encompasses a vast ecosystem of interconnected technologies and tools that have become integral to our daily lives. Computers are sophisticated electronic devices managed by operating systems, which serve as the interface between hardware and software. The Internet has transformed these individual machines into a global network, enabling instantaneous communication and access to an unlimited information and services. In our professional lives, we regularly interact with office programs such as word processors, spreadsheets, and presentation software, which have digitized and streamlined workplace tasks. Behind all these tools lies the art of programming - the fundamental skill of creating software by writing instructions in various programming languages. Read more

Data Structures

Undergraduate course, University of Giresun, Department of Computer Engineering, 2024

data structure Data structures are fundamental components in computer science, serving as the building blocks for organizing, managing, and storing data efficiently. They enable the systematic arrangement of data to facilitate various operations such as searching, sorting, inserting, and deleting. Common data structures include arrays, linked lists, stacks, queues, trees, and graphs, each with unique properties and use cases. These fundamental concepts are the cornerstone of computer science and programming, and a deep understanding of them empowers us to write more efficient, organized, and robust code. Read more