Category:Programmeerimine CSharp keeles: Difference between revisions
(177 intermediate revisions by 2 users not shown) | |||
Line 10: | Line 10: | ||
* Õppija oskab lisamaterjale kasutades koostada LINQ päringukeeles päringuid ning kasutada vajadusel .Net raamistiku vahendeid leivnumate andmeallikate (XML, andembaasiserverid ning failid) poole pöördumiseks. | * Õppija oskab lisamaterjale kasutades koostada LINQ päringukeeles päringuid ning kasutada vajadusel .Net raamistiku vahendeid leivnumate andmeallikate (XML, andembaasiserverid ning failid) poole pöördumiseks. | ||
* Õppija oskab töötada väiksemas meeskonnas. | * Õppija oskab töötada väiksemas meeskonnas. | ||
==Vajalikud arendusvahendid== | |||
.NET raamistikus ja C# programmeerimiskeelese kasutatakse enamasti rakenduste loomiseks Visual Studiot. '''26.08.2017 seisuga on kõige uuem Visual Studio 2017'''. Visual Studiost on olemas kolm erinevat versiooni: Community, Professional ja Enterprise. | |||
Aine läbimise jaoks oleks kõige mõistlikum paigaldada endale Visual Studio 2017 Enterprise, mille saavad kõik Eesti Infotehnoloogia Kolledzi tudengid endale tasuta [https://e5.onthehub.com/WebStore/ProductsByMajorVersionList.aspx?ws=6ece1175-619b-e011-969d-0030487d8897&vsro=8 siit] | |||
Community versiooni on võimalik kasutada alati tasuta, kuid arvestama peab sellega, et selles versioonis ei ole väga paljusid erinevaid koodi refaktoorimise võimalusi, mida praktikumides kasutame. Samuti annab Enterprise versiooniga töötamine rohkem ettevalmistust tööle mineku jaoks, kuna ettevõtted kasutavad tavaliselt kas Professional või Enterprise versiooni. | |||
Loe lähemalt erinevate versioonide erinevuste kohta [https://www.visualstudio.com/vs/compare/ siit] | |||
Juhul kui Visual Studiot paigaldada, siis võiks olla paigalduse käigus tehtud valikud olla umbes [https://wiki.itcollege.ee/images/2/26/Vs-install.png sellised] | |||
==Hinne ja selle kujunemine== | ==Hinne ja selle kujunemine== | ||
Line 17: | Line 28: | ||
Eksamitöö koosneb valikvastustega testist ning lihtsast praktilisest ülesandest. Eksam loetakse sooritatuks, kui valikvastustega testis on vähemalt 51% õigeid vastuseid ning praktilise töö lähteülesanne on realiseeritud (lahendus töötab, kuid piirsituatsioonidega ei ole arvestatud ning esineb mõningaid vigu). Maksimumtulemuse saavutamiseks peab test olema sooritatud väheste vigadega ning praktiline töö teostatud veatult. | Eksamitöö koosneb valikvastustega testist ning lihtsast praktilisest ülesandest. Eksam loetakse sooritatuks, kui valikvastustega testis on vähemalt 51% õigeid vastuseid ning praktilise töö lähteülesanne on realiseeritud (lahendus töötab, kuid piirsituatsioonidega ei ole arvestatud ning esineb mõningaid vigu). Maksimumtulemuse saavutamiseks peab test olema sooritatud väheste vigadega ning praktiline töö teostatud veatult. | ||
'''[[Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (2017)]]''' | |||
<!--[[Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (2012)]] | |||
===Kaugõppe kodutööd=== | |||
[[Juhend: Kodutöö aines "Programmeerimine CSharp keeles"(Kaugõpe 2011)]] | |||
[[Kodutöö aines "Programmeerimine CSharp keeles"(Kaugõpe 2011)]] '''Tähtaeg 25.10.2011''' | |||
<!--* [[Juhend: Esimene kodutöö aines "Programmeerimine CSharp keeles" (XNA Projekt)]] | <!--* [[Juhend: Esimene kodutöö aines "Programmeerimine CSharp keeles" (XNA Projekt)]] | ||
* [[Juhend: Teine kodutöö aines "Programmeerimine CSharp keeles" (WPF Projekt)]] | * [[Juhend: Teine kodutöö aines "Programmeerimine CSharp keeles" (WPF Projekt)]] | ||
Line 24: | Line 43: | ||
<!-- [[Programmeerimine CSharp keeles: 2010 sügis, päevaõppe kokkuvõtted]] --> | <!-- [[Programmeerimine CSharp keeles: 2010 sügis, päevaõppe kokkuvõtted]] --> | ||
==Konsultatsioonid== | |||
<!--Näidisülesanded proovimiseks asuvad aadressil: http://enos.itcollege.ee/~mposka/Csharp2011/Konsultatsioon/ | |||
Hea materjal lugemiseks: http://www.csharpcourse.com/ | |||
Kordamiseks ülesandeid: [[Praktikum: Serialiseerimine ja kordamine]] | |||
--> | |||
Konsultatsiooni jaoks ei ole eraldi aega, vaid see toimub õppejõuga kokkuleppel. | |||
Kontaktid selle kokkuleppmiseks: telefon 53 469 734, e-mail: mait.poska@itcollege.ee. Eelisatud variant on telefon. Samuti võib konsultatsiooniks ettepaneku teha telefonis. | |||
=Teemad= | =Teemad= | ||
==.Net raamistiku ja C# programmeerimiskeele tutvustus== | ==.Net raamistiku ja C# programmeerimiskeele tutvustus== | ||
===Teooria=== | ===Teooria=== | ||
* [ | * [https://docs.microsoft.com/en-us/dotnet/framework/get-started/index .Net raamistiku tutvustus] | ||
* [https://docs.microsoft.com/en-us/dotnet/framework/get-started/overview Mis on .NET raamistik?] | |||
* [https://docs.microsoft.com/en-us/dotnet/framework/get-started/net-core-and-open-source .NET Core] | |||
* [https://www.microsoft.com/net/tutorials/csharp/getting-started Sissejuhatus C# programmeerimiskeelde] | |||
* C# programmeerimiskeel | * C# programmeerimiskeel | ||
** [[Väärtustüüpi muutujad CSharp programmeerimiskeeles]] | ** [[Väärtustüüpi muutujad CSharp programmeerimiskeeles]] | ||
** [http://msdn.microsoft.com/en-us/library/s1ax56ch.aspx Väärtustüüpi muutujate tabel] | |||
** [[Erindid ja erindihaldus CSharp programmeerimiskeeles]] | ** [[Erindid ja erindihaldus CSharp programmeerimiskeeles]] | ||
** [http://msdn.microsoft.com/en-us/library/ms173114.aspx Meetodid] | |||
===Praktika=== | ===Praktika=== | ||
[[Praktikum: Väärtustüüpi muutujad ja meetodid CSharp programmeerimiskeeles]] | |||
<!--* [[Praktikum: Erindid ja erindihaldus CSharp programmeerimiskeeles]] | <!--* [[Praktikum: Erindid ja erindihaldus CSharp programmeerimiskeeles]] | ||
* [[ | * --> | ||
[[ | <!--[[Praktikum1: Väärtustüüpi muutujad CSharp programmeerimiskeeles]] <br/> | ||
[[Praktikum2:_Viitetüüpi_muutujad_CSharp_programmeerimiskeeles(1.praktikumi järg)]] | |||
*[[Praktikum: Väärtustüüpi muutujad CSharp programmeerimiskeeles]] | |||
*[[Praktikum3: Viitetüüpi muutujad CSharp programmeerimiskeeles]] | |||
*[[Praktikum:4 Pärilus]] | |||
--> | |||
==Andmetüübid, nende teisendused ja keerulisemad andmekollektsioonid== | ==Andmetüübid, nende teisendused ja keerulisemad andmekollektsioonid== | ||
Line 47: | Line 88: | ||
** Kolmandas loengus tehtud näited: http://enos.itcollege.ee/~htahis/CSharp/Loeng3/ | ** Kolmandas loengus tehtud näited: http://enos.itcollege.ee/~htahis/CSharp/Loeng3/ | ||
* '''Neljanda loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/46d76716-cfbb-4fea-a66c-53dc6435b159''' | * '''Neljanda loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/46d76716-cfbb-4fea-a66c-53dc6435b159''' | ||
** Neljanda loengu näited: | ** Neljanda loengu näited: http://enos.itcollege.ee/~mposka/Csharp2011/Loengud/Loeng4/ | ||
--> | |||
<!-- | |||
* '''Kolmanda loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/7eb539bd-1c41-460c-b4b8-5c5e4fe1c376 ''' | |||
**Loeng3 näited(hetkel veel kommenteerimata) Teemaks viitetüüpi muutujad, pärilus, liidesed: http://enos.itcollege.ee/~mposka/Csharp2011/Loengud/Loeng3/ | |||
* '''Neljanda loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/47f09496-72c5-4840-ba2a-786c93b30f61 ''' | |||
** Neljanda loengu näited: http://enos.itcollege.ee/~mposka/Csharp2011/Loengud/Loeng4/ | |||
--> | --> | ||
===Teooria=== | ===Teooria=== | ||
* [[Viitetüüpi muutujad CSharp programmeerimiskeeles]] | * [[Viitetüüpi muutujad CSharp programmeerimiskeeles]] | ||
**'''Objektorienteeritud programmeerimine''' | |||
*** [http://msdn.microsoft.com/en-us/library/x9afc042.aspx Klassid] | |||
*** [http://msdn.microsoft.com/en-us/library/ms173110.aspx Objektid] | |||
*** [http://msdn.microsoft.com/en-us/library/ms173149.aspx Pärilus] | |||
*** [http://msdn.microsoft.com/en-us/library/ms173152.aspx Polümorfism] | |||
*** [http://msdn.microsoft.com/en-us/library/ms173150.aspx Abstraktsed klassid] | |||
*** [http://msdn.microsoft.com/en-us/library/79b3xss3.aspx Staatilised muutujad ja klassid] | |||
*** [http://msdn.microsoft.com/en-us/library/79b3xss3.aspx Klassi omadused] | |||
*** [http://msdn.microsoft.com/en-us/library/ms173121.aspx Ligipääsud] | |||
* [[Massiivid ja System.Collection.Generic nimeruum CSharp keeles]] | * [[Massiivid ja System.Collection.Generic nimeruum CSharp keeles]] | ||
**[http://msdn.microsoft.com/en-us/library/system.collections(v=vs.110).aspx System.Collections nimeruumis asuvad andmekollektsioonid] | |||
**[http://msdn.microsoft.com/en-us/library/system.collections.generic(v=vs.110).aspx System.Collections.Generic nimeruumis asuvad andmekollektsioonid] | |||
===Praktika=== | ===Praktika=== | ||
*[[Praktikum3: Viitetüüpi muutujad CSharp programmeerimiskeeles]] | |||
*[[Praktikum:4 Pärilus]] | |||
*[https://wiki.itcollege.ee/index.php/Praktikum5:_Andmekollektsioonide_kasutamine_ja_WPF_rakenduse_loomine Praktikum5: Andmekollektsioonide kasutamine ja WPF rakenduse loomine] | |||
<!-- *[[Praktikum2: Viitetüüpi muutujad CSharp programmeerimiskeeles]] | |||
*[[Praktikum3: Viitetüüpi muutujad CSharp programmeerimiskeeles]] | |||
* | |||
*[https://wiki.itcollege.ee/index.php/Praktikum:4_Massiivid_ja_System.Collection.Generic_nimeruum_CSharp_keeles Praktikum 5:Massiivid ja System.Collection.Generic nimeruum CSharp keeles] | |||
--> | |||
<!-- | |||
* | *[[Praktikum:4 Massiivid ja System.Collection.Generic nimeruum CSharp keeles]] | ||
* [[Praktikum3:Viitetüüpi muutujad CSharp programmeerimiskeeles]] | |||
* | * [[Praktikum:4 Massiivid ja System.Collection.Generic nimeruum CSharp keeles]] | ||
* | --> | ||
== | ==Graafika ja graafiline kasutajaliides== | ||
<!-- * | <!-- * '''Kaheksanda loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/c20e040b-6c9c-40b6-9d1c-3eda0ab7274b''' --> | ||
<!-- | |||
*'''WPF videoloeng Jaana Metsamaa poolt: http://echo360.e-uni.ee/ess/echo/presentation/e7e36596-6381-4be1-8daf-8ffd956c120b''' | |||
** Jaana poolt tehtud näide: http://enos.itcollege.ee/~mposka/Csharp2011/Loengud/WPFLoeng/WpfApplication1.rar | |||
--> | |||
===Teooria=== | ===Teooria=== | ||
Kursusel tegeletakse eelkõige ''Windows Presentation Foundation'' tehnoloogiaga. | |||
* | ====Windows Presentation Foundation==== | ||
* | * Mis on WPF? | ||
**[http://msdn.microsoft.com/en-us/library/aa970268(v=vs.110).aspx WPF rakenduse ülesehitus] | |||
**[http://msdn.microsoft.com/en-us/library/ms752059(v=vs.110).aspx XAML ja ''Code Behind''] | |||
* WPFis kasutatavad elemendid | |||
**[http://msdn.microsoft.com/en-us/library/ms750559(v=vs.110).aspx WPF ja Windows Forms elementide võrdlus] | |||
* XAML | |||
**[http://msdn.microsoft.com/en-us/library/ms752059(v=vs.110).aspx XAML tehniline pool] | |||
* MVVM arendusmuster | |||
**[http://blogs.msdn.com/b/msgulfcommunity/archive/2013/03/13/understanding_2d00_the_2d00_basics_2d00_of_2d00_mvvm_2d00_design_2d00_pattern.aspx MVVM arendusmustri lihtne näide] | |||
**[http://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx MVVM arendusmuster] | |||
**[http://msdn.microsoft.com/en-us/magazine/dd419663.aspx MVVM arendumuster] | |||
**[http://www.c-sharpcorner.com/UploadFile/ptmujeeb/wpf-mvvm-pattern-a-simple-tutorial-for-absolute-beginners/ MVVM arendusmuster, kus on ka nuppude ''eventid'' toodud vaatemudelisse] | |||
* Andmetesidumine | |||
**[http://msdn.microsoft.com/en-us/library/ms752347(v=vs.110).aspx Sissejuhatus andmete sidumise protsessi WPFis] | |||
*Navigatsioon: | |||
**[http://paulstovell.com/blog/wpf-navigation Navigatsioon] | |||
===Praktika=== | ===Praktika=== | ||
[[Praktikum6: MVVM arendusmustri kasutamine WPF rakenduses]] | |||
== | ====Windows Forms==== | ||
** System.Drawing nimeruum http://msdn.microsoft.com/en-us/library/system.drawing.aspx | |||
=== | *** System.Drawing with C# http://ondotnet.com/pub/a/dotnet/2002/05/20/drawing.html?page=1 | ||
* System.Drawing nimeruum http://msdn.microsoft.com/en-us/library/system.drawing.aspx | *** This example shows how to port System.Drawing code for output to PDF. http://www.websupergoo.com/helppdf6net/source/4-examples/20-systemdrawing.htm | ||
** System.Drawing with C# http://ondotnet.com/pub/a/dotnet/2002/05/20/drawing.html?page=1 | *** Image Class http://msdn.microsoft.com/en-us/library/system.drawing.image.aspx | ||
** This example shows how to port System.Drawing code for output to PDF. http://www.websupergoo.com/helppdf6net/source/4-examples/20-systemdrawing.htm | *** How to Fade a Form Using Windows Forms http://www.dotnetcurry.com/ShowArticle.aspx?ID=81&AspxAutoDetectCookieSupport=1 | ||
** Image Class http://msdn.microsoft.com/en-us/library/system.drawing.image.aspx | |||
* How to Fade a Form Using Windows Forms http://www.dotnetcurry.com/ShowArticle.aspx?ID=81&AspxAutoDetectCookieSupport=1 | |||
====Videod==== | ====Videod==== | ||
Line 108: | Line 173: | ||
===Praktika=== | ===Praktika=== | ||
<!-- [[Praktikum: Graafika ja graafiline kasutajaliides CSharp programmeerimiskeeles]] | <!-- | ||
[[Praktikum: Graafika ja graafiline kasutajaliides CSharp programmeerimiskeeles]] | |||
--> | |||
==Töö andmeallikatega ja päringukeel LINQ== | ==Töö andmeallikatega ja päringukeel LINQ== | ||
Line 126: | Line 185: | ||
** VIDEO: Anders Hejlsberg - LINQ http://channel9.msdn.com/blogs/scobleizer/anders-hejlsberg-linq | ** VIDEO: Anders Hejlsberg - LINQ http://channel9.msdn.com/blogs/scobleizer/anders-hejlsberg-linq | ||
*** LINQPad http://www.linqpad.net/ | *** LINQPad http://www.linqpad.net/ | ||
<youtube | <youtube>B0gD0NqbGHk</youtube> | ||
<!-- | |||
* '''Loengusalvestused''' | |||
**http://echo360.e-uni.ee/ess/echo/presentation/9f75b81f-5666-4aa9-92cf-d2ddb6e87924 | |||
**http://echo360.e-uni.ee/ess/echo/presentation/4e69d772-9707-43b2-ae62-0752c217e117 | |||
**http://echo360.e-uni.ee/ess/echo/presentation/da6db8b0-5e43-4faa-8350-cb47d6ed0126 | |||
***Loengunäited(LINQtoSQL ei tööta ilma andmebaasita): http://enos.itcollege.ee/~mposka/Csharp2011/Loengud/XMLjaSQLLoeng/XMLNaide.zip | |||
--> | |||
===Praktika=== | |||
<!-- * [[Praktikum: Linq päringukeel]] --> | |||
<!-- [[Praktikum: Linq ja XML]] --> | |||
[[Praktikum7: Töö andmeallikatega]] | |||
[[Praktikum8: WPF rakenduse ühendamine andmebaasiga kasutades Entity Frameworki]] | |||
[[Praktikum9: WPF rakenduse ühendamine andmebaasiga kasutades Entity Frameworki]] | |||
==Failisüsteem ja sisend-väljund== | |||
* | <!-- ''' Seitsmenda loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/645e0fc2-63c8-498e-8ccb-10172bb4bd63''' --> | ||
* | <!-- | ||
* | '''Videoloeng''' | ||
* | *http://echo360.e-uni.ee/ess/echo/presentation/054d4589-05bd-4ee8-a198-93060dbce207 | ||
* | **Loengus tehtud näited: http://enos.itcollege.ee/~mposka/Csharp2011/Loengud/Loeng5/ | ||
* | --> | ||
===Teooria=== | |||
* System.IO nimeruum: http://msdn.microsoft.com/en-us/library/system.io.aspx | |||
** Töö failidega | |||
*** FileInfo klass https://msdn.microsoft.com/en-us/library/system.io.fileinfo(v=vs.110).aspx | |||
*** File klass https://msdn.microsoft.com/en-us/library/system.io.file(v=vs.110).aspx | |||
**Töö kaustadega | |||
*** DirectoryInfo klass https://msdn.microsoft.com/en-us/library/system.io.directoryinfo(v=vs.110).aspx | |||
*** Directory klass https://msdn.microsoft.com/en-us/library/system.io.directory(v=vs.110).aspx | |||
*Peamised tegevused IO nimeruumis: | |||
** [https://docs.microsoft.com/en-us/dotnet/standard/io/how-to-copy-directories Failide kopeerimine ühest asukohast teise] | |||
** [https://docs.microsoft.com/en-us/dotnet/standard/io/how-to-enumerate-directories-and-files Failide ja kaustade leidmine] | |||
** [https://docs.microsoft.com/en-us/dotnet/standard/io/how-to-compress-and-extract-files Failide kokku ja lahti pakkimine] | |||
** [https://docs.microsoft.com/en-us/dotnet/standard/io/isolated-storage Töö IsolatedStorage klassiga] | |||
<!-- | |||
** Simple Text File Operations in C# http://www.csharphelp.com/2005/12/simple-text-file-operations-in-c/ | |||
** Create, Read, Write, Copy, Move and Delete a Text File using C# and VB.NET http://www.dotnetcurry.com/ShowArticle.aspx?ID=144 | |||
* Create an FTP Class Library in C# http://www.dreamincode.net/forums/topic/35902-create-an-ftp-class-library-in-c%23/ | |||
* C# File Handling http://dotnetperls.com/file-handling --> | |||
===Praktika=== | |||
[[Praktikum10: Failisüsteemi sisend ja väljund]] | |||
<!-- * [[Praktikum: Failid ja failide haldamine CSharp programmeerimiskeeles]] --> | |||
<!-- * [[Praktikum5: FailiSüsteemi sisend väljund]] --> | |||
==Serialiseerimine ja vood== | |||
<!-- '''Salvestus ebaõnnestus, tegelen...''' --> | |||
===Teooria=== | |||
* [[Andmete konverteerimine ja seriaaliseerimine .Net raamistiku vahenditega]] | |||
* [https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/ Andmete serialiseerimine(MSDN)] | |||
* [https://msdn.microsoft.com/en-us/library/ms973893.aspx Andmete serialiseerimine kasutades BinaryFormatterit] | |||
* [https://docs.microsoft.com/en-us/dotnet/standard/serialization/examples-of-xml-serialization XML'is andmete serialiseerimine] | |||
* [https://docs.microsoft.com/en-us/dotnet/api/system.runtime.serialization.iserializable?view=netframework-4.7.1 ISerializable implementeerimine] | |||
* [https://msdn.microsoft.com/en-us/library/aa302290.aspx XMLSerializer ja pärilus] | |||
<!-- | |||
*Loengu salvestus:http://echo360.e-uni.ee/ess/echo/presentation/c89e7095-c0f9-4c62-b486-ba033b6a4a3a | |||
**Loengus tehtud näited: | |||
***http://enos.itcollege.ee/~mposka/Csharp2011/Loengud/LoengSerialiseerimine/LoengSerialiseerimine.zip | |||
***http://enos.itcollege.ee/~mposka/Csharp2011/Loengud/LoengSerialiseerimine/LoengSerialiseerimine_WPF.zip | |||
--> | |||
===Praktika=== | ===Praktika=== | ||
<!-- | |||
[[Praktikum11: Andmete serialiseerimine]] | |||
<!-- | |||
[[Praktikum: Serialiseerimine ja kordamine]] | |||
--> | |||
==Mitmelõimelised rakendused== | |||
===Teooria=== | |||
[https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/threading/ Threading nimeruum] | |||
*NB! Tutvuda tuleks kõigi alampeatükkidega ka, mis viidatud artiklis on välja toodud "Related Topics" sektsioonis | |||
[https://docs.microsoft.com/en-us/dotnet/standard/async-in-depth Asünkroonne programmerimine C#is] | |||
==Rakenduste domeenid ja teenused== | ==Rakenduste domeenid ja teenused== | ||
== | ===Teooria=== | ||
*[https://docs.microsoft.com/en-us/dotnet/framework/windows-services/ Windowsi teenused(tuleb vaadata ka alampeatükke)] | |||
*[https://docs.microsoft.com/en-us/dotnet/framework/windows-services/how-to-create-windows-services Kuidas luua Windowsi teenuseid] | |||
==Rakenduste jõudlus== | ==Rakenduste jõudlus== | ||
== | ===Teooria=== | ||
*[https://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog(v=vs.110).aspx EventLog klassikirjeldus] | |||
*[https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/tracing-and-instrumenting-applications System.Diagnostics nimeruumi kasutamine] | |||
*[https://support.microsoft.com/en-us/help/307024/how-to-write-to-an-event-log-by-using-visual-c Kuidas kirjutada Event Logi] | |||
*[https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/performance-counters Jõudluse mõõdikud] | |||
==.Net platvormi võimekuse laiendamine== | ==.Net platvormi võimekuse laiendamine== | ||
===Teooria=== | |||
*[https://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient(v=vs.110).aspx SMTPClient e-mailide saatmiseks] | |||
*[https://docs.microsoft.com/en-us/dotnet/standard/globalization-localization/ Globalization and Localization in .NET] | |||
==Koodiüksuste koostalitusvõime ja ristkasutus== | ==Koodiüksuste koostalitusvõime ja ristkasutus== | ||
==Rakenduste ja andmete turvamine== | |||
==Rakenduste pakendamine== | ==Rakenduste pakendamine== | ||
=Arhiiv= | =Arhiiv= | ||
==2011== | |||
===Videoloengud=== | |||
*[http://echo360.e-uni.ee/ess/echo/presentation/a32bd07e-4758-4182-a0a7-b98768424e69 .NET tehnoloogia tutvustus] | |||
*[http://echo360.e-uni.ee/ess/echo/presentation/7eb539bd-1c41-460c-b4b8-5c5e4fe1c376 Muutujad, pärilus liidesed] | |||
*[http://echo360.e-uni.ee/ess/echo/presentation/47f09496-72c5-4840-ba2a-786c93b30f61 Andmekollektsioonid] | |||
*[http://echo360.e-uni.ee/ess/echo/presentation/ac5636ce-8d3c-46ac-9746-004df514416a Mängude loomise platvorm XNA] | |||
*[http://echo360.e-uni.ee/ess/echo/presentation/054d4589-05bd-4ee8-a198-93060dbce207 Failisüsteem ja sisend-väljund] | |||
*[http://echo360.e-uni.ee/ess/echo/presentation/e7e36596-6381-4be1-8daf-8ffd956c120b Windows Presendation Foundation(Jaana Metsamaa)] | |||
*[http://echo360.e-uni.ee/ess/echo/presentation/c89e7095-c0f9-4c62-b486-ba033b6a4a3a Serialiseerimine ja vood] | |||
*[http://echo360.e-uni.ee/ess/echo/presentation/9f75b81f-5666-4aa9-92cf-d2ddb6e87924 LINQToSQL & WPF(1)] | |||
*[http://echo360.e-uni.ee/ess/echo/presentation/4e69d772-9707-43b2-ae62-0752c217e117 LINQToSQL & WPF(2)] | |||
*[http://echo360.e-uni.ee/ess/echo/presentation/da6db8b0-5e43-4faa-8350-cb47d6ed0126 LINQToSQL & WPF(3)] | |||
===Praktikumid=== | |||
*[[Praktikum1: Väärtustüüpi muutujad CSharp programmeerimiskeeles ]] | |||
*[[Praktikum2:_Viitetüüpi_muutujad_CSharp_programmeerimiskeeles(1.praktikumi järg)]] | |||
*[[Praktikum3:Viitetüüpi muutujad CSharp programmeerimiskeeles]] | |||
*[[Praktikum:4 Massiivid ja System.Collection.Generic nimeruum CSharp keeles]] | |||
*[[Praktikum5: FailiSüsteemi sisend väljund]] | |||
*[[Praktikum: Graafika ja graafiline kasutajaliides CSharp programmeerimiskeeles]] | |||
*[[Praktikum: Serialiseerimine ja kordamine]] | |||
*[[Praktikum: Linq ja XML]] | |||
===Meeskonnad 2011=== | |||
*[https://wiki.itcollege.ee/index.php/Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2011) Päevaõpe] | |||
*[https://wiki.itcollege.ee/index.php/Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22(Kaug%C3%B5pe_2011) Kaugõpe] | |||
==2010== | ==2010== | ||
===Videoloengud=== | ===Videoloengud=== |
Latest revision as of 10:07, 11 December 2017
Programmeerimine CSharp keeles KKK
Aine eesmärk ja tutvustus
Käesoleva õppeaine eesmärgiks on arendada õppija meeskonnatöö ja programmeerimise oskuseid, andes vajalikud teadmised ja oskused .Net raamistiku baasil tarkvaraarenduseks väiksemas meeskonnas.
Õppeaines tegeletakse .Net raamistiku tehnoloogiate, C# programmeerimiskeele ning LINQ päringukeele abil rakenduste loomisega. Põhirõhk on .Net raamistiku, kui ühe levinuima arendusplatvormi tutvustamisel. Aine edukalt läbinud tudeng oskab töötada väiksemas meeskonnas ning luua kaasaegseid rakendusi kasutades .Net raamistikku kuuluvaid tehnoloogiad ja nende võimekusi.
Oodatavad õpiväljundid
- Õppija teab ning oskab kirjeldada .Net raamistiku olemust ning peamisi tehnoloogiaid.
- Õppija oskab koostada C# programmeerimiskeeles lihtsamaid rakendusi või suurema tarkvaralahenduse osiseid.
- Õppija oskab lisamaterjale kasutades koostada LINQ päringukeeles päringuid ning kasutada vajadusel .Net raamistiku vahendeid leivnumate andmeallikate (XML, andembaasiserverid ning failid) poole pöördumiseks.
- Õppija oskab töötada väiksemas meeskonnas.
Vajalikud arendusvahendid
.NET raamistikus ja C# programmeerimiskeelese kasutatakse enamasti rakenduste loomiseks Visual Studiot. 26.08.2017 seisuga on kõige uuem Visual Studio 2017. Visual Studiost on olemas kolm erinevat versiooni: Community, Professional ja Enterprise.
Aine läbimise jaoks oleks kõige mõistlikum paigaldada endale Visual Studio 2017 Enterprise, mille saavad kõik Eesti Infotehnoloogia Kolledzi tudengid endale tasuta siit
Community versiooni on võimalik kasutada alati tasuta, kuid arvestama peab sellega, et selles versioonis ei ole väga paljusid erinevaid koodi refaktoorimise võimalusi, mida praktikumides kasutame. Samuti annab Enterprise versiooniga töötamine rohkem ettevalmistust tööle mineku jaoks, kuna ettevõtted kasutavad tavaliselt kas Professional või Enterprise versiooni.
Loe lähemalt erinevate versioonide erinevuste kohta siit
Juhul kui Visual Studiot paigaldada, siis võiks olla paigalduse käigus tehtud valikud olla umbes sellised
Hinne ja selle kujunemine
Hinne kujuneb 55% ulatuses iseseisva tööna valminud projekti ja selle hindamisest saadud teadmiste ja oskuste kvaliteedi ning 45% ulatuses eksamitööna tehtud testi ja praktilise töö korrektsuse põhjal.
Eksamile pääsemise eelduseks on rühmatööna valminud projekti teostatuks arvestamine ning teise rühma töö hindamine. Maksimumtulemuse saavutamiseks peavad projektid olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub ka arendusprotsessi kirjeldus (rühmatöökorral peab selguma ka iga rühmaliikme panus projekti teostamisel). Maksimumtulemuse üheks eelduseks on projekti erinevate alamosade esitamine õigeteks tähtaegadeks.
Eksamitöö koosneb valikvastustega testist ning lihtsast praktilisest ülesandest. Eksam loetakse sooritatuks, kui valikvastustega testis on vähemalt 51% õigeid vastuseid ning praktilise töö lähteülesanne on realiseeritud (lahendus töötab, kuid piirsituatsioonidega ei ole arvestatud ning esineb mõningaid vigu). Maksimumtulemuse saavutamiseks peab test olema sooritatud väheste vigadega ning praktiline töö teostatud veatult.
Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (2017)
Konsultatsioonid
Konsultatsiooni jaoks ei ole eraldi aega, vaid see toimub õppejõuga kokkuleppel. Kontaktid selle kokkuleppmiseks: telefon 53 469 734, e-mail: mait.poska@itcollege.ee. Eelisatud variant on telefon. Samuti võib konsultatsiooniks ettepaneku teha telefonis.
Teemad
.Net raamistiku ja C# programmeerimiskeele tutvustus
Teooria
- C# programmeerimiskeel
Praktika
Praktikum: Väärtustüüpi muutujad ja meetodid CSharp programmeerimiskeeles
Andmetüübid, nende teisendused ja keerulisemad andmekollektsioonid
Teooria
- Viitetüüpi muutujad CSharp programmeerimiskeeles
- Objektorienteeritud programmeerimine
- Massiivid ja System.Collection.Generic nimeruum CSharp keeles
Praktika
- Praktikum3: Viitetüüpi muutujad CSharp programmeerimiskeeles
- Praktikum:4 Pärilus
- Praktikum5: Andmekollektsioonide kasutamine ja WPF rakenduse loomine
Graafika ja graafiline kasutajaliides
Teooria
Kursusel tegeletakse eelkõige Windows Presentation Foundation tehnoloogiaga.
Windows Presentation Foundation
- Mis on WPF?
- WPFis kasutatavad elemendid
- XAML
- MVVM arendusmuster
- Andmetesidumine
- Navigatsioon:
Praktika
Praktikum6: MVVM arendusmustri kasutamine WPF rakenduses
Windows Forms
- System.Drawing nimeruum http://msdn.microsoft.com/en-us/library/system.drawing.aspx
- System.Drawing with C# http://ondotnet.com/pub/a/dotnet/2002/05/20/drawing.html?page=1
- This example shows how to port System.Drawing code for output to PDF. http://www.websupergoo.com/helppdf6net/source/4-examples/20-systemdrawing.htm
- Image Class http://msdn.microsoft.com/en-us/library/system.drawing.image.aspx
- How to Fade a Form Using Windows Forms http://www.dotnetcurry.com/ShowArticle.aspx?ID=81&AspxAutoDetectCookieSupport=1
- System.Drawing nimeruum http://msdn.microsoft.com/en-us/library/system.drawing.aspx
Videod
- WPF Videos http://windowsclient.net/learn/videos_wpf.aspx
- Build your first desktop application with .NET and WPF http://msdn.microsoft.com/et-ee/ff728573(en-us).aspx
- Windows Forms Videos http://windowsclient.net/learn/videos.aspx
Praktika
Töö andmeallikatega ja päringukeel LINQ
Teooria
- Linq päringukeel
- LINQ: .NET Language-Integrated Query http://msdn.microsoft.com/library/bb308959.aspx
- .NET Language-Integrated Query for XML Data http://msdn.microsoft.com/library/bb308960.aspx
- LINQ to SQL: .NET Language-Integrated Query for Relational Data http://msdn.microsoft.com/library/bb425822.aspx
- VIDEO: Anders Hejlsberg - LINQ http://channel9.msdn.com/blogs/scobleizer/anders-hejlsberg-linq
- LINQPad http://www.linqpad.net/
Praktika
Praktikum7: Töö andmeallikatega
Praktikum8: WPF rakenduse ühendamine andmebaasiga kasutades Entity Frameworki
Praktikum9: WPF rakenduse ühendamine andmebaasiga kasutades Entity Frameworki
Failisüsteem ja sisend-väljund
Teooria
- System.IO nimeruum: http://msdn.microsoft.com/en-us/library/system.io.aspx
- Töö failidega
- Töö kaustadega
- Peamised tegevused IO nimeruumis:
Praktika
Praktikum10: Failisüsteemi sisend ja väljund
Serialiseerimine ja vood
Teooria
- Andmete konverteerimine ja seriaaliseerimine .Net raamistiku vahenditega
- Andmete serialiseerimine(MSDN)
- Andmete serialiseerimine kasutades BinaryFormatterit
- XML'is andmete serialiseerimine
- ISerializable implementeerimine
- XMLSerializer ja pärilus
Praktika
Praktikum11: Andmete serialiseerimine
Mitmelõimelised rakendused
Teooria
- NB! Tutvuda tuleks kõigi alampeatükkidega ka, mis viidatud artiklis on välja toodud "Related Topics" sektsioonis
Asünkroonne programmerimine C#is
Rakenduste domeenid ja teenused
Teooria
Rakenduste jõudlus
Teooria
- EventLog klassikirjeldus
- System.Diagnostics nimeruumi kasutamine
- Kuidas kirjutada Event Logi
- Jõudluse mõõdikud
.Net platvormi võimekuse laiendamine
Teooria
Koodiüksuste koostalitusvõime ja ristkasutus
Rakenduste ja andmete turvamine
Rakenduste pakendamine
Arhiiv
2011
Videoloengud
- .NET tehnoloogia tutvustus
- Muutujad, pärilus liidesed
- Andmekollektsioonid
- Mängude loomise platvorm XNA
- Failisüsteem ja sisend-väljund
- Windows Presendation Foundation(Jaana Metsamaa)
- Serialiseerimine ja vood
- LINQToSQL & WPF(1)
- LINQToSQL & WPF(2)
- LINQToSQL & WPF(3)
Praktikumid
- Praktikum1: Väärtustüüpi muutujad CSharp programmeerimiskeeles
- Praktikum2:_Viitetüüpi_muutujad_CSharp_programmeerimiskeeles(1.praktikumi järg)
- Praktikum3:Viitetüüpi muutujad CSharp programmeerimiskeeles
- Praktikum:4 Massiivid ja System.Collection.Generic nimeruum CSharp keeles
- Praktikum5: FailiSüsteemi sisend väljund
- Praktikum: Graafika ja graafiline kasutajaliides CSharp programmeerimiskeeles
- Praktikum: Serialiseerimine ja kordamine
- Praktikum: Linq ja XML
Meeskonnad 2011
2010
Videoloengud
- Teise loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/da80554f-c89f-426e-b5f1-3c060176e4d8
- Teises loengus tehtud näited: http://enos.itcollege.ee/~htahis/CSharp/Loeng2/CSharp2010loeng2.zip
- Kolmanda loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/bbc382a2-b9ca-4f31-b853-21f8edee52a9
- Kolmandas loengus tehtud näited: http://enos.itcollege.ee/~htahis/CSharp/Loeng3/
- Neljanda loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/46d76716-cfbb-4fea-a66c-53dc6435b159
- Neljanda loengu näited:
- Viienda loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/2f1d17c1-c3e0-4811-bdc2-701c9bcaebab
- Kuuenda loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/392a78ab-db8b-425c-873c-170d0e83dd66
- Seitsmenda loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/645e0fc2-63c8-498e-8ccb-10172bb4bd63
- Kaheksanda loengu salvestus: http://echo360.e-uni.ee/ess/echo/presentation/c20e040b-6c9c-40b6-9d1c-3eda0ab7274b
Praktikumid
- Praktikum: Erindid ja erindihaldus CSharp programmeerimiskeeles
- Praktikum: Väärtustüüpi muutujad CSharp programmeerimiskeeles
- Praktikum: Viitetüüpi muutujad CSharp programmeerimiskeeles
- Praktikum: Massiivid ja System.Collection.Generic nimeruum CSharp keeles
- Praktikum: Failid ja failide haldamine CSharp programmeerimiskeeles
- Praktikum: Graafika ja graafiline kasutajaliides CSharp programmeerimiskeeles
- Praktikum: Andmete konverteerimine ja seriaaliseerimine .Net raamistiku vahenditega
- Praktikum: Linq päringukeel
Programmeerimine CSharp keeles: 2010 sügis, päevaõppe kokkuvõtted
Pages in category "Programmeerimine CSharp keeles"
The following 67 pages are in this category, out of 67 total.
"
.
2
3
B
I
M
- Meeskond "!"
- Meeskond "2
- Meeskond "Agendid"
- Meeskond "Alphabook"
- Meeskond "C-Team"
- Meeskond "Hype"
- Meeskond "Kosmoseahi"
- Meeskond "Lupardid"
- Meeskond "M1"
- Meeskond "Modern Iron"
- Meeskond "Pacman"
- Meeskond "Projekt Tank"
- Meeskond "Ready or Not, Here it Comes!"
- Meeskond "Siiski"
- Meeskond "Skill and Others"
- Meeskond "Ventilaator"
- Meeskond "XNA (Xbox Not Available)"
- Meeskond ITK Life
- Meeskond Last Night
- Meeskond Margus Tonis
- Meeskond Metronaator
- Meeskond Naaskel
- Meeskond Nimetud
- Meeskond: DenTnet
- Meeskond: MinuKV
- Meeskond: Ok Vaatame
- Meeskond: TrackPlace
- Meeskond:IT Squad
- Meeskond:Lill
- Meeskond:PennyFriends
- MeeskondX