Compare commits
3 Commits
2e2eb41f81
...
6704c40bd5
| Author | SHA1 | Date | |
|---|---|---|---|
| 6704c40bd5 | |||
| b12feb865e | |||
| 7dc36bc505 |
15
learning-records/0004-subordinate-clauses-mastered.md
Normal file
15
learning-records/0004-subordinate-clauses-mastered.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Subordinate Clauses: 10/10 — Word Order Is Solid
|
||||
|
||||
Scored a perfect 10/10 on the lesson 4 drill covering *weil/dass/ob/wenn* verb-final order, multi-verb endings
|
||||
(modal + infinitive, Perfekt with separable verbs), and the *ob* vs. *obwohl* meaning distinction. Accusative
|
||||
endings were woven into every question as a background check and didn't trip up the result.
|
||||
|
||||
This was the top-priority gap identified in the diagnostic session (0003), and it's the first lesson topic to
|
||||
score perfectly on the first attempt — a strong signal the format (single grammar concept + multi-verb edge
|
||||
cases + a dedicated meaning-distinction box) works well for this user.
|
||||
|
||||
**Implications:** Move to the next diagnostic priorities. Perfekt/Partizip II formation for separable verbs
|
||||
deserves its own dedicated lesson — it was only touched briefly here via *abgesagt*. Accusative adjective
|
||||
endings could graduate from "woven in as a check" to a focused drill of their own. Noun gender under pressure
|
||||
(memorize-only nouns like *Kostenvoranschlag*, *E-Mail*) is still untouched since lesson 2 and scored low
|
||||
there (4/10) — worth revisiting before it's forgotten further.
|
||||
@@ -0,0 +1,21 @@
|
||||
# Accusative Adjective Endings: 7/10 — One Clear Misconception Found
|
||||
|
||||
Missed 3 of 10 on the lesson 5 drill. Two of the three errors point to the same misconception rather than
|
||||
random slips.
|
||||
|
||||
**The declension-type mixup (Q6, Q9):** Both misses used the ending *-es* after a der-word — *das alte Auto*
|
||||
answered as *altes*, and *den teuren Kostenvoranschlag* answered as *teures*. *-es* is a mixed/strong
|
||||
declension ending (neuter, used only when nothing else marks the noun as neuter). It never appears in weak
|
||||
declension, where the only two options are *-e* and *-en* — the der-word (*das*, *den*) already marks gender
|
||||
and case, so the adjective doesn't need to repeat the signal.
|
||||
|
||||
**The gender miss (Q5):** *eine nette E-Mail* was answered as *einen netten*, treating *E-Mail* as masculine.
|
||||
This is the same slip flagged in the diagnostic session (0003-diagnostic-session-gaps.md) — *E-Mail* is a
|
||||
memorize-only noun that has now failed twice under production pressure despite the correction being given
|
||||
each time.
|
||||
|
||||
**Implications:** The next adjective-endings pass should call out the weak-declension rule explicitly —
|
||||
"after der/die/das, the only two endings that exist are -e and -en; -es is never one of them" — as its own
|
||||
line, not just something implied by the table. *E-Mail*'s gender needs deliberate spaced repetition (flashcard
|
||||
style); two incidental exposures haven't fixed it, so it likely needs a short, focused noun-gender refresh
|
||||
revisiting the lesson 2 gap rather than more incidental exposure in unrelated lessons.
|
||||
379
lessons/0004-subordinate-clauses.html
Normal file
379
lessons/0004-subordinate-clauses.html
Normal file
@@ -0,0 +1,379 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Lesson 4 — Subordinate Clauses: Verb-Final Word Order</title>
|
||||
<link rel="stylesheet" href="../assets/style.css">
|
||||
<style>
|
||||
.clause-compare {
|
||||
background: white;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius);
|
||||
padding: 1rem 1.25rem;
|
||||
margin: 1.25rem 0;
|
||||
font-family: 'Courier New', monospace;
|
||||
font-size: 0.95rem;
|
||||
line-height: 2.1;
|
||||
}
|
||||
.clause-row-label {
|
||||
display: inline-block;
|
||||
min-width: 90px;
|
||||
font-family: 'Georgia', serif;
|
||||
font-size: 0.78rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.06em;
|
||||
color: var(--ink-faint);
|
||||
}
|
||||
.verb-pos2 { color: var(--accent); font-weight: bold; }
|
||||
.verb-final { color: var(--red); font-weight: bold; }
|
||||
.akk-mark { color: var(--green); font-weight: bold; }
|
||||
|
||||
.conj-box {
|
||||
display: inline-block;
|
||||
background: var(--bg-warm);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 4px;
|
||||
padding: 0.1em 0.5em;
|
||||
font-family: 'Courier New', monospace;
|
||||
font-weight: bold;
|
||||
color: var(--accent-dark);
|
||||
}
|
||||
|
||||
.ob-compare {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
margin: 1.25rem 0;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.ob-card {
|
||||
flex: 1;
|
||||
min-width: 240px;
|
||||
border-radius: var(--radius);
|
||||
padding: 1rem 1.25rem;
|
||||
}
|
||||
.ob-card.ob { background: var(--green-bg); border-left: 4px solid var(--green); }
|
||||
.ob-card.obwohl { background: #fdecea; border-left: 4px solid var(--red); }
|
||||
.ob-card h3 { margin-top: 0; font-family: 'Courier New', monospace; }
|
||||
.ob-card .ex { font-family: 'Courier New', monospace; font-size: 0.9rem; margin-top: 0.5rem; }
|
||||
|
||||
.tip-box {
|
||||
background: var(--bg-warm);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius);
|
||||
padding: 0.9rem 1.25rem;
|
||||
margin: 1.25rem 0;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="page">
|
||||
|
||||
<p class="subtitle">Lesson 4 of your German course</p>
|
||||
<h1>Subordinate Clauses: Send the Verb to the End</h1>
|
||||
<p class="subtitle">B1.2 · Grammar · ~20 minutes</p>
|
||||
|
||||
<h2>Why this matters</h2>
|
||||
|
||||
<p>
|
||||
Lesson 1 fixed V2 — the conjugated verb sits in slot two in a main clause. Subordinate clauses break that rule on purpose: once a clause starts with a word like <em>weil, dass, ob,</em> or <em>wenn</em>, the conjugated verb doesn't stay in slot two — it jumps all the way to the <strong>end</strong> of the clause. The concept is one you already know from class; the gap is reflex. Under production pressure — writing quickly, speaking in the moment — the verb tends to stay where V2 habit puts it.
|
||||
</p>
|
||||
|
||||
<div class="rule-box">
|
||||
<strong>The Rule</strong>
|
||||
<div class="formula">[ Conjunction ] → Subject → ... everything else ... → VERB(s)</div>
|
||||
</div>
|
||||
|
||||
<h2>See it happen</h2>
|
||||
|
||||
<p>Same idea, two clause types. Watch where <em>ist</em> moves:</p>
|
||||
|
||||
<div class="clause-compare">
|
||||
<span class="clause-row-label">Main clause</span> Der Arzt <span class="verb-pos2">ist</span> heute krank.<br>
|
||||
<span class="clause-row-label">Subordinate</span> ..., weil der Arzt heute krank <span class="verb-final">ist</span>.
|
||||
</div>
|
||||
|
||||
<p style="font-size: 0.9rem; color: var(--ink-light);">The doctor is sick today. — In the main clause, <em>ist</em> takes slot two. The moment <em>weil</em> opens the clause, <em>ist</em> gets evicted to the very last word.</p>
|
||||
|
||||
<h2>The conjunctions that trigger this</h2>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Conjunction</th>
|
||||
<th>Meaning</th>
|
||||
<th>Example (verb at the end)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class="conj-box">weil</span></td>
|
||||
<td>because</td>
|
||||
<td>..., weil ich krank <span class="verb-final">bin</span>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class="conj-box">dass</span></td>
|
||||
<td>that</td>
|
||||
<td>Ich weiß, dass er recht <span class="verb-final">hat</span>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class="conj-box">ob</span></td>
|
||||
<td>whether</td>
|
||||
<td>Ich weiß nicht, ob sie kommen <span class="verb-final">kann</span>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class="conj-box">wenn</span></td>
|
||||
<td>if / whenever</td>
|
||||
<td>..., wenn du Zeit <span class="verb-final">hast</span>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class="conj-box">obwohl</span></td>
|
||||
<td>although</td>
|
||||
<td>..., obwohl er müde <span class="verb-final">ist</span>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class="conj-box">damit</span></td>
|
||||
<td>so that</td>
|
||||
<td>..., damit sie es <span class="verb-final">versteht</span>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span class="conj-box">als</span></td>
|
||||
<td>when (single past event)</td>
|
||||
<td>..., als ich jung <span class="verb-final">war</span>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>When there's more than one verb</h2>
|
||||
|
||||
<p>
|
||||
This is where the reflex breaks down fastest — modal verbs, separable verbs, and Perfekt all put more than one verb in the clause, and all of them still have to move to the end. The <strong>conjugated</strong> verb (the modal, or <em>haben/sein</em>) goes <strong>last</strong> — after the infinitive or Partizip II.
|
||||
</p>
|
||||
|
||||
<div class="clause-compare">
|
||||
<span class="clause-row-label">Main clause</span> Die Kinder <span class="verb-pos2">müssen</span> früh schlafen gehen.<br>
|
||||
<span class="clause-row-label">Subordinate</span> ..., weil sie früh schlafen gehen <span class="verb-final">müssen</span>.
|
||||
</div>
|
||||
<p style="font-size: 0.9rem; color: var(--ink-light);">The children have to go to bed early. — <em>schlafen gehen müssen</em>: infinitive, infinitive, then the conjugated modal last.</p>
|
||||
|
||||
<div class="clause-compare">
|
||||
<span class="clause-row-label">Main clause</span> Er <span class="verb-pos2">hat</span> den Termin abgesagt.<br>
|
||||
<span class="clause-row-label">Subordinate</span> ..., weil er <span class="akk-mark">den Termin</span> abgesagt <span class="verb-final">hat</span>.
|
||||
</div>
|
||||
<p style="font-size: 0.9rem; color: var(--ink-light);">He cancelled the appointment. — Partizip II (<em>abgesagt</em>) comes before the conjugated <em>hat</em>, which takes the very last slot.</p>
|
||||
|
||||
<div class="tip-box">
|
||||
<strong>Reflex check:</strong> if you catch yourself writing <em>weil ich habe...</em> or <em>weil ich muss...</em>, stop — the conjugated verb belongs at the end, not right after the subject.
|
||||
</div>
|
||||
|
||||
<h2>ob vs. obwohl — a meaning trap, not a word-order trap</h2>
|
||||
|
||||
<p>
|
||||
Both send the verb to the end, so word order won't save you here — this is about which word means what. Mixing them up changes the sentence's logic, not just its grammar.
|
||||
</p>
|
||||
|
||||
<div class="ob-compare">
|
||||
<div class="ob-card ob">
|
||||
<h3>ob = whether</h3>
|
||||
<p>Used for indirect yes/no questions — when you don't know the answer.</p>
|
||||
<div class="ex">Ich weiß nicht, <strong>ob</strong> er kommt.<br><span style="color: var(--ink-light);">I don't know whether he's coming.</span></div>
|
||||
</div>
|
||||
<div class="ob-card obwohl">
|
||||
<h3>obwohl = although</h3>
|
||||
<p>Used for contrast — a fact holds despite something else being true.</p>
|
||||
<div class="ex">Er kommt, <strong>obwohl</strong> er krank ist.<br><span style="color: var(--ink-light);">He's coming even though he's sick.</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>Quick test: can you replace it with <em>"whether (or not)"</em> in English? Then it's <span class="conj-box">ob</span>. Can you replace it with <em>"even though"</em>? Then it's <span class="conj-box">obwohl</span>.</p>
|
||||
|
||||
<div class="tip-box">
|
||||
<strong>While you're at it:</strong> every clause below also has an accusative object hiding in it (<em>den Termin, einen Termin, einen Kostenvoranschlag</em>). Check the ending is right even while you're wrestling with verb position — the two errors like to happen in the same sentence.
|
||||
</div>
|
||||
|
||||
<hr style="border:none; border-top: 1px solid #ddd; margin: 2.5rem 0;">
|
||||
|
||||
<h2>Drill — pick the correctly ordered (or correctly chosen) ending</h2>
|
||||
|
||||
<div class="quiz-section" id="quiz"></div>
|
||||
|
||||
<div class="score-bar" id="score-bar">
|
||||
<span class="score-number" id="score-number"></span> — <span id="score-comment"></span>
|
||||
</div>
|
||||
|
||||
<h2>Primary source</h2>
|
||||
|
||||
<p>
|
||||
<ul style="margin: 0.5rem 0 0 1.25rem; line-height: 2;">
|
||||
<li><a href="https://git.sometimescode.com/cgsmith/German-for-English-Speakers/src/branch/main/other/conjunctions.md" target="_blank">German for English Speakers: Conjunctions</a> — weil, dass, ob, wenn and the rest, with word-order notes.</li>
|
||||
<li><a href="https://yourdailygerman.com/subordinating-conjunctions-explanation/" target="_blank">Your Daily German: Subordinating Conjunctions</a> — full explanation of why the verb moves (subscription).</li>
|
||||
<li><a href="https://yourdailygerman.com/meaning-of-ob/" target="_blank">Your Daily German: The Meaning of ob</a> — the ob vs obwohl distinction in depth (subscription).</li>
|
||||
<li><a href="https://yourdailygerman.com/difference-between-denn-weil/" target="_blank">Your Daily German: denn vs weil</a> — a related mix-up worth knowing once this one is solid (subscription).</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<div class="ask-teacher">
|
||||
<strong>Ask your teacher:</strong> Bring a sentence where you weren't sure whether to use <em>ob</em> or <em>obwohl</em>, or where you caught the verb sitting in the wrong place after <em>weil</em>. Correcting it live is what turns this from a rule you know into a reflex you use.
|
||||
</div>
|
||||
|
||||
<div class="lesson-nav">
|
||||
<strong>Related:</strong>
|
||||
<a href="0001-v2-word-order.html">Lesson 1: V2 Word Order</a> ·
|
||||
<a href="0002-noun-gender-daily-life.html">Lesson 2: Noun Gender</a> ·
|
||||
<a href="0003-the-four-cases.html">Lesson 3: The Four Cases</a> ·
|
||||
<a href="../reference/word-order.html">Word Order Reference Sheet</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const questions = [
|
||||
{
|
||||
prefix: "Der Termin wurde verschoben,",
|
||||
suffix: ".",
|
||||
correct: "weil der Arzt krank ist",
|
||||
distractor: "weil der Arzt ist krank",
|
||||
feedback: "<em>weil</em> sends the conjugated verb to the very end: <strong>...krank ist</strong>, not <em>ist krank</em>."
|
||||
},
|
||||
{
|
||||
prefix: "Ich habe gehört,",
|
||||
suffix: ".",
|
||||
correct: "dass die Schule morgen zu ist",
|
||||
distractor: "dass die Schule ist morgen zu",
|
||||
feedback: "<em>dass</em> is verb-final too: <strong>...morgen zu ist</strong>. The verb doesn't jump back to slot two just because there's a word in between."
|
||||
},
|
||||
{
|
||||
prefix: "Ruf mich an,",
|
||||
suffix: ".",
|
||||
correct: "wenn du Zeit hast",
|
||||
distractor: "wenn du hast Zeit",
|
||||
feedback: "<em>wenn</em> (if/whenever) is verb-final: <strong>...Zeit hast</strong>."
|
||||
},
|
||||
{
|
||||
prefix: "Ich weiß nicht,",
|
||||
suffix: ".",
|
||||
correct: "ob der Mechaniker den Termin bestätigt hat",
|
||||
distractor: "ob der Mechaniker hat den Termin bestätigt",
|
||||
feedback: "Perfekt in a subordinate clause: Partizip II (<em>bestätigt</em>) then the conjugated <em>hat</em> last. Also note <strong>den Termin</strong> — masculine accusative, direct object of <em>bestätigt</em>."
|
||||
},
|
||||
{
|
||||
prefix: "Sie kommt zur Party,",
|
||||
suffix: ".",
|
||||
correct: "obwohl sie viel Arbeit hat",
|
||||
distractor: "ob sie viel Arbeit hat",
|
||||
feedback: "This is a contrast (she's coming <em>despite</em> the workload), not an unknown yes/no question — that's <strong>obwohl</strong>, not <em>ob</em>."
|
||||
},
|
||||
{
|
||||
prefix: "Ich frage mich,",
|
||||
suffix: ".",
|
||||
correct: "ob er den Termin verschoben hat",
|
||||
distractor: "obwohl er den Termin verschoben hat",
|
||||
feedback: "\"Ich frage mich\" (I wonder / ask myself) sets up an indirect question — that's <strong>ob</strong> (whether), not <em>obwohl</em>. And <strong>den Termin</strong> stays masculine accusative."
|
||||
},
|
||||
{
|
||||
prefix: "Die Kinder sind traurig,",
|
||||
suffix: ".",
|
||||
correct: "weil sie früh schlafen gehen müssen",
|
||||
distractor: "weil sie müssen früh schlafen gehen",
|
||||
feedback: "Three verbs, all pushed to the end, conjugated modal last: <strong>...schlafen gehen müssen</strong>."
|
||||
},
|
||||
{
|
||||
prefix: "Er ist genervt,",
|
||||
suffix: ".",
|
||||
correct: "weil er den Termin abgesagt hat",
|
||||
distractor: "weil er hat den Termin abgesagt",
|
||||
feedback: "Perfekt, verb-final: Partizip II (<em>abgesagt</em>) then <em>hat</em> last. <strong>den Termin</strong> is masculine accusative — direct object of <em>absagen</em>."
|
||||
},
|
||||
{
|
||||
prefix: "Der Kollege sagt,",
|
||||
suffix: ".",
|
||||
correct: "dass er einen neuen Kostenvoranschlag braucht",
|
||||
distractor: "dass er braucht einen neuen Kostenvoranschlag",
|
||||
feedback: "<em>dass</em> is verb-final: <strong>...braucht</strong> goes last. <strong>einen neuen Kostenvoranschlag</strong> — masculine accusative, adjective ending <em>-en</em> to match."
|
||||
},
|
||||
{
|
||||
prefix: "Ich bringe die Kinder zum Zahnarzt,",
|
||||
suffix: ".",
|
||||
correct: "wenn ich einen Termin bekomme",
|
||||
distractor: "wenn ich bekomme einen Termin",
|
||||
feedback: "<em>wenn</em> is verb-final: <strong>...bekomme</strong> last. <strong>einen Termin</strong> — masculine accusative, direct object of <em>bekommen</em>."
|
||||
}
|
||||
];
|
||||
|
||||
const quiz = document.getElementById('quiz');
|
||||
let answered = 0;
|
||||
let correct = 0;
|
||||
const total = questions.length;
|
||||
|
||||
const correctFirst = [true, false, false, true, false, true, false, true, true, false];
|
||||
|
||||
questions.forEach((q, i) => {
|
||||
const opts = correctFirst[i]
|
||||
? [q.correct, q.distractor]
|
||||
: [q.distractor, q.correct];
|
||||
|
||||
const block = document.createElement('div');
|
||||
block.className = 'question-block';
|
||||
block.id = 'q' + i;
|
||||
|
||||
block.innerHTML = `
|
||||
<div class="question-text">
|
||||
<strong>${i + 1}.</strong> “${q.prefix} <span class="blank">___________</span>${q.suffix}”
|
||||
</div>
|
||||
<div class="options">
|
||||
${opts.map(opt => `<button class="option-btn" onclick="answer(${i}, '${opt.replace(/'/g, "\\'")}', this)">${opt}</button>`).join('')}
|
||||
</div>
|
||||
<div class="feedback" id="fb${i}"></div>
|
||||
`;
|
||||
|
||||
quiz.appendChild(block);
|
||||
});
|
||||
|
||||
function answer(i, chosen, btn) {
|
||||
const q = questions[i];
|
||||
const block = document.getElementById('q' + i);
|
||||
const fb = document.getElementById('fb' + i);
|
||||
const buttons = block.querySelectorAll('.option-btn');
|
||||
buttons.forEach(b => b.disabled = true);
|
||||
|
||||
const isCorrect = chosen === q.correct;
|
||||
answered++;
|
||||
|
||||
if (isCorrect) {
|
||||
correct++;
|
||||
block.classList.add('correct');
|
||||
btn.classList.add('selected-correct');
|
||||
fb.className = 'feedback show correct-fb';
|
||||
fb.innerHTML = '✓ Correct. ' + q.feedback;
|
||||
} else {
|
||||
block.classList.add('incorrect');
|
||||
btn.classList.add('selected-incorrect');
|
||||
fb.className = 'feedback show incorrect-fb';
|
||||
fb.innerHTML = '✗ Not quite. ' + q.feedback;
|
||||
buttons.forEach(b => {
|
||||
if (b.textContent.trim() === q.correct) b.classList.add('reveal-correct');
|
||||
});
|
||||
}
|
||||
|
||||
if (answered === total) showScore();
|
||||
}
|
||||
|
||||
function showScore() {
|
||||
const bar = document.getElementById('score-bar');
|
||||
const num = document.getElementById('score-number');
|
||||
const comment = document.getElementById('score-comment');
|
||||
|
||||
bar.classList.add('show');
|
||||
num.textContent = correct + ' / ' + total;
|
||||
|
||||
if (correct === total) {
|
||||
comment.textContent = 'All ten — verb-final is clicking, including the multi-verb cases. Try producing a few of these from scratch in writing.';
|
||||
} else if (correct >= 8) {
|
||||
comment.textContent = 'Strong. Re-read the feedback on any misses — check whether it was word order or the ob/obwohl distinction.';
|
||||
} else if (correct >= 6) {
|
||||
comment.textContent = 'The reflex is forming. Watch especially for the conjugated verb creeping back into slot two after weil/dass/wenn.';
|
||||
} else {
|
||||
comment.textContent = 'Reread "When there is more than one verb" slowly, then try again — that is usually where this breaks down.';
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
311
lessons/0005-accusative-adjective-endings.html
Normal file
311
lessons/0005-accusative-adjective-endings.html
Normal file
@@ -0,0 +1,311 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Lesson 5 — Accusative Adjective Endings</title>
|
||||
<link rel="stylesheet" href="../assets/style.css">
|
||||
<style>
|
||||
.decl-block {
|
||||
border-left: 4px solid var(--border);
|
||||
padding: 0.75rem 1.25rem;
|
||||
margin: 1.25rem 0;
|
||||
border-radius: 0 var(--radius) var(--radius) 0;
|
||||
}
|
||||
.decl-block.weak { border-color: #2e5d9e; background: #eaeefd; }
|
||||
.decl-block.mixed { border-color: #1e6b3c; background: var(--green-bg); }
|
||||
.decl-block.strong { border-color: #8b1a1a; background: #fdecea; }
|
||||
|
||||
.decl-label {
|
||||
font-size: 0.75rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.08em;
|
||||
font-weight: bold;
|
||||
margin-bottom: 0.3rem;
|
||||
}
|
||||
.weak .decl-label { color: #1d3f6e; }
|
||||
.mixed .decl-label { color: #1e6b3c; }
|
||||
.strong .decl-label { color: #8b1a1a; }
|
||||
|
||||
.decl-example {
|
||||
font-family: 'Courier New', monospace;
|
||||
font-size: 0.95rem;
|
||||
margin-top: 0.4rem;
|
||||
}
|
||||
|
||||
.ending {
|
||||
color: #8b1a1a;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.decl-table td, .decl-table th {
|
||||
text-align: center;
|
||||
padding: 0.5rem 0.9rem;
|
||||
}
|
||||
.decl-table td:first-child, .decl-table th:first-child {
|
||||
text-align: left;
|
||||
}
|
||||
.decl-table .changed { background: #fffbe6; border-radius: 3px; font-weight: bold; }
|
||||
|
||||
.tip-box {
|
||||
background: var(--bg-warm);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius);
|
||||
padding: 0.9rem 1.25rem;
|
||||
margin: 1.25rem 0;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="page">
|
||||
|
||||
<p class="subtitle">Lesson 5 of your German course</p>
|
||||
<h1>Accusative Adjective Endings</h1>
|
||||
<p class="subtitle">B1.2 · Grammar · ~20 minutes</p>
|
||||
|
||||
<p>
|
||||
Lesson 3 covered how <em>articles</em> change in the accusative (<em>der → den</em>). Adjectives placed in front of a noun carry their own ending too — and that ending depends on <strong>what, if anything, comes before the adjective</strong>: a der-word, an ein-word, or nothing at all. This is the source of errors like <em>letzten Samstag</em>, <em>einen neuen Termin</em> — the rule is known, but which ending to reach for isn't automatic yet.
|
||||
</p>
|
||||
|
||||
<h2>Three situations, three ending patterns</h2>
|
||||
|
||||
<div class="decl-block weak">
|
||||
<div class="decl-label">Weak declension — after der/die/das</div>
|
||||
<p style="margin: 0.4rem 0 0;">The article already shows the case, so the adjective ending is minimal.</p>
|
||||
<div class="decl-example">
|
||||
der neu<span class="ending">e</span> Termin → Ich habe den neu<span class="ending">en</span> Termin abgesagt.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="decl-block mixed">
|
||||
<div class="decl-label">Mixed declension — after ein/eine/ein, kein, mein, sein...</div>
|
||||
<p style="margin: 0.4rem 0 0;">Ein-words don't mark masculine nominative or neuter, so the adjective picks up the slack there.</p>
|
||||
<div class="decl-example">
|
||||
ein günstig<span class="ending">er</span> Mechaniker → Wir brauchen einen günstig<span class="ending">en</span> Mechaniker.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="decl-block strong">
|
||||
<div class="decl-label">Strong declension — no article at all</div>
|
||||
<p style="margin: 0.4rem 0 0;">With nothing in front, the adjective alone has to signal gender and case — it behaves like a der-word.</p>
|
||||
<div class="decl-example">
|
||||
frisch<span class="ending">er</span> Kaffee → Ich trinke frisch<span class="ending">en</span> Kaffee.<br>
|
||||
(<em>letzt<span class="ending">en</span> Samstag</em> — same pattern, masculine accusative, no article)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2>The endings, side by side</h2>
|
||||
|
||||
<p>Accusative singular only — this is where your errors cluster:</p>
|
||||
|
||||
<table class="decl-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>masculine</th>
|
||||
<th>feminine</th>
|
||||
<th>neuter</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>after der-word</td>
|
||||
<td class="changed">den neu<strong>en</strong></td>
|
||||
<td>die neu<strong>e</strong></td>
|
||||
<td>das alt<strong>e</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>after ein-word</td>
|
||||
<td class="changed">einen neu<strong>en</strong></td>
|
||||
<td>eine nett<strong>e</strong></td>
|
||||
<td>ein kaputt<strong>es</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>no article</td>
|
||||
<td class="changed">frisch<strong>en</strong> (Kaffee)</td>
|
||||
<td>frisch<strong>e</strong> (Milch)</td>
|
||||
<td>kalt<strong>es</strong> (Wasser)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="tip-box">
|
||||
<strong>The one thing worth memorising first:</strong> in the accusative, only <strong>masculine</strong> ever changes — and it always changes to <strong>-en</strong>, no matter what (or whether anything) precedes the adjective. Feminine and neuter keep the same ending they'd have in the nominative. Exactly the same simplification as the article table from Lesson 3.
|
||||
</div>
|
||||
|
||||
<p>Plural, no article, also stays simple — it takes <strong>-e</strong> in both nominative and accusative, same as the article <em>die</em> doesn't change:</p>
|
||||
|
||||
<div class="decl-example" style="background:white; border:1px solid var(--border); border-radius: var(--radius); padding: 0.75rem 1.25rem;">
|
||||
Ich brauche neu<span class="ending">e</span> Reifen. <span style="color: var(--ink-light); font-family: 'Georgia', serif; font-size: 0.85rem;">— I need new tyres.</span>
|
||||
</div>
|
||||
|
||||
<hr style="border:none; border-top: 1px solid #ddd; margin: 2.5rem 0;">
|
||||
|
||||
<h2>Drill — choose the correct ending</h2>
|
||||
|
||||
<p>Each sentence is accusative. Decide what precedes the adjective (der-word, ein-word, or nothing), then pick the ending.</p>
|
||||
|
||||
<div class="quiz-section" id="quiz"></div>
|
||||
|
||||
<div class="score-bar" id="score-bar">
|
||||
<span class="score-number" id="score-number"></span> — <span id="score-comment"></span>
|
||||
</div>
|
||||
|
||||
<h2>Primary source</h2>
|
||||
|
||||
<p>
|
||||
<ul style="margin: 0.5rem 0 0 1.25rem; line-height: 2;">
|
||||
<li><a href="https://git.sometimescode.com/cgsmith/German-for-English-Speakers/src/branch/main/adjectives/adjective-declensions.md" target="_blank">German for English Speakers: Adjective Declensions</a> — the weak/mixed/strong framework in full, all four cases.</li>
|
||||
<li><a href="https://yourdailygerman.com/adjective-endings-german/" target="_blank">Your Daily German: Adjective Endings</a> — the logic behind why the ending shifts (subscription).</li>
|
||||
<li><a href="https://yourdailygerman.com/german-adjective-endings-charts/" target="_blank">Your Daily German: Adjective Endings Charts</a> — full reference tables, all cases (subscription).</li>
|
||||
<li><a href="https://yourdailygerman.com/german-adjective-endings-exercise/" target="_blank">Your Daily German: Adjective Endings Exercise</a> — extra practice beyond this drill (subscription).</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<div class="ask-teacher">
|
||||
<strong>Ask your teacher:</strong> Bring a sentence where you weren't sure which adjective ending to use — especially anything with a time expression like <em>letzten Samstag</em> or <em>nächste Woche</em>, since those skip the article entirely and are easy to get wrong on reflex.
|
||||
</div>
|
||||
|
||||
<div class="lesson-nav">
|
||||
<strong>Related:</strong>
|
||||
<a href="0001-v2-word-order.html">Lesson 1: V2 Word Order</a> ·
|
||||
<a href="0002-noun-gender-daily-life.html">Lesson 2: Noun Gender</a> ·
|
||||
<a href="0003-the-four-cases.html">Lesson 3: The Four Cases</a> ·
|
||||
<a href="0004-subordinate-clauses.html">Lesson 4: Subordinate Clauses</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const questions = [
|
||||
{
|
||||
sentence: "Ich habe den ___ (neu) Termin abgesagt.",
|
||||
correct: "neuen",
|
||||
options: ["neue", "neuen", "neuer"],
|
||||
feedback: "<strong>Weak declension</strong> (after <em>den</em>) — masculine accusative always takes <strong>-en</strong>."
|
||||
},
|
||||
{
|
||||
sentence: "Wir brauchen ___ (günstig) Mechaniker.",
|
||||
correct: "einen günstigen",
|
||||
options: ["ein günstiger", "einen günstigen", "einem günstigen"],
|
||||
feedback: "<strong>Mixed declension</strong> (after <em>ein</em>) — masculine accusative: article becomes <em>einen</em>, adjective takes <strong>-en</strong> too."
|
||||
},
|
||||
{
|
||||
sentence: "Ich hatte ___ (letzt) Samstag einen Termin.",
|
||||
correct: "letzten",
|
||||
options: ["letzte", "letzten", "letzter"],
|
||||
feedback: "<strong>Strong declension</strong> (no article) — masculine accusative still takes <strong>-en</strong>, even with nothing in front of it."
|
||||
},
|
||||
{
|
||||
sentence: "Ich rufe die ___ (neu) Kollegin an.",
|
||||
correct: "neue",
|
||||
options: ["neue", "neuen", "neues"],
|
||||
feedback: "<strong>Weak declension</strong>, feminine — accusative doesn't change from nominative here: stays <strong>-e</strong>."
|
||||
},
|
||||
{
|
||||
sentence: "Er hat ___ (nett) E-Mail geschickt.",
|
||||
correct: "eine nette",
|
||||
options: ["eine nette", "einen netten", "ein nettes"],
|
||||
feedback: "<em>die E-Mail</em> is feminine — mixed declension accusative feminine stays <strong>-e</strong>, same as nominative. Article stays <em>eine</em>."
|
||||
},
|
||||
{
|
||||
sentence: "Wir haben das ___ (alt) Auto verkauft.",
|
||||
correct: "alte",
|
||||
options: ["alte", "alten", "altes"],
|
||||
feedback: "<strong>Weak declension</strong>, neuter — accusative doesn't change from nominative: stays <strong>-e</strong>."
|
||||
},
|
||||
{
|
||||
sentence: "Ich habe ___ (kaputt) Rad gefunden.",
|
||||
correct: "ein kaputtes",
|
||||
options: ["ein kaputtes", "einen kaputten", "eine kaputte"],
|
||||
feedback: "<em>das Rad</em> is neuter — mixed declension accusative neuter stays <strong>-es</strong>, same as nominative. Article stays <em>ein</em>."
|
||||
},
|
||||
{
|
||||
sentence: "Ich brauche ___ (neu) Reifen.",
|
||||
correct: "neue",
|
||||
options: ["neue", "neuen", "neuer"],
|
||||
feedback: "<strong>Strong declension, plural</strong> (no article) — takes <strong>-e</strong>, same in nominative and accusative."
|
||||
},
|
||||
{
|
||||
sentence: "Er hat den ___ (teuer) Kostenvoranschlag akzeptiert.",
|
||||
correct: "teuren",
|
||||
options: ["teure", "teuren", "teures"],
|
||||
feedback: "<strong>Weak declension</strong> (after <em>den</em>) — masculine accusative: <strong>-en</strong>."
|
||||
},
|
||||
{
|
||||
sentence: "Ich trinke ___ (frisch) Kaffee.",
|
||||
correct: "frischen",
|
||||
options: ["frische", "frischen", "frischer"],
|
||||
feedback: "<strong>Strong declension</strong> (no article), masculine — accusative: <strong>-en</strong>, same pattern as <em>letzten Samstag</em>."
|
||||
}
|
||||
];
|
||||
|
||||
const quiz = document.getElementById('quiz');
|
||||
let answered = 0;
|
||||
let correct = 0;
|
||||
const total = questions.length;
|
||||
|
||||
questions.forEach((q, i) => {
|
||||
const block = document.createElement('div');
|
||||
block.className = 'question-block';
|
||||
block.id = 'q' + i;
|
||||
|
||||
const displaySentence = q.sentence.replace('___', '<span style="display:inline-block;min-width:110px;border-bottom:2px solid #aaa;"> </span>');
|
||||
|
||||
block.innerHTML = `
|
||||
<div class="question-text"><strong>${i + 1}.</strong> ${displaySentence}</div>
|
||||
<div class="options" style="flex-direction:row;flex-wrap:wrap;gap:0.5rem;">
|
||||
${q.options.map(opt => `<button class="option-btn" style="flex:1;min-width:120px;text-align:center;" onclick="answer(${i},'${opt}',this)">${opt}</button>`).join('')}
|
||||
</div>
|
||||
<div class="feedback" id="fb${i}"></div>
|
||||
`;
|
||||
quiz.appendChild(block);
|
||||
});
|
||||
|
||||
function answer(i, chosen, btn) {
|
||||
const q = questions[i];
|
||||
const block = document.getElementById('q' + i);
|
||||
const fb = document.getElementById('fb' + i);
|
||||
const buttons = block.querySelectorAll('.option-btn');
|
||||
buttons.forEach(b => b.disabled = true);
|
||||
|
||||
const isCorrect = chosen === q.correct;
|
||||
answered++;
|
||||
if (isCorrect) {
|
||||
correct++;
|
||||
block.classList.add('correct');
|
||||
btn.classList.add('selected-correct');
|
||||
fb.className = 'feedback show correct-fb';
|
||||
fb.innerHTML = '✓ ' + q.feedback;
|
||||
} else {
|
||||
block.classList.add('incorrect');
|
||||
btn.classList.add('selected-incorrect');
|
||||
fb.className = 'feedback show incorrect-fb';
|
||||
fb.innerHTML = '✗ ' + q.feedback;
|
||||
buttons.forEach(b => { if (b.textContent.trim() === q.correct) b.classList.add('reveal-correct'); });
|
||||
}
|
||||
|
||||
if (answered === total) showScore();
|
||||
}
|
||||
|
||||
function showScore() {
|
||||
const bar = document.getElementById('score-bar');
|
||||
const num = document.getElementById('score-number');
|
||||
const comment = document.getElementById('score-comment');
|
||||
bar.classList.add('show');
|
||||
num.textContent = correct + ' / ' + total;
|
||||
if (correct === total) {
|
||||
comment.textContent = 'All ten — the masculine -en pattern is locking in. Watch for it in your own writing this week.';
|
||||
} else if (correct >= 8) {
|
||||
comment.textContent = 'Strong. Re-read the feedback on the ones you missed — they usually come down to which declension type applies.';
|
||||
} else if (correct >= 6) {
|
||||
comment.textContent = 'The framework is forming. Focus on spotting whether there is a der-word, an ein-word, or nothing before the adjective.';
|
||||
} else {
|
||||
comment.textContent = 'Reread the three declension blocks slowly, then try again. Masculine -en is the single highest-value pattern to lock in.';
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user