Algorithm Design and Analysis
What is an Algorithm
Important Problem Types
The Analysis Framework
Asymptotic Notations
Mathematical Analysis of Nonrecursive Algorithms
Mathematical Analysis of Recursive Algorithms
Brute Force - Selection Sort and Bubble Sort
Sequential Search and Brute Force String Matching

Function Prototypes
Local Variables
Global Variables
Static Variables
Passing Pointers as Parameters
Passing Struct Pointers to Functions
Passing Arrays to Functions
Struct Arrays
Dynamic Memory, malloc(), free()
Dynamic Memory, realloc(), calloc()
Pointer Arithmetic
Command Line Arguements
Multidimensional Arrays
Type Casting
Void Pointers, NULL Pointers
Multifile Projects
Preprocessors, #include, #define, #if, #ifdef
Dynamic 2D Array with Double Pointer
Pointers to Functions
Variable Argument Lists
FILE Keyword
fopen(), fclose()
printf(), fprintf()
scanf(), fscanf()
gets(), fgets()
getc(), fgetc(), getchar()
puts(), fputs()
putc(), fputc(), putchar()
fseek(), rewind(), ftell()
fread(), fwrite()
feof(), ferror(), perror(), clearerr()
rename(), remove()
tmpfile(), tmpnam()
setbuf(), setvbuf(), fflush()
strcmp(), strncmp()
strcat(), strncat()
strchr(), strrchr()
strcpy(), strncpy()
strspn(), strcspn()
Math Library
sin(), cos(), tan()
asin(), acos(), atan()
asctime(), ctime()
Random Numbers Within a Given Range
Linear Search
Binary Search
Bubble Sort
Recursive Bubble Sort
Insertion Sort
Selection Sort
Quick Sort
Merge Sort
Hash Table
Hash Table with Struct
Comparison of Sorting Algorithms
Linked List
Binary Tree
Bank Customer Management Project
Calendar App
Snake Game
Contact Management Application

Hello World in CPP
Working with Strings
Looping and Counting
Working with Batches of Data
Organizing Program and Data
Using Sequential Containers and Analyzing Strings
Using Library Algorithms
Using Associative Containers
Writing Generic Functions
Defining New Types
Managing Memory and Low Level Data Structures
Defining Abstract Data Types
Making Class Objects Act Like Values
Using Inheritance

Introduction to CSS
Text in CSS
Lists, Tables, Forms

Computer Vision
Images and NumPy
Basic Operations
Mouse Events
Blending, Pasting
Drawing on Camera
Template Matching
Corner Detection
Edge Detection
Grid Detection
Contour Detection
Feature Matching
Watershed Algorithm
Watershed with Custom Seeds
Gaussian Blur
Median Blur
Bilateral Filter
Face Detection with Haar Cascades
Plate Detection
Template Matching Methods
Template Matching with Multiple Objects
Sliding Window
Harris Corner Detection
Good Features to Track
Canny Edge Detection
SIFT - Scale Invariant Feature Transform
SIFT Application in OpenCV
SURF - Speeded-up Robust Features
Binary Robust Independent Elementary Featutures
Oriented FAST and Rotated BRIEF
Brute Force Feature Matching
Object Tracking - Optical Flow
Optical Flow on Python
Object Tracking - Meanshift
Object Tracking - CamShift
Object Tracking - BOOSTING Tracker
Object Tracking - MIL Tracker
Detecting Spongebob Characters

Data Mining
Definition of Problem
Preparing Data
Measuring Performance of Regression
Measuring Performance of Classification
Unsupervised Learning, Clustering
Partitioning Based Methods
Hierarchical Methods
Testing and Validation
Data Analysis, Python, NumPy
Data Analysis, Python, Pandas

Deep Learning
Neural Networks - Introduction
Forward Propagation
Activation Functions
Loss Functions
Back Propagation
Epoch, Batch Size, Iteration
Convolutional Neural Networks - Introduction
Convolutions, Image Features
Depth, Stride, Padding
Activation Layer, Pooling Layer
CNN - Building a Model in Python
CNN - Handwritten Digit Recognition
CNN Visualization
CNN - Cat Dog Classifier
Data Augmentation
Callbacks, Checkpoints, EarlyStopping
Building LeNet Model
Building AlexNet Model

