All language subtitles for 1. Welcome to Class!

af Afrikaans
sq Albanian
am Amharic
ar Arabic Download
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:05,480 --> 00:00:09,140 Hello and welcome to the sea for beginners programming class. 2 00:00:09,230 --> 00:00:12,170 My name is Jason Fagone and I will be your instructor. 3 00:00:12,170 --> 00:00:14,150 I want to thank you for signing up for this course. 4 00:00:15,020 --> 00:00:20,090 It's going to be a ton of fun and I'm going to do my best to motivate you and help you learn all about 5 00:00:20,240 --> 00:00:21,830 the C programming language. 6 00:00:21,830 --> 00:00:24,310 Let's get started. 7 00:00:24,320 --> 00:00:27,580 First I want to tell you a little bit about myself. 8 00:00:27,920 --> 00:00:31,220 I have a master's of Science in Computer Science from Binghamton University. 9 00:00:31,250 --> 00:00:37,460 Now I also have a bachelors of science and in computer science from SUNY Oswego I receive my master's 10 00:00:37,460 --> 00:00:39,280 in 2001. 11 00:00:40,160 --> 00:00:44,130 I've been a software developer for over 16 years. 12 00:00:44,340 --> 00:00:46,800 I've been an online instructor for over 11 years. 13 00:00:46,800 --> 00:00:51,630 I've instructed over 20 different classes ranging from everything from object oriented programming to 14 00:00:51,630 --> 00:00:52,660 compiler theory. 15 00:00:52,950 --> 00:00:57,890 I have a vast amount of experience with programming in computer science in general. 16 00:00:58,050 --> 00:01:03,450 I've been working with the C programming language for over 16 years basically as soon as I got my first 17 00:01:03,450 --> 00:01:06,310 job I started writing C code. 18 00:01:06,330 --> 00:01:10,750 I've also created beginner C and advanced the classes in multiple universities. 19 00:01:10,750 --> 00:01:17,130 So I've a good amount of experience with curriculum and presenting C concepts to students. 20 00:01:17,160 --> 00:01:22,860 I've been a software developer Xerox Corporation for around 10 to 12 years why I've been working here. 21 00:01:22,860 --> 00:01:26,290 I have been writing C code mainly and also some C++ code. 22 00:01:26,550 --> 00:01:37,120 We run our entire source code repository on the Linux platform and we write real time code. 23 00:01:37,200 --> 00:01:41,060 I mainly concentrate on object oriented languages and mobile programming. 24 00:01:41,190 --> 00:01:42,740 This is what I love to do. 25 00:01:43,140 --> 00:01:50,090 So things like C++ and Java but the C language is really well I have my expertise in. 26 00:01:50,250 --> 00:01:52,640 I also focus on writing high quality code. 27 00:01:52,640 --> 00:01:56,560 This is an invite all important concept that I'm going to emphasize throughout the course. 28 00:01:56,640 --> 00:02:01,680 I want you guys to focus on writing good code not just writing code that works but writing good code 29 00:02:02,070 --> 00:02:06,220 that will help the maintenance of the program be much easier. 30 00:02:06,260 --> 00:02:08,760 Some of the topics we are going to cover in the class. 31 00:02:08,760 --> 00:02:10,010 Include the following. 32 00:02:10,650 --> 00:02:13,520 And by the way when we cover these topics we're going to provide. 33 00:02:13,530 --> 00:02:15,180 I'm going to provide lecture material. 34 00:02:15,300 --> 00:02:17,920 I'm going to provide hands on exercises. 35 00:02:18,080 --> 00:02:19,560 I'm going to provide assessments. 36 00:02:19,560 --> 00:02:27,360 I'm going to walk you through code and programming concepts as I'm editing in an integrated divel environment. 37 00:02:27,540 --> 00:02:29,760 So it's going to be really hands on. 38 00:02:29,760 --> 00:02:33,350 We're first going to talk about C in general give you a little overview of it. 39 00:02:33,390 --> 00:02:36,250 I'm going to tell you how the C programming language is very efficient. 40 00:02:36,660 --> 00:02:40,240 It's also portable you can write it across multiple platforms. 41 00:02:40,500 --> 00:02:44,650 It has a lot of power and flexibility and its programmer oriented. 42 00:02:45,850 --> 00:02:50,580 Also provide you a short history of see just to give some context. 43 00:02:50,580 --> 00:02:56,190 We'll follow that up by describing some of the common language features of C C is an imperative language. 44 00:02:56,190 --> 00:02:58,260 This is the most modern type of language. 45 00:02:58,290 --> 00:02:59,810 It's organized around functions. 46 00:02:59,810 --> 00:03:01,480 It has a module design. 47 00:03:01,650 --> 00:03:06,330 It's a structured programming language and you can also have top down planning when you're writing your 48 00:03:06,330 --> 00:03:09,000 code. 49 00:03:09,090 --> 00:03:15,750 The advantages of using C will focus on C is great for small fast programs it's very reliable very easy 50 00:03:15,750 --> 00:03:17,440 to learn and very easy to understand. 51 00:03:17,610 --> 00:03:22,380 If you were to take a C program from fellow peer fellow developer you'll be able to follow it pretty 52 00:03:22,380 --> 00:03:22,990 quickly. 53 00:03:25,060 --> 00:03:29,530 We're going to use a modern cross-platform integrate and develop an environment which is Microsoft Visual 54 00:03:29,530 --> 00:03:30,510 Studio code. 55 00:03:30,670 --> 00:03:37,240 You can use this on multiple platforms from Mac to Linux to Windows and we're going to be doing all 56 00:03:37,240 --> 00:03:39,740 of our developing using this idea. 57 00:03:40,270 --> 00:03:44,700 We're going to edit code we're going to also use the idea to debug our code which is very important. 58 00:03:45,470 --> 00:03:51,100 And so this will be presented as one of the concepts I'll kind of walk you through the environment and 59 00:03:51,100 --> 00:03:56,410 show you how to use the tool Well first going to start off with basic concepts. 60 00:03:56,420 --> 00:04:00,020 I want to describe to you what a C program looks like and give you an example. 61 00:04:00,080 --> 00:04:02,610 I'm going to show you the structure of a basic C program. 62 00:04:02,720 --> 00:04:08,530 We'll talk about how you can provide comments in your code and also basic output using the print f function. 63 00:04:08,780 --> 00:04:14,450 We'll go through a hello world example and also have you write your first program in C. 64 00:04:14,520 --> 00:04:17,020 We'll follow that up with talking about make files. 65 00:04:17,250 --> 00:04:21,960 We won't go into a lot of details about make files but I want to touch on it to help you understand 66 00:04:21,960 --> 00:04:29,650 how you can use this tool to build to compile your code we're going to talk about the base most basic 67 00:04:29,650 --> 00:04:37,090 programming concept there is which is creating in using variables variables is the idea of associating 68 00:04:37,090 --> 00:04:43,360 memory data and memory for your program with a name and you're going to create many variables and many 69 00:04:43,360 --> 00:04:47,510 different statements in your code. 70 00:04:48,280 --> 00:04:53,830 We'll talk about data types which includes the inflow into our data types and then later in the class 71 00:04:53,830 --> 00:04:58,540 we'll talk about more advanced data types like in arms and then providing your own data type by using 72 00:04:58,540 --> 00:05:03,980 a typedef keyword I'll provide information on basic operators. 73 00:05:03,990 --> 00:05:07,700 These are things like doing addition or subtraction math operators. 74 00:05:07,830 --> 00:05:13,050 It also includes all logical operators like andere or this would be in kind of like decision statements. 75 00:05:13,080 --> 00:05:21,110 We'll talk about how you can assign data to a variable using an assignment operator making decisions 76 00:05:21,110 --> 00:05:22,040 in your code. 77 00:05:22,040 --> 00:05:23,620 Very important programming concept. 78 00:05:23,620 --> 00:05:24,990 We'll touch on this. 79 00:05:25,010 --> 00:05:27,090 These are called conditional statements. 80 00:05:27,140 --> 00:05:32,960 These are key words like if and switch will provide examples and go through the various constructs of 81 00:05:32,960 --> 00:05:40,060 this file that up with talking about repeating code mainly looping the big looping constructs in C R 82 00:05:40,070 --> 00:05:46,990 for a while and do while they're all the same they're just a little different syntax. 83 00:05:47,020 --> 00:05:54,360 We're going to talk about how you can store data and categorize data to different using race. 84 00:05:54,640 --> 00:05:59,530 So we'll discuss how you can define initialize arrays and then multi-dimensional arrays which is kind 85 00:05:59,530 --> 00:06:04,670 of like a matrix spreadsheet type of concept functions. 86 00:06:04,700 --> 00:06:08,820 Functions are one of the biggest most important concepts related to the C programming language. 87 00:06:09,020 --> 00:06:12,680 Everything shouldn't be should be used in organized or on a function. 88 00:06:12,680 --> 00:06:15,640 This is referred to as module type programming. 89 00:06:15,950 --> 00:06:21,320 You're going to learn how to declare a function how to use it how to pass data to it how to return data 90 00:06:21,380 --> 00:06:22,990 from it. 91 00:06:23,000 --> 00:06:29,590 We'll also talk about more advanced concepts like call by value and call by reference debugging. 92 00:06:29,610 --> 00:06:33,660 Debugging is a vital concept in essential for all programmers. 93 00:06:33,690 --> 00:06:36,390 It's this idea of finding and fixing your errors. 94 00:06:36,510 --> 00:06:41,590 We're going to discuss the call stack which can show you if your program crashes where it crashed. 95 00:06:41,620 --> 00:06:47,010 Very important concept I'll provide you with common mistakes that many C programmers make so that if 96 00:06:47,010 --> 00:06:49,910 you do see these mistakes do you understand how to fix them. 97 00:06:50,220 --> 00:06:55,550 And then the compiler the compiler will check your code to make sure it's technically correct and if 98 00:06:55,550 --> 00:06:58,030 it's not it will give you error messages or warnings. 99 00:06:58,100 --> 00:07:00,020 You need to understand what the compiler is telling you. 100 00:07:00,020 --> 00:07:03,790 So we'll talk about the compiler messages and how to understand them. 101 00:07:05,270 --> 00:07:11,000 We're going to discuss Atrox you're going to learn all about stocks which is similar in arrays and that 102 00:07:11,000 --> 00:07:11,690 it stores data. 103 00:07:11,690 --> 00:07:13,580 It's a data structure. 104 00:07:13,580 --> 00:07:18,620 We're going to discuss how you can initialize stocks how there's this concept of nested structures. 105 00:07:18,680 --> 00:07:22,790 For those of you that are familiar with objects it can be kind of relatable to that but it's not as 106 00:07:22,790 --> 00:07:30,580 robust character strings which is essentially a string in C alphanumeric characters inside double quotes 107 00:07:31,300 --> 00:07:35,590 this is one of the basic data types but it's thought of as an array and see it's a little different 108 00:07:35,590 --> 00:07:36,520 concept. 109 00:07:36,550 --> 00:07:38,250 We're going to go through that. 110 00:07:38,290 --> 00:07:42,780 We're going to talk about some of the operations you can perform on strings and so forth. 111 00:07:44,390 --> 00:07:48,650 Pointers pointers are probably going to be our most important concept in this entire course. 112 00:07:48,650 --> 00:07:50,750 So we're going to spend a lot of time on it. 113 00:07:50,750 --> 00:07:54,510 Pointer's is this concept and see where you have to manage your own memory. 114 00:07:54,560 --> 00:08:00,020 It Mavia not familiar concept to you if you program in other languages because this is usually done 115 00:08:00,020 --> 00:08:06,470 for you specifically if you program job or C-Sharp you don't have to worry about pointers in C you have 116 00:08:06,470 --> 00:08:08,090 to worry about managing your own memory. 117 00:08:08,210 --> 00:08:10,550 So pointers are a big deal. 118 00:08:10,550 --> 00:08:15,140 I'm going to tell you how you can define and use pointers how you can use them with functions and arrays 119 00:08:15,470 --> 00:08:21,500 how you can call different standard library calls to create memory and also how you can dereference 120 00:08:21,500 --> 00:08:26,650 pointers is an important concept like I said and we're going to spend a lot of time on this. 121 00:08:26,650 --> 00:08:31,910 I'm going to provide you with a lot of examples a lot of real world type scenarios so that pointers 122 00:08:31,910 --> 00:08:38,270 are really driven into your brain because you can't use the C programming language without fully understanding 123 00:08:38,270 --> 00:08:39,100 pointers. 124 00:08:39,200 --> 00:08:41,970 We spend a lot of time on this. 125 00:08:42,060 --> 00:08:47,780 The preprocessor we're going to learn about this is the step that happens before the compiler specifically 126 00:08:47,790 --> 00:08:52,590 there are directives that you need to understand like define and include we'll go through that. 127 00:08:52,810 --> 00:08:54,300 We're going to go through input and output. 128 00:08:54,310 --> 00:08:56,540 You can read write data to the cons.. 129 00:08:56,590 --> 00:09:01,570 We talked about print if we're going to go in a little more detail into that by using get Charen scan 130 00:09:01,720 --> 00:09:05,830 format specifiers things like that. 131 00:09:05,920 --> 00:09:09,460 We're also going to talk about how you can read and write data to a file. 132 00:09:09,490 --> 00:09:12,760 This is another sort of important concept when you're writing code. 133 00:09:12,760 --> 00:09:14,410 It's a way of storing data. 134 00:09:14,410 --> 00:09:19,290 There are many different file operations in C and we're going to discuss some of those. 135 00:09:19,330 --> 00:09:24,730 C is a very low level language in that it can do a lot of things efficiently and fast in file writing 136 00:09:24,730 --> 00:09:30,980 and reading is at that low level it can interact with the operating system pretty pretty nicely. 137 00:09:32,870 --> 00:09:37,220 There's a standard C library that comes with the C programming language where there's a lot of different 138 00:09:37,220 --> 00:09:42,980 functions that you can utilize their string functions string manipulation functions math functions utility 139 00:09:42,980 --> 00:09:43,690 functions. 140 00:09:43,790 --> 00:09:49,340 We're going to go through all these basic functions that you can use that help you write code more efficiently 141 00:09:50,120 --> 00:09:52,300 just like different libraries and other languages. 142 00:09:52,310 --> 00:09:57,770 C is going to provide you with some of the basics again in order to write and read from files. 143 00:09:57,770 --> 00:10:02,380 Manipulating strings if you want to get cosign tangent for math functions. 144 00:10:02,420 --> 00:10:04,100 That's all provided for you by the language. 145 00:10:04,100 --> 00:10:05,190 We're going to learn about that. 146 00:10:07,420 --> 00:10:11,230 And those are the main topics that we're going to cover beginning topics. 147 00:10:11,230 --> 00:10:16,450 We're not going to go into any advanced topics yet but we're going to cover the basics fundamentals. 148 00:10:16,660 --> 00:10:22,030 So at the end of this course you should be able to write beginner C programs understand the fundamental 149 00:10:22,030 --> 00:10:26,080 aspects of the C language know how to provide input and output to file. 150 00:10:26,080 --> 00:10:29,490 I'll drill down the concept the pointers etc.. 151 00:10:31,650 --> 00:10:33,540 You're also going to as we go through this course. 152 00:10:33,540 --> 00:10:36,600 Focus on writing high quality code efficient code. 153 00:10:36,630 --> 00:10:38,000 This is very very important again. 154 00:10:38,010 --> 00:10:40,610 It affects the maintenance phase the software lifecycle. 155 00:10:40,830 --> 00:10:47,780 So if you want to find and fix your errors it's much easier to do that if you have high quality code. 156 00:10:47,790 --> 00:10:51,510 So as we go through examples as we learn these concepts we're going to learn how to do it the right 157 00:10:51,510 --> 00:10:52,190 way. 158 00:10:52,470 --> 00:10:56,370 We're going to learn how to make things modular so that things are grouped in the functions we're going 159 00:10:56,370 --> 00:11:01,410 to make sure that in our different files we have low dependencies low coupling so that they don't affect 160 00:11:01,410 --> 00:11:02,210 one another. 161 00:11:02,520 --> 00:11:07,470 When you have a lot of dependencies in your code you can it's much easier to find and fix your bugs. 162 00:11:07,600 --> 00:11:12,810 And if you ever want to add new functions or add new code to a program it's much easier to do that if 163 00:11:12,920 --> 00:11:14,700 it's modularized if it's going or as a function. 164 00:11:14,700 --> 00:11:18,990 So we're going to focus on this concept of writing high quality code we're not just going to get things 165 00:11:18,990 --> 00:11:20,970 to work we're going to do it the right way. 166 00:11:22,930 --> 00:11:25,870 At the end of the Course you'll be able to find and fix your own errors. 167 00:11:25,870 --> 00:11:30,340 An essential part of becoming a good programmer is problem solving. 168 00:11:30,340 --> 00:11:36,070 We're going to focus on problem solving techniques and how did the bug your code and how for you to 169 00:11:36,070 --> 00:11:38,340 become an efficient problem solver. 170 00:11:38,380 --> 00:11:43,360 This includes understanding the compiler messages it understands how to run a debugger how to use the 171 00:11:43,360 --> 00:11:43,930 call stack. 172 00:11:43,930 --> 00:11:46,180 All these nice things. 173 00:11:46,210 --> 00:11:51,620 Problem solving is going to be drilled in in all lectures. 174 00:11:51,740 --> 00:11:54,520 You're going to understand the fundamental aspects of the C program. 175 00:11:54,540 --> 00:12:00,100 The topics I mentioned previously this is going to be basic C stuff. 176 00:12:00,710 --> 00:12:01,950 Lastly you're going to have fun. 177 00:12:01,970 --> 00:12:03,490 I'm going to do my best to motivate you. 178 00:12:03,490 --> 00:12:06,100 I'm going to have fun exciting examples. 179 00:12:06,100 --> 00:12:08,920 I don't want you to fall asleep during lectures or exercises. 180 00:12:08,930 --> 00:12:14,580 So I to make them lively and I want to do my best to motivate you and help you throughout this course. 181 00:12:14,690 --> 00:12:16,210 So I'm looking forward to it. 182 00:12:16,220 --> 00:12:21,620 I'm really excited and I hope everybody is ready to learn a lot about the C programming language. 183 00:12:21,620 --> 00:12:21,950 Thank you. 18844

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.