Today we're going to talk about a fundamental part of all modern …
Today we're going to talk about a fundamental part of all modern computers. The thing that basically everything else uses - the Arithmetic and Logic Unit (or the ALU). The ALU may not have to most exciting name, but it is the mathematical brain of a computer and is responsible for all the calculations your computer does! And it's actually not that complicated. So today we're going to use the binary and logic gates we learned in previous episodes to build one from scratch, and then we'll use our newly minted ALU when we construct the heart of a computer, the CPU, in episode 7.
Today we’re going to take our first baby steps from hardware into …
Today we’re going to take our first baby steps from hardware into software! Using that CPU we built last episode we’re going to run some instructions and walk you through how a program operates on the machine level. We'll show you how different programs can be used to perform different tasks, and how software can unlock new capabilities that aren't built into the hardware. This episode, like the last is pretty complicated, but don’t worry - as we move forward into programming the idea of opcodes, addresses, and registers at this machine level will be abstracted away like many of the concepts in this series.
So you may have heard of Moore's Law and while it isn't …
So you may have heard of Moore's Law and while it isn't truly a law it has pretty closely estimated a trend we've seen in the advancement of computing technologies. Moore's Law states that we'll see approximately a 2x increase in transistors in the same space every two years, and while this may not be true for much longer, it has dictated the advancements we've seen since the introduction of transistors in the mid 1950s. So today we're going to talk about those improvements in hardware that made this possible - starting with the third generation of computing and integrated circuits (or ICs) and printed circuit boards (or PCBs). But as these technologies advanced a newer manufacturing process would bring us to the nanoscale manufacturing we have today - photolithography.
Today, we're going to talk about how the Internet works. Specifically, how …
Today, we're going to talk about how the Internet works. Specifically, how that stream of characters you punch into your browser's address bar, like "youtube.com", return this very website. Just to clarify we're talking in a broader sense about that massive network of networks connecting millions of computers together, not just the World Wide Web, which is a portion of the Internet, and our topic for next week. Today, we're going to focus on how data is passed back and forth - how a domain name is registered by the Domain Name System, and of course how the data requested or sent gets to the right person in little packets following standard Internet Protocol, or IP. We'll also discuss two different approaches to transferring this data: Transmission Control Protocol, or TCP, when we need to be certain no information is lost, and User Datagram Protocol, or UDP, for those time sensitive applications - because nobody wants an email with missing text, but they also don't want to get lag-fragged in their favorite first person shooter.
Want to run traceroute on your computer? See directions below. Remember you can replace "dftba.com" with whatever website you want!
Today, we are going to start our discussion on user experience. We've …
Today, we are going to start our discussion on user experience. We've talked a lot in this series about how computers move data around within the computer, but not so much about our role in the process. So today, we're going to look at our earliest form of interaction through keyboards. We'll talk about how the keyboard got its qwerty layout, and then we'll track its evolution in electronic typewriters, and eventually terminals with screens. We are going to focus specifically on text interaction through command line interfaces, and next week we'll take a look at graphics.
So we've talked a lot in this series about how computers fetch …
So we've talked a lot in this series about how computers fetch and display data, but how do they make decisions on this data? From spam filters and self-driving cars, to cutting edge medical diagnosis and real-time language translation, there has been an increasing need for our computers to learn from data and apply that knowledge to make predictions and decisions. This is the heart of machine learning which sits inside the more ambitious goal of artificial intelligence. We may be a long way from self-aware computers that think just like us, but with advancements in deep learning and artificial neural networks our computers are becoming more powerful than ever.
So we’ve talked about computer memory a couple times in this series, …
So we’ve talked about computer memory a couple times in this series, but what we haven’t talked about is storage. Data written to storage, like your hard drive, is a little different, because it will still be there even if the power goes out - this is known as non-volatile memory. Today we’re going to trace the history of these storage technologies from punch cards, delay line memory, core memory, magnetic tape, and magnetic drums, to floppy disks, hard disk drives, cds, and solid state drives. Initially, volatile memory, like RAM was much faster than these non-volatile storage memories, but that distinction is becoming less and less true today.
CORRECTION: AT we say "around 9 kilobytes" when we should have said "kilobits".
Today we’re going to talk about how computers understand speech and speak …
Today we’re going to talk about how computers understand speech and speak themselves. As computers play an increasing role in our daily lives there has been an growing demand for voice user interfaces, but speech is also terribly complicated. Vocabularies are diverse, sentence structures can often dictate the meaning of certain words, and computers also have to deal with accents, mispronunciations, and many common linguistic faux pas. The field of Natural Language Processing, or NLP, attempts to solve these problems, with a number of techniques we’ll discuss today. And even though our virtual assistants like Siri, Alexa, Google Home, Bixby, and Cortana have come a long way from the first speech processing and synthesis models, there is still much room for improvement.
So as you may have noticed from last episode, computers keep getting …
So as you may have noticed from last episode, computers keep getting faster and faster, and by the start of the 1950s they had gotten so fast that it often took longer to manually load programs via punch cards than to actually run them! The solution was the operating system (or OS), which is just a program with special privileges that allows it to run and manage other programs. So today, we’re going to trace the development of operating systems from the Multics and Atlas Supervisor to Unix and MS-DOS, and take at look at how these systems heavily influenced popular OSes like Linux, Windows, MacOS, and Android that we use today.
Today we're going to talk about the birth of personal computing. Up …
Today we're going to talk about the birth of personal computing. Up until the early 1970s components were just too expensive, or underpowered, for making a useful computer for an individual, but this would begin to change with the introduction of the Altair 8800 in 1975. In the years that follow, we'll see the founding of Microsoft and Apple and the creation of the 1977 Trinity: The Apple II, Tandy TRS-80, and Commodore PET 2001. These new consumer oriented computers would become a huge hit, but arguably the biggest success of the era came with the release of the IBM PC in 1981. IBM completely changed the industry as its "IBM compatible" open architecture consolidated most of the industry except for, notably, Apple. Apple chose a closed architecture forming the basis of the Mac Vs PC debate that rages today. But in 1984, when Apple was losing marketshare fast it looked for a way to offer a new user experience like none other - which we'll discuss next week.
We’ve spent most of this series talking about computers. Which makes sense …
We’ve spent most of this series talking about computers. Which makes sense - this is Crash Course COMPUTER SCIENCE after all. But at their core computers are tools employed by humans and humans are pretty complicated. So today, we’re going to discuss some psychological considerations in building computers like how to make them easier for humans to use, the uncanny valley problem when humanoid robots gets more and more humanlike, and strategies to make our devices work better with us by incorporating our emotions and even altering our gaze. Oh, and we'll talk about Carrie Anne's all time favorite user interface design principle - knurling.
Today we’re going to create memory! Using the basic logic gates we …
Today we’re going to create memory! Using the basic logic gates we discussed in episode 3 we can build a circuit that stores a single bit of information, and then through some clever scaling (and of course many new levels of abstraction) we’ll show you how we can construct the modern random-access memory, or RAM, found in our computers today. RAM is the working memory of a computer. It holds the information that is being executed by the computer and as such is a crucial component for a computer to operate. Next week we’ll use this RAM, and the ALU we made last episode, to help us construct our CPU - the heart of a computer.
Today, we’re going to look at how computers use a stream of …
Today, we’re going to look at how computers use a stream of 1s and 0s to represent all of our data - from our text messages and photos to music and web pages. We’re going to focus on how these binary values are used to represent numbers and letters and discuss how our need to perform operations on more extensive and more complex matters brought us from our 8-bit video games to beautiful Instagram photos, and from unreadable garbled text in our emails to a universal language encoding scheme.
Today we're going to talk about robots! Robots are often thought as …
Today we're going to talk about robots! Robots are often thought as a technology of the future, but they're already here by the millions in the workplace, our homes, and pretty soon on the roads. We'll discuss the origins of robotics to its proliferation, and even look at some common control designs that were implemented to make them more useful in the workplace. Robots are often thought of as a menace or danger to society, and although there definitely is the propensity for malicious uses, robots also have the potential to drastically improve the world.
Today we begin our discussion of computer graphics. So we ended last …
Today we begin our discussion of computer graphics. So we ended last episode with the proliferation of command line (or text) interfaces, which sometimes used screens, but typically electronic typewriters or teletypes onto paper. But by the early 1960s a number of technologies were introduced to make screens much more useful from cathode ray tubes and graphics cards to ASCII art and light pens. This era would mark a turning point in computing - computers were no longer just number crunching machines, but potential assistants interactively augmenting human tasks. This was the dawn of graphical user interfaces which we’ll cover more in a few episodes.
In our SERIES FINALE of Crash Course Computer Science we take a …
In our SERIES FINALE of Crash Course Computer Science we take a look towards the future! In the past 70 years electronic computing has fundamentally changed how we live our lives, and we believe it’s just getting started. From ubiquitous computing, artificial intelligence, and self-driving cars to brain computer interfaces, wearable computers, and maybe even the singularity there is so much amazing potential on the horizon. Of course there is also room for peril with the rise of artificial intelligence and more immediate displacement of much of the workforce through automation. It’s tough to predict how it will all shake out, but it’s our hope that this series has inspired you to take part in shaping that future. Thank you so much for watching.
Today, we’re going to talk about how HUGE programs with millions of …
Today, we’re going to talk about how HUGE programs with millions of lines of code like Microsoft Office are built. Programs like these are way too complicated for a single person, but instead require teams of programmers using the tools and best practices that form the discipline of Software Engineering. We'll talk about how large programs are typically broken up into into function units that are nested into objects known as Object Oriented Programming, as well as how programmers write and debug their code efficiently, document and share their code with others, and also how code repositories are used to allow programmers to make changes while mitigating risk.
Today we’re going to discuss the World Wide Web - not to …
Today we’re going to discuss the World Wide Web - not to be confused with the Internet, which is the underlying plumbing for the web as well as other networks. The World Wide Web is built on the foundation of simply linking pages to other pages with hyperlinks, but it is this massive interconnectedness that makes it so powerful. But before the web could become a thing, Tim Berners-Lee would need to invent the web browser at CERN, and search engines would need to be created to navigate these massive directories of information. By the mid 1990’s we will see the rise of Yahoo and Google and monolithic websites like Ebay and Amazon, forming the web we know today. But before we end our unit on the Internet we want to take a moment to discuss the implications of Net Neutrality, and its potential to shape the Internet's future.
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.