Posted 15 Jul 2016
Our summer projects are well underway! At our last two meetings we learned to solder, modified a pair of expensive headphones to have a removable cord, and started building the display board for the CPUVille Z-80 computer kit. We talked about the logic of the display board and how the 74LS240 integrated circuit was used as a buffer to protect the amount of current on the processor bus, and to drive the lights on and off as the available signal on the processor lines change. We also used a breadboard to wire up a simple circuit with a 5v power supply, an LED, a resistor, and a capacitor in several circuits, discussed the difference in electrolytic vs. ceramic capacitors, and discussed the role of a ‘bypass capacitor’ when dealing with digidal logic represented with varying (analog) voltages.
What does this all have to do with programming? Remember, these students have two years of programming experience, at least. With that much knowledge, we can begin to think about what happens ‘underneath’ the programming - how does the computer represent our programs and data on physical chips? How does the computer actually do anything? There is another level of understanding when you can look at a processor as a ticking clock and visualize the data flowing in and out over the wires, understand how the processor selects banks of ram, and how our programs translate to assembly language, then machine language, then actual ‘zeros and ones’ represented as voltages.
In addition, we’ve been learning Python, having conversations that range between the technical and philosophical, playing with arduinos, planning the Loudoun Computer Science Fair, discussing publishing with html and css, catching up on our summer internships, and discussing Pokemon Go (but then, who hasn’t?).
While we’re all working on our pet projects, our meetings have no formal agenda; we just show up, start working on our projects, and show each other cool stuff. If you don’t have a pet project in mind, that’s ok! There’s a group of students at every meeting who’d love to show you theirs, and your contributions to the random conversations are always welcome.
Our upcoming meetings are:
The rest of our summer shedule is as follows:
Note: The event above is at the Rust library in Leesburg. We are checking out the venue that we’ll be using for the Loudoun Computer Science Fair.
Our next meeting will include more of the above, and whatever topics you bring. We’ll also talk about algorithmic randomness; that is, how can a computer, that is supposed to be completely deterministic, generate random numbers? Again, what starts as technical can end up philosophical. Tie allowing, we’ll learn about a classic integrated circuit, the 555 timer. This is quite possibly the most popular integrated circuit ever made… Over a billion are manufactured a year!
While this meeting is intended for high school students with some programming knowledge, adults are welcome to attend to! Well be announcing some programs for elementary and middle-school students soon as well.
I hope to see you there!