Hallo en welkom bij de programmeerles C voor beginners.
Mijn naam is Jason Fitton en ik ben jullie instructeur.
Ik wil je bedanken voor het inschrijven voor deze cursus.
Het wordt ontzettend leuk en ik ga mijn best doen om je te motiveren en je te helpen alles te leren over
de programmeertaal C.
Laten we beginnen.
Eerst wil ik wat over mezelf vertellen.
Ik heb een master in computerwetenschappen van Binghamton University, en ik heb ook een
bachelor in computerwetenschappen van SUNY Oswego.
Ik kreeg mijn master in 2001.
Ik ben al meer dan 16 jaar software ontwikkelaar.
Ik ben al meer dan 11 jaar een online instructeur.
Ik heb meer dan 20 verschillende lessen gegeven, van object georiënteerd programmeren tot
compiler theorie.
Ik heb veel ervaring met programmeren in de informatica in het algemeen.
Ik werk al meer dan 16 jaar met de programmeertaal C.
Zodra ik mijn eerste baan had, begon ik C-code te schrijven.
Ik heb ook lessen C voor beginners en gevorderden gegeven aan verschillende universiteiten, dus ik heb veel
ervaring met lesprogramma's en het presenteren van C-concepten aan studenten.
Ik ben ongeveer 10 tot 12 jaar software ontwikkelaar geweest bij Xerox Corporation.
Terwijl ik hier werk heb ik voornamelijk C code geschreven en ook wat C plus plus code.
We draaien onze hele broncode repository op het Linux platform en we schrijven real time code.
Ik concentreer me vooral op objectgeoriënteerde talen en mobiel programmeren.
Dit is wat ik graag doe.
Dus dingen als C plus Plus en Java, maar de C-taal is echt waar ik mijn expertise in heb.
Ik richt me ook op het schrijven van code van hoge kwaliteit.
Dit is een essentieel, belangrijk concept dat ik gedurende de hele cursus zal benadrukken.
Ik wil dat jullie je concentreren op het schrijven van goede code, niet alleen code die werkt, maar
code die het onderhoud van het programma veel gemakkelijker maakt.
Dus enkele van de onderwerpen die we in de les gaan behandelen zijn de volgende.
En trouwens, als we deze onderwerpen behandelen, gaan we...
Ik ga voor lesmateriaal zorgen.
Ik ga praktijkoefeningen geven.
Ik ga beoordelingen geven.
Ik ga je door de code en programmeerconcepten leiden terwijl ik die bewerk in een geïntegreerde ontwikkelomgeving.
Dus het wordt heel praktisch.
We gaan het eerst hebben over C in het algemeen, een klein overzicht ervan.
Ik ga je vertellen hoe de programmeertaal C zeer efficiënt is.
Het is ook draagbaar.
Je kunt het op meerdere platforms schrijven.
Het heeft veel kracht en flexibiliteit, en is programmeursgeoriënteerd.
Ik geef u ook een korte geschiedenis van C, om wat context te geven.
Vervolgens beschrijven we enkele algemene taalkenmerken van C.
C is een imperatieve taal.
Dit is de meest moderne taal.
Het is georganiseerd rond functies.
Het heeft module-ontwerp, het is een gestructureerde programmeertaal.
En je kunt ook top down plannen wanneer je je code schrijft.
De voordelen van het gebruik van C zullen zich concentreren op C is geweldig voor kleine, snelle programma's.
Het is zeer betrouwbaar, zeer gemakkelijk te leren en zeer gemakkelijk te begrijpen.
Als je een C-programma van een collega of collega-ontwikkelaar zou overnemen, kun je het vrij
snel volgen.
We gaan een moderne cross-platform geïntegreerde ontwikkelomgeving gebruiken.
We gaan de code bewerken.
We gaan de IDE ook gebruiken om onze code te debuggen, wat erg belangrijk is.
En dus zal dit worden gepresenteerd als een van de concepten.
Ik zal je door de omgeving leiden en laten zien hoe je het gereedschap gebruikt.
We beginnen met de basisbegrippen.
Ik zal je beschrijven hoe een C-programma eruit ziet en je een voorbeeld geven.
Ik ga je de structuur van een basis C-programma laten zien.
We bespreken hoe je commentaar kunt geven in je code en ook basisuitvoer met de printf-functie.
We nemen een Hello World voorbeeld door en laten je ook je eerste programma in C schrijven.
We vervolgen dat met het praten over makefiles.
We zullen niet in veel details treden over makefiles, maar ik wil het toch even aanstippen om u te helpen begrijpen
hoe u dit gereedschap kunt gebruiken om uw code te bouwen en te compileren.
We gaan het hebben over het meest basale programmeerconcept dat er is, namelijk het maken en gebruiken
van variabelen.
Variabelen is het idee om geheugen, gegevens en geheugen voor je programma te associëren met een naam.
En je gaat veel variabelen maken en veel verschillende verklaringen in je code.
We zullen het hebben over datatypes, waaronder de datatypes float, double en char.
En later in de les zullen we het hebben over meer geavanceerde datatypes zoals enums en dan het leveren van
je eigen datatypes door gebruik te maken van een typedef sleutelwoord.
Ik zal informatie geven over de basisoperatoren.
Dit zijn dingen als optellen of aftrekken, wiskunde operatoren.
Het bevat ook logische operatoren zoals en of, of.
Dit zou een soort beslissingsverklaring zijn.
We zullen bespreken hoe je gegevens kunt toewijzen aan een variabele met behulp van een toewijzingsoperator.
Beslissingen nemen in je code.
Zeer belangrijk programmeer concept.
We zullen dit aanstippen.
Deze worden voorwaardelijke verklaringen genoemd.
Dit zijn trefwoorden als if en switch.
We zullen voorbeelden geven en de verschillende constructies hiervan doornemen.
Volg dat op met praten over herhalende code.
De grote lusconstructies in C zijn for while en do while.
Ze zijn allemaal hetzelfde.
Ze hebben gewoon een andere syntaxis.
We gaan het hebben over hoe je gegevens kunt opslaan en categoriseren met behulp van arrays.
We zullen dus bespreken hoe je arrays kunt initialiseren en dan multidimensionale
arrays, een soort matrix-spreadsheet-concept.
Functies.
Functies zijn een van de grootste en belangrijkste concepten van de programmeertaal C.
Alles moet niet worden gebruikt en georganiseerd rond een functie.
Dit wordt programmering van het modeltype genoemd.
Je gaat leren hoe je een functie declareert, hoe je hem gebruikt, hoe je er gegevens aan doorgeeft, hoe je er gegevens
uit teruggeeft.
We zullen het ook hebben over meer geavanceerde concepten als call by value en call by reference Debugging.
Debuggen is een essentieel concept en essentieel voor alle programmeurs.
Het is het idee om je fouten te vinden en te herstellen.
We gaan de call stack bespreken, die je kan laten zien of je programma crasht waar het is vastgelopen.
Zeer belangrijk concept.
Ik geef je veelgemaakte fouten die veel c-programmeurs maken, zodat je, als je die fouten ziet, begrijpt
hoe je ze kunt herstellen.
En dan zal de compiler, de compiler je code controleren om er zeker van te zijn dat het syntactisch correct is.
En als dat niet zo is, geeft het foutmeldingen of waarschuwingen.
Je moet begrijpen wat de compiler je vertelt.
Dus we zullen het hebben over de compiler berichten en hoe ze te begrijpen.
We gaan structs bespreken.
Je gaat alles leren over structs, wat vergelijkbaar is met arrays en dat het gegevens opslaat.
Het is een datastructuur.
We gaan bespreken hoe je structs kunt initialiseren, hoe er dit concept van geneste structuren is.
Voor degenen onder u die vertrouwd zijn met objecten, kan het daar een beetje op lijken,
maar het is niet zo robuust als tekenreeksen, wat in wezen een tekenreeks is in C met alfanumerieke tekens binnen dubbele aanhalingstekens.
Dit is een van de basisgegevenstypes, maar het wordt beschouwd als een array en zie het is een beetje een
ander concept.
Daar gaan we doorheen.
We gaan het hebben over enkele bewerkingen die je kunt uitvoeren op strings enzovoort.
Aanwijzingen.
Wijzers zijn waarschijnlijk ons belangrijkste concept in deze hele cursus.
Dus we gaan er veel tijd aan besteden.
Pointers is dit concept en zie waar je je eigen geheugen moet beheren.
Het is misschien een onbekend begrip voor u als u in andere talen programmeert, omdat dit meestal voor
u wordt gedaan.
Meer bepaald, als u Java of C scherp programmeert, hoeft u zich geen zorgen te maken over pointers.
In C moet je je zorgen maken over het beheer van je eigen geheugen.
Dus pointers zijn een grote zaak.
Ik ga je vertellen hoe je pointers kunt definiëren en gebruiken, hoe je ze kunt gebruiken
met functies en arrays, hoe je verschillende standaardbibliotheekoproepen kunt aanroepen om geheugen te creëren en ook hoe je pointers kunt dereconteren.
Het is een belangrijk concept, zoals ik al zei, en we gaan hier veel tijd aan besteden.
Ik ga je een heleboel voorbeelden geven, een heleboel scenario's uit de echte wereld, zodat pointers
echt in je hersenen worden geprent, want je kunt de programmeertaal C niet gebruiken zonder pointers volledig te begrijpen.
We zullen hier veel tijd aan besteden.
De preprocessor die we gaan leren is een stap die vóór de compiler gebeurt.
Het zijn richtlijnen die je moet begrijpen, zoals define en include.
Daar gaan we doorheen.
We gaan het hebben over input en output, hoe je gegevens kunt lezen en schrijven naar de console.
We hebben het gehad over printf.
We gaan daar wat dieper op in met getchar en scanf formaat, specificaties, dat soort
dingen.
We gaan het ook hebben over hoe je gegevens kunt lezen en schrijven naar een bestand.
Dit is een ander belangrijk concept als je code schrijft, het is een manier om gegevens op te slaan.
Er zijn veel verschillende bestandsbewerkingen in C, en we gaan er een paar bespreken.
C is een taal met een zeer laag niveau, waarmee veel dingen efficiënt en snel kunnen worden gedaan, en het schrijven en
lezen van bestanden gebeurt op dat lage niveau.
Je kunt vrij aardig met het besturingssysteem omgaan.
Er is een standaard C-bibliotheek die bij de programmeertaal C hoort, met veel verschillende
functies die je kunt gebruiken.
Er zijn string functies, string manipulatie functies, er zijn wiskunde functies, utility functies.
We gaan al deze basisfuncties doornemen die je kunt gebruiken om efficiënter code te schrijven,
net als verschillende bibliotheken en andere talen.
In C krijgt u weer enkele van de basisbeginselen om bestanden te schrijven en te lezen en strings te manipuleren.
Als je cosinus en tangens wilt krijgen voor wiskundige functies, wordt dat allemaal geleverd door de taal.
Daar gaan we over leren.
En dat zijn de belangrijkste onderwerpen die we gaan behandelen, beginnende onderwerpen.
We gaan nog niet in op geavanceerde onderwerpen, maar wel op de basisprincipes.
Aan het eind van deze cursus moet u dus in staat zijn beginnende C-programma's te schrijven, de fundamentele aspecten
van de C-taal begrijpen, weten hoe u invoer en uitvoer moet verzorgen.
Dossier i o het concept van pointers, enzovoort.
Je gaat je ook, tijdens deze cursus, richten op het schrijven van hoogwaardige code, efficiënte code.
Dit is heel, heel belangrijk.
Nogmaals, het beïnvloedt de onderhoudsfasen van de software levenscyclus.
Dus als je je fouten wilt vinden en herstellen, is dat veel gemakkelijker als je code van hoge kwaliteit hebt.
Dus terwijl we voorbeelden doornemen, terwijl we deze concepten leren, gaan we leren hoe het op de juiste
manier moet.
We gaan leren hoe we dingen modulair kunnen maken, zodat ze gegroepeerd worden in functies.
We gaan ervoor zorgen dat we in onze verschillende bestanden weinig afhankelijkheden hebben, weinig koppeling, zodat
ze elkaar niet beïnvloeden.
Als je veel afhankelijkheden in je code hebt, kun je.
Het is veel gemakkelijker om bugs te vinden en te repareren.
En als u ooit nieuwe functies of nieuwe code aan een programma wilt toevoegen, is dat veel gemakkelijker als het gemodulariseerd
is, als het functioneel georganiseerd is.
Dus we gaan ons richten op dit concept van het schrijven van code van hoge kwaliteit.
We gaan niet alleen dingen laten werken, we gaan het op de juiste manier doen.
Aan het eind van de cursus kunt u uw eigen fouten vinden en herstellen.
Een essentieel onderdeel van een goede programmeur is het oplossen van problemen.
We gaan ons concentreren op technieken om problemen op te lossen en hoe je code te debuggen en hoe je een efficiënte
probleemoplosser wordt.
Dit omvat het begrijpen van de compilerberichten.
Het begrijpt hoe een debugger werkt, hoe de call stack te gebruiken, al deze leuke dingen.
Probleemoplossing wordt in alle colleges gedrild.
Je gaat de fundamentele aspecten begrijpen van de C programmeertaal onderwerpen die ik
eerder noemde.
Dit wordt basis C spul.
Tenslotte ga je plezier maken.
Ik ga mijn best doen om je te motiveren.
Ik ga leuke en spannende voorbeelden geven.
Ik wil niet dat je in slaap valt tijdens lezingen of oefeningen, dus ik ga ze levendig maken en
ik ga mijn best doen om je te motiveren en te helpen tijdens deze cursus.
Dus ik kijk ernaar uit.
Ik ben erg enthousiast en ik hoop dat iedereen klaar is om veel te leren over de programmeertaal C.
Bedankt.