Installiation and Settings
Starting an Application
Customizing Admin Panel
Using ORM
URL Structure
Static Files
Inheritance, extends
Adding Navbar and About Page
Dynamic URL and Sending Objects to HTML
URLs for Applications
Register Form, Saving Users
Messages in Django
Login Page
Crispy Forms
Logout, Session Control, Navbar
Adding Articles
Articles in Dashboard
Article Detail
404 Page
Bootstrap Files, collectstatic
CKEditor and Code Sharing
File Upload
Updating and Deleting Articles
Articles Page, Adding Code Snippet
Filters, Read More, Dynamic Href
Searching the Articles
Creating and Showing Comments

AND Gate with Transistors
OR Gate with Transistors
NOT Gate with a Transistor
XOR Gate with Transistors
Breadboard Computer - Clock Module
Breadboard Computer - SR Latch
Breadboard Computer - D Latch
Breadboard Computer - 1-bit Register
Breadboard Computer - 8-bit Register
Breadboard Computer - Arithmetic Logic Unit
Breadboard Computer - 64-bit Random Access Memory
Breadboard Computer - Address Register for RAM

Introduction and URL Structure
HTML Templates
Template Inheritance, Blocks
Creating Navbar with Bootstrap
Conditions, If-Else, Loops
Dynamic URL Creation
Database Connection, flask-mysqldb
wtForms, Register Form
GET, POST, Register Page
Flash Messages
Login, Login Page
Articles, Dashboard
Page for Articles
Dynamic URL for Articles
Updating, Deleting Articles
Searching Articles
ORM, SQLite, Installation
Interface of To-Do App
ORM, Adding, Deleting, Updating Data
To-Do App Final
User Login Control for Functions

Creating Lists
Images in HTML
Flash, Audio, Video

Fonksiyon Kullanımı
Getter, Setter Methodlar ve This
Inheritance, Super, Override
Polymorphisim, instanceof
Kart Oyunu
for-each Loop
Autoboxing, Unboxing
String Class, length, charAt, startsWith, endsWith
Strings, indexOf, LowerUpperCase, ValueOf
Static Keyword
Non-static Inner Classes
Static Inner Classes
Local Inner Classes
Anonymous Inner Classes, abstract Keyword
Generic Class
Generic Method
Access Modifiers
HashMap, LinkedHashMap, TreeMap
HashSet, LinkedHashSet, TreeSet
hashCode(), equals()
HashMap ile Karakter Frekansı
Comparable, CompareTo
Comparator, Compare
Vector, Stack
Iterator vs ListIterator
Iterable Interface, Creating Own Iterable Class
Using LinkedList as Queue
Exception Handling, Try, Catch, Finally
Exception Handling, Throw, Throws
Exception Handling, Creating Own Exception Classes
FileInputStream, FileOutputStream
Try With Resources
BufferedReader, BufferedWriter
Serialization, ObjectOutputStream
Serialization, ObjectInputStream
Serialization, Arrays and Collections
Serialization, Transient
Creating Threads, Extending Thread Class
Creating Threads, Implementing Runnable Interface
Creating Threads, Anonymous Thread Class
Join, Synchronized
Multiple Locks
ThreadPool, ExecutorService
BlockingQueue, ProducerConsumer
wait, notify
ProducerConsumer with wait, notify
ReentrantLock, Condition Class, await, signal
DeadLock, tryLock
Callable, Future, Return from Threads
Database Connection
Database Connection, Commit, RollBack
Draw App
GUI, Dynamic Search
GUI, Graphics
GUI, JColorChooser, JFileChooser
GUI, ProgessBar
Workers App
Space Game
Bank Customer Management Project in Java
Pong Game
Snake Game in Java

Introduction, Variables, Objects
Strings in JavaScript
Exception Handling
Functions in JavaScript
Objects and Inheritance
Arrays in Javascript
Regular Expressions

