Saateks

See õppevahend sisaldab ülevaadet C# keelest, juhiseid MS Visual Studio kasutamiseks ja erinevat tüüpi tarkvaraliste rakenduste loomiseks. Näiteks klassikalised Windows vormid, veebilahendused, veebiteenused, WCF teenused, WPF rakendused, universaalsed Windows 10 rakendused ja universaaläpid. C# keele kasutamise näited on püütud koostada võimalikult lihtsad ja lühikesed, enamik näiteid toimivad lihtsates konsoolirakendustes.

Õppevahend ei eelda eelteadmisi programmeerimisest, küll aga huvi ja süvenemiseks tarvilikku aega. Ka selle teksti koostaja ei ole ise osalenud ühelgi programmeerimise alasel kursusel. Visual Studio ja .NET tehnoloogia on väga mahukad ja mitmekülgsed. Ka programmeerimiskeele üksikasjade selgeks saamine võtab aega. Ära lase end sellest heidutada. Alustades lihtsatest harjutustest ja nende juurde kuuluva näidiskoodi ja selgitustega tutvumisest, koguneb kogemus ja mõistmine, kuidas asjad toimivad.

Järgnevalt kasutatud mõisted ja lühendid.

Töökorraldus

Töökorraldus

Aine toimub veebipõhiselt. Veebipõhise aine läbimiseks tuleb jälgida selles veebilahnduses olevaid juhiseid ja vajaduse korral uurida viidatud allikaid, ülesandeid lahendada ja õppejõuga eelnevalt kokku lepitud ajal ja kohas vestlemas käia. Huvilised on alati oodatud. Vastumeelselt õppides ei omanda niikuinii suurt midagi — pole mõtet ei enda ega teiste aega kulutada.

Veebipõhine õpe annab võimaluse harjutada oma aja planeerimist. Üldiselt tasub iga paratamatu töö teha võimalikult varakult, sest mida aeg edasi, seda rohkem lisandub plaaniväliseid lisakohustusi. Kes aine varem lõpetab, saab üldiselt parema tulemuse. Varasem kogemus näitab, et semestri viimastel päevadel on ülekaalus hinne E.

Pane tähele, et sellel veebilahendusel on nii lauarvutile kui ka mobiilseadmele sobitatud versioon (ümberlülitamine veebilehe jalusest).

Harjutusülesanded

Ülesanded on jagatud valdkondadesse, mis vastavad õppenädalatele. Igas valdkonnas on kaks kuni viis teemat. Iga teema harjutusülesannete juurde saab teema nimele klõpsates. Ülesandeid saab lahendada suvalises järjekorras, kuid soovitan järgida teemade ette antud järjekorda.

Ülesannete teksti ja lahendamisjuhiste vaatamiseks vali esmalt teema. Selleks klikka kas teema tulbal teemade graafikul või teema nimel teemade loetelus. Teema lehel on selle teema juhis ja ülesannete loetelu. Ülesande valimiseks klikka viidal rea lõpus. Parema hiireklahvi alt saad valida, kas ülesande detailvaade avaneb veebilehitseja samas aknas, uues paneelis või uues aknas. Ülesandeid saab avada ka sisestades ülesande numbri lahtrisse, mille kõrval on nupp tekstiga Ava.

Päris kõiki ülesandeid ei saa lahendada vaid juhendis näpuga järge ajades, veidi mõttetööd oodatakse ka tudengilt endalt. Ülesande detailvaatest saab saata vastuse ja pärast vastuse saatmist on nähtav andmebaasis olev vastus ja varem saadetud vastused. Saadetud vastust saab täiendada ja parandada pärast selle hindamist. Nii enda kui ka teiste saadetud vastuste kommenteerimiseks tuleb vastus kõigepealt valida. Siis ilmub nähtavale kommentaari kirjutamise lahter.

C# kood kuvatakse eristuva blokina, kui see on vastuses märgiste vahel. Kui soovid vastusele lisada HTML koodi, siis ümbritse see märgisega . Kindlam on saata vastuse juurde kuuluv kood eraldi failis.

Eksamid

Õppeaastal 2018/2019 saab hinde veebilahendusse saadetud vastuste põhjal. Edaspidi lisandub ka võimalus eksamit teha.

Kontakt: Kalle Remm; tel 52 90513; Järve 4A, Elva.

Kokkuvõtted

Kokkuvõtete vaatamiseks tuleb selle ainega seotud isikuna sisse logida.

Teemad

VS seadistamine

Programmeerimiskeele harjutamiseks ja tarkvararakenduste loomiseks tuleb esmalt installeerida programmeerimiskeskonna tarkvara. Selles kursuses kasutame Microsoft Visual Studio 2017 tasuta versiooni Visual Studio Community Edition (järgnevalt lühendatult VS). VS kohta lähemalt vaata Wikipediast, VS saidist ja VS blogist.

VS install ja seadistamine

VS projektid

C# keel

C# on objektorienteeritud programmeerimiskeel, mida on Microsoft arendanud Anders Hejlsbergi juhtimisel alates aastast 1999 koos arenduskeskkonnaga VS. Seesama taanlane Anders oli varem loonud Turbo Pascal ja Delfi keele. C# sarnaneb keeltele Java ja C++. Märk # on noodikirjas kasutatav diees, mis tähistab pooltooni võrra kõrgemat heli. Seega võiks eesti keeles selle keele kohta öelda ka C-diees. Dieesi märki C# keele nimes on tõlgendatud ka kui nelja pluss märki, tähendades C++ edasiarendust. Microsoft arendas C# keelt aastatel 2010 - 2015 paralleelselt keelega Visual Basic. Praeguseks on Microsoft loobunud Visual Basic keele C# keelega samaväärsest arendamisest (.NET blog ja Anthony D. Greeni blogi).

Keele õppimisel tasuks esimeses järjekorras uurida selle keele arendaja kõige uuemaid allikaid. Praegu on selleks C# juhis, C# viited ja C# programmeerimisjuhised. Tehnilisi uudiseid Microsoftilt, seal hulgas ka C# keelest, pakub MSDN Magazine. Selle väljaande numbrid on veebis vabalt loetavad.

C# keele õpetust on ka paljudes kommertslikes veebiallikates, näiteks siin, siin, siin ja siin. Üks parimaid allikaid C# ja ka mitme teise keele süntaksi ja näidete vaatamiseks on Dot Net Perls, kus on ka ülevaade C# keelest pdf failina. Postitusi C# keele kasutamisest ja paljudest teistest tehnoloogilistest küsimustest on portaalis C# Corner. Palju, enamasti algajate esitatud küsimusi ning erinevaid, kuid mõni kord tehnoloogiliselt vananenuid ja mitte alati toimivaid vastuseid on StackOverflow foorumis, mille veebilehti pakub Google otsing enamasti esimeste hulgas.

C# keeles kirjutatud koodi kompileerimisel kasutatakse .NET raamistiku vahendeid, mis on üldisemad ja on vastavuses ka teiste .NET keeltega. Seega on C# keele muutujatüübid ja meetodid vastavuses .NET muutujatüüpide ja meetoditega ja vajaliku meetodi otsimisel saab kasutada nii C# keele kui ka .NET abimaterjale.


C# keele üldpõhimõtted

Muutujad

Operaatorid ehk tehted

Voo juhtimine

Klassid, objektid, meetodid

Objektide nähtavus

Sündmused

Lambda väljendid ja LINQ

Operatsioonid failidega

Kompileeritud teegid

Windows Forms

Windows Forms tüüpi rakendus

WPF tüüpi rakendused

Graafikute genereerimine

Veebilahendused

HTML

CSS ja SVG

ASP.NET Classic

ASP.NET Core

MVC

Javascript ja Angular

Blazor

VS andmeühendused

WCF

Veebiteenused

WMS jt taustakaardid

Mobiililahendused

Mobiilisõbralik veebileht

UWP rakendused

Mobiiliäpp

Kaastöö

Kaastöö