diff --git a/docs/supplemental-content.json b/docs/supplemental-content.json index f2d83b8..e8f0148 100644 --- a/docs/supplemental-content.json +++ b/docs/supplemental-content.json @@ -1,4 +1,39 @@ [ + { + "destination": "src/content/docs/computer-science/index.md", + "source": "origin/isaacs-changes@d5d6730 (curated overview)", + "category": "computer-science-recovery" + }, + { + "destination": "src/content/docs/computer-science/year-1/index.md", + "source": "origin/isaacs-changes@d5d6730 (curated overview)", + "category": "computer-science-recovery" + }, + { + "destination": "src/content/docs/computer-science/year-1/period-1/introduction-to-computer-science.md", + "source": "origin/isaacs-changes@d5d6730", + "category": "computer-science-recovery" + }, + { + "destination": "src/content/docs/computer-science/year-1/period-4/computer-architecture.md", + "source": "origin/isaacs-changes@d5d6730", + "category": "computer-science-recovery" + }, + { + "destination": "src/content/docs/computer-science/year-1/period-5/algorithmic-design.md", + "source": "origin/isaacs-changes@d5d6730", + "category": "computer-science-recovery" + }, + { + "destination": "src/content/docs/computer-science/year-1/period-5/databases.md", + "source": "origin/isaacs-changes@d5d6730", + "category": "computer-science-recovery" + }, + { + "destination": "src/content/docs/computer-science/year-1/period-5/statistics.md", + "source": "origin/isaacs-changes@d5d6730", + "category": "computer-science-recovery" + }, { "destination": "src/content/docs/data-science-and-ai/year-1/block-1/discrete-mathematics.md", "source": "https://msvincognito.nl/wiki/study/bachelor/year_1/block_1/discrete_mathematics", diff --git a/src/content/docs/computer-science/index.md b/src/content/docs/computer-science/index.md new file mode 100644 index 0000000..2d1e728 --- /dev/null +++ b/src/content/docs/computer-science/index.md @@ -0,0 +1,14 @@ +--- +title: Computer Science +description: Recovered historical Computer Science course information. +--- + +:::caution[Historical information] +This information originated in the previous wiki and may be outdated. Check the current Maastricht University programme information before relying on it. +::: + +This section contains the substantive Computer Science course information recovered from the previous Incognito wiki. Only courses with actual recovered content are published. + +- [Year 1](./year-1/) +- [Previous exams and documents](/previous-exams-and-documents/) + diff --git a/src/content/docs/computer-science/year-1/index.md b/src/content/docs/computer-science/year-1/index.md new file mode 100644 index 0000000..1f703d9 --- /dev/null +++ b/src/content/docs/computer-science/year-1/index.md @@ -0,0 +1,11 @@ +--- +title: Computer Science — Year 1 +description: Recovered historical first-year Computer Science course information. +--- + +:::caution[Historical information] +This information originated in the previous wiki and may be outdated. Check the current Maastricht University course information before relying on it. +::: + +The sidebar lists the Year 1 courses for which substantive historical content was recovered. Empty placeholders from the source branch are intentionally not published. + diff --git a/src/content/docs/computer-science/year-1/period-1/introduction-to-computer-science.md b/src/content/docs/computer-science/year-1/period-1/introduction-to-computer-science.md new file mode 100644 index 0000000..9a18c0f --- /dev/null +++ b/src/content/docs/computer-science/year-1/period-1/introduction-to-computer-science.md @@ -0,0 +1,22 @@ +--- +title: Introduction to Computer Science +description: Historical course details for Introduction to Computer Science, recovered from the previous Incognito wiki. +--- + +:::caution[Historical information] +This information originated in the previous wiki and may be outdated. Check the current Maastricht University course information before relying on it. +::: + +## Full course description + +The course introduces algorithms, computer architecture and hardware, models of computation, computer networks, and operating systems. It develops abstraction, decomposition, pattern recognition, and algorithmic thinking, including practical work with a wirelessly controlled microcontroller device. + +## Prerequisites + +None. + +## Recommended reading + +- *Computational Thinking for the Modern Problem Solver* by David Riley and Kenny A. Hunt +- *Computer Science Illuminated* by Nell B. Dale + diff --git a/src/content/docs/computer-science/year-1/period-4/computer-architecture.md b/src/content/docs/computer-science/year-1/period-4/computer-architecture.md new file mode 100644 index 0000000..33b9aca --- /dev/null +++ b/src/content/docs/computer-science/year-1/period-4/computer-architecture.md @@ -0,0 +1,21 @@ +--- +title: Computer Architecture +description: Historical course details for Computer Architecture, recovered from the previous Incognito wiki. +--- + +:::caution[Historical information] +This information originated in the previous wiki and may be outdated. Check the current Maastricht University course information before relying on it. +::: + +## Full course description + +This course covers digital logic, combinational and sequential circuits, hardware description languages, processor architecture, memory systems, and input/output systems. Students gain experience designing and simulating hardware components. + +## Prerequisites + +None. + +## Recommended reading + +*Computer Architecture: A Quantitative Approach* by John L. Hennessy and David A. Patterson. + diff --git a/src/content/docs/computer-science/year-1/period-5/algorithmic-design.md b/src/content/docs/computer-science/year-1/period-5/algorithmic-design.md new file mode 100644 index 0000000..3790810 --- /dev/null +++ b/src/content/docs/computer-science/year-1/period-5/algorithmic-design.md @@ -0,0 +1,21 @@ +--- +title: Algorithmic Design +description: Historical course details for Algorithmic Design, recovered from the previous Incognito wiki. +--- + +:::caution[Historical information] +This information originated in the previous wiki and may be outdated. Check the current Maastricht University course information before relying on it. +::: + +## Full course description + +Following Data Structures and Algorithms, this course develops algorithm design and analysis through greedy algorithms, dynamic programming, the master theorem, NP-completeness, backtracking, linear programming, and branch-and-bound. + +## Prerequisites + +Desired prior knowledge: Data Structures and Algorithms and Discrete Mathematics. + +## Recommended reading + +Goodrich and Tamassia, *Algorithm Design and Applications* (2015). + diff --git a/src/content/docs/computer-science/year-1/period-5/databases.md b/src/content/docs/computer-science/year-1/period-5/databases.md new file mode 100644 index 0000000..89194fe --- /dev/null +++ b/src/content/docs/computer-science/year-1/period-5/databases.md @@ -0,0 +1,21 @@ +--- +title: Databases +description: Historical course details for Databases, recovered from the previous Incognito wiki. +--- + +:::caution[Historical information] +This information originated in the previous wiki and may be outdated. Check the current Maastricht University course information before relying on it. +::: + +## Full course description + +This course introduces relational database design, implementation, optimization, data modelling, relational algebra, and SQL. It also covers concurrency, recovery, indexing, triggers, and alternative models such as NoSQL, with a group database project. + +## Prerequisites + +None. + +## Recommended reading + +*Readings in Database Systems*, fifth edition, by Peter Bailis, Joseph M. Hellerstein, and Michael Stonebraker. + diff --git a/src/content/docs/computer-science/year-1/period-5/statistics.md b/src/content/docs/computer-science/year-1/period-5/statistics.md new file mode 100644 index 0000000..93c8818 --- /dev/null +++ b/src/content/docs/computer-science/year-1/period-5/statistics.md @@ -0,0 +1,17 @@ +--- +title: Statistics +description: Historical course details for Statistics, recovered from the previous Incognito wiki. +--- + +:::caution[Historical information] +This information originated in the previous wiki and may be outdated. Check the current Maastricht University course information before relying on it. +::: + +## Full course description + +Statistics introduces probability distributions, random variables, expectation, standard deviation, independence, the central limit theorem, hypothesis testing, and confidence intervals. + +## Prerequisites + +None. + diff --git a/tests/content-audit.test.mjs b/tests/content-audit.test.mjs index 56f4270..ab7b124 100644 --- a/tests/content-audit.test.mjs +++ b/tests/content-audit.test.mjs @@ -44,8 +44,8 @@ test('the full migration audit accounts for every source and destination', async assert.equal(result.sourceCount, 29); assert.equal(result.destinationCount, 28); - assert.equal(result.pageCount, 86); - assert.equal(result.supplementalCount, 58); + assert.equal(result.pageCount, 93); + assert.equal(result.supplementalCount, 65); }); test('published source pages leave the sole H1 to Starlight frontmatter rendering', async () => { @@ -235,8 +235,8 @@ test('audit accepts a published page declared in the supplemental registry', asy supplemental, }); - assert.equal(result.pageCount, 86); - assert.equal(result.supplementalCount, 58); + assert.equal(result.pageCount, 93); + assert.equal(result.supplementalCount, 65); }); }); diff --git a/tests/programme-content.test.mjs b/tests/programme-content.test.mjs index 3cca236..6e6bf72 100644 --- a/tests/programme-content.test.mjs +++ b/tests/programme-content.test.mjs @@ -23,3 +23,19 @@ test('Data Science & AI owns the former generic bachelor content tree', async () assert.doesNotMatch(sidebar, /slug: 'bachelor'/); assert.match(sidebar, /slug: 'data-science-and-ai'/); }); + +test('Computer Science publishes only reviewed substantive branch content', async () => { + const pages = [ + 'src/content/docs/computer-science/index.md', + 'src/content/docs/computer-science/year-1/index.md', + 'src/content/docs/computer-science/year-1/period-1/introduction-to-computer-science.md', + 'src/content/docs/computer-science/year-1/period-4/computer-architecture.md', + 'src/content/docs/computer-science/year-1/period-5/algorithmic-design.md', + 'src/content/docs/computer-science/year-1/period-5/databases.md', + 'src/content/docs/computer-science/year-1/period-5/statistics.md', + ]; + const content = (await Promise.all(pages.map((page) => readFile(page, 'utf8')))).join('\n'); + assert.doesNotMatch(content, /^#Hello$|Empty Page|course-description/im); + assert.match(content, /Introduction to Computer Science/); + assert.ok((await stat('src/content/docs/previous-exams-and-documents.md')).isFile()); +});