Skip to content

Commit fcd0fa7

Browse files
committed
Refactor and update documentation following new Antigravity standards and restructure project navigation
1 parent 9b9aef6 commit fcd0fa7

File tree

14 files changed

+700
-106
lines changed

14 files changed

+700
-106
lines changed

Antigravity.md

Lines changed: 81 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,127 +1,146 @@
1+
2+
13
# CodeCampus OS — Official User Guide Specification
24

35
## Purpose
46

5-
This document defines the writing standards for the CodeCampus OS User Guide.
7+
This document defines the official writing standards for the **CodeCampus OS User Guide**.
68

79
The guide is designed for:
8-
- Beginner software engineers
9-
- Computer Science & Engineering (CSE) students
10-
- Self-learners who are new to Linux-based development environments
1110

12-
The goal is **not** to simply list tools, but to teach students:
13-
- What each tool is
14-
- Why it exists
15-
- How it is used in real-world software development workflows
11+
* Beginner software engineers
12+
* Computer Science & Engineering (CSE) students
13+
* Self-learners who are new to Linux-based development environments
14+
15+
The goal is **not** to simply list tools or provide installation instructions. Instead, the guide must teach students:
16+
17+
* What each tool is
18+
* Why the tool exists
19+
* How it is actually used in real-world development workflows, with concrete examples
20+
21+
CodeCampus OS differentiates itself from other setups by emphasizing:
1622

17-
CodeCampus differentiates itself from other setups (such as Omakub) by providing:
18-
- Deep, student-focused explanations
19-
- Clear installation instructions for multiple Linux distributions
20-
- Practical guidance instead of surface-level descriptions
23+
* Deep, student-focused explanations
24+
* Clear installation instructions for multiple Linux distributions
25+
* Practical, hands-on guidance instead of surface-level descriptions
2126

2227
---
2328

2429
## Writing Style Rules
2530

26-
- Clear, direct, and professional
27-
- Beginner-friendly, but **never dumbed down**
28-
- No marketing language
29-
- No generic or AI-style filler content
30-
- Prefer explanations over buzzwords
31-
- Assume curiosity and willingness to learn, not prior expertise
31+
Content must follow these principles:
32+
33+
* Clear, direct, and professional
34+
* Beginner-friendly, but **never dumbed down**
35+
* No marketing language or vague buzzwords
36+
* No generic filler content
37+
* Prefer **explanations over definitions**
38+
* Assume readers are curious and motivated, but may have minimal prior knowledge
39+
40+
The writing should feel like a mentor guiding the student step-by-step, not like a technical reference sheet or promotional page.
3241

3342
---
3443

3544
## Required Structure for Every Tool Section
3645

37-
Every tool **must** follow the structure below exactly.
46+
Every tool section **must** follow the structure below exactly.
47+
The goal is to ensure that beginners can **understand, install, and start using the tool immediately**, with real examples.
3848

3949
---
4050

4151
## Tool Name
4252

43-
Use a clear and descriptive main heading.
53+
Use a clear Markdown heading.
4454

4555
Example:
56+
4657
```markdown
4758
## Git
48-
````
59+
```
4960

5061
---
5162

5263
### What is it?
5364

54-
Explain:
65+
Explain in beginner-friendly language:
5566

5667
* What the tool is
5768
* What problem it solves
5869
* Where it fits in the software development ecosystem
5970

60-
This section must be understandable to a first-year CS student with minimal prior exposure.
71+
This section should provide a **conceptual understanding**, so a first-year CS student can answer:
72+
*"What does this tool do, and why would I need it?"*
6173

6274
---
63-
### Installation (Optional)
6475

65-
!!! note
66-
CodeCampus OS includes this tool by default.
67-
Use the commands below only if installing on another distribution.
76+
### Installation
77+
78+
Provide installation instructions for each supported Linux distribution using this format:
79+
it is mkdocs tab (horizontal tabs)
6880

6981
=== "Ubuntu / Debian"
70-
```bash
71-
sudo apt install git
72-
```
82+
83+
```bash
84+
sudo apt install git
85+
```
7386

7487
=== "Arch / Manjaro"
75-
```bash
76-
sudo pacman -S git
77-
```
88+
89+
```bash
90+
sudo pacman -S git
91+
```
7892

7993
=== "Fedora"
80-
```bash
81-
sudo dnf install git
82-
```
94+
95+
```bash
96+
sudo dnf install git
97+
```
8398

8499
=== "openSUSE"
85-
```bash
86-
sudo zypper install git
87-
```
88100

89-
### Why this tool matters (In Depth)
101+
```bash
102+
sudo zypper install git
103+
```
90104

91-
This is the **most important section**.
105+
Do not include commentary in this section; it is purely for installation commands.
92106

93-
Explain in detail:
107+
---
108+
109+
### Why this tool matters (In Depth)
110+
111+
This is the **most important section**. Explain thoroughly:
94112

95113
* Why students should care about this tool
96114
* How it improves productivity or understanding
97-
* What problems students will face without it
98-
* Where and how it is used in real-world projects
115+
* Common problems students face without it
116+
* Real-world scenarios where professionals use it
99117

