Skip to content

Commit

Permalink
Possibly fix CI
Browse files Browse the repository at this point in the history
  • Loading branch information
SuperTails committed Jan 7, 2025
1 parent aec3576 commit 2804479
Show file tree
Hide file tree
Showing 7 changed files with 79 additions and 35 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
uses: actions/upload-pages-artifact@v3
with:
# Upload entire repository
path: 'book'
path: 'book/book'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
2 changes: 1 addition & 1 deletion book/src/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Summary

- [Overview](./overview.md)
- [Course Logistics](./logistics.md)
- [Teaching and Logistics](./teaching.md)

# Lectures

Expand Down
Binary file added book/src/images/computer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 21 additions & 1 deletion book/src/lecture_electrical_basics.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
# L1 - Electronics Refresher

In this chapter,
we'll be covering the basics of logic gates,
the fundamentals of digital signals,
and building a logic circuit on a breadboard.

Don't skip this chapter too hastily–
it's essential to understanding how to modify and fix your computer!

## Lecture

### Logic Gates

All of modern computing is predicated on the **bit**,
a single unit of information that can only ever be either 0 or 1.

By itself, a single bit doesn't do much.
The power of computers comes when we combine bits together
and do operations on them using **logic gates**.

The simplest gate (aside from the gate that does nothing) is the **NOT** gate, or inverter.

| A | NOT A |
|------|--------|
| abcd | bcdfds |
| 0 | 1 |
| 1 | 0 |

TODO: The rest of the gates

### Designing Some Logic

Expand Down
16 changes: 0 additions & 16 deletions book/src/logistics.md

This file was deleted.

38 changes: 22 additions & 16 deletions book/src/overview.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# Overview

Hello!

This is the lesson plan for **Build Your Own Breadboard Computer (BYOBC)**.
This is the **Build Your Own Breadboard Computer (BYOBC) Book**!

BYOBC is a framework for learning **how computer systems work**,
by building one from individual components.

By the end of the course, students should understand:
If you're looking to teach this course, see [Teaching](teaching.md).

By the end of this book, you should intuitively understand:
- The fetch/decode/execute loop
- Address and data buses
- Timing constraints
Expand All @@ -17,22 +18,27 @@ By the end of the course, students should understand:
- Serial communication with UART
- Basic 6502 assembly programming

Though the 80 minute per week format does not have time for it,
the class naturally could be extended to other topics like:
- PCB design
- Modern microcontroller design
- $TODO$
And you will have a computer that might look something like this
(though whether it looks cleaner than this is up to you!):

![An example computer](images/computer.png)

## Prior Experience

## Course Design Choices
If all of the above topics sounded like a lot, don't panic!
This course is intended to be accessible even to electronics beginners.
You'll be fine if you have experience with the following:

why did i use the 6502?
why breadboards?
- Basic breadboard usage
- Any programming language (though lower-level is better)

## Can I teach BYOBC?
More than anything else the biggest keys to success are patience, cleanliness, and debugging skills.
We'll have tips on how to organize your computer and diagnose issues later!

## Core Goals
## Materials

BYOBC is centered around two guiding principles:
**accessibility** and **justification**.
If you're taking this as part of the 98-341 StuCo at Carnegie Mellon University,
then good news! The materials will be provided.

### Accessibility
If not, stay tuned for ways to participate at home.
TODO: Materials listing.
34 changes: 34 additions & 0 deletions book/src/teaching.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# For Instructors

If you're not looking to host this as a class, you can safely skip this page.

## Course Design Choices

TODO: Rest of this page

why did i use the 6502?
why breadboards?

## Can I teach BYOBC?

## Core Goals

BYOBC is centered around two guiding principles:
**accessibility** and **justification**.

### Accessibility

## Materials

| Name | Foobar |
|------|--------|
| abcd | bcdfds |

## Lecture Format

how many lectures should there be?
how long should lectures be?

## Class Size

how many students should be in a class?

0 comments on commit 2804479

Please sign in to comment.