Basic Math and Matrix Operations
Elements of Matrices and String Arrays
Input, Output
Loop Examples
File Handling, Excel
File Handling, Txt
Functions in MATLAB
linspace(), datetime(), isweekend(), findpeaks()
Math, Matrix Functions
Symbolic Numbers, syms
assumptions(), assume(), assumeAlso()
Equation Solving, numden, expand, horner, divisors
Equation Solving, solve()
Graphs in MATLAB
File and Folder Operations
Image Processing, Introduction, RGB
Image Processing, map, load trees
Image Processing, Broken Candy Project
Image Processing, Coin Area Project
Image Processing, Plane Project
Image Processing, Finding Circles
Image Processing, Finding Circles - 2
Artificial Neural Networks, Fitting
Computer Vision, Plate Recognition Project

Hello World in MIPS
Printing Integers, Chars, Floatings, Strings
Load Immidiate, Load Adress, li, la
Adding and Subtracting Integers
Multiplication and Division with Integers
Functions in MIPS
Function Arguments
Taking Inputs from User
If Statements
Shifting Operations
For Loop
While Loop
Arrays, Load Word, Store Word
Floating Point Arithmetic
Bit Manipulation
Instruction Reference

Machine Learning
Preprocessing, Data Import, Missing Values
Data, Encoding
Normalization, Standardization, train_test_split
Simple Linear Regression
Multiple Linear Regression, Preprocessing
MLRegression, Fitting, Backward Elimination
Polynomial Regression
Support Vector Regression
Decision Tree Regression
Random Forest
Logistic Regression
K Neirest Neighborhood
Support Vector Machine
Naive Bayes
Decision Tree Classifier
Random Forest Classifier
Visualization - 3D Visualization
Visualization - Comparison of Classifiers
Iris - Classification
Iris - Classification with Visualization
Hierarchical Clustering
Upper Confidence Bound
Thompson Sampling
Natural Language Processing
Neural Networks
Principal Component Analysis
Linear Discriminant Analysis
k-fold Cross Validation
Grid Search, Hyperparameter Optimization
Saving and Loading Models

Introduction and Installiation
Reading and Writing Images
Reading, Writing Videos and Accessing Camera
Drawing Shapes, Line, Circle, Rectangle
Paint Application
Changing Color with Trackbar
Combining Two Images, addWeighted()
Sliding Images
Rotating Images
Converting Images to Grayscale
Scaling, Resizing
Drawing Polygons
Image Pyramids, Cropping
Brightness Control
Bitwise Operations
Blurring in OpenCV
Image Thresholding
Adaptive Thresholding
Morphological Transformations
Detecting Edges
Perspective Transformation
Live Scetch with Webcam
Ordered Contours and Approximation Contours
Matching Contours
Line and Circle Detection with Hough
Template Matching in OpenCV
Blob Detection
Corner Detection in OpenCV
Object Tracking with HSV Values
Face Detection, Haar Cascades

Parallel Programming
Concurrency, Multiprocessing, Parallelism
fork, pid, Zombie Process
pipe(), Unnamed Pipes
fork() and pipe()
FIFOs, Named Pipes
File Locking, Setting and Clearing a Lock
File Locking Exercise
Message Queues
Message Queues Example
Shared Memory Segments
Shared Memory Segments Example
Message Passing Interface
MPI - Send, Receive
MPI - Broadcast
MPI - Scatter, Gather

Popular Algorithms
Tower of Hanoi
Johnson and Trotter
Lexicographic Permute
Binary Reflected Gray Code
Binary Search Algorithm
Quick Select
Interpolation Search
Counting One Bits
Merge Sort Algorithm
Quick Sort Algorithm

