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.