Teaching

Algorithms

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

algorithms Algorithms are at the heart of computer science and play a crucial role in many applications, from machine learning and computational biology to cryptography and network routing. In this course, we will cover a wide range of topics, including sorting and searching algorithms, graph algorithms, dynamic programming, advanced data structures, algorithm design techniques, and the practical implementation of algorithms. Understanding these topics is critical to developing efficient and effective software systems. 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

Microprocessors

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

microprocessor Microprocessors serve as the heartbeat of modern computing systems, executing a numerous tasks with remarkable speed and precision. The x86 architecture, known for its ability to adapt and widespread usage in personal computers and servers, lays the groundwork for understanding the inner workings of modern processors. Our journey starts with an overview of microprocessor architecture, delving into the core components that make these tiny yet powerful devices the driving force behind computation. As navigating through the complexity of the x86 instruction set, we will explore the fundamentals of assembly language programming – a low-level language that allows us to communicate directly with the microprocessor. Throughout the course, it is covered the binary world, symbolic language of assembly to manipulate registers, control flow, and interact with memory. 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 in use today, and it is widely used in many areas such as web development, mobile app development, and game development. This course is designed to introduce you to the core concepts of object-oriented programming in Java, including classes, objects, inheritance, polymorphism, encapsulation, and abstraction. Throughout the course, you will gain hands-on experience in writing Java code and building applications using OOP principles. Read more

Data Structures

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

data structure Our journey through the world of data structures has been nothing short of enlightening. 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. I hope this exploration has ignited your curiosity and passion for data structures, as they are the key to unlocking the limitless possibilities of the digital world. Happy coding! Read more

Algorithmic Game Theory

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

algorithmic game theory This course aims to explore the intersection of game theory and computer science, focusing on the algorithmic aspects of strategic decision-making in multi-agent environments. Game theory provides a powerful framework for analyzing the behavior of rational agents, while algorithms enable us to design intelligent systems that can reason, strategize, and interact in complex game scenarios. Throughout this course, we will delve into fundamental concepts such as Nash equilibrium, mechanism design, and auction theory, examining how they can be applied in various real-world domains including economics, social networks, and online platforms. Read more

Computer and Programming with Java

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

object oriented programming This course is designed to provide a comprehensive understanding of fundamental concepts in computer science and information technology. Covering essential topics such as Basic Computer Knowledge, Word Processing with Microsoft Word, Spreadsheet Software using Excel, Presentation Skills with PowerPoint, Computer Arithmetic, Hardware and Software fundamentals, Introduction to Algorithms, Pseudo Code, Flowcharts, and Basic Java Programming. This course aims to equip with the necessary skills to navigate the digital landscape. Read more

Procedural Programming with C

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

procedural programming with c C is a powerful and versatile programming language that is used in a wide variety of applications. It is a low-level language, which means that it gives you a lot of control over your programs. This makes it ideal for performance-critical applications. C is also a portable language, which means that your programs can be easily ported to different platforms. This course will teach you the fundamentals of C programming. 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

Software Engineering

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

software engineering Software engineering plays a critical role in our modern digital age, where software applications are ubiquitous and have a profound impact on various aspects of our lives. Throughout this course, you will explore the entire software development life cycle, from requirements gathering and analysis to design, implementation, testing, and maintenance. You will delve into topics such as software architecture, software project management, quality assurance, and software maintenance. Read more

Professional English

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

professional english This course is designed for computer science students and professionals working in IT or related fields who want to improve their reading skills in technical subjects. The course covers a wide range of topics, and each reading passage is followed by a small glossary to help learners understand technical terms used in the text. By the end of the course, learners will have developed better reading comprehension skills and a more extensive technical vocabulary, enabling them to understand technical texts more easily and effectively. Read more

Professional Math

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

math The course covers a variety of mathematical topics such as Calculus, Linear Algebra, Discrete Math, Number theory, Probability and Statistics, Optimization, Boolean Algebra and Automata theory. These topics are essential for understanding the fundamentals of computer science and for solving problems in computer science fields such as algorithms, complexity theory, cryptography, computer networks, and artificial intelligence. By the end of the course, students will have a solid understanding of the mathematical concepts and techniques used in computer science and will be well-prepared to pursue advanced studies or professional careers in the field. Read more

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