Binary Code

We were introduced to the idea of binary code with this math trick:

This trick worked like this. We would pick a number between 1 and 31 and keep it to ourself. Then we would say whether or not the number was in each respective box. Then the person demonstrating the trick, in our case Mr. Farrell, would be able to guess the number correctly, without even looking at the boxes. At first I, and the majority of the class, was baffled by this feat. Surely no one could be able to memorize the exact numbers that are in each of the boxes, and which ones were not... or could they? With the help of fellow students, we realized that it likely had something to do with binary code. The yes/no factors leant themselves perfectly for a binary centric use. We can simply assign a 0 for no and a 1 for yes. Then we took the ammount of outputs in binary (2) and put them to the power of the box number minus one. So the first box was 2^(1-1), then 2^(2-1), 2^(3-1), 2^(4-1), 2^(5-1). This would simplify to the values of 1, 2, 4, 8, and 16 respectively. We can now find any number by knowing whether or not it is in a certain box. For example for 17, it would be yes, no, no, no, and yes. We can then add the values of the two yeses and get 1 plus 16 to get 17. Try it with any number and it works!

Cedar Logic

In Cedar Logic we learned about something called "gates"

Basic gates


The first time we used Cedar Logic, we learned how to use some basic gates:
AND Gate: For this gate, both inputs need to be on in order of the output to be on. All other combinations do not turn it on.
OR Gate: For this gate, if any input is turned on in any combination, the output turns on. The only way to turn it off is to have both inputs off.
NAND Gate: For this gate, we use a inverter which inverts all the outputs of a normal AND gate. So the only way to get the output to turn off is to have both inputs on.
NOR Gate: For this gate, we again use an inverter on an OR gate which inverts all the outputs of a normal OR gate. So if any of the inputs are turned on the output is off. The only way to turn the output on is to have both inputs off.

XNOR
A XNOR gate allows you to be able to be able to select

2bit adding

Flip-Flop

How do computers remember? Well they use something that is called a Flip-Flop gate. In this gate you are only able to create a memory if the middle switch is on, and you are only able to clear the memory by turning all of the switches are on. This allows for the outputs to be able to be changed only under specific conditions.

Soldering


Today we learned basic soldering skills and applied them to put together this little robot pin with light up LEDs. Some major takeaways from this was that:
First, in order to solder we want to make sure not to put on too much solder so that it leaks onto other contacts because then it will short out.
Second, we want to make sure that the components are very stable when you begin soldering, otherwise it will move around too much and you cant do anything.
Lastly, you want to make sure that you have a sufficient and even amount of solder, otherwise there will be no contact made.


Inspirational Soldering Video

Operating Systems



What is an operating system? Well it is in use as soon as you start, or "boot up" your computer. In fact it is actually the third item the computer does after running tests and checking for new hardware. But what does it do?

  1. One major task for the operating system is managing all of the memory, processes software and hardware of the computer. Essentially it ties all the components of the computer together.

  2. Another is that it allows you to communicate with the computer without actually know "how" a computer "speaks" by letting you use items like a keyboard to send commands.

  3. The operating system regulates how and when the different programs access the computers CPU, memory and storage. Basically it organizes how the computers resources are used by the programs.

  4. Typical operating systems today utilize something called a Graphical User Interface (GUI) to allow the user to access items on the computer with graphical icons, buttons and menus by using a combination of graphics and text.

Examples of Operating Systems
Two of the main OSs out there are Microsoft Windows and Mac OSX. However there is also an OS called Linux.
Linux is special in that it is an open operating system. This means that no one really owns it and it is developed collaboratively between different companies. Linux was originally used as a server OS but is also usable as a desktop OS as well. Linux is also the most widely ported OS ever, being found in phones, tablets, onboard vehicle GPS systems and even some highend musical keyboards.

Programming Languages

A programming language is something that writes instructions in the form of programs for the computer to use. It allows the people to write code that makes sense to humans, and can be read by a computer at the same time.
One example of a programming language is Python which is an open source programming language that was developed with the philosophy of code visibility in mind. It is a high-level programming language, which means that it contains much more intuitive commands and automates a lot of the technical aspects of the code keeping it much more user friendly.

Using Python
One activity we can use python for, is to simulate the program LOGO. In order to access the commands and functions needed to simulate LOGO, you need to give the command: from turtle input*. Now we can start coding for the turtles.
The actions that you need to know for any program is to be able to loop, have functions, have variables, conditionals and comments. So we started to learn these.
In order to loop you need to use a range command. With proper syntax you type: for i in range (number of times repeated):. The ":" ends the line and also indents the next one including the indented code in the repeat.
In order to define a function, you need to type in the command "def" and then include the name of the function, with no spaces in the name, then a set of parentheses "()" and then a colon to finish it off, It should look like this. def function_name():

Transistors
Transistors are essentially a 3 pronged switch that can be turned on and of by sending and stopping power towards the base. This is extremely useful, as they can be used to create gates, which is what we did with breadboards.

Breadboards
Breadboards are a device that allows you to prototype circuits before making them permanent by soldering them. In class we prototyped these breadboards and made both an OR gate and an AND gate. But First we needed to know how to do a simple circuit.

Simple Circuit



As you can see from the picture this simple circuit only has a resistor, a LED light, a power source and some wires connecting the components. Some important items to not about circuits with breadboards are that:
  1. Resistors are extremely NECESSARY. If you do not have one, or not enough, the power source could easily overpower, and overheat itself and the LED.
  2. The Blue line is the positive "train" while the red line is the negative "train." In your circuit you have to have at least one point at a negative train and one on a positive train. Then you must have one terminal from the power source to the positive and negative sides.
  3. On a breadboard, the rows of holes are directly connected, and the columns are not. In the picture, the resistor and the LED are in the same row and are therefore connected.

OR Gate
          

We made an OR gate with some parts as the simple circuit, but we added a transistor. This circuit used white LEDs to simulate the inputs and the red LED to simulate that it was "on." We could light the red LED by either lighting 1 white LED or two white LEDs together. It would only turn off if both of the white LEDs were off.

AND Gate
          

We also made an AND gate, with the same components as the OR gate but with an extra transistor. This circuit used white LEDs to simulate the inputs and the red LED to simulate that it was "on." The red LED would turn on only if both of the white LEDs were on. This can be seen in the pictures.

Troubleshooting
One time my chrome book would not connect to the internet. I tried to fix by pushing the troubleshoot button, but it did not do very much. That meant that I needed to try something new. So I decided to turn off my chromebook and turn it on again. Then it was able to connect to the internet.

Troubleshooting With a Desktop
In class today we got some old desktop computers and booted them up. Ours, hwever, would not get past the IMD screen. We then troubleshooted it by going to the BIOS and found out the computer had no operating system, and therefore would not boot up to anything. We decided to look in the computer as well to see if there were any hardware issues with it. We discovered that the powersupply fan did not work, so that meant that it likely needed to be replaced. Also we discovered that the computer only had 1 GB of RAM, s