Bilgisayar ve Programlamaya Giriş · Prerequisites
Prerequisites for Computer Fundamentals and Introduction to Programming
The course assumes no programming experience. This page lists the everyday computer skills and school mathematics the 21 decks of the 12 chapters rely on, which decks use each topic, and two quick self-check questions per topic. Open a card with Details & self-check; click a question to reveal its answer. After each deck, practise with its study-question page (Çalışma Soruları), linked in the deck-by-deck map at the bottom.
Minimum core. Typing accurately and finding your files, the four operations with integer quotient and remainder (/ and %), percentages and averages, letters standing for numbers, and/or/not, and following steps in order. Java itself is taught from zero in Ch. 5; if a topic here is shaky, a short review in the first weeks is enough.
Terminology. The TR line gives the Turkish terms used in the slides; the full list is in the course glossary.
Computer use basics
Keyboard and mouse, careful typing, files and folders, the web and e-mail, and installing software. Ch. 1–3 build on these and every Java lab assumes them.
Keyboard, mouse & shortcuts
TR keyboard shortcut: klavye kısayolu; copy / cut / paste: kopyala / kes / yapıştır; drag and drop: sürükle-bırak
You should be able to select, copy, move and undo quickly with the keyboard; the Windows and Office decks list many more shortcuts on top of these.
Needed in Ch. 1 · Hardware Ch. 2 · Windows Ch. 3 · Word Ch. 3 · Excel Ch. 3 · PowerPoint
- Mouse: single click selects, double click opens, right click opens the context menu, drag moves (or copies with Ctrl held).
- Text selection: Shift + arrow keys extend a selection; Ctrl + A selects everything; double click selects a word.
- The core shortcuts: Ctrl + C (copy), Ctrl + X (cut), Ctrl + V (paste), Ctrl + Z (undo), Ctrl + Y (redo), Ctrl + S (save), Ctrl + F (find).
- Window and system shortcuts used in Ch. 2: Win + E (File Explorer), Win + D (show desktop), Alt + Tab (switch windows), Win + Shift + S (screenshot area).
Self-check
You press Ctrl + X on a selected paragraph and then Ctrl + V somewhere else. What happened to the paragraph?
It was moved: cut removes it from the old place and paste inserts it at the new place (Ctrl + C would have copied it instead).
You deleted a sentence by mistake. Which shortcut brings it back?
Ctrl + Z (undo).
Accurate typing & special characters
TR case-sensitive: büyük-küçük harfe duyarlı; semicolon: noktalı virgül; syntax error: söz dizimi hatası
Java is unforgiving: one wrong capital letter or missing semicolon stops compilation. You need to type code exactly, including symbols that are awkward on a Turkish keyboard.
Needed in Ch. 2 · Windows Ch. 5 · Java & First Program Ch. 6 · Variables & Operators Ch. 7 · Conditionals Ch. 11 · Strings
- Java is case-sensitive:
System,systemandSYSTEMare three different names; only the first one exists. - Symbols you will type daily:
; { } ( ) [ ] " ' + - * / % = < > ! & |. - On the Turkish Q layout the brackets are on AltGr: AltGr + 7 gives
{, AltGr + 8[, AltGr + 9], AltGr + 0}. Switching layouts (Win + Space) is covered in the Windows deck. - Distinguish look-alikes: the digit 0 and the letter O, the digit 1 and the letter l, the straight quote
"and the curly quotes “ ” that Word inserts (Java rejects the curly ones). - Turkish dotted/dotless i (i, ı, İ, I) matters in identifiers and in string comparisons (Ch. 11, “Türkçe Karakter ve Locale”).
Self-check
Will Java accept system.out.println("Hi");?
No. The class is System with a capital S; javac reports that it cannot find system.
On a Turkish Q keyboard, how do you type { and }?
AltGr + 7 and AltGr + 0.
Files, folders, paths & extensions
TR folder (directory): klasör; file extension: uzantı; absolute path: mutlak yol; relative path: göreli yol
Programs are files in folders. You must know where you saved a file, what its full name (with extension) is, and how a path such as C:\Ders\Hafta1\Merhaba.java is read.
Needed in Ch. 1 · Hardware Ch. 2 · Operating Systems Ch. 2 · Windows Ch. 3 · Word Ch. 5 · Java & First Program
- A path lists the folders from the drive (root) down to the file: drive
C:, foldersDersandHafta1, fileMerhaba.java. - The extension (the part after the last dot) tells the type:
.docx,.xlsx,.pptx,.pdf,.txt,.java(source code),.class(compiled bytecode). Turn on “File name extensions” in File Explorer so you can see them. - A relative path starts from the current folder:
.is the current folder and..its parent. - Java rule (Ch. 5): a
public class Merhabamust be saved in a file named exactlyMerhaba.java. - Organize course work in one folder per week or per chapter; avoid saving everything to the Desktop or Downloads.
Self-check
In C:\Users\Ali\Documents\odev\Merhaba.java, what is the extension and which folder contains the file?
The extension is .java; the file is in the folder odev (whose parent is Documents).
The current folder is C:\Ders\Hafta1. Where does the relative path ..\resim.png point?
To C:\Ders\resim.png: .. goes up one level to C:\Ders.
Web browser, search & e-mail
TR web browser: web tarayıcısı; search engine: arama motoru; attachment: ek; phishing: oltalama
You will download course material, look up error messages, and send assignments by e-mail or a learning platform; Ch. 1 also explains how URLs, DNS and e-mail work behind the scenes.
Needed in Ch. 1 · Basic Concepts Ch. 1 · Internet Ch. 1 · Computational Thinking Ch. 11 · Strings
- Read a URL from left to right: protocol (
https), domain name (www.example.edu.tr), then the path on the server (/duyurular). - Search effectively: put an exact error message in quotes, add the language name (“java”), and prefer official documentation.
- An e-mail address has a user name,
@, and a domain. Write a clear subject, attach files (check the attachment before sending), and reply to the right person. - Safe habits: strong unique passwords, multi-factor authentication, and suspicion towards unexpected links and attachments (phishing).
- Ch. 11 splits an e-mail address into user and domain with
indexOf('@')andsubstring, so the structure should be familiar.
Self-check
In https://www.example.edu.tr/tr/duyurular, which part is the domain name?
www.example.edu.tr; https is the protocol and /tr/duyurular the path.
In the address ali.veli@ogr.example.edu.tr, what is the part before @ and what is the part after it?
Before: the user name ali.veli; after: the domain ogr.example.edu.tr.
Installing & updating software
TR install / uninstall: kurulum / kaldırma; update: güncelleme; operating system: işletim sistemi
Before the programming chapters you must install a JDK and an editor yourself, so you need to download installers from official sources, run them and check the installed version.
Needed in Ch. 2 · Operating Systems Ch. 2 · Windows Ch. 5 · Java & First Program
- Download only from the vendor's own site or the official store; avoid “free download” mirrors and cracked software.
- Know your system: Settings → System → About shows the Windows edition and whether it is 64-bit.
- Install, then verify: open the program (or a terminal) and check the version it reports.
- Keep the operating system and browser updated; uninstall programs from Settings → Apps, not by deleting their folder.
Self-check
Where in Windows 11 do you see whether your system is 64-bit?
Settings → System → About, under “System type”.
Why should you not uninstall a program by just deleting its folder in C:\Program Files?
Its shortcuts, registry entries and settings stay behind and the system still thinks it is installed; use Settings → Apps (or the program's uninstaller).
Arithmetic & numbers
Order of operations, whole versus decimal numbers, quotient and remainder, percentages and averages, powers and number bases.
Arithmetic & order of operations
TR operator precedence: işlem önceliği; expression: ifade; formula: formül
Excel formulas and Java expressions follow the school rules: parentheses first, then multiplication and division, then addition and subtraction, and equal-precedence operators left to right.
Needed in Ch. 3 · Excel Ch. 6 · Variables & Operators Ch. 7 · Conditionals
- Precedence: ( ) → powers (Excel
^; Java has no power operator, it usesMath.pow) →* / %→+ -. - Same level is evaluated left to right:
12 / 3 * 2is (12 / 3) · 2 = 8, not 12 / 6. - When in doubt, add parentheses; they cost nothing and make the intent clear.
- Unary minus and comparisons also have places in the table; Ch. 3 (Excel) and Ch. 6 (Java) show both tables.
Example (Ch. 6). In Java, "Sonuç: " + 2 + 3 evaluates left to right and gives the text Sonuç: 23, whereas "Sonuç: " + (2 + 3) gives Sonuç: 5.
Self-check
Compute 2 + 3 * 4 and (2 + 3) * 4.
14 and 20.
Compute 10 - 4 - 3 (left to right).
(10 − 4) − 3 = 3 (not 10 − 1 = 9).
Whole numbers vs. decimal numbers
TR integer: tam sayı; floating-point number: ondalıklı sayı; rounding: yuvarlama; truncation: kesme
Computers store whole numbers and decimal numbers differently. Knowing which kind a calculation needs explains why 5 / 2 is 2 in Java but 2.5 on a calculator.
Needed in Ch. 1 · Computers Ch. 3 · Excel Ch. 6 · Variables & Operators Ch. 7 · Conditionals
- Integers (…, −2, −1, 0, 1, 2, …) are exact; Java's
intholds them up to 2 147 483 647. - Decimal numbers are stored approximately (Ch. 1, “0,1 Neden Tam Değil?”):
0.1 + 0.2prints0.30000000000000004in Java. - Rounding vs truncation: 3.99 rounded to the nearest integer is 4, truncated (cut off) it is 3. Java's
(int) 3.99truncates to 3. - Notation: Turkish writes 3,14 and Excel (Turkish locale) follows that; Java source code always uses a point:
3.14.
Self-check
In Java, what are 5 / 2 and 5.0 / 2?
2 (both operands are integers, so the result is the integer part) and 2.5.
Round 7.5 and 7.49 to the nearest integer; then truncate both.
Rounding: 8 and 7. Truncating: 7 and 7.
Division with quotient & remainder
TR integer division: tam sayı bölmesi; quotient: bölüm; remainder (modulo): kalan; divisor: bölen
Primary-school long division (17 ÷ 5 = 3 remainder 2) is the most used piece of mathematics in the course: / gives the quotient and % the remainder.
Needed in Ch. 1 · Computational Thinking Ch. 4 · Algorithms Ch. 6 · Variables & Operators Ch. 7 · Conditionals Ch. 8 · Loops Ch. 9 · Methods Ch. 12 · Recursion
- For positive integers: a = b · q + r with 0 ≤ r < b; in Java
q = a / bandr = a % b. - Even or odd:
n % 2 == 0means n is even (Ch. 7 “Tek mi Çift mi?”, Ch. 9ciftMi()). - Digits:
n % 10is the last digit andn / 10removes it; repeating this counts or sums digits (Ch. 8, Ch. 9, Ch. 12). - Unit conversion: seconds → hours, minutes, seconds (Ch. 6 “Saniyeyi Saate Çevirme”).
- Divisibility: b divides a exactly when
a % b == 0(primes, GCD, leap years). - In Java the remainder takes the sign of the dividend:
-7 % 3is −1 (Ch. 6).
Self-check
For integers, what are 17 / 5 and 17 % 5?
3 and 2, because 17 = 5 · 3 + 2.
Convert 3725 seconds to hours, minutes and seconds using / and %.
3725 / 3600 = 1 h; remainder 125; 125 / 60 = 2 min; 125 % 60 = 5 s. So 1 h 2 min 5 s.
Percentages & averages
TR average (mean): ortalama; percentage: yüzde; function (Excel): işlev
Grade sheets in Excel, average-temperature methods and array statistics all need percentages, plain averages and weighted averages.
Needed in Ch. 3 · Excel Ch. 6 · Variables & Operators Ch. 9 · Methods Ch. 10 · Arrays
- p% of x is x · p / 100; increasing by p% multiplies by (1 + p/100), decreasing by p% multiplies by (1 − p/100).
- Average (arithmetic mean) = sum ÷ count. In Excel:
=ORTALAMA(B2:B10); in Java: a loop that sums, then divides (usedoubleto keep the fraction). - Weighted average: a course grade with 40% midterm and 60% final is 0.4 · midterm + 0.6 · final.
- Ch. 10 finds the elements above the average and the minimum/maximum of an array.
Self-check
Midterm 70 (weight 40%), final 85 (weight 60%). What is the course grade?
0.4 · 70 + 0.6 · 85 = 28 + 51 = 79.
A price of 250 TL gets a 20% discount. What is the new price, and what is the average of 4, 8 and 9?
250 · 0.8 = 200 TL; (4 + 8 + 9) / 3 = 21 / 3 = 7.
Powers & place value
TR exponent / base: üs / taban; digit / place value: basamak / basamak değeri; digit: basamak
The value of a digit depends on its position (ones, tens, hundreds = 10⁰, 10¹, 10²). The same idea with powers of 2 explains binary, and computing powers is a classic loop and recursion example.
Needed in Ch. 1 · Basic Concepts Ch. 1 · Computers Ch. 3 · Excel Ch. 8 · Loops Ch. 12 · Recursion
- aⁿ means a multiplied by itself n times; a⁰ = 1 and a¹ = a; aᵐ · aⁿ = aᵐ⁺ⁿ.
- Place value: 307 = 3 · 10² + 0 · 10¹ + 7 · 10⁰.
- Powers of 2 to know: 2⁰ = 1, 2¹ = 2, 2⁴ = 16, 2⁸ = 256, 2¹⁰ = 1024.
- Excel writes
=2^10; Java has no ^ for powers (it is XOR) and usesMath.pow(2, 10)or a loop (Ch. 8 “Üs Alma”, Ch. 12 “Hızlı Üs”).
Self-check
What is 2¹⁰, and what is 5⁰?
1024 and 1.
Start with x = 1 and double it 4 times. What is x?
2⁴ = 16.
Number bases, bits & bytes
TR binary: ikili; base (radix): taban; byte: bayt; kibibyte / mebibyte / gibibyte: KiB / MiB / GiB; overflow: taşma
All data are stored as bits. You should be able to convert small numbers between decimal and binary, size storage in bytes, and see why a fixed number of bits limits the range of values.
Needed in Ch. 1 · Basic Concepts Ch. 1 · Hardware Ch. 1 · Computers Ch. 6 · Variables & Operators Ch. 8 · Loops
- Binary uses the place values 1, 2, 4, 8, 16, …: 1011₂ = 8 + 0 + 2 + 1 = 11.
- Decimal to binary: divide by 2 repeatedly and read the remainders from bottom to top (Ch. 1, Ch. 8 “Onluktan İkiliye”).
- n bits give 2ⁿ different values: 8 bits = 1 byte = 256 values (0–255 unsigned).
- Units: 1 KB = 1000 B in the decimal (SI) convention used by disk makers, while 1 KiB = 1024 B in the binary (IEC) convention; the Ch. 1 table writes 1 KB = 1 024 B and names the 1024-based units KiB, MiB, GiB.
- Network speeds are in bits per second: 100 Mbit/s is 12.5 MB/s.
- A fixed width overflows: an 8-bit value 255 + 1 needs a ninth bit; Java's
intwraps around after 2 147 483 647 (Ch. 6 “Taşma”).
Self-check
Convert 1011₂ to decimal and 13 to binary.
1011₂ = 11; 13 = 8 + 4 + 1 = 1101₂.
A disk is sold as 500 GB (500 · 10⁹ bytes). About how many GiB does Windows show?
500 · 10⁹ / 2³⁰ ≈ 465.7 GiB.
Algebra, logic & functions
Letters that stand for numbers, simple formulas, inequalities, and/or/not, and the idea of a function as input → output.
Variables & simple algebra
TR variable: değişken; assignment: atama; data type: veri tipi
In algebra a letter stands for a number; in programming a variable is a named box whose content can change. Substituting values into an expression is exactly what the computer does.
Needed in Ch. 1 · Computational Thinking Ch. 4 · Programming Ch. 4 · Flowcharts Ch. 6 · Variables & Operators Ch. 8 · Loops
- Substitution: with a = 3 and b = 4, a² + b² = 9 + 16 = 25.
- In Java,
=is assignment, not equality:x = x + 1means “compute x + 1 and store it back in x” (it is not a false equation). Equality is tested with==. - Swapping two values needs a temporary variable:
t = a; a = b; b = t;(Ch. 6 “Takas”, Ch. 9 swap trap). - Counters and accumulators (Ch. 4 flowcharts, Ch. 8):
sayac = sayac + 1,toplam = toplam + x.
Self-check
x is 5. After x = x + 1; and then x = x * 2;, what is x?
(5 + 1) · 2 = 12.
a = 3, b = 5. Run t = a; a = b; b = t;. What are a and b?
a = 5 and b = 3 (the values are swapped).
Everyday formulas
TR square root: karekök; formula: formül; absolute value: mutlak değer
Many first programs turn a school formula into code: circle area and circumference, Celsius to Fahrenheit, the quadratic formula, absolute value.
Needed in Ch. 1 · Computational Thinking Ch. 4 · Programming Ch. 6 · Variables & Operators Ch. 7 · Conditionals Ch. 9 · Methods
- Circle: area πr², circumference 2πr (Ch. 6 “Daire Alanı ve Çevresi”,
Math.PI). - Temperature: F = C · 9/5 + 32 and C = (F − 32) · 5/9 (Ch. 6, Ch. 9 “Sıcaklık Metotları”).
- Quadratic ax² + bx + c = 0: discriminant Δ = b² − 4ac; Δ > 0 two real roots, Δ = 0 one, Δ < 0 none; roots (−b ± √Δ) / 2a (Ch. 7).
- Absolute value |x| is x if x ≥ 0 and −x otherwise (Ch. 7 “Mutlak Değer”); a square root needs a non-negative argument (Ch. 1 “Karekök Adım Adım”).
Self-check
Convert 25 °C to Fahrenheit.
25 · 9/5 + 32 = 45 + 32 = 77 °F.
For x² − 5x + 6 = 0, compute Δ and the roots.
Δ = 25 − 24 = 1; roots (5 ± 1)/2 = 3 and 2.
Inequalities & intervals
TR comparison operator: karşılaştırma operatörü; condition: koşul; boundary value: sınır değeri; off-by-one error: sınır hatası
Conditions such as “10 < x < 20”, “grade ≥ 50” or “index from 0 to n − 1” are inequalities. Whether an end point is included or not is the source of many off-by-one bugs.
Needed in Ch. 3 · Excel Ch. 4 · Algorithms Ch. 4 · Flowcharts Ch. 7 · Conditionals Ch. 8 · Loops Ch. 10 · Arrays
- Strict (<, >) excludes the end point; non-strict (≤, ≥) includes it. Java writes ≤ as
<=and ≠ as!=. - A double inequality is two conditions joined by “and”: 10 < x < 20 becomes
x > 10 && x < 20(Java cannot write10 < x < 20). - Counting integers in a range: from a to b inclusive there are b − a + 1 numbers.
- Loops:
for (int i = 0; i < 5; i++)runs 5 times (i = 0..4), withi <= 5it runs 6 times (Ch. 8 “Sınır Hataları”); arrays of length n have indices 0 … n − 1 (Ch. 10).
Self-check
How many integers x satisfy 10 < x < 20? How many satisfy 10 ≤ x ≤ 20?
9 (11 … 19) and 11 (10 … 20).
How many times does for (int i = 0; i < 5; i++) run, and with i <= 5?
5 times and 6 times.
Logic: and, or, not
TR boolean: boolean (mantıksal tip); logical operator: mantıksal operatör; AND / OR / NOT / XOR: AND / OR / NOT / XOR; De Morgan's laws: De Morgan kuralları
Every decision in a program is a statement that is true or false, often combined with and, or and not. The same logic appears in logic gates (Ch. 1), Excel's VE/YADA/DEĞİL (Ch. 3) and Java's &&, ||, !.
Needed in Ch. 1 · Basic Concepts Ch. 1 · Computers Ch. 3 · Excel Ch. 6 · Variables & Operators Ch. 7 · Conditionals Ch. 8 · Loops
- A and B is true only when both are true; A or B is true when at least one is true; not A flips the value.
- Truth tables list all combinations: two inputs → 4 rows.
- De Morgan: not (A and B) = (not A) or (not B); not (A or B) = (not A) and (not B) (Ch. 7).
- “Or” in logic is inclusive: true or true is true. “Exclusive or” (XOR) is a separate operation.
- Leap year rule (Ch. 7): divisible by 4 and (not divisible by 100 or divisible by 400).
Self-check
x = 15. Evaluate x > 10 && x < 20 and !(x > 10).
true and false.
Using the leap-year rule, are 1900 and 2000 leap years?
1900: divisible by 100 but not by 400 → not a leap year. 2000: divisible by 400 → leap year.
Functions as input → output
TR function: fonksiyon; method: metot; parameter: parametre; return value: dönüş değeri
A mathematical function takes inputs and gives one output: f(x) = 2x + 3. Excel functions (=TOPLA(…)) and Java methods work the same way: arguments in, a returned value out.
Needed in Ch. 1 · Computational Thinking Ch. 3 · Excel Ch. 4 · Programming Ch. 9 · Methods Ch. 12 · Recursion
- f(x) = 2x + 3 means: “given x, return 2x + 3”; f(4) = 11. The name of the input does not matter: f(t) = 2t + 3 is the same function.
- Functions with several inputs: max(a, b), gcd(a, b), Excel
=MAK(B2:B10). - Composition: f(f(1)) evaluates the inner call first; Ch. 9 traces nested calls on the call stack.
- A Java method has a parameter list (inputs), a return type (output type) and a body;
voidmethods return nothing.
Self-check
f(x) = 2x + 3. Compute f(4) and f(f(1)).
f(4) = 11; f(1) = 5, so f(f(1)) = f(5) = 13.
Excel: B2:B4 contain 3, 9, 4. What do =MAK(B2:B4) and =TOPLA(B2:B4) return?
9 (the maximum) and 16 (the sum).
Sequences, divisibility & recursion
Sums like 1 + 2 + … + n, primes and the greatest common divisor, factorials and Fibonacci, and counting grids and positions: the standard examples of the loop, method, array and recursion decks.
Sequences & sums
TR accumulator: biriktirici; counter: sayaç; loop: döngü
Adding up a sequence term by term is the first thing every loop does (Ch. 4 flowchart “1’den n’e Toplam”, Ch. 8, Ch. 10, Ch. 12). Knowing the closed formulas lets you check the program's answer.
Needed in Ch. 1 · Computational Thinking Ch. 4 · Flowcharts Ch. 8 · Loops Ch. 10 · Arrays Ch. 12 · Recursion
- 1 + 2 + … + n = n(n + 1)/2 (Gauss); 1 + 2 + … + 100 = 5050.
- Arithmetic sequence: start a, step d (2, 4, 6, …); geometric sequence: start a, ratio r (1, 2, 4, 8, …).
- A running total starts at 0 (the identity of addition); a running product starts at 1.
- Digit sum of 4827 = 4 + 8 + 2 + 7 = 21 (Ch. 8 “Rakamlar Toplamı”, Ch. 12 recursive version).
Self-check
Compute 1 + 2 + … + 100 and 2 + 4 + … + 20.
100 · 101 / 2 = 5050; 2 · (1 + … + 10) = 2 · 55 = 110.
s = 0; for i = 1, 2, 3, 4 do s = s + i · i. What is s at the end?
1 + 4 + 9 + 16 = 30.
Divisibility, primes & GCD
TR prime number: asal sayı; greatest common divisor (GCD): en büyük ortak bölen (EBOB); least common multiple (LCM): EKOK; Euclid's algorithm: Öklid algoritması
Prime tests, perfect numbers, GCD/LCM and the Sieve of Eratosthenes are the standard examples of the algorithm, loop, method, array and recursion decks.
Needed in Ch. 1 · Computational Thinking Ch. 4 · Algorithms Ch. 8 · Loops Ch. 9 · Methods Ch. 10 · Arrays Ch. 12 · Recursion
- d divides n if n % d == 0. A prime has exactly two divisors, 1 and itself; 1 is not prime, 2 is the only even prime.
- To test n for primality it is enough to try divisors up to √n (Ch. 4, Ch. 8, Ch. 9
asalMi()). - Euclid's algorithm: gcd(a, b) = gcd(b, a % b) until the remainder is 0 (Ch. 1, Ch. 9
ebob(), Ch. 12). Then lcm(a, b) = a · b / gcd(a, b). - A perfect number equals the sum of its proper divisors: 6 = 1 + 2 + 3, 28 = 1 + 2 + 4 + 7 + 14 (Ch. 8).
Self-check
Is 91 prime?
No: 91 = 7 · 13.
Find gcd(48, 18) with Euclid's algorithm, then lcm(48, 18).
48 % 18 = 12, 18 % 12 = 6, 12 % 6 = 0 → gcd = 6; lcm = 48 · 18 / 6 = 144.
Factorial, Fibonacci & recursive definitions
TR factorial: faktöriyel; Fibonacci sequence: Fibonacci dizisi; recursion: özyineleme; base case: taban durum
Some sequences are defined by referring to earlier terms: n! = n · (n − 1)! with 0! = 1, and each Fibonacci number is the sum of the previous two. This is exactly how recursive methods are written in Ch. 12.
Needed in Ch. 4 · Algorithms Ch. 8 · Loops Ch. 12 · Recursion
- n! = 1 · 2 · … · n, so 5! = 120; recursively n! = n · (n − 1)!, with the base case 0! = 1 (also 1! = 1).
- Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, …; each term is the sum of the two before it.
- Every recursive definition needs a base case that stops it; without one the computation never ends (Ch. 12
StackOverflowError). - These numbers grow fast: 13! = 6 227 020 800 does not fit in an
int(max 2 147 483 647), which is why Ch. 12 useslongand discusses overflow.
Self-check
You know 5! = 120. Use n! = n · (n − 1)! to get 6!.
6! = 6 · 120 = 720.
What is the next Fibonacci number after 5, 8, 13?
8 + 13 = 21.
Counting, grids & positions
TR nested loop: iç içe döngü; index: indis; pattern (output): desen; array: dizi
Nested loops, star patterns, multiplication tables, 2D arrays and string indices all rely on counting cells in rows and columns and on numbering positions from 0.
Needed in Ch. 3 · Excel Ch. 4 · Flowcharts Ch. 8 · Loops Ch. 10 · Arrays Ch. 11 · Strings
- A grid of r rows and c columns has r · c cells; a nested loop with r outer and c inner steps runs r · c times.
- Triangle patterns: rows with 1, 2, …, n stars contain 1 + 2 + … + n stars in total (Ch. 8 “Artan Üçgen”).
- Java counts positions from 0: an array or string of length n has indices 0 … n − 1, so the last one is n − 1 (Ch. 10, Ch. 11).
- Excel cell references (B3 = column B, row 3) and the multiplication table with mixed references (Ch. 3) use the same row/column thinking.
Self-check
A star triangle has rows with 1, 2, 3, 4, 5 stars. How many stars in total?
1 + 2 + 3 + 4 + 5 = 15.
The word "MERHABA" has 7 letters. With positions numbered from 0, what is the last position and which letter is at position 2?
Last position 6; position 2 is R (M = 0, E = 1, R = 2).
Reading & problem-solving skills
Following instructions exactly, tracing values step by step, testing with careful inputs, and reading technical English and Turkish.
Following step-by-step instructions
TR algorithm: algoritma; flowchart: akış diyagramı; pseudocode: sözde kod; step: adım
An algorithm is a recipe that must be followed literally, in order, without “guessing what was meant”. Reading flowcharts and pseudocode is the bridge from everyday instructions to Java.
Needed in Ch. 1 · Computational Thinking Ch. 4 · Programming Ch. 4 · Algorithms Ch. 4 · Flowcharts
- Do exactly what each step says, in order; a loop means “go back and repeat”, a decision means “take only one branch”.
- Flowchart symbols (Ch. 4): oval = start/end, parallelogram = input/output, rectangle = process, diamond = decision, arrows = order.
- Three building blocks: sequence, selection (if) and repetition (loop) (Ch. 1, Ch. 7).
- Good instructions are unambiguous and finite; Ch. 4 lists the properties of a good algorithm.
Self-check
Steps: (1) x ← 1. (2) Repeat 4 times: x ← x · 2. (3) Print x. What is printed?
16.
In a flowchart, which shape is a decision, and how many arrows leave it?
A diamond; two arrows leave it (yes/no, true/false).
Tracing a table of values
TR trace table: izleme tablosu; iteration: tur; loop variable: döngü değişkeni
Every deck has “Adım Adım” slides that show variable values after each step. You should be able to keep such a table on paper: one column per variable, one row per step.
Needed in Ch. 1 · Computational Thinking Ch. 4 · Algorithms Ch. 4 · Flowcharts Ch. 8 · Loops Ch. 9 · Methods Ch. 12 · Recursion
- Write the variable names as column headings; add a new row whenever a value changes; never skip a step.
- Check loop conditions before each iteration, including the last check that ends the loop.
- Compare your table with the program's output; the first row where they differ points to the bug.
- Ch. 9 and Ch. 12 extend tracing to the call stack: each method call gets its own row (frame).
Self-check
a = 10, b = 3, k = 0. While a ≥ b: a ← a − b, k ← k + 1. What are a and k at the end?
a = 1, k = 3 (rows: 7/1, 4/2, 1/3). This is 10 / 3 = 3 and 10 % 3 = 1 by repeated subtraction.
How many times is the condition a ≥ b checked in the previous question?
4 times: three times true and once false (when a = 1).
Breaking problems down & testing
TR decomposition: ayrıştırma; test case: test durumu; edge case / boundary case: sınır durumu; computational thinking: hesaplamalı düşünme
Before coding, split the problem into inputs, steps and outputs; after coding, test it with ordinary inputs and with the boundary values where programs usually fail.
Needed in Ch. 1 · Computational Thinking Ch. 4 · Programming Ch. 4 · Algorithms Ch. 4 · Flowcharts Ch. 8 · Loops Ch. 9 · Methods
- Computational thinking (Ch. 1): decomposition, pattern recognition, abstraction and algorithm design.
- State input and output with an example before writing any code (Ch. 1 “Girdi ve Çıktı Örneği”, Ch. 9 “Önce Metot Sözleşmesi”).
- Test cases: a typical value, the boundary values on both sides of every condition, and special values such as 0, 1, negative numbers and empty input.
- Change one thing at a time and re-run; keep the inputs that found a bug as permanent tests.
Self-check
The rule is “grade ≥ 50 passes”. Which two inputs test the boundary?
49 (fails) and 50 (passes).
Pick four years that together test every branch of the leap-year rule.
For example 2023 (not divisible by 4), 2024 (by 4, not by 100), 1900 (by 100, not by 400), 2000 (by 400).
Technical English & error messages
TR keyword: anahtar kelime; error message: hata iletisi; compile-time error: derleme hatası; runtime error: çalışma zamanı hatası
Java keywords, method names and all compiler and runtime messages are in English. Reading them precisely (what, where, which line) is the fastest way to fix a program.
Needed in Ch. 5 · Java & First Program Ch. 6 · Variables & Operators Ch. 7 · Conditionals Ch. 8 · Loops Ch. 9 · Methods Ch. 10 · Arrays Ch. 11 · Strings Ch. 12 · Recursion
- Keywords are ordinary English words with exact meanings:
if,else,while(“as long as”),for,return,break,new,void,static. - javac messages give file, line, a short description and a caret (^) under the position:
Merhaba.java:5: error: ';' expected. - Common messages:
cannot find symbol(misspelled or undeclared name),incompatible types,missing return statement. - Runtime messages are exceptions:
ArithmeticException: / by zero,ArrayIndexOutOfBoundsException,StackOverflowError. - Fix the first error first; later messages are often consequences of it (Ch. 5 “Sık Derleme Hataları”).
Self-check
javac reports error: ';' expected. What should you check?
The end of the indicated statement (often the line before the caret): a semicolon is missing.
What does error: cannot find symbol … symbol: variable toplm usually mean?
The name toplm is not declared: most likely a typo (for example of toplam) or a variable used outside its scope.
Turkish technical terms
TR array: dizi; string: dizgi; loop: döngü; recursion: özyineleme
The slides are in Turkish and use one fixed Turkish term for each English concept. Learn the pairs early; similar-looking words name very different things. The full list is in the course glossary.
Needed in Ch. 1 · Basic Concepts Ch. 1 · Computational Thinking Ch. 4 · Programming Ch. 5 · Java & First Program Ch. 6 · Variables & Operators Ch. 7 · Conditionals Ch. 8 · Loops Ch. 9 · Methods Ch. 10 · Arrays Ch. 11 · Strings Ch. 12 · Recursion
- Pairs that are easy to confuse: dizi (array) vs dizgi (string); bölüm (quotient, also chapter) vs bölen (divisor); ifade (expression) vs deyim (statement).
- Some terms stay in English in the slides:
boolean,IDE,JDK,break, method names in code. - The glossary can be filtered by chapter and searched in both languages; look up any unknown word before the lecture.
- Identifiers in the course code are Turkish without special letters (
toplam,ciftMi,asalMi).
Self-check
What is the difference between dizi and dizgi?
dizi is an array (Ch. 10); dizgi is a string, text (Ch. 11).
Give the English for taban durum and döngü değişkeni.
Base case (Ch. 12) and loop variable (Ch. 1, Ch. 8).
Tools & setup
A JDK with an editor or IDE, a few terminal commands, and an office suite.
JDK & an editor or IDE
TR Java Development Kit (JDK): JDK (geliştirme kiti); integrated development environment (IDE): tümleşik geliştirme ortamı (IDE); compiler: derleyici; source code: kaynak kod
From Ch. 5 on you write, compile and run Java on your own computer: install a current JDK and use a plain editor or an IDE (for example Eclipse, IntelliJ IDEA or VS Code with Java support).
Needed in Ch. 4 · Programming Ch. 5 · Java & First Program
- Install a JDK (not only a JRE); the Ch. 5 messages were produced with JDK 21. Check with
javac -versionandjava -version. - Source code is plain text in a
.javafile; Word documents cannot be compiled. - Cycle: write
Merhaba.java→javac Merhaba.javaproducesMerhaba.class(bytecode) →java Merhabaruns it on the JVM. - An IDE runs these steps with one button and underlines errors as you type, but you should also be able to do it by hand once.
- Save files as UTF-8 so Turkish characters in strings work (
javac -encoding UTF-8, Ch. 5).
Self-check
Which command compiles Merhaba.java, which one runs the program, and what file does compiling create?
javac Merhaba.java; java Merhaba; it creates Merhaba.class.
Your file is Odev1.java but it contains public class Merhaba. What happens?
javac refuses it: a public class must be declared in a file with the same name (Merhaba.java).
Using a terminal (minimal)
TR command line: komut satırı; command prompt: Komut İstemi; current (working) directory: geçerli klasör
You only need a handful of commands: see where you are, list files, change folder, and run javac/java. Ch. 2 introduces them for Windows (cmd) and Linux/macOS.
Needed in Ch. 2 · Operating Systems Ch. 2 · Windows Ch. 5 · Java & First Program
- Open a terminal: Start → “cmd” (Command Prompt) or Windows Terminal; in File Explorer type
cmdin the address bar to open it in that folder. - Windows cmd:
cd(show or change folder),dir(list),mkdir(new folder). Linux/macOS:pwd,ls,cd,mkdir. cd ..goes to the parent folder; paths with spaces need quotes:cd "C:\Ders Notlari".- Commands run in the current folder:
javac Merhaba.javafails with “file not found” if you are in the wrong folder. delandrmdelete permanently (no Recycle Bin), so check before pressing Enter.
Self-check
You are in C:\Ders\Hafta1 and type cd ... Where are you now?
In C:\Ders.
Which Windows command lists the files in the current folder, and what is the Linux/macOS equivalent?
dir; ls.
Office suite
TR word processor: kelime işlemci; cell reference: hücre başvurusu; presentation (file): sunu
Ch. 3 is taught with Microsoft Word, Excel and PowerPoint (Turkish interface). Access through the university's Microsoft 365 account or a free alternative such as LibreOffice is enough to follow along.
Needed in Ch. 1 · Basic Concepts Ch. 3 · Word Ch. 3 · Excel Ch. 3 · PowerPoint
- Know how to open, save (“Save as” with a chosen folder and format) and print or export to PDF.
- Formats:
.docx(Word),.xlsx(Excel),.pptx(PowerPoint); free suites open and save them. - Turkish Excel uses Turkish function names and the semicolon as the argument separator:
=EĞER(B2>=50;"Geçti";"Kaldı"). - Basic Excel vocabulary: cell (B3), range (B2:B10), formula (starts with =), relative vs absolute reference (
$A$1).
Self-check
Write the Turkish Excel formula that sums cells A1 to A10.
=TOPLA(A1:A10) (English Excel: =SUM(A1:A10)).
Which extensions do Word, Excel and PowerPoint use by default?
.docx, .xlsx and .pptx.
No prerequisite matches your search or filters.
Deck-by-deck map
Topics each deck relies on. Accurate typing and Turkish terminology matter in every programming chapter.
© Sercan Külcü · Bilgisayar ve Programlamaya Giriş