100-
Write this as a thoughtful explanation, not bullet-point hype.
118+
**The explanation must go beyond surface-level descriptions**, including examples of typical beginner mistakes and why using the tool correctly matters.
101119

102120
---
103121

104122
### How students will actually use it
105123

106-
Explain:
124+
This section must include **concrete, beginner-friendly examples**, such as:
107125

108-
* Common real-world usage scenarios
109-
* Typical beginner-level workflows or commands
110-
* How the tool fits into daily development work
126+
* Real-world workflows or tasks a student might perform
127+
* Example commands with detailed explanations of **what they do and why they are used**
128+
* Screenshots or textual descriptions of expected outputs (if applicable)
129+
* Step-by-step mini-tutorials that a student can try immediately
111130

112-
If commands are shown, clearly explain **what each command does and why it is used**.
131+
It should answer: *If I open this tool right now, what should I do first, and how does it fit into my workflow?”*
113132

114133
---
115134

116-
### Professional Insight (Top 1% Knowledge)
135+
### Professional Insight
117136

118-
Provide insight that:
137+
Provide guidance that goes beyond beginner usage:
119138

120-
* Beginners usually do not know
121-
* Reflects how experienced engineers think about this tool
122-
* Helps students avoid common mistakes or bad habits
139+
* Explain insights that **experienced engineers know** but beginners often miss
140+
* Warn about common pitfalls or bad habits
141+
* Highlight ways to use the tool **effectively for learning and professional workflows**
123142

124-
This section should feel like advice from a senior engineer or mentor.
143+
This section should feel like advice from a senior engineer or mentor, helping the student build correct habits early.
125144

126145
---
127146

@@ -130,18 +149,18 @@ This section should feel like advice from a senior engineer or mentor.
130149
* Use Markdown headings only
131150
* Use tables **only** for installation instructions
132151
* Avoid emojis
133-
* Avoid unnecessary bullet lists
134-
* Prefer clear paragraphs and explanations
152+
* Avoid unnecessary bullet lists (unless they clarify a step-by-step workflow)
153+
* Prefer clear paragraphs with **in-depth explanations**
135154

136155
---
137156

138157
## End Goal
139158

140-
After reading a tool section, a student should:
159+
After reading a tool section, a student should be able to:
141160

142161
* Understand **why** the tool exists
143162
* Know **how** to install it on their Linux distribution
144-
* Know **when and how** to use it correctly
145-
* Feel confident exploring the tool further on their own
146-
163+
* Know **how to start using it immediately**, with practical beginner examples
164+
* Understand common pitfalls and professional usage habits
165+
* Feel confident exploring the tool further independently
147166

File renamed without changes.

docs/Development/editors/spyder.md

Lines changed: 87 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,113 @@
1-
# Spyder
1+
2+
## Spyder
3+
24

35
### What is it?
46

5-
Spyder is a powerful scientific environment written in Python, for Python, and designed by and for scientists, engineers, and data analysts. It is a dedicated Integrated Development Environment (IDE) that combines the editing, analysis, debugging, and profiling functionality of a comprehensive development tool with the data exploration, interactive execution, deep inspection, and beautiful visualization capabilities of a scientific package.
7+
Spyder is a **Python-focused Integrated Development Environment (IDE)** designed to help students and developers write, run, and understand Python code.
8+
9+
Unlike a simple text editor or terminal, Spyder provides:
610

7-
In the software development ecosystem, Spyder sits at the intersection of **software engineering and data science**. It is specifically tailored for users who need to interactively explore data and run sections of code in a non-linear fashion, which is common in research and mathematical computing.
11+
* A **code editor** with syntax highlighting and error checking
12+
* An **interactive Python console** to run code immediately
13+
* A **Variable Explorer** to inspect variables, lists, and data structures as your program runs
14+
* A **Debugger** to step through code line by line
815

9-
### Installation (Optional)
16+
Spyder solves the problem that beginners often face: **you can write Python code, but it’s hard to understand what is happening inside your program**.
1017

11-
!!! note
12-
CodeCampus OS includes Spyder by default.
13-
Use the commands below only if you are installing it on a different Linux distribution.
18+
In the software development ecosystem, Spyder sits between beginner-friendly editors (like IDLE) and professional IDEs (like PyCharm). It is especially used for **scientific computing, data analysis, and learning programming concepts** because it makes Python execution visible and interactive.
19+
20+
---
21+
22+
### Installation
1423

1524
=== "Ubuntu / Debian"
16-
```bash
17-
sudo apt update
18-
sudo apt install spyder
19-
```
25+
26+
```bash
27+
sudo apt install spyder
28+
```
2029

2130
=== "Arch / Manjaro"
22-
```bash
23-
sudo pacman -S spyder
24-
```
31+
32+
```bash
33+
sudo pacman -S spyder
34+
```
2535

2636
=== "Fedora"
27-
```bash
28-
sudo dnf install spyder
29-
```
37+
38+
```bash
39+
sudo dnf install spyder
40+
```
41+
42+
=== "openSUSE"
43+
44+
```bash
45+
sudo zypper install python3-spyder
46+
```
47+
48+
---
3049

