Academy

Open course notes in engineering, computer science, software, artificial intelligence, electronics, mathematics, cybersecurity and related fields.

Academy brings together openly accessible course notes I have prepared in computer science, software, artificial intelligence, electronics, mathematics, cybersecurity, and related engineering fields. You can select a subject directly from the course list below.

Conceptual progression between courses is shown on the individual course pages through suggested prerequisites and next courses. This allows you to begin with the subject you need and continue through related courses without imposing a single mandatory curriculum.

Current technical analyses and engineering articles are published under Blog, while concise conceptual references are available in Wiki. Video lectures for some courses are available in the Engineering Lecture Videos playlist; the current recordings are primarily in Turkish.

Digital Logic Design

Digital-logic course notes covering Boolean algebra, Karnaugh maps, combinational and sequential circuits, flip-flops, counters, registers and state machines together with CDC, metastability, hazards, synthesis, and static timing.

Data Structures and Algorithm Analysis

Course notes on complexity, core data structures, trees, hash tables, graphs, sorting and searching, extended with divide-and-conquer, greedy and dynamic programming, amortized/randomized analysis, and NP-hardness boundaries.

Java Programming

A comprehensive Java programming course covering syntax, types, control flow, methods, object-oriented programming, arrays, exceptions, file I/O, generics, collections, concurrency, the JVM, JDBC, and production behavior with executable examples.

Discrete Mathematics: Sets, Logic, Relations and Graphs

Discrete-mathematics course notes covering sets, counting, logic, relations, functions and graph theory together with recurrence relations, graph coloring, invariants, induction, and algorithmic verification.

Differential Equations: First- and Second-Order Equations

Course notes on first- and second-order ordinary differential equations, initial/boundary-value problems, vibration and resonance together with systems of ODEs, eigenvalues, phase planes, and local linearization.

Circuit Theory: Theory, Analysis, Design, and Practice

Comprehensive course notes covering circuit theory from fundamental electrical quantities and Kirchhoff’s laws to AC analysis, transient response, two-port networks, Fourier methods, and Laplace methods, combining theory, problem solving, and application.

Object-Oriented Programming with C++

Detailed C++ notes on classes, object lifetime, references, resource management, overloading, inheritance, polymorphism, streams and the standard library.

C Programming Fundamentals

A comprehensive C programming course covering algorithms, pointers, memory, file I/O, the preprocessor, translation units, linkage, callbacks, alignment, aliasing, and ABI boundaries.

Introduction to Computer Engineering

An advanced systems-oriented course note connecting data representation, digital logic, processor architecture, operating systems, concurrency, databases, networking, security, real-time systems, performance engineering, and artificial intelligence.