Cinsdikici's Diary

Assoc.Prof.Dr. Muhammed Cinsdikici

Archive for the ‘Spring Semester’ Category

CSE3220 – Machine Learning (Spring, 2019)

Posted by cinsdikici on February 11, 2019

Course Time:

Wednesday, 09:55-12:30




Assoc. Prof.Dr. Muhammet G. Cinsdikici,

Office Hours: Tuesday,13.30-15.30 Office Phone: 


Office Phone:

Class Group

Computer Engineering ML Class Google Group /


Machine Learning Introduction, Regression, Multivariate Regression, Gradient Descent Learning, Logistic Regression, Regularization, Artficial neural networks, biological foundations, cognitive processes and their modeling using artificial neural networks, problem solving using neural networks, supervised/unsupervised learning, Support Vector Machines, Principle Component Analysis, Naive Bayesian Learning.


Python or Matlab or one of the Programing languages (Java, C#), Statistics & Mathematics background for engineering departments


2018, Francois Chollet, “Deep Learning with Python“, Manning Publishing,ISBN 9781617294433

2017, Sebastian Raschka, “Python Machine Learning 2.nd edt”, PACKT Publishing, ISBN: 978-1-783-55513-0

2016-José Unpingco, “Python for Probability, Statistics, and Machine Learning“, Springer, ISBN 978-3-319-30715-2

2014, Ethem Alpaydin, “Introduction to Machine Learning – 3rd edt, MIT Press, ISBN: 978-0-262-02818-9

2012, Kevin P. Murphy, “Machine Learning”, MIT Press, ISBN: 978-0-262-01802-9

2009, Simon Haykin, “Neural Networks and Learning Machines – 3rd edt”, Prentice Hall, ISBN: 978-0-131-47139-9

2006, Christopher Bishop, “Pattern Recognition and Machine Learning”, Springer, ISBN: 978-0-387-31073-2

2004, Mehmet Ö. Efe, “Artificial Neural Networks and Their Applications”, Boğaziçi University Publications, ISBN: 975-5-18223-3

1994, Laurene Fausett, “Fundementals of Neural Networks”, Prentice Hall, ISBN: 978-0-133-34186-7.

Free Machine Learning with Matlab


All Projects are due at the beginning of class. Due dates for projects will be announced at least a week ahead of time. No late submission will be accepted!.


Students will have one final exam. Students have to submit their final Technical Report to any journal in SCI or SCI-Expanded or conference in related area.


  %30 MidTerm + %20 Homeworks + %25 FinalExam + %25 Final Project

Late Submission:

Late submission of projects will not be accepted.

Programming Platforms/Tools:

1. Python 3.5 (or newer versions) + Machine Learning Libraries

2. Matlab R2018b and Simulink Bundled Student Edition

3. Visiual Studio 2015  + {OpenCV / Accord.NET etc..}

Suplimentary Best Video Lectures:

1. Andrew NG – Machine Learning – Stanford

2. Yaser Abu Mostafa – Machine Learning – Caltech

3. Patrick Winston – Artificial Intelligence – MIT

4. Emily Fox – Machine Learning


Lecture01 –  Introduction to Machine Learning

* Introduction to Machine Learning

Lecture02 –  Linear Regression with One Variable

* Linear Regression with One Variable

* Linear Algebra Background

Lecture03 – Linear Regression with Multiple Variables

* Linear Regression with Multiple Variables

                      * Matlab Scripting Backgound (Optional: Python) 

* Matrix Tutorial (Option)

Lecture04 – Logistic Regression

* Logistic Regression

Lecture05 – Regularization

* Regularization

Lecture06 – Neural Network Fundementals, Components

* Cinsdikici-Introduction Presentation

* Simon Haykin – Introduction to Neural Nets

* Simon Haykin – Perceptron

* Neural Nets Presentation

* Prof. Leslie Smith – Introduction to Neural Network

* Christos Stergiou and Dimitrios Siganos – Introduction to Neural Networks

* Genevieve Orr – Motivation for Neural Networks

* Learning Artificial Neural Networks [Robotics]

* Continuous_Mathematic_Notes.pdf

* Perceptron – Applet Demo

Lecture07 – Neural Network Models


* Khonen’s {SOM / LVQ 1, 2, 3}

Lecture08 – NeoCognitron – “Convolutional Neural Net” Deep Learning Model

                        * Cinsdikici – Neocognitron Variants/LeNet5

Lecture09 – SVM – Support Vector Machines

Lecture10 – Clustering

Read the rest of this entry »


Posted in Machine Learning | Leave a Comment »

UBI506 – Operating Systems Course

Posted by cinsdikici on March 3, 2016

Course Unit Title Operating Systems
Course Unit Code UBE 506
Course Time: Wednesday [18:00-21:00], Friday [9:30-12:00]
Course Room: UBE, Room 103
Level of Course Unit M.Sc.
Number of ECTS Credits Allocated 7,5
Theoretical 3
Semester Spring
Name of Lecturer(s) Asst. Prof. Dr.Muhammed Cinsdikici,, office phone: 3205
Mode of Delivery Face-To-Face
Language Turkish
Assistant Kaya Oğuz,, office phone: 3242
Objectives of the Course The aim of this course is to introduce the theory and implementation of operating system concepts with emphasis on concepts on sample operating systems like Unix, Linux, Windows and show how the sharing resources.
Textbook 1. Silberschatz Galwin, Operating System Concepts, Edition, Wiley, 20142. Andrew S. Tanenbaum, Albert S.Woodhull, The Minix book: Operating Systems – Design and Implementation- (3.rd Edition),Prentice Hall, 2006
Learning Outcomes
  1. To conceive the components of operating systems.
  2. Ability to explain general working  principles of operating systems.
  3. Ability to compare the  kinds and properties of operating systems.
  4. To realize the problems about sharing resources of a computer system.
  5. Ability to conceive operating system’s services.
  6. Ability to explain the concepts of process, deadlock; process scheduling algorithms, memory management and file systems.
  7. Ability to investigate the resource sharing methods’ effects to a computer performance
  8. Ability to develop software which contains multithreaded architecture and is protected from deadlock
  9. Ability to give a presentation, explanation about specific subject related the operating systems by research deeply.
  10. Awareness of ethics problems about operating systems.
Course Contents Process, process communication, Scheduling Synchronization, memory management, virtual memory, paging, swapping, file systems, input-output security, protection, deadlock avoidance algorithms, Unix basic concepts, introduction to distributed systems.
Grading & Projects %15 HomeWorks + %30 MidTerm + %40 Final Exam + %15

Final Project Late submission of the homeworks and projects are not going to be accepted. 

The assessment principals are;


On time submission are scored as max.100/100

One week late submissions are scored as max. 80/100

Two weeks late submissions are scored as max. 60/100Others are scored as 0.

Weekly Detailed Course Contents
  Theoretical Slides Laboratory Suplementary Materials
1 Introduction Definition of operating system, basis components of an computer system, interrupt handling types, storage hierarchy, structure of an operating system, basis chapter abstracts: process management, memory management. Introduction Computer Pioneers HistoryCharles Babbages Difference MachineHuman’s OS
2 System Structures Operating system services, operating system interfaces  (GUI and CLI), system calls and relation with operating system, system programs, MS-DOS structure, Unix system structure, microkernel  system structure, Mac OS X and Solaris system structure, virtual machines. OS Structures Research Assignment History of GUI

MsDOS Source Codes


[Thnx to my student Muhammed Ali Sürücü for the following suplimentary materials]

System Calls on Linux with code sample

Linux System Call Quick Reference


3 Process Concept Process, process scheduling, process synchronization, interoperating processes, process communication, inter process synchronization on server-client  Processes Process Creation Lab on Linux OS
4 MultiThreaded Programming Threads, multi-thread model, POSIX threads (Pthread),  Windows XP threads, Linux and Java threads  Threads Java Thread Library Coding
5 Synchronization Process synchronization, critical section problem, Peterson’s solution, hardware-base synchronization, semaphores, classical synchronization problems, monitor concept. Process Synchronization Semaphore implementationCode assignment aboutJava threads
6 Process Scheduling CPU scheduling subjects: scheduling criterias, multi CPU scheduling, scheduling algorithms, real-time scheduling, thread scheduling, examples from operating systems, Java thread synchronization code example. CPU Scheduling[Previous Version of the  Slide]  Research for Queue Systems Customer Queueing SystemSimulating QueueSabarimala Virtual Queue System 🙂
7   Midterm    
8 Deadlocks Deadlock problem, deadlock prevention methods, avoidance methods from deadlock, deadlock recovery. Classical deadlock problems and solutions, sample codes Deadlock  Deadlock avoidance implementation OS DeadlockBankers AlgorithmDeadlock in traffic
9 Memory Management Strategies Memory management, swapping, contiguous allocation paging, segmentation, segmentation with paging. Memory Management LitterateurResearch  How CPU Works?Fetch/Decode/ExecutePage Tables
10 Virtual-Memory Management Virtual memory, paging on demand, process creation, page reallocation, frame replacement, Segmentation on demand, examples from operating systems. Virtual Memory Management Book Reading LRU Approaximation: Second Chance (!)

Clock & Second Chance Algorithm s Presentation

11 Mass Storage Structure Disk Structure, Disk Scheduling, Disk Management, Swap-Space management  Mass Storage Structure  Research on Disk Drives
12 File System Interface File system interface, file concept, file access, file sharing and file protection, file associating.  File System Interface  Linux/Win8 File Management System Information
13 File-Systems Implementation File systems implementation, Allocation methods, free space management  File Systems Implementation  FAT32/NTFS Info
14 Case Studies Linux Systems, Windows 7
15   Final Exam    


Recommended or Required Reading     2. Silberschatz Galwin, Operating System Concepts with JAVA, Wiley, 20041. Andrew S. Tanenbaum, Albert S.Woodhull, The Minix book: Operating Systems – Design and Implementation- (3.rd Edition),Prentice Hall, 20062. Silberschatz Galwin, Operating System Concepts with JAVA, Wiley, 2004

Read the rest of this entry »

Posted in Operating Systems | Leave a Comment »

Bilisim Aglari ve Veri Haberlesmesi

Posted by cinsdikici on February 24, 2015

Ders Adı Bilişim Ağları ve Veri Haberleşmesi
Ders Kodu 8031002222009.1
Ders Gün/Saat Bilgisi Salı [17:00-18:40], Perşembe [17:00-18:40]
Derslik Bilgisi Ege M.Y.O, F22 Haberleşme Laboratuarı
Dersin Verildiği Program Önlisans, Ege M.Y.O. Elektronik Haberleşme Teknolojisi 2. Öğretim Programı
Dersin AKTS / Kredi Bilgisi  2.5 / 3
Dersin Teorik/Pratik Saati 2 + 2
Ders Dönemi Bahar (2.yıl 2.dönem)
Dersi Veren Öğretim Üyesi Doç.Dr.Muhammed Cinsdikici,, office phone: 3205
Dersin Veriliş Modeli Yüz-Yüze
Dersin Dili Türkçe
Dersin Asistanı
Ders için Ön Koşullar
Dersin Amacı Bilgisayar Ağları ile ilgili teorik alt yapının oluşturulması, bu altyapı üzerine pratik Ağ Topoloji Uygulamalarının yapılandırılması. TCP/IP ağının kurulumunun yapılandırılması.
Dersin Kitabı CCNA Intro Sınav Sertifikasyon Rehberi, Wendell Odom, Çeviren:Mehmet Önder/Hakan Karataş, ISBN: 975-322-406-0
Öğrenme Çıktıları(Seyhan Coşkun hazırladığı döküman kullanılmıştır)
  1. Veri iletişiminin temel kavramları hakkında bilgi sahibi olur.
  2. Standart ağ topolojileri ve cihazlarını öğrenebilme.
  3. TCP/IP protokolleri standart özelliklerini kavrayabilme ve açıklayabilme.
  4. Ağ protokolleri ve katmanlı mimariyi öğrenebilme
  5. LAN’lar ve WAN’ların standartları ve teknolojilerini öğrenebilme.
Dersin İçeriği TCP/IP Modeli, OSI Ağ Modeli, LAN/WAN Yapıları, IP Adresleme Temelleri, TCP/UDP Protokolleri, Anahtarlama, Yönlendirme, Sanal Ağlar, TCP/IP Topolojileri Oluşturma
Dersin Değerlendirilmesi %15 Ödevler + %30 Ara Sınav + %40 Final Sınavı + %15 Final Projesi–> Ödevlerde geç teslim ile ilgili bilgilendirme: Zamaninda teslim: 100/100 üzerinden1 Hafta gecikmeli : 80/100 üzerinden2 Hafta gecikmeli: 60/100 üzerindenSonraki teslimler: 0/100
Haftalık Bazda Detaylandirilmis Ders İcerikleri
  Teorik İçerik Sunum Lab Çalışması Ek İçerik
1 TCP/IP ve OSI Modelleri TCP/IP Protokol mimarisi, Uygulama/Taşıma/Ağlar Arası Katmanlar, Veri Paketleme, OSI Referans Modeli, a. Hafta1-Cinsdikici-Bilisim Aglari ve Veri Haberlesmesi
b. Hafta2-Cinsdikici-OSI ve TCP IP Modeli
2 Data Link (Veri Bağı) Katmanı ve LAN Temelleri OSI 2.Katman özellikleri, Data Link Katmanı Özellikleri, Adresleme, Ethernet Standartları, Frame Özellikleri Hafta3_4-Cinsdikici-Veri Bagi Katmani
3 WAN Temelleri Noktadan Noktaya (Point-to-Point) WAN Bağlantıları, Örnek: ATM/Sonet
4 IP Adresleme Temelleri OSI 3.katman temelleri, IP Adresleme Temelleri, IP Sınıflandırma, 3.Katman protokolleri, Adres Çözümlemeler, Yönlendirme ve Yönlendirme Protokolleri TEmelleri Hafta5-6_RAW-IP Temelleri  IP & Mask Usage (Subnetting)Subnetting Step-by-Step
5 TCP ve UDP Temelleri OSI 4.Katman temelleri, TCP protokolü, TCP port adresleme, hata düzeltimi, akış denetimi, UDP protokolü.  Hafta7-8_RAW-TCP and UDPHafta9-TCP_IP Services and Utilities  DHCP Configuration in Cisco Packet Tracer  IP Helper
Yönlendirme Cihazları Uygulaması / Anahtar Cihazları Uygulaması Simülatör kullanımı ile yönlendirici (router) yapılandırma / Simülatör kullanımı ile anahtar (switch) yapılandırma
7   ARA SINAV    
8 LAN Kablolama, Standartlari ve Topolojileri——————-LAN Topolojisinin Anahtarlar ile Kurgulanması UTP/STP kablolama, temelleri, Koaksiyel kablolama, Fiber Kablolama, Kablosuz İletişim——————————-Köprüleme/Anahtarlama, LAN bölütleme, Spanning Tree ve Gerekliliği  Hafta-10 Network Cihazları
9 Sanal LAN yapıları (Vlan) Sanal LAN yapısı, Trunk oluşturma, 802.1q protokolü, VLAN’ler arası geçiş trafiği
10 IP Adresleme ve Alt Ağ (Subnet) oluşturma IP Adresleme, Adres ve Alt ağ Çözümleme Yorumlama, HosT/Subnet ilişkisi, CIDR kavramı, Broadcast Uzayı  Hafta 11-IP Adresleme ve AltAg Kurulumlari
11 Yönlendirme Protokolleri (Routing) Yönlendirme Protokolleri, RIP/IGRP/BGP/OSPF protokolleri   Hafta 12- Yonlendrme-protokolleri
12 TCP/IP Temel İletişim Yazılımı TCP protokolü ile iki makine arasında iletişim sağlayacak C# yazılım geliştirme: Basit Tcp Server/Client, Sorunlu Tcp Server/Client, En İyi Server/Client kodlamaları
13 UDP/IP Temel İletişim Yazılımı UDP protokolü ile iki makine arasında iletişim sağlayacak C#yazılım geliştirme: Basit UDP Server/Client, Sorunlu UDP Server/Client, En İyi UDP Server/Client kodlamaları
14 Asenkron TCP/IP ve Çoklu TCP/IP yazilimlari Asenkron iletişim sağlayabilen TCP/IP server/client ve Thread’lerle kurgulanmış, çoklu TCP/IP Server kodlamaları


Recommended or Required Reading     1.C# Network Programming, Richard Blum, Sybex, ISBN: 978-0-7821-4176-4, 20022.Java Network Programming, Merlin & Conrad Hughes et.all, Manning, ISBN-13: 978-0138412067, 19973.CCNA ICND Sınav Sertifikasyon Rehberi, Wendell Odom, Çeviren:Muhammed Cinsdikici, Ali Yavuz Çakır, ISBN: 975-322-484-0Yazılım Paketleri:Cisco Packet Tracer 6.2. Student EditionCisco Packet Tracer 6.2. Student Edition TutorialCisco Aspire Game for Network Admins

Read the rest of this entry »

Posted in Bilisim Aglari | Leave a Comment »

UBI 544 – Distributed Systems

Posted by cinsdikici on February 3, 2013

Course Time:

Wednesday, 09:30-12:00


UBE, Room 103


Assoc.Prof.Dr.Muhammed G. Cinsdikici,

Office Hours:

Wednesday, 13.30-15.30

Office Phone:



Elif Acar Haytaoglu,

Office Phone:




Overview of Operating Systems, Process Synchronization and Deadlocks, Threads and Thread Synchronization, Synchronization In Distributed Systems, Management of Time: Logical Clocks, Vector Clocks, Global States, Termination Detection. Distributed Mutual Exclusion: Central Algorithms, Lamport’s Distributed Algorithm, Token Based and Heuristic Algorithms. Distributed Deadlock Detection: Centralized and Distributed Algorithms, Election Algorithms, Agreement Protocols : Byzantine Agreement, Dynamic Scheduling in Distributed Systems, Static Scheduling in Distributed Systems, Distributed File Systems, Fault Tolerance in Distributed Systems, Distributed Real-Time Systems.


Operating Systems and Network Programing graduate/undergraduate level.


1.** Advanced Concepts in Operating System, Mukesh Singhall and Niranjan Shivaratri, McGraw-Hill, 1994.2.** Distributed Computing: Principles, Algorithms, and Systems, Ajay D. Kshemkalyani, Chicago Mukesh Singhal, Cambridge Press, 2008, ISBN-13: 97805218763463.* Distributed Systems: Principles and Paradigms 2/E, Andrew S. Tanenbaum, Maarten van Steen, Prentice-Hall, 20084. Advanced .Net Remoting (C# Edition), Ingo Rammer & Mario Szpuszta, Apress, 2001.

5. InterProcess Communications in LINUX, John Shapley Gray, Prentice Hall, 2003

Bookstore Info –>


All Projects are due at the beginning of class. Due dates for projects will be announced at least a week ahead of time. No late submission will be accepted!.


Students will have one final exam. Students will be tested on all material covered from lectures and text. Exams will test student’s ability of solving problems and understanding of concepts.


 %15 Hmwrks + %15 Final Project + %30 MidTerm Exam + %40 Final Exam

Late Submission:

Late submission of projects will not be accepted.

Course Topics:

Lectures: Lecture01 – Introduction / Definition / Concepts

* Expanded by Paul Barry and Muhammed Cinsdikici chapter 01.ppt

* Tanenbaum Chapter 1-Introduction

* Tanenbaum Chapter 2-Architecture

* Kayhan_Erciye? CS633 03 chapter 1.ppt

* Prof.Dr.Stefan Leue (University of Freiburg)chapter 1.pdf

* Ihor Kuz (Urniversity_of_new_south_wales)chapter1.pdf

Lecture02 – Communication

* Cisco Systems OSI Model Presentation

* Expanded by Paul Barry and Muhammed Cinsdikici chapter 02.ppt

* Tanenbaum Chapter 4-Communication

* Prof.Dr.Stefan Leue (University of Freiburg)chapter 2.pdf

* Ihor Kuz (Urniversity_of_new_south_wales)chapter2.pdf

* Muhammed Cinsdikici MPI-Programming-Presentation.ppt

Lecture03 – Processes / Threads

* Threads

* Processes,

*Migration (University of Victoria Lecture Notes for Tanenbaum)

* Tanenbaum Chapter 3-Threads

* Expanded by Paul Barry and Muhammed Cinsdikici chapter 03.ppt

Thread Synchronization Sample Codes

Lecture04 – RPC/RMI

* RPC.ppt,

* RPC_Programming.ppt,

* Advanced-Socket Programming.ppt

* Jhon Shapley Gray, “IPC on Linux”, Chapter RPC.

* Geylani-RMI-Presentation.ppt

* Geylani-RMI Sample Codes

Lecture05 – Naming

* Expanded by Paul Barry and Muhammed Cinsdikici chapter 04.ppt

* Tanenbaum Chapter 5-Naming

* Ihor Kuz (Urniversity_of_new_south_wales)chapter11.pdf

Lecture06 – Synchronization

* Expanded by Paul Barry and Muhammed Cinsdikici chapter 05.ppt

* Tanenbaum Chapter 6-Synchronization / Elections / Mutual Exclusion

* Kayhan_Erciye? CS633 03 chapter 4.ppt

* Prof.Dr.Stefan Leue (University of Freiburg)chapter 3.pdf

* Ihor Kuz (Urniversity_of_new_south_wales) Sync-Part I.pdf & Sync-Part II.pdf

* Clocks (University of Victoria Lecture Notes for Tanenbaum)

* Supper-Clocks-Presentation-aos-5.ppt

* Clocks-Presentation-ch2.pdf

* MainClocks.htm

Lecture07 – Election Algorithms / Mutual Exclusion

* Mutual Exclusion-UVA-Comp.Science.pdf

* Tanenbaum Chapter 6-Synchronization / Elections / Mutual Exclusion

* Daniel Manasce-Sync in Dis.Systems.pdf

* Andrew Tanenbaum-7/e . chapter 06.ppt

* A Toolkit for the Simulation of Distributed Algorithms in Java.html

Lecture08 – Distributed Deadlock

* Distributed Deadlock

* Deadlocks in Distributed Systems

* Chandy-Misra-Haar’s Distributed Deadlock Detection

* Distributed DBMS Advanced Topics

Lecture09 – Agreement Protocols

* Agreement Protocols

* Byzantine Generals

* Consensus Concepts

Lecture10 –Fault Tolerance


Projects / Assignments:

Assignment 01 – Assignment#0Assignment 02 – Assignment#1Assignment 03 – Assignment#2Assignment 04 – Assignment#3Assignment 05 – Assignment#4Final Project – FINAL PROJECT

Posted in Distributed Systems | Leave a Comment »