3150
### Why this tool matters (In Depth)
3251

33-
For students in Computer Science or STEM fields, learning Python often involves more than just building applications; it involves processing data, visualizing functions, and performing complex calculations. While general-purpose editors like VS Code are excellent, they often require significant configuration to match the out-of-the-box "scientific stack" experience that Spyder provides.
52+
Learning Python is not just about writing code that runs—it’s about **understanding why the code behaves a certain way**. Beginners often struggle because:
53+
54+
* Errors are confusing or cryptic
55+
* Variables and program state are invisible during execution
56+
* It’s hard to debug logic in loops or functions
3457

35-
Spyder matters because it makes the internal state of a Python program **visible**. Its Variable Explorer allows students to see the contents of lists, dictionaries, and arrays (like NumPy arrays) in real-time. This exposure is critical for beginners who are still building a mental model of how data is stored and manipulated in memory. Without such visibility, students are often forced to rely on `print()` statements, which is inefficient and slows down the learning process.
58+
Spyder addresses these problems by making Python **observable**. You can see variables change in real time, inspect arrays or data frames, and debug your code line by line. This transforms programming from guesswork into **structured problem solving**.
3659

37-
Furthermore, Spyder integrates seamlessly with the scientific Python stack (NumPy, SciPy, Pandas, and Matplotlib). This means that for coursework involving linear algebra, statistics, or signal processing, Spyder behaves like a professional workstation, allowing students to focus on the logic of their problem rather than the configuration of their environment.
60+
Professionals in data science, research, and software engineering rely on similar tools daily. They do not guess what their code is doing—they inspect it. Learning to use Spyder builds this habit early.
61+
62+
Without Spyder, beginners often resort to printing variables repeatedly or running the program blindly, which slows learning and increases confusion. With Spyder, feedback is immediate, structured, and educational.
63+
64+
---
3865

3966
### How students will actually use it
4067

41-
Students will use Spyder primarily for interactive development and data-driven projects:
68+
Here is a typical beginner workflow in Spyder:
69+
70+
1. **Write Python code** in the editor.
71+
Example:
72+
73+
```python
74+
import numpy as np
75+
76+
data = np.array([1, 2, 3, 4])
77+
print("Sum:", np.sum(data))
78+
```
79+
2. **Run the script** in the integrated console.
80+
81+
* Spyder executes the code without leaving the IDE.
82+
* The console shows output and errors immediately.
83+
3. **Inspect variables** using the Variable Explorer.
84+
85+
* You can see `data` as an array and check its type and values.
86+
4. **Use breakpoints and debugging** to step through code line by line.
87+
88+
* Example: place a breakpoint on `print("Sum:", np.sum(data))` and execute the debugger.
89+
* Observe how Python calculates the sum.
90+
5. **Iterate and experiment** by modifying code and rerunning it, all within the same environment.
91+
92+
Spyder is particularly useful for tasks like:
93+
94+
* Learning loops, functions, and conditionals
95+
* Working with data using **NumPy** or **pandas**
96+
* Plotting and visualizing results interactively
97+
* Exploring unfamiliar code to see how it works
98+
99+
---
42100

43-
* **Interactive Execution:** Using the IPython console to test small snippets of code before adding them to a script.
44-
* **Variable Exploration:** Using the Variable Explorer to inspect data structures during a debugging session to understand exactly where a logic error is occurring.
45-
* **Data Visualization:** Generating and viewing plots directly within the interface to analyze the output of mathematical models or experiments.
46-
* **Sequential Scripting:** Writing and running Python scripts (.py files) for assignments, with the ability to execute the script in sections (cells) using specific comment markers (e.g., `# %%`).
101+
### Professional Insight
47102

48-
### Professional Insight (Top 1% Knowledge)
103+
Experienced engineers see Spyder as a **learning and exploration environment**, not a production tool. Its real value comes from **actively inspecting program behavior**, not just running scripts.
49104

50-
Experienced engineers use Spyder's "Object Inspector" and "Variable Explorer" as more than just conveniences; they use them to validate the **shape and type** of data as it flows through a pipeline. In scientific computing, a single mismatched dimension in a matrix can cause silent errors that are difficult to catch with traditional testing. Viewing the matrix directly in Spyder is the fastest way to verify its integrity.
105+
Key points for beginners:
51106

52-
Another professional tip is to leverage Spyder's "Cell" execution mode. By using `# %%` to divide your code into logical blocks, you can re-run specific parts of a long-running data process (like loading a massive dataset) without re-executing the entire script. This workflow mirrors the iterative nature of professional research and high-level data analysis, saving hours of execution time over the course of a project.
107+
* Don’t rely on “just running code”—use the Variable Explorer to **ask questions about your program state**
108+
* Break problems into small experiments, observe outputs, and gradually combine results
109+
* Transition to command-line or lighter editors later is easier once you understand how Python executes
53110

111+
Spyder teaches students **the mindset of deliberate debugging and exploration**, which is far more valuable than memorizing syntax or blindly copying examples.
54112

113+
---

docs/Development/index.md

Whitespace-only changes.

0 commit comments

Comments
 (0)