00:00:04hello again as you know I am Eli the
00:00:07computer guy over here for every man I
00:00:09t.com and today’s class is introduction
00:00:12to programming so programming is we
00:00:15endure you sit down at a computer youyou
00:00:17type out a lot of text or such and that
00:00:19turns into Angry Birds or QuickBooks or
00:00:23office or an entire operating system if
00:00:27you are going to be in the technology
00:00:29field you do not have to be an expert
00:00:32programmer but you should understand how
00:00:35to do some programming so so whenever
00:00:39you think about programming you know
00:00:40when most people think about programming
00:00:42again they think about Windows 7 or
00:00:44office or QuickBooks or these really big
00:00:47massive programs well in reality like
00:00:51like with what I use you can create very
00:00:54small programs in order to do very
00:00:57specific tasks so right now you know the
00:01:01videos that you want on everyman IT are
00:01:04provided to you from a little 15 line
00:01:08script that I wrote so I wrote this
00:01:11little 15 line script with some things
00:01:13called variables in it and whenever you
00:01:17come to one of our pages that has a
00:01:19video posted on our page on that little
00:01:2215 line piece of code runs and you can
00:01:25watch our videos so what I want you to
00:01:27understand is you know when you do
00:01:30programming yes you can create these
00:01:32massive Windows 7 operating systems etc
00:01:34etc etc but the reality is is you can
00:01:37create much smaller programs to do very
00:01:40specific tasks and that can be very very
00:01:43useful for you as a technician so so
00:01:46when I worked back for one of the
00:01:48enterprise companies we had 200 new
00:01:51servers that were going in we were
00:01:53installing 200 new servers for our
00:01:55server farm well every single one of
00:01:57those servers needed a little edit to
00:02:00the registry to allow something to
00:02:02happen so again I was able to write I
00:02:05don’t know a 5 or 10 line script that
00:02:07would literally go out and on every
00:02:10single server it would automatically
00:02:12change that little that that registry
00:02:14key in order for
00:02:17in order for us to do what we needed to
00:02:18be done so so when you’re thinking about
00:02:20programming again don’t always think
00:02:22about the big stuff there’s a lot of
00:02:24little things that you can do so in this
00:02:27class today we’re not going to be you
00:02:29know going into actually writing
00:02:31functions and all that kind of stuff
00:02:33we’re just going to be going over the
00:02:34basic things that you have to understand
00:02:36if you are thinking about programming so
00:02:39we’re going to be talking about things
00:02:40like programming languages we’re going
00:02:42to talk about the difference between
00:02:43compiled and the scripted languages
00:02:46we’re going to be talking about api’s
00:02:47and SDKs prototyping pseudocode the
00:02:51types of programmers so if you’re
00:02:53interested in becoming a programmer
00:02:54there are different types of programmers
00:02:57out there so we’ll talk about that and
00:02:59then we’ll wrap up with some final
00:03:00thoughts so this that you know don’t
00:03:02don’t worry you know you don’t you don’t
00:03:03have to to put your thinking cap on this
00:03:06is going to be a very easy class we’re
00:03:08just going to go do an overview of what
00:03:11programming is and give you some of the
00:03:13basic concepts that you have to
00:03:15understand before you start programming
00:03:17yourself
00:03:22so let’s talk about programming
00:03:25languages so so most people when they
00:03:27think of programmers they just think
00:03:29that any programmer can program anything
00:03:32like programmers are programmers
00:03:34programmers program yeah that’s kind of
00:03:37what they think you know if you know how
00:03:38to do programming you can do anything
00:03:40well just like every other profession in
00:03:44technology programming is actually
00:03:47divided into a lot of different sub
00:03:50professions or sub careers the reason is
00:03:53is because basically what programming
00:03:56does is you as a programmer write out in
00:03:59a type of code that’s called human
00:04:02readable so you type out you know if x
00:04:05equals 2 then print 12 you know you you
00:04:09type out what you want to have happen
00:04:12and then the programming language then
00:04:15it turns that into something that the
00:04:17computer can do something with so so you
00:04:20type in what’s called a human readable
00:04:22language and then the the either the
00:04:25compiler or the script interpreter turns
00:04:28that into ones and zeros that the
00:04:30computers can understand so remember a
00:04:32computer only understands on and off one
00:04:36and zero it does not understand if then
00:04:39loop X equals it doesn’t understand that
00:04:42it understands on and there stands off
00:04:44so what you’re doing is you create your
00:04:47programming something called human
00:04:49readable and then that gets turned into
00:04:51ones and zeros now when it gets turned
00:04:54into ones and zeros different
00:04:56programming languages allow this to
00:04:59happen in different ways so if you want
00:05:02let’s say create a device drivers so
00:05:05you’re going to create a driver for a
00:05:07modem you would probably use something
00:05:09called c-plus that is used for doing
00:05:12device drivers if you were going to
00:05:14create a web database application you
00:05:18would use a programming language called
00:05:19PHP so this particular language is best
00:05:24suited for for sending and pulling data
00:05:27from a database so think about
00:05:29programming languages the way you would
00:05:31think about any other program that you
00:05:34use on the computer
00:05:35so you would not go and do quickbooks to
00:05:38write a report you probably even
00:05:40couldn’t even do it if you wanted to
00:05:42just like with programming languages you
00:05:45could not write a device driver with PHP
00:05:48PHP is used for web-based database
00:05:53applications that’s all that can be used
00:05:55for you can’t use it to write device
00:05:57drivers it simply can’t do that the same
00:06:01is true you wouldn’t go into word to
00:06:03draw a picture it’s just not built for
00:06:06that so when we’re talking about
00:06:08programming languages again programming
00:06:10languages are like any other application
00:06:12you would use on the computer each
00:06:14programming language is used to do a
00:06:18specific type of program so PHP is used
00:06:22for for us a web-based database
00:06:25applications you can program for flash
00:06:27so you know all those fancy graphics
00:06:30that you see on websites there’s a
00:06:32programming language that allows you to
00:06:35interact with those things if you wanted
00:06:37to create an application like QuickBooks
00:06:40or something like Word you might use a
00:06:42programming language called a visual
00:06:44basic or the visual studio if you were
00:06:47going to be trying to create programs
00:06:48that are that are cross-platform
00:06:52you know they can run on Linux and they
00:06:54can rack we’re on on Mac and they can
00:06:56run on Windows you might use a
00:06:57programming language called Java why
00:07:00because Java allows you to do that so
00:07:03the main thing that I want you to
00:07:04understand with these programming
00:07:05languages is each programming language
00:07:08is designed to do a certain set of
00:07:13functions very well so when you are
00:07:15deciding to write your program basically
00:07:18what you have to do is you have to
00:07:19decide what you want your program to do
00:07:22and then once you’ve figured it out what
00:07:24you want it to do then you figure out
00:07:26the language that you need to learn or
00:07:28you need to use in order to create the
00:07:30program so so don’t think you know oh
00:07:32I’m going to learn PHP and then I’m
00:07:34going to write my own operating system
00:07:36PHP again it just doesn’t do it and the
00:07:39main thing with programming language is
00:07:40to understand is what you’re going to be
00:07:42doing is you’re going to be taking what
00:07:44is called human readable code so you
00:07:45actually type out with a text editor
00:07:48or one of these compilers you type out
00:07:50what you want the code to do and then
00:07:52that compiler or what’s called an
00:07:54interpreter turns that into ones and
00:07:57zeros ons and offs that that’s all the
00:07:59computer cares about so that’s the basic
00:08:01thing to understand with programming
00:08:02languages a lot of people get confused
00:08:03remember just like any other application
00:08:06a programming language is built to do
00:08:09specific tasks you would not use
00:08:11QuickBooks to write a report you would
00:08:13not use Microsoft Word to draw a picture
00:08:15it’s just not built that way
00:08:16same way programming languages PHP web
00:08:19database applications HTML creating
00:08:22webpages java creates cross-platform
00:08:26programs
00:08:32so the next terms that you should
00:08:34understand when we’re talking about
00:08:35programming languages are compiled
00:08:37programming languages and scripted
00:08:40programming languages so what does this
00:08:42mean
00:08:42well basically compiled programming
00:08:45languages are the oldest programming
00:08:47languages and basically what happens is
00:08:49you write out your code you know if this
00:08:51happens then do this print this etc etc
00:08:53etc you then open up a compiler so a
00:08:56compiler is an application it’s a piece
00:08:58of software you’ll have on your computer
00:08:59you then feed the compiler your so
00:09:03source code so that human readable code
00:09:06that you’ve just created you feed that
00:09:07to the compiler the compiler turns that
00:09:10into ones and zeros that the computer
00:09:12understands and then it spits out a
00:09:14program on the other side so an
00:09:16executable file so you put in all this
00:09:18text the the compiler turns all that
00:09:22text into ones and zeros and spits out
00:09:24an executable program so that program
00:09:27you can then double click or however you
00:09:29run it on your computer and it will run
00:09:31that way it is now a compiled program
00:09:34that’s what compilers do they turn human
00:09:37readable text into compile programs then
00:09:40there are scripting languages with
00:09:43scripting languages do is you don’t
00:09:45actually compile the code so you write
00:09:48out all of your code so you know if this
00:09:50happens then do this then print this you
00:09:52write that out you then simply put that
00:09:55text on to the server or computer that
00:09:58is going to be running the code you
00:10:00install something called an interpreter
00:10:02onto the computer and then that
00:10:05interpreter read the code and then spits
00:10:08out the results to whoever is using the
00:10:11program so if you ever hear of batch
00:10:13files visual basic script JavaScript PHP
00:10:178 tml any of these types of programming
00:10:20languages you actually sit down at a
00:10:22text editor you write out all this text
00:10:25you put that file onto your server then
00:10:28let’s say let’s say we’re talking about
00:10:29a PHP program so when I write PHP
00:10:32programs I write out all the text
00:10:34literally in notepad I then upload that
00:10:37to my web server with a file Association
00:10:41of dot PHP on my web server I have P
00:10:45HP installed so when somebody goes to my
00:10:49PHP script that PHP interpreter reads
00:10:52the file and then does whatever it is
00:10:54that the file says should happen so the
00:10:58main thing to understand when you’re
00:11:00talking about compiled languages or
00:11:01scripted languages compiled languages
00:11:04mean you take all that human readable
00:11:06code you dump it into the compiler it
00:11:08spits out an executable file so the file
00:11:11that spits out you know that’s all just
00:11:14ones and zeros scripted languages
00:11:16everything remains as text you install
00:11:19an interpreter onto the computer that is
00:11:21going to be running in that scripted
00:11:23language so you install PHP Visual Basic
00:11:25or windows script host something like
00:11:28that onto the computer and then when you
00:11:30run the program that interpreter will
00:11:32read the code that you’ve given it and
00:11:35then provide you with the results so so
00:11:37this is something to understand but
00:11:38between compiled and scripted computer
00:11:42languages
00:11:47now the next terms I’m sure you’ve heard
00:11:49a lot about you know if you’ve been
00:11:50following the the technology industry
00:11:52lately are api’s and SDKs so ap is our
00:11:57application programming interfaces SDKs
00:12:01our software development kits what are
00:12:04these and why are these important to you
00:12:06well companies let’s say Facebook or
00:12:09Twitter Tumblr or any of these types of
00:12:12things they do very specific things and
00:12:14in order to grow their influence in the
00:12:17world they want you a ver to be able to
00:12:20create programs that can can either push
00:12:24or pull data to their sites so like with
00:12:27with with Twitter Twitter is the the
00:12:29most popular one for api’s so you can
00:12:32create a program that either sends posts
00:12:35to Twitter so it shows up in Twitter or
00:12:37polls post from Twitter to show up in
00:12:40whatever web-based application that you
00:12:43are creating well the way that your
00:12:46program can do this is through something
00:12:48called api’s application programming
00:12:51interfaces so so what this is is twitter
00:12:55or facebook or myspace or any of this
00:12:57you know they have a closed environment
00:12:59they have a secret sauce when you create
00:13:02a post onto Twitter you create the post
00:13:05use hit submit and then it goes off to
00:13:08Twitter and something happens magic
00:13:10happens right and then you know it shows
00:13:13up on on your home page well the thing
00:13:16is Twitter to prevent hacking and to
00:13:19prevent problems they don’t want to tell
00:13:21anybody about the secret sauce they
00:13:23don’t want to tell anybody how their
00:13:25program actually works so what they do
00:13:28is they create what are called a pee
00:13:30eyes and these are basically points
00:13:33where your program can connect to their
00:13:35program and they can exchange data so
00:13:38basically any of these api’s that are
00:13:41created you can interact with if they’re
00:13:43not created you can’t get behind their
00:13:46wall so basically like that like Twitter
00:13:48you can do a basic program that would
00:13:51say you know write or print the last
00:13:55post from Eli computer guy and so you
00:13:58would write out a
00:13:59of code that would basically say get
00:14:01last post from Eli computer guy and
00:14:04print on my particular website so what
00:14:07happens is you can interact with those
00:14:10those api’s have called application
00:14:12programming interfaces you don’t get
00:14:14into their secret sauce you can simply
00:14:16push and pull certain data the main
00:14:19thing to understand with these api’s is
00:14:21is one the vendor you know Facebook
00:14:24Twitter whatever can change these api’s
00:14:27anytime they want so Twitter has done
00:14:29this a couple of times to everybody
00:14:30chagrin the other thing is like I say
00:14:33you have to play by their rules so
00:14:36whether you’re dealing with Google or
00:14:38Twitter etc they will come up with their
00:14:42rulebook and they will tell you how you
00:14:44can interact with those api’s and those
00:14:47are the only ways that you can interact
00:14:49with with whatever it is that they’re
00:14:51doing the next thing is SDKs or software
00:14:54development kits a lot like api’s but
00:14:57basically so we have these new devices
00:14:59coming out iPhones iPads I this I that
00:15:03zooms whatever basically what SDKs are
00:15:07or are there kits that allow you to be
00:15:10able to program for the device that
00:15:14you’re trying to program for so they
00:15:15come with a lot of special tools they
00:15:17come with things like what are called
00:15:18emulators so emulators are kind of like
00:15:21like fake devices so you can have a like
00:15:24a little Android phone pop up on your
00:15:26computer and you can create a program
00:15:28for that little fake Android phone to
00:15:30make sure that it works properly you
00:15:32know if I push this button what will
00:15:34happen so these software development
00:15:36kits basically what they do is they
00:15:38package all the information and all the
00:15:40tools that you need in order to program
00:15:42for a device and they well they either
00:15:45give it to you or they sell it to you
00:15:46depending on who you’re dealing with
00:15:48sometimes like for the Android system
00:15:50the SDKs are completely free for other
00:15:52systems they’re they’re gonna cost you
00:15:54quite a bit of money but basically the
00:15:56the SDKs software development kits are
00:15:59kits that allow you to program for
00:16:02particular devices so again api’s SDKs
00:16:05at this point you don’t have to worry
00:16:07about them a lot but it’s good to
00:16:08understand
00:16:13so the next thing I want to talk about
00:16:15is the first step in the programming
00:16:18process so you’ve thought about what
00:16:20program you want to create let’s say you
00:16:22want to create some kind of web
00:16:24application well after you’ve thought
00:16:27that you want to start creating some web
00:16:28application you are going to want to do
00:16:30prototyping so what prototyping is is
00:16:33where you sit down and on plain old
00:16:36pieces of paper or with something a
00:16:38program like Visio or such you sit there
00:16:40and you actually sketch out what you
00:16:42want the program to do so basically
00:16:44let’s say where we have a program that
00:16:47we want to collect people’s email
00:16:50addresses you know it’s kind of like you
00:16:52know with everyman IT comm here we have
00:16:54a little newsletter link if you want our
00:16:56newsletter you put in the email address
00:16:58you click Submit and that submits the
00:17:01data into our database so if we’re going
00:17:04to prototype this on a piece of paper or
00:17:06on a whiteboard we would simply you know
00:17:09draw out and we would say okay I want to
00:17:12have a box and I want the box to have an
00:17:15email address you know place for
00:17:17somebody put an email address and above
00:17:19it it’ll say email and below it it will
00:17:22say submit and I write it out like I say
00:17:26on a piece of paper or on a whiteboard
00:17:29like this then if this is what’s going
00:17:33to happen then I would write out here
00:17:35and I would just put for you know when
00:17:39you hit submit that then goes into the
00:17:42database and that’s all you do basically
00:17:47with prototyping you literally on a
00:17:50piece of paper write out or draw out how
00:17:54you want this application to work and
00:17:57you write it out so that later you can
00:18:00have an idea of how you were actually
00:18:03going to be programming this thing the
00:18:05biggest problem with programming is that
00:18:07most people don’t understand what they
00:18:08actually want to do so so they get you
00:18:11know they they sit down and they write
00:18:12half a program and they find out that
00:18:14that what they written isn’t going to
00:18:17end up doing what they want to do so
00:18:18they scrap that and then they write
00:18:20another half a program then find out
00:18:22that’s not what they want to do so they
00:18:23scrap that we’re in another program
00:18:25basically the first thing that you want
00:18:27to do
00:18:27is do prototyping where you draw
00:18:29everything out so that you understand
00:18:33what you want this application do like I
00:18:35say even even this little email thing
00:18:39here this can probably take five or six
00:18:41pages just to write out how everything
00:18:44is going to work so for this let’s say
00:18:47this is this is the the submit the email
00:18:49so they put in their email address you
00:18:51hit submit and it goes to the database
00:18:53well then if we have a report section so
00:18:57let’s say I want an admin page and then
00:19:02under that I would have a report button
00:19:05and if I click the report button that
00:19:08would have to go to the database and
00:19:09then that would have to print out a
00:19:12report with all the email addresses in
00:19:18it basically this can get really
00:19:19confusing and we’re going to go into
00:19:21this more as we actually start creating
00:19:22programs but the main thing to
00:19:24understand is all prototyping is is on a
00:19:27whiteboard or a piece of paper you
00:19:28actually just simply draw out there’s
00:19:30there’s no complicated stuff here you
00:19:32simply draw out how you want this
00:19:33program to work
00:19:39so once we’ve drawn out the prototype of
00:19:41how we want our little program to work
00:19:43we need to start working on something
00:19:45called pseudocode so what is pseudocode
00:19:47pseudocode is when you simply write out
00:19:51longhand how you want the program to
00:19:54function how you want different
00:19:55operations to happen so let’s say we’re
00:19:58talking about this newsletter program
00:20:00again so we have this text box and we
00:20:01have the submit button right so
00:20:04basically if we’re going to write
00:20:06pseudocode for the submit button so we
00:20:08want to say when I click the submit
00:20:10button what do I want to have happen so
00:20:13we would say when I click Submit email
00:20:23address and text box should be added to
00:20:35the email database so basically all we
00:20:42do is rewrite out like that like I said
00:20:44like this in longhand we write out what
00:20:47we want this what we want to have happen
00:20:50when we click Submit when I click the
00:20:51submit button the email address and the
00:20:53tax book should be added to the email
00:20:55database this does two things for us one
00:20:58it makes us start thinking about the
00:21:01process that we want to have happen
00:21:02before we actually get into the code
00:21:04actually writing out the code and it
00:21:07allows us to decide what programming
00:21:09language we’re going to be using so if
00:21:11this is going to be a web based
00:21:13application going to and do it database
00:21:14I can say we will probably be using the
00:21:17PHP programming language you know if I
00:21:19write all this out I know it’s not gonna
00:21:22be Java Script I know it’s not going to
00:21:24be HTML we’re gonna get into that later
00:21:26but basically by writing the pseudocode
00:21:29I can say okay the programming language
00:21:31is I’m going to need is PHP the other
00:21:34thing again as we go into the more
00:21:36advanced topics with doing programming
00:21:38is by writing this out before we’re
00:21:41worried about the programming in the
00:21:43language it’s easier to understand the
00:21:47logical ideas of what are going
00:21:50to be happening in this process so when
00:21:53you write it out like I say you can
00:21:55think you can simply think about what
00:21:57you want to have happen and you’re not
00:21:58actually thinking about code right now
00:22:00so this is very important so basically
00:22:03the next step in the process what you do
00:22:05the first thing is you you think about
00:22:07what you want to create you come up with
00:22:09an idea hey I wish I could get people’s
00:22:11email addresses then you create
00:22:13prototyping where you actually you know
00:22:16like I say on a whiteboard or pieces of
00:22:18paper you draw out what you want to have
00:22:20happen then after that for each thing
00:22:23that you want to have happen you would
00:22:24then write pseudocode and pseudocode
00:22:26like I say is just you just write out
00:22:29longhand what you want to have happen
00:22:30now past this is where we’ll get into
00:22:33actual classes on programming so we’ll
00:22:35have classes on PHP and JavaScript in
00:22:37HTML so past this is then where you turn
00:22:41this idea into an actual program into an
00:22:45actual application so this is as far as
00:22:47we’re gonna go today like I say more
00:22:48advanced classes we’re going to talk
00:22:50about more but these these are very very
00:22:53important steps like I say too many
00:22:55people don’t spend enough time on
00:22:57prototyping too many people don’t spend
00:22:59enough time on pseudocode and if you
00:23:01don’t write out what you want to have
00:23:03happen then it’s really really difficult
00:23:05to actually program this stuff later
00:23:12as to the final subject we’re going to
00:23:14talk about today are the types of
00:23:15programmers out there because like I say
00:23:17you know everybody when they come into
00:23:19the the technology field of the computer
00:23:22field they say you know I want to do
00:23:24computers you know I want to do
00:23:26programming and they don’t realize that
00:23:28there are a lot of sub professions in
00:23:31the technology field so you know if
00:23:33you’re gonna come into computers
00:23:35you know IT information technology like
00:23:37I do well you can fix computers or you
00:23:39could fix servers or you could do
00:23:41networking or you do telephone systems
00:23:43or you do surveillance systems or you
00:23:45know there’s a whole bunch of stuff that
00:23:47all requires its own skill set the same
00:23:49is true with programmers a programmer is
00:23:52not a programmer they all program but
00:23:55they all do different things so the
00:23:57first type of programmer and probably
00:23:59the easiest one for you to get into is
00:24:01what is called a web programmer so so
00:24:04when you go to a website and all these
00:24:06kind of fancy stuff happens on the
00:24:08website that is something that a web
00:24:10programmer does so basically web
00:24:13programmers program applications that
00:24:16run on the web
00:24:17things like grabbing people’s email
00:24:19addresses you know presenting websites
00:24:22in a certain way that kind of stuff this
00:24:25type of thing you can learn at home and
00:24:27you can actually produce real
00:24:29professional stuff like so you’re just
00:24:31just right out of your house with no
00:24:33real professional training you just get
00:24:35a few books you understand how all of it
00:24:37works and you can go out there and you
00:24:39can start and become your own web
00:24:40programmer the next type of programmer
00:24:43is more like the programmer programmer
00:24:45the the programmers that you would be
00:24:47thinking about these people you know
00:24:48would be creating things like device
00:24:50drivers very complicated programs so
00:24:53basically with a web programmer you can
00:24:55create a web program in a couple of
00:24:58hours maybe a week maybe two weeks you
00:25:01know if you just sit down and do it it
00:25:02usually does not take that long for most
00:25:05web programs programmer programmers if
00:25:07you’re creating things like device
00:25:09drivers for a modem or for a video card
00:25:11you’re creating applications like
00:25:14Quickbook Microsoft Office those things
00:25:16take a lot of time so programmers are
00:25:19the guys that just stand or sit in front
00:25:22of a monitor for eight to ten hours a
00:25:23day
00:25:24drinking their jolt colas and just just
00:25:27writing code so so those are the people
00:25:29like the the real serious programmers
00:25:31you know that’s what they’re like they
00:25:34would be learning programming languages
00:25:35like C plus C sharp Java etc then beyond
00:25:40programmers that are the highest level
00:25:42of what are called software engineers so
00:25:45you know when you’re creating one little
00:25:47program that takes a lot of skill and it
00:25:49takes a lot of energy well when you
00:25:51create massive pieces of software you
00:25:55actually need a lot of engineering you
00:25:57need project management skills in order
00:25:59to make this happen so software
00:26:02engineers will be working on like these
00:26:04large cluster computers things like that
00:26:07so this is basically just just a simple
00:26:09idea to give you that there are
00:26:10different types of programmers again you
00:26:13have the web programmers you can learn
00:26:14this stuff at home you can create
00:26:16professional stuff you know out of your
00:26:17bedroom on your laptop computer
00:26:19there’s programmer programmers for this
00:26:21you probably need a college education
00:26:24you know she’d go off and get a computer
00:26:25science degree this will allow you to
00:26:27create the programs that you’re used to
00:26:30thinking about again device drivers
00:26:31QuickBooks that kind of stuff and then
00:26:33there’s the software engineer software
00:26:35engineers create big programs I mean
00:26:38programs a spawn span you know multiple
00:26:41systems multiple servers you know
00:26:43clusters of computers etc
00:26:50so that was a class introduction to
00:26:52programming so you know if you are
00:26:54interested if you’re thinking about
00:26:56doing programming these are the basic
00:26:58concepts that you need to understand
00:27:00before you actually jump in to doing
00:27:03programming you know people want to jump
00:27:04in and they want to learn PHP or C+ or
00:27:07or all these different programming
00:27:08languages before they really understand
00:27:11what programming is about the main thing
00:27:13that I want you to understand with
00:27:15programming is just like every other
00:27:16fast set of computers or technology
00:27:18there’s different sub careers of
00:27:22programmers and the different
00:27:23programming languages are built to do
00:27:26different things if you spend a year
00:27:27learning to do I know C+ programming
00:27:31that’s not gonna help you create web
00:27:33database applications it’s simply not
00:27:35what it’s built for you know you could
00:27:36spend six months learning PHP but that’s
00:27:39not gonna help you build device drivers
00:27:41if that’s what you want to do you know
00:27:42if you want to create robots PHP isn’t
00:27:45what’s going to teach you to do that so
00:27:47every programming language is like an
00:27:50application that you would use on your
00:27:52normal computer just like window just
00:27:54like like word or just like QuickBooks
00:27:57different programming languages are
00:27:59built to do specific things you would
00:28:01not use QuickBooks to try to write a
00:28:03report for school it’s simply not built
00:28:05that for that again you would not use
00:28:07PHP to write a device driver you would
00:28:10not use C+ to write a web-based
00:28:12application those programming languages
00:28:14simply are not built to do those things
00:28:16we talked about the compiled versus the
00:28:19scripted languages so compiled is where
00:28:21you take the source code that human
00:28:22readable code you shove it into a
00:28:24compiler and then it spits out this
00:28:26executable file with ones and zeroes so
00:28:29it compiles your your source code into a
00:28:33program versus a scripted language where
00:28:36your source source code always remains a
00:28:39text file so you upload a text file to
00:28:41your server you install the interpreter
00:28:44onto your server and then the
00:28:45interpreter reads the code and then
00:28:47spits out the results so again like I
00:28:49say on on our web server it has PHP
00:28:52installed I upload PHP code to the web
00:28:55server when you come to our website
00:28:58the interpreter reads the PHP code and
00:29:00then gives you the results we talked
00:29:02about SP AP is an SDK is a little bit
00:29:06application programming interfaces and
00:29:08software development kits application
00:29:10programming interfaces are the points
00:29:12that companies like Twitter Facebook
00:29:14Yahoo Google give you in order to
00:29:18connect with their systems so so they
00:29:21have a whole secret recipe for how
00:29:22things happen in their systems and they
00:29:24don’t want you messing around with that
00:29:25so what they do is they give you these
00:29:27api’s that allow you to do specific
00:29:30tasks so if you want to post a post to
00:29:32Twitter from any different application
00:29:34that application would connect to
00:29:36Twitter through an API that will allow
00:29:38that post to happen if you want to read
00:29:40posts from Twitter on a different
00:29:42application that application would go to
00:29:44that API and then pull the post off of
00:29:46Twitter the main thing to understand
00:29:48with these api’s is you get what the
00:29:52company gives you so Facebook Twitter
00:29:54has done this a couple of times they can
00:29:55change these api’s at any time it’s all
00:29:59up to them they can give you more or
00:30:01less access basically you know by
00:30:03flipping a coin it’s all up to them you
00:30:06don’t get any control over what happens
00:30:08in their systems then the SDK is again
00:30:11you’ve probably heard about a lot
00:30:12nowadays is called software development
00:30:14kits so if you’re going to be creating
00:30:15applications like I say for the iPhone
00:30:17the iPad Android devices zooms whatever
00:30:20whatever it is you’re going to build
00:30:22they have SDKs basically these are
00:30:25packaged programming applications that
00:30:27allow you to create programs for those
00:30:30specific devices we then talked about
00:30:32prototyping so this is the first step in
00:30:34creating a program no technical skills
00:30:36required you don’t you don’t need to
00:30:37know anything other than then how to to
00:30:40write on a piece of paper
00:30:41so with prototyping what you do is you
00:30:44think about what you want your program
00:30:46to do and then you actually write or
00:30:49draw that out on pieces of paper or a
00:30:52whiteboard so you draw it out so you
00:30:53have an idea of what this thing is
00:30:55supposed to look like
00:30:56once you have done the prototype you
00:30:58then go into pseudocode
00:31:00so what pseudocode is is you know
00:31:02anywhere you have little buttons on this
00:31:04this these prototype paper you would
00:31:06then say when I click this button this
00:31:08is what I want to have happen by writing
00:31:11that pseudocode you start to logically
00:31:13understand what is supposed to be
00:31:15happening with your system better
00:31:17and that allows you to decide what
00:31:20programming language you are going to be
00:31:22using and then it’s easier to figure out
00:31:26logical problems when you’re not
00:31:27actually writing in the programming
00:31:29language itself you know when you’re
00:31:31just writing a free hand after that we
00:31:33talked about the different types of
00:31:34programmers you know web programmers
00:31:36programmers programmer software
00:31:37engineers again with this just like
00:31:40programming languages I want you to
00:31:41understand the career of being a
00:31:43programmer has different subcategories
00:31:46you know again programmers are not
00:31:48programmers you don’t say I want to be a
00:31:50programmer and then you can do
00:31:51everything it’s not how it works if you
00:31:54want to create web database applications
00:31:56you learn one set of programming if you
00:31:58want to create robots you learn another
00:32:00satellite programming if you want to
00:32:02like start creating artificial
00:32:04intelligence you know fuzzy logic that
00:32:07has you know neural networks that has an
00:32:09entirely different set of programming
00:32:11you know it takes a lot of time and
00:32:13energy to learn any one of those sets so
00:32:15you should understand that you know they
00:32:16are different career fields so that was
00:32:19a class introduction to programming
00:32:20again not too technical or any of that
00:32:23our next classes are going to start
00:32:25delving into things like programming in
00:32:26PHP and JavaScript and HTML and that’s
00:32:29where you’ll get your hands into the
00:32:31code but right now you just need to
00:32:33understand these basic concepts so when
00:32:35we go to writing code you have an idea
00:32:38of what you’re doing