Each week you will be assigned a topic related to Linux networking and security. Your task is to independently research that topic and produce a set of study notes written in Markdown format. The following week you will share your notes with the class and walk your classmates through what you learned. Think of this as teaching the material to your peers — the better your notes, the better the conversation.
Your deliverable is a single .md file submitted to the course repository before
the start of the next class session.
Your markdown file must contain every section listed below. You may add additional sections if they help tell your story, but these are the minimum.
Your file must begin with a YAML frontmatter block. This metadata is used for organization and grading. Use the exact keys shown here (values are your own):
---
title: "Topic Title Here"
author: "Your Full Name"
class: "CSC 271 — Linux Networking and Security"
instructor: "Instructor Name"
date: 2026-03-27
topic: "Brief Topic Label"
---Rules for frontmatter:
- The block must start and end with exactly three dashes (
---). - Use ISO 8601 date format:
YYYY-MM-DD. - Strings containing special characters (colons, quotes) must be wrapped in double quotes.
Write a short paragraph (4–8 sentences) that answers three questions:
- What is the topic and why does it matter?
- How did you approach your research (sources, tools, experimentation)?
- What are the key things you learned?
This section should stand on its own — a reader who only reads the abstract should walk away with a clear picture of your work.
This is the body of your research. Organize your notes with headings, sub-headings, and whatever structural elements best fit the material (lists, tables, code blocks, blockquotes, etc.). At a minimum you should cover:
- Definitions and key concepts — What is this technology or technique?
- How it works — Protocols, configuration files, data flows, and relevant theory.
- Diagrams or tables where they aid understanding.
References are required. Every claim, statistic, or concept that is not common knowledge must cite its source. You may use either style below (or mix them), but be consistent throughout your document.
Inline links — the URL lives right in the sentence:
According to the [OpenSSH manual](https://man.openbsd.org/ssh), the default
port is 22.Reference-style / footnote links — a short label in the text points to a URL defined elsewhere in the file. This keeps paragraphs readable when you have many citations:
The default port is 22 [^1]. Key-based authentication is preferred over
password authentication for most deployments [^2].
[^1]: OpenSSH Manual — https://man.openbsd.org/ssh
[^2]: NIST SP 800-123, *Guide to General Server Security* —
https://csrc.nist.gov/publications/detail/sp/800-123/finalYou may also use the simpler bracket-number style without the caret if your editor does not support footnotes:
According to the OpenSSH manual [1], the default port is 22.
## References
1. [OpenSSH Manual](https://man.openbsd.org/ssh)
2. [NIST SP 800-123](https://csrc.nist.gov/publications/detail/sp/800-123/final)Whichever style you choose, collect all references in a "References" section at the end of this section (or at the end of the document).
Describe how this topic fits into modern Linux systems administration, networking, or security practice, and demonstrate it with real commands and examples.
-
Commands and examples — Show real command-line examples inside fenced code blocks with language identifiers. Explain what each command does and when you would use it:
```bash ssh-keygen -t ed25519 -C "student@example.com" ```
-
Where would you encounter this in a real job or home-lab?
-
What problems does it solve?
-
How does it relate to other topics we have covered in class?
-
Are there modern alternatives or extensions of this technology?
Include at least one concrete scenario or use case with accompanying commands.
Write a few paragraphs of honest, personal advice for a student who will receive this same assignment next year. What worked for you? What would you do differently? What resources saved you time? Were there any pitfalls or rabbit-holes to avoid?
This section is graded on thoughtfulness and specificity — generic advice like "start early" is fine to include but should not be the entire section.
Because one goal of this assignment is to develop fluency with Markdown, at least 20 % of your grade comes from proper structure, usage, and validity of Markdown formatting. The following elements are expected throughout your document:
| Element | Expectation |
|---|---|
| YAML frontmatter | Present, valid, all required keys |
| Headings | Logical hierarchy (#, ##, ###); never skip levels |
| Paragraphs | Separated by blank lines; no run-on walls of text |
| Emphasis | Appropriate use of *italic* and **bold** |
| Lists | Ordered and/or unordered where content calls for them |
| Links | Inline links to all referenced sources |
| Code | Inline code for commands/paths (`backticks`); fenced code blocks with language identifier for multi-line examples |
| Tables | At least one Markdown table if the content warrants it |
| Blockquotes | Used for direct quotations or important callouts |
| Images | Optional, but if included use proper  syntax |
| Horizontal rules | Used to visually separate major sections (---) |
| Consistent style | Consistent indentation, spacing, and formatting throughout |
Common mistakes that lose points:
- Missing or malformed frontmatter.
- Headings that jump from
#to###(skipping##). - Fenced code blocks without a language identifier.
- Bare URLs instead of proper
[text](url)links. - No blank line before a list, table, or heading.
- Inconsistent list markers (mixing
-and*in the same list). - Walls of text with no structural elements.
| Criterion | Excellent (full) | Satisfactory (half) | Needs Work (0) |
|---|---|---|---|
| Frontmatter | Valid YAML with all required keys and correct formatting | Present but missing a key or has a syntax issue | Missing or broken |
| Heading hierarchy & document structure | Logical heading levels, clear document flow, proper section separation | Minor issues (a skipped level, inconsistent spacing) | Disorganized or flat structure |
| Code formatting | Inline code and fenced blocks with language identifiers used correctly throughout | Mostly correct; one or two missing language tags or inconsistent backtick usage | Code presented as plain text or blocks lack language identifiers |
| Links, lists, tables, and other elements | Sources linked inline, lists and tables used appropriately, Markdown renders cleanly | Some bare URLs or minor rendering issues | Formatting is largely absent or broken |
| Overall consistency and polish | Uniform style, clean spacing, no rendering artifacts | A few inconsistencies but generally readable | Sloppy or inconsistent throughout |
| Criterion | Excellent (full) | Satisfactory (half) | Needs Work (0) |
|---|---|---|---|
| Completeness | Clearly addresses the topic, approach, and learning outcomes in a concise paragraph | Covers most elements but is vague or too brief | Missing or does not address the required questions |
| Clarity and writing quality | Well-written, concise, and informative | Understandable but could be tighter | Confusing or poorly written |
| Criterion | Excellent (full) | Satisfactory (half) | Needs Work (0) |
|---|---|---|---|
| Depth and accuracy | Thorough, accurate coverage; demonstrates real understanding | Covers the basics but lacks depth or contains minor inaccuracies | Superficial, inaccurate, or mostly copied without understanding |
| References and sources | Three or more credible sources cited with inline links and a references section | One or two sources cited; links may be incomplete | No references or sources are unreliable |
| Organization | Logical flow; easy to follow from concept to concept | Readable but could be better organized | Disjointed or hard to follow |
| Criterion | Excellent (full) | Satisfactory (half) | Needs Work (0) |
|---|---|---|---|
| Commands and examples | Multiple real, working command-line examples in proper code blocks with explanation of what each does and when to use it | Some examples provided but lacking context or formatting | No examples or examples are incorrect |
| Relevance to modern Linux | Clear, specific connections to real-world sysadmin, networking, or security practice | General statements about relevance without concrete detail | Missing or unrelated to practical use |
| Scenario or use case | At least one detailed, realistic scenario demonstrating application | A scenario is mentioned but lacks detail | No scenario provided |
| Criterion | Excellent (full) | Satisfactory (half) | Needs Work (0) |
|---|---|---|---|
| Specificity and usefulness | Actionable, specific advice grounded in personal experience | Some useful advice but mostly generic | Missing or entirely generic |
| Resource recommendations | Recommends specific tools, links, or strategies with brief explanation | Mentions a resource but without context | No recommendations |
| Reflection | Shows genuine reflection on the learning process | Some reflection present | No personal reflection |
| Category | Points | Weight |
|---|---|---|
| Markdown Structure and Formatting | 5 | 20 % |
| Executive Summary / Abstract | 5 | 20 % |
| Explanation of Topic & Notes | 5 | 20 % |
| Practical Applications | 5 | 20 % |
| Advice for Future Students | 5 | 20 % |
| Total | 25 | 100 % |
The following references are listed from most beginner-friendly to most comprehensive. Bookmark at least one.
- Markdown Guide — The best starting point. Includes a cheat sheet, basic syntax reference, and extended syntax reference all in one site. Free and open-source.
- Markdown Guide — Basic Syntax — Direct link to the basic syntax page; covers everything you need for this assignment.
- CommonMark Reference & Tutorial — A 10-minute interactive tutorial based on the CommonMark specification. Great for learning by doing.
- GitHub Flavored Markdown Spec — The formal specification used by GitHub. Useful for understanding tables, task lists, and autolinks.
- Markdown Cheat Sheet (markdownguide.org) — A single-page quick reference to keep open while writing.
You do not need to install anything to write Markdown. Any of the editors below run entirely in your browser. StackEdit and Dillinger are the most popular in this class, but you are welcome to use any editor you like.
| Editor | URL | Highlights |
|---|---|---|
| StackEdit | stackedit.io | Feature-rich; supports LaTeX math, UML diagrams, and Mermaid charts. Syncs with Google Drive, Dropbox, and GitHub. Workspace with multi-file explorer. Best for power users. |
| Dillinger | dillinger.io | Clean two-pane editor with live preview. Exports to HTML and PDF. Syncs with GitHub, Dropbox, Google Drive, Medium, and OneDrive. Best for simplicity. |
| HackMD | hackmd.io | Real-time collaboration (like Google Docs for Markdown). Supports slide decks and book mode. Free tier available. Best for group work. |
| HedgeDoc | hedgedoc.org | Open-source, self-hosted collaborative editor (evolved from CodiMD). Great if the class ever runs its own instance. |
| Readme.so | readme.so | Template-driven editor designed for README files. Good for learning structure. |
| MarkTwo | marktwo.app | Progressive web app; works offline. Syncs via your own Google Drive. Lightweight and fast. |
Tip: Whichever editor you use, always preview your file before submitting.
Paste your final .md into a second editor or a GitHub preview to catch
formatting issues you may have missed.
Below is a minimal starter template. Copy it into your editor and fill in each section. Delete the placeholder instructions before submitting.
---
title: "Your Topic Title"
author: "Your Full Name"
class: "CSC 271 — Linux Networking and Security"
instructor: "Instructor Name"
date: YYYY-MM-DD
topic: "Short Topic Label"
---
# Your Topic Title
## Executive Summary
<!-- 4–8 sentences: what, how, and what you learned -->
---
## Explanation of Topic & Notes
### Key Concepts
<!-- Definitions, background, how the technology works -->
### Diagrams or Tables
| Column A | Column B |
|----------|----------|
| data | data |
### References
<!-- Use inline links, footnote links, or numbered references — pick one style
and be consistent. Examples: -->
- [Source Title](https://example.com)
<!-- Or footnote style:
[^1]: Source Title — https://example.com
[^2]: Another Source — https://example.com/other
-->
---
## Practical Applications
<!-- Real-world scenarios, modern relevance, connections to class material -->
### Commands and Examples
```bash
# example command here
```
<!-- Explain what each command does and when you would use it -->
---
## Advice for Future Students
<!-- Personal reflection, recommended resources, pitfalls to avoid -->