-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1064ce7
commit 3c02e09
Showing
7 changed files
with
587 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
*this is integrative-2* | ||
1. Create `in_five_years.md` and answer the following two questions: What do you think you will remember from this class in five years? What parts of this course's content do you think will change the most in five years? | ||
1. Reflect on how this course impacts programming/debugging skills in `skillup.md`. You can write this as how you think your own skill has improved **or** as if you are convincing another student to take this class. Touch on at least three topics. | ||
2. Submit a PR with either [advice to future students on how to succeed in the course](https://github.com/introcompsys/spring2023/blob/main/resources/testimonials.md) or [on why a student should take this course](https://github.com/introcompsys/introcompsys.github.io/blob/main/fromstudents.md). Each of those is linked to where you should add your advice. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
*this is integrative-2* | ||
1. Add `conclusion.md` to your KWL repo. In the file include 2 sections: summary with an overall description of what you learned and how this course was/not helpful to you (paragraph or bullet form is fine) key points with the top 10 thigns you want to make sure you remember from this class | ||
1. Reflect on how this course impacts programming/debugging skills in `skillup.md`. You can write this as how you think your own skill has improved **or** as if you are convincing another student to take this class. Touch on at least three topics. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,325 @@ | ||
--- | ||
file_format: mystnb | ||
kernelspec: | ||
name: python3 | ||
--- | ||
|
||
# What *is* a computer? | ||
|
||
|
||
+++ | ||
|
||
- how, physically, do we get the components we have seen? | ||
- what other components do we need? | ||
- how are those implemented | ||
|
||
|
||
+++ | ||
How have computers changed over time? | ||
|
||
- at the physical level | ||
- what was the context and motivation for these advances? | ||
- how does that context influence how we use computers today? | ||
- how does that influence computing as a discipline? | ||
|
||
|
||
+++ | ||
## Let's start with a dictionary | ||
|
||
|
||
|
||
[we can start with a dictionary](https://www.oed.com/dictionary/computer_n?) | ||
|
||
````{margin} | ||
```{note} | ||
that may be paywalled when off campus. | ||
``` | ||
```` | ||
|
||
- note that this starts with reference to a person. | ||
|
||
|
||
|
||
+++ | ||
### Computers as people | ||
|
||
|
||
- Use of the word computer to refer to the person still common how recently 1950s | ||
- the movie [hidden figures](https://www.imdb.com/title/tt4846340/) is available on Disney+ with subscription or other streaming platforms for ~$4 streaming rental. | ||
- the book [hidden figures](https://uri-primo.hosted.exlibrisgroup.com/permalink/f/10nopmq/01URI_ALMA21128298920002396) is available at URI's library | ||
|
||
|
||
+++ | ||
|
||
### Computers as Machines | ||
|
||
Computers as machines started later. We started with mechanical, analog and then moved to electronic and then digital. | ||
|
||
+++ | ||
### How much do we talk about computers? | ||
|
||
[how much do we talk about them changes over time ](https://books.google.com/ngrams/graph?year_start=1800&year_end=2019&corpus=26&smoothing=7&case_insensitive=on&content=computer&direct_url=t4%3B%2Ccomputer%3B%2Cc0%3B%2Cs0%3B%3Bcomputer%3B%2Cc0%3B%3BComputer%3B%2Cc0%3B%3BCOMPUTER%3B%2Cc0#t4%3B%2Ccomputer%3B%2Cc0%3B%2Cs0%3B%3Bcomputer%3B%2Cc0%3B%3BComputer%3B%2Cc0%3B%3BCOMPUTER%3B%2Cc0) | ||
|
||
|
||
|
||
+++ | ||
|
||
## Mechanical Calculators | ||
how do we actually like physically make it be machine | ||
|
||
|
||
+++ | ||
|
||
well we've we've talked we handed out that like it's going to reduce down to or isn't my check and logical operations write those de back much further than | ||
|
||
|
||
+++ | ||
![pascal](https://upload.wikimedia.org/wikipedia/commons/7/78/Pascaline-CnAM_823-1-IMG_1506-black.jpg) | ||
|
||
|
||
+++ | ||
|
||
what is the mechanical calculator it works by like incrementing rather than through the logic we worked out for a digital logic based adder. | ||
|
||
+++ | ||
**Why did he make this?** | ||
|
||
|
||
+++ | ||
He was 18 and his father was a tax commissioner in France and he wanted to like reduce his father's workload | ||
|
||
so he invented this calulator machine and received roayl privilege from France in 1649 to be only person allowed to build a manufactured Computing a calculator is like mechanical calculators | ||
|
||
|
||
+++ | ||
|
||
![pascal schematic](https://upload.wikimedia.org/wikipedia/commons/thumb/3/3d/Pascaline_-_top_view_and_mechanism.jpg/1920px-Pascaline_-_top_view_and_mechanism.jpg) | ||
|
||
|
||
|
||
+++ | ||
Contrast this royal privelege with the 1970s where in resolving some other conflict, a court that declared the content of the computer that they cannot be found it at all and it's free for anyone to use the concept of a computer | ||
|
||
|
||
+++ | ||
|
||
## How did this change over time? | ||
|
||
|
||
|
||
calculators that are still analog so they're still working with mechanical systems using Waze electricity becomes easier | ||
|
||
|
||
+++ | ||
|
||
[timeline of computing](https://www.computerhistory.org/timeline/computers/) | ||
|
||
|
||
+++ | ||
|
||
### Model K Adder (1937) | ||
|
||
- George Stibitz took some pieces at home from work at Bell Laboratory and got it working on his kitchen table. | ||
- it can do four bit addition | ||
- uses a telephone relay switch or an electromechanical switch so they're using like a | ||
|
||
|
||
+++ | ||
|
||
Relays are designed to repeat, or relay, a signal to the next circuit to compelte long distance telegraphs and early telphone. As the signal transpits down the cable (one circuit) it gets weaker due to loss, so it has to be repeated at some point to amplify the magnitude of it for the next length of the journey. | ||
|
||
+++ | ||
precursor to the complex number calculator | ||
he demonstrated how this works in combination with Telegraph | ||
for the first remote access | ||
+++ | ||
- complex number calulator was at Bell Labs in New York City at the time in 1940 | ||
at a Confrence at Dartmouth in Hanover New Hampshire and he use a telegraph to do remote calculations on this calculator and bring them the numbers back | ||
+++ | ||
### Intel 4004 (1971) | ||
|
||
- First commercially produced microprocessor | ||
- 2,250 transistors | ||
- Could perform up to 90,000 operations per second in four bit chunks | ||
- 740 kHz clock speed | ||
|
||
+++ | ||
### So how do these thigns actually work | ||
|
||
- [We can build an adder mechanically with marbles and wood](https://www.youtube.com/watch?v=GcDshWmhF4A) | ||
|
||
As electricity became more available, they realized that in terms of mathematical operations, electrical components resemble springs and switches | ||
+++ | ||
- first vaccuum tubes: or diodes | ||
- diodes prevent flow of electricity in one direction and allow in the other. they can be used to create circuits that behave like the logical operations, and create the gates. | ||
- diodes only are easy for `&` and `|` gates, | ||
- transistors can operate as a switch or amplifier and can also be used to build logic gates | ||
- they're faster, smaller, and better at more types of gates than diodes | ||
|
||
## Early Computers | ||
|
||
+++ | ||
|
||
During this time small, lots of small computers were made, but each was made completely by its creators, there was no standards, per say. | ||
|
||
+++ | ||
|
||
These computers were also stored program computers. Meaning their operation at a program level was fixed by the circuitry. | ||
|
||
+++ | ||
|
||
switch the circuit to do different things between the numbers so this would get us bitwise operations of an indoor and outdoor on our numbers | ||
|
||
+++ | ||
|
||
|
||
## von Neumann Architecture | ||
|
||
+++ | ||
![Von Neumann Architecturediagram ](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Von_Neumann_Architecture.svg/2560px-Von_Neumann_Architecture.svg.png) | ||
|
||
+++ | ||
![a bit mroe detail](https://upload.wikimedia.org/wikipedia/commons/4/4e/Computer_Systems_-_Von_Neumann_Architecture_Large_poster_anchor_chart.svg) | ||
+++ | ||
|
||
what else do we need besides ALU for to have like a whole computer | ||
+++ | ||
we eventually need clocks to time things and synchronize things to like know when to clear and when to change so that you if you want to do multiple things in sequence you can do that what else you need or want to do multiple things in sequence but don't know what else we need a general now | ||
|
||
+++ | ||
In 1945 we get a draft of a general template. This is basically what we use today. | ||
|
||
+++ | ||
## Apollo Guidance Computer (AGC) | ||
|
||
The AGC was the onboard computer for NASA's Apollo programs. It provided navigation for the control capsule as well as controlled the spacecraft during moon landings. The AGC had only 72KB of fixed memory (589,824 bits). Unlike many early computers, the software for the AGC was stored in its memory and was not physically built into its hardware's circuitry. | ||
+++ | ||
Additionally, this computer had RAM, which was memory that could be changed by the computer while it was running. This memory had a capacity of only 4KB (32,768 bits), which was still enough to store all the data needed to perform all calculations necessary for the missions. The AGC could be controlled by the astronauts in the command capsule by sending commands via a numeric keyboard. Its user interface consisted of a simple screen and a set of status lights that relayed information to the astronauts. | ||
+++ | ||
This computer is very similar to how modern computers work in the sense that it can keep data in its fixed memory even while the computer is off. | ||
|
||
To learn more about the AGC and how it worked, you can view [this](https://bigthink.com/hard-science/phone-computer-moon-landing/) article, or view the [official NASA public docs](https://history.nasa.gov/computers/Ch2-5.html) on it. | ||
|
||
+++ | ||
## Storage | ||
|
||
|
||
- there are some thigns we have not yet seen in detail in that diagram | ||
- Ram Is Random Access we can access it whenever we want we can read and write to | ||
- ROM: is read only memory; the instructions are Permanently | ||
|
||
+++ | ||
In the stored program computers, the programs were in ROM. | ||
|
||
The very earliest computers could not store any values without power. | ||
|
||
+++ | ||
- Register: data currently processing | ||
- Memory: will be required for processing | ||
- Disk: long term storage | ||
|
||
+++ | ||
|
||
## Questions After Class | ||
|
||
### Why did we stray away from simplicity of early computers? | ||
|
||
|
||
Computers got more complex in their architecutre so that they can complete more complex calculations and run more complex problems. | ||
|
||
### My question is if we are in a plateau now or if it is possible to go through another massive leap in tech soon? | ||
|
||
We're out of the range where Moore's law applies. Quantum computing is on the horizon, but it breaks the abstractions. It switches from bits being the basis to cubits, which are stochastic as the basis. | ||
|
||
### What are the PC, MAR, MDR, etc. and what do they do | ||
|
||
They are various registers that each have a specific role. Learning all of these these in more detail is a good Explore badge or a single one is in more practice. | ||
|
||
### how does a motherboard work with all of these | ||
|
||
A motherboard contains all most of those components. This is also a good Deeper explroation. | ||
|
||
### How can I learn more about the basics of Computers? | ||
|
||
The computer histroy museum links above are a good place to start. | ||
|
||
This is a good explore badge topic. | ||
|
||
|
||
### What are some examples of von Neumann Architectures? | ||
|
||
This is the desing that our computers all use. | ||
|
||
|
||
### Is Gigahertz a measure of electricity or computing speed? | ||
|
||
it is a measurement of frequency which is the inverse of time. If somethign happens at a frequency of 1Hz, it occurs once per second. 10Hz is 10 time per second. | ||
|
||
In the processor it is the speed of the clock signal; a factor in howmany calculations the comptuer can do per second. | ||
|
||
### At what point were most, if not all, human computers phased out? | ||
|
||
|
||
Some point in the late 70s or 80s I think. NASA employed people in this role throught 70s. | ||
|
||
More research on this detail is a good community badge option. | ||
|
||
|
||
### If we tried to add a GPU to Von Neumann's architecture, would it just be its own thing or there would be a way to fit it in the diagram? | ||
|
||
It is outside of the CPU, but it is also newer as a separate component, so it is separate. | ||
|
||
|
||
|
||
### What other types of architecture were there? | ||
|
||
The main competing architecutre was the Harvard architecutre. This is a good explore badge topic. | ||
|
||
|
||
### When defining a computer, is it best to define the most current model of a computer? Or how everything functions bare bones? | ||
|
||
What definition dependsd on the context. If you are talking to a child who is trying to learn basic typing they need to know different things than a teenager trying to choose what type of comptuer to bring to college, which is different than the model you need to keep in mind when you're working in a high level language, which is different than what you need when you are writing drivers. | ||
|
||
|
||
### How do Quantum computer logic gates differ from what we use now exactly | ||
|
||
Quantum computers operate on a fundamentally different object, instead of bits they have [qubits](https://quantum-computing.ibm.com/composer/docs/iqx/guide/the-qubit). There represent, essetially some uncertainty, or randomness in the behavior, so then there are different operations needed. | ||
|
||
URI has a [MS in Quantum Computing in the Physics Dept](https://web.uri.edu/physics/quantum/) | ||
|
||
### Intel 4004 (1971) -> How it worked by Tyler Hanlon | ||
|
||
This was the first general purpose programmable processor which people could buy and then make or buy their own software to customize it with. This was a breakthorugh in computing as it allowed consumers to have a say in what software was used in their electronics without having to make their own. This was extremely influential advancmenet inearly comuting technologies becuase it made multiple softwares more accessible and deliverable to a wider audience. It is one of the smallest microprocessors ever made, and was develope for use in a Japanese calculator company, but was powerful enought o actually be used for a wide variety of functions. | ||
|
||
Sources: | ||
https://www.intel.com/content/www/us/en/history/museum-story-of-intel-4004.html#:~:text=That's%20when%20the%20Intel%C2%AE,wide%20variety%20of%20electronic%20devices. | ||
|
||
https://spectrum.ieee.org/chip-hall-of-fame-intel-4004-microprocessor | ||
|
||
|
||
|
||
|
||
|
||
|
||
## Prepare for Next Class | ||
|
||
```{include} ../_prepare/2023-11-30.md | ||
``` | ||
|
||
## Review today's class | ||
|
||
```{include} ../_review/2023-11-28.md | ||
``` | ||
|
||
|
||
|
||
## More Practice | ||
|
||
```{include} ../_practice/2023-11-28.md | ||
``` | ||
|
||
|
||
|
||
## Experience Report Evidence | ||
|
||
## Questions After Today's Class |
Oops, something went wrong.