input(), print()
Tuples, Dictioneries
Conditions, if, elif, else
for loop and in keyword
for loop and range() function
List Comprehension
Functions in Python, lambda, global
Modules, math, random, time
Object Oriented, Classes
Object Oriented, Inheritance, super()
Exception Handling, try, except, finally
File Operations in Python, open()
File Operations in Python, read(), readlines()
File Operations in Python, tell(), seek()
Numerical and String Operations
Set and List Operations
SQL Connection and Data Manipulation
Advanced Functions, args, kwargs
Advanced Functions, Decorators, Nested Functions
Generators, yield
Time Operations, datetime module
os and sys modules
Scraping Websites with BeatifulSoup
Getting IMDB Top 250 Movies with BeautifulSoup
Mail Operations with smtp
Image Manipulation, Pillow
PyQt5, Adding Button, Label and Image
PyQt5, Layouts, Adding Functions
PyQt5, QLineEdit
PyQt5, User Login
PyQt5, User Login with Database Connection
PyQt5, Usage of Checkbox
PyQt5, Usage of RadioButton
PyQt5, Creating Menu and Shortcuts
PyQt5, QTextEdit, QFileDialog, Notepad Project
PyQt5, Notepad Application with Menu
PyQt5, Designing Forms with QtDesigner
NumPy, Arrays
NumPy, Indexes, Filters
NumPy, Operators and Array Operations
Pandas, Series
Pandas, DataFrames
Pandas, MultiIndexes
Pandas, Missing Values, NaN
Pandas, Importing and Exporting Data
Pandas, Operations, groupby, join, merge
Matplotlib, Creating and Designing Graphs
Creating Executable Files
Selenium Installation, First Project, eksisozluk
Selenium, Random Pages, Entries from eksisozluk
Selenium, Instagram Auto Login
Selenium, Writing Instagram Followers to a File
Scrapy, Installation
Scrapy, Creating Spyders, quotestoscrape
Scrapy, Selectors, XPath, CSS
Scrapy, Writing Data to Json File
Scrapy, Following Links
Scrapy, kitapyurdu top100
Scrapy, sinemalar.com top1000
Scrapy, IMDB top250
map(), reduce(), filter(), zip(), enumerate()
The Walrus Operator and Positional-only Arguments

SQL Komutları
String İşlemleri
Veri Tipleri

Son Yorumlar
Merhaba, orijinal OpenCV dokümanları başlangıç için yeterli olacaktır: https://docs.opencv.org/master/d6/d00/tutorial_py_root.html | Thresholding
Dostum çalışmaları böyle yayınladığın için teşekkürler. Computer Vision çalışırken nasıl bir yol haritası izledin , hangi kaynakları kullandın acaba. İyi çalışmalar. | Thresholding
Hello | Dashboard

Breadboard Computer - Address Register for RAM

Kategori: Electronics, 08 Ağustos 2020
Breadboard Computer - Address Register for RAM

Bir önceki yazımda RAM modülünü tamamlamıştık. Fakat önceki modülde adresleri jumper kabloları değiştirerek belirliyorduk. Bu yazımda adresleri direk bus üzerinden çekip adres register'ında tutacağız.

Bu işlem aslında oldukça basit. Bus'tan adresi çekip register'a gönder. ... Devamını Oku

JanFranco | 3 | 0 | 1 min read

Breadboard Computer - 64-bit Random Access Memory

Kategori: Electronics, 29 Temmuz 2020
Breadboard Computer - 64-bit Random Access Memory

Bu yazımda breadboard bilgisayarın random access memory kısaca RAM modülünü göreceğiz. Daha önceki yazılarımda 8-bitlik register modüllerini (register A, register B) görmüştük. Eğer 16 byte boyutunda bir hafızaya ihtiyacımız var ise bu ihtiyacı 16 farklı ... Devamını Oku

JanFranco | 13 | 0 | 2 min read

Breadboard Computer - Arithmetic Logic Unit

Kategori: Electronics, 24 Haziran 2020
Breadboard Computer - Arithmetic Logic Unit

Bu yazımda breadboard bilgisayarın arithmetic logic unit kısaca ALU modülü tamamlayacağız. Bu modülü oluşturabilmek için önceki yazılarımda tamamladığımız iki adet 8-bit register modülüne, işlemin sonucunu bus'a aktarabilmek için 1 adet 74LS245 entegresine, toplama işlemini gerçekleştirebilmek ... Devamını Oku

JanFranco | 22 | 0 | 2 min read

Sequential Search and Brute Force String Matching

Kategori: Algorithm Design and Analysis, 12 Haziran 2020
Sequential Search and Brute Force String Matching

Brute force algoritmalarını görmeye devam ediyoruz, bu kez sequential search ve string matching algoritmalarına bakacağız:

 Algorithm SequentialSearch(A[0..n], K) A[n] <- K i <- 0 while A[i] != K do i <- i + ...
Devamını Oku

JanFranco | 55 | 0 | 3 min read

Brute Force - Selection Sort and Bubble Sort

Kategori: Algorithm Design and Analysis, 11 Haziran 2020
Brute Force - Selection Sort and Bubble Sort

Algoritma analizlerini görmüştük. Artık algoritma türlerine giriş yapabiliriz. İlk bahseceğimiz algoritma türü Brute Force olacaktır. Brute force algoritmalarda bir kaba kuvvet söz konusudur. Çok kolay tasarlanıp implement edilebilir fakat diğer algoritmalara göre daha yavaş çalışabilirler. ... Devamını Oku

JanFranco | 30 | 0 | 2 min read

Mathematical Analysis of Recursive Algorithms

Kategori: Algorithm Design and Analysis, 10 Haziran 2020
Mathematical Analysis of Recursive Algorithms

Recursive olmayan algoritmaların analizini gördük. Bu bölümde recursive algoritmaların analizini yapacağız. Bir örnekle başlayalım:

 Algorithm F(n) if n = 0 return 1 else return F(n - 1) * n 
Bu algoritmaya ilk ... Devamını Oku

JanFranco | 66 | 0 | 3 min read

Mathematical Analysis of Nonrecursive Algorithms

Kategori: Algorithm Design and Analysis, 05 Haziran 2020
Mathematical Analysis of Nonrecursive Algorithms

Bu bölümde örneklerle algoritmanın efektifliğini ölçeceğiz. Aşağıdaki algoritma ile başlayalım:

 Algorithm MaxElement(A[0..n-1]) maxval <- A[0] for i <- 1 to n - 1 do if A[i] > maxval maxval <- A[i] return maxval ...
Devamını Oku

JanFranco | 72 | 0 | 2 min read

Asymptotic Notations

Kategori: Algorithm Design and Analysis, 03 Haziran 2020
Asymptotic Notations

Bir önceki yazımda da belirttiğim gibi algoritmaların etkinliği büyüme oranı ile ölçülür. Bu değerlerin karşılaştırılması ve ifade edilebilmesi için asymptotik ifadeler kullanılır: Oh, Theta, Omega. Bunları incelemeden önce kullanacağımız bir kaç fonksiyondan bahsedeyim. t(n) dediğimde ... Devamını Oku

JanFranco | 43 | 0 | 2 min read

The Analysis Framework

Kategori: Algorithm Design and Analysis, 31 Mayıs 2020
The Analysis Framework

Bu bölümde algoritmaların analizini yapacağız, verimlilikleri ölçeceğiz. Verimliliği iki ana kısımda inceleyebiliriz: Time efficiency ve space efficiency. Zaman verimliliği aynı zamanda time complexity olarak da geçer ve bir algoritmanın hızını baz alır. Yer verimliliği ise ... Devamını Oku

JanFranco | 70 | 0 | 3 min read

Important Problem Types

Kategori: Algorithm Design and Analysis, 30 Mayıs 2020
Important Problem Types

Bu yazımda önemli problem tiplerinden bahsedeceğim. Tabi ki problemleri tek tek sınıflandıramayız fakat göreceğimiz, çözeceğimiz problemlerin çoğunluğunu aşağıdaki problem tipleri oluşturacaktır:

Sorting (sıralama): Sıralama problemleri, bir listedeki, dizideki elemanların büyükten küçüğe veya küçükten büyüğe ... Devamını Oku

JanFranco | 67 | 0 | 2 min read