Zing Forum

Reading

University of Nottingham CS & AI Notes Repository: A Practice of Automated Knowledge Management System

This article introduces an open-source course notes repository for Computer Science and Artificial Intelligence, demonstrating how to build an automated personal knowledge management system using Obsidian, S3 storage, cron scheduled tasks, and GitHub CI/CD.

知识管理ObsidianGitHub PagesJekyll自动化笔记系统计算机科学人工智能学习资源开源
Published 2026-05-24 07:00Recent activity 2026-05-24 07:21Estimated read 8 min
University of Nottingham CS & AI Notes Repository: A Practice of Automated Knowledge Management System
1

Section 01

University of Nottingham CS & AI Notes Repository: Guide to Automated Knowledge Management System Practice

This article introduces an open-source notes repository for the Computer Science and Artificial Intelligence courses at the University of Nottingham, demonstrating how to build an automated personal knowledge management system using Obsidian, S3 storage, cron scheduled tasks, and GitHub CI/CD. This project is not only a sharing of learning resources but also an example of modern knowledge management workflows, and it has been deployed as a static website for public access.

2

Section 02

Project Background and Overview

Basic Project Information

  • Original Author/Maintainer: Draggie306
  • Source Platform: GitHub
  • Project Name: nottingham-cs-notes
  • Online Access: https://notes.oling.dev
  • Release Date: May 23, 2026

Project Overview

This is an open-source notes repository for the undergraduate CS and AI courses at the University of Nottingham. The Obsidian notes accumulated by the author over two years of study are synchronized to GitHub via an automated process and deployed as a static website. It combines personal note management with open-source sharing, demonstrating a complete modern knowledge management workflow.

3

Section 03

Technical Architecture and Automated Workflow

Technical Architecture

  1. Obsidian + Remotely Save: Automatically sync notes to S3-compatible storage every 5 minutes, ensuring local-first, real-time backup, and cross-device access.
  2. Home Server + cron: Execute rclone to sync S3 to Git repository every midnight, automatically commit, push, and log the process.
  3. GitHub Actions + Jekyll: Repository updates trigger Jekyll to build static HTML, handle formulas and code highlighting, and deploy to GitHub Pages.

Reasons for Technology Selection

  • Obsidian: Native Markdown support, bidirectional links, plugin ecosystem, local storage, graph view.
  • S3 + rclone: Cost-effectiveness, reliability, flexibility, incremental sync.
  • Jekyll: Native GitHub support, static generation, rich themes, Liquid templates.
4

Section 04

Course Content and Structure

Year 1 Course Modules

Semester 1: COMP1001 (Discrete Mathematics), COMP1005 (C Programming), COMP1054 (ARM32 Assembly), COMP1055 (Networking), COMP1056 (Computer Architecture) Semester 2: COMP1003 (Software Engineering), COMP1004 (Databases and Interfaces), COMP1008 (Introduction to AI), COMP1009 (Programming Paradigms), COMP1043 (Linear Algebra)

Year 2 Course Modules

Semester 1: COMP2007 (Operating Systems), COMP2013 (Maintainable Software), COMP2065 (Formal Reasoning) Semester 2: COMP2001 (AI Methods), COMP2004 (Human-Computer Interaction), COMP2012 (Languages and Computation), COMP2054 (Algorithms) Whole Year: COMP2002 (Software Engineering Group Project)

Other Content

GEOG1037 (Geophysical Environment), Miscellaneous Folders (Grades, Notes, Home Lab Documents, etc.)

5

Section 05

Practical Application Value

For Student Learners

  • Course Reference: Covers core courses and can be used as a learning aid.
  • Tech Stack Example: Demonstrates learning paths for languages like C, Java, Haskell, Lean4, etc.
  • AI Introduction: Provides notes for AI fundamentals and methods courses.

For Knowledge Management Professionals

  • Workflow Reference: The Obsidian→S3→Git→Jekyll→Pages workflow is replicable.
  • Automation Example: cron and CI/CD configurations can be used as templates.
  • Open-Source Practice: Demonstrates how to share personal notes openly.

For Tech Enthusiasts

  • Home Lab: Practical application scenarios for home servers.
  • Cloud-Native Toolchain: Combined use of rclone, S3, and GitHub Actions.
  • Static Website: Practice of building static websites with Jekyll.
6

Section 06

Potential Improvement Directions

Search Function Enhancement

  • Integrate Algolia DocSearch or Lunr.js for full-text search.
  • Generate search index JSON files.

Content Structuring

  • Add course outlines and learning path diagrams.
  • Add prerequisite knowledge requirements for courses.
  • Build a knowledge point association graph.

Collaboration Features

  • Add a comment system (e.g., utterances).
  • Allow PRs to fix errors.
  • Establish contribution guidelines and community norms.

Sync Frequency Optimization

  • Use Webhooks for real-time triggering.
  • Trigger sync when Obsidian saves.
  • Add a manual sync button.
7

Section 07

Summary and Insights

This project demonstrates a complete modern knowledge management workflow. It is not only a collection of study notes but also a technical practice case. Core insights:

  1. Local-First: Obsidian ensures data control and ownership.
  2. Automation: cron and CI/CD eliminate repetitive operations.
  3. Open-Source Spirit: Open resources benefit the community.
  4. Continuous Iteration: Evolving from cheat sheets to systematic course notes.

For readers who want to build a personal knowledge management system, this project provides a validated reference architecture, suitable for students, lifelong learners, and knowledge workers to draw on.