1 00:00:00,000 --> 00:00:04,818 [MUSIC] 2 00:00:04,818 --> 00:00:08,600 Hi, I'm Carling, a Treehouse teacher and a developer. 3 00:00:08,600 --> 00:00:12,160 With this course we're going to learn all about I/O. 4 00:00:12,160 --> 00:00:16,740 You may have heard the term I/O before, it stands for input/output. 5 00:00:16,740 --> 00:00:17,785 In a broader sense, 6 00:00:17,785 --> 00:00:22,630 I/O refers to the mechanism of communication between two points. 7 00:00:22,630 --> 00:00:26,210 One point sends output and another receives the input. 8 00:00:26,210 --> 00:00:30,030 A keyboard is used to input data and a monitor is used to output data. 9 00:00:31,620 --> 00:00:35,530 Most software applications deal with some form of I/O. 10 00:00:35,530 --> 00:00:40,100 In a console application, we type something at the prompt, we give it input, 11 00:00:40,100 --> 00:00:44,000 and then usually it prints something to the screen, that's the output. 12 00:00:44,000 --> 00:00:47,830 We're going to explore all the different ways of getting data into and 13 00:00:47,830 --> 00:00:49,730 out of our programs. 14 00:00:49,730 --> 00:00:52,930 First, we'll walk through the steps of reading a text file, 15 00:00:52,930 --> 00:00:56,850 then we'll process the data into something that's more usable. 16 00:00:56,850 --> 00:01:01,150 Then we'll learn about writing the results of our processing to a file. 17 00:01:01,150 --> 00:01:04,939 In the end, we'll use our new knowledge to send and receive data from the web. 18 00:01:06,060 --> 00:01:09,010 Along the way we’ll be using streams to transport our data, 19 00:01:10,320 --> 00:01:13,820 you can think of a stream as, well, a stream. 20 00:01:13,820 --> 00:01:18,340 Water flows down a stream and in I/O bytes flow down a stream, 21 00:01:18,340 --> 00:01:20,790 in the computer world, the bytes represent our data. 22 00:01:20,790 --> 00:01:25,870 You might be saying yeah, yeah I know what a byte is, sorta. 23 00:01:25,870 --> 00:01:30,450 Without getting into too much detail, a byte consists of eight bits and 24 00:01:30,450 --> 00:01:32,820 a byte is a one or zero. 25 00:01:32,820 --> 00:01:36,550 Bits stands for binary digit and that's how we store information on a computer. 26 00:01:38,390 --> 00:01:42,620 You can also think about a bit as being a Boolean value, a zero is false and 27 00:01:42,620 --> 00:01:43,320 a one is true. 28 00:01:45,040 --> 00:01:49,220 I'm a fan of soccer, or as most of the world calls it, football. 29 00:01:49,220 --> 00:01:52,900 We'll be using data from soccer games to load into our application and 30 00:01:52,900 --> 00:01:54,940 do some calculations on it. 31 00:01:54,940 --> 00:01:59,770 For this course, make sure you've got the basics of the C# programming language. 32 00:01:59,770 --> 00:02:04,500 If you haven't yet taken C# Basics or C# Objects, I've provided links for 33 00:02:04,500 --> 00:02:06,110 you in the notes. 34 00:02:06,110 --> 00:02:08,850 It's also a good idea to have taken http 35 00:02:08,850 --> 00:02:12,260 basics when we get into sending data over the Internet. 36 00:02:12,260 --> 00:02:12,920 Let's get started.