Category:Programmeerimine CSharp keeles: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Mposka (talk | contribs)
Mposka (talk | contribs)
 
(76 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)]]
<!--[[Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (2012)]]


Line 43: Line 57:
==.Net raamistiku ja C# programmeerimiskeele tutvustus==
==.Net raamistiku ja C# programmeerimiskeele tutvustus==
===Teooria===
===Teooria===
* [[.Net raamistiku tutvustus]]
* [https://docs.microsoft.com/en-us/dotnet/framework/get-started/index .Net raamistiku tutvustus]
* [http://msdn.microsoft.com/en-us/library/hh425099(v=vs.110).aspx Mis on .NET raamistik?]
* [https://docs.microsoft.com/en-us/dotnet/framework/get-started/overview Mis on .NET raamistik?]
* [http://msdn.microsoft.com/en-us/library/0cs3416d.aspx Sissejuhatus C# programmeerimiskeelde]
* [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]




Line 55: Line 70:


===Praktika===
===Praktika===
[[Praktikum: Väärtustüüpi muutujad ja meetodid CSharp programmeerimiskeeles]]
<!--* [[Praktikum: Erindid ja erindihaldus CSharp programmeerimiskeeles]]
<!--* [[Praktikum: Erindid ja erindihaldus CSharp programmeerimiskeeles]]
* [[Praktikum: Väärtustüüpi muutujad CSharp programmeerimiskeeles]]-->
* -->
[[Praktikum1: Väärtustüüpi muutujad CSharp programmeerimiskeeles]] <br/>
<!--[[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]]
[[Praktikum2:_Viitetüüpi_muutujad_CSharp_programmeerimiskeeles(1.praktikumi järg)]] -->
-->


==Andmetüübid, nende teisendused ja keerulisemad andmekollektsioonid==
==Andmetüübid, nende teisendused ja keerulisemad andmekollektsioonid==
Line 95: Line 112:


===Praktika===
===Praktika===
*[[Praktikum2: Viitetüüpi muutujad CSharp programmeerimiskeeles]]


*[[Praktikum3: Viitetüüpi muutujad CSharp programmeerimiskeeles]]
*[[Praktikum3: Viitetüüpi muutujad CSharp programmeerimiskeeles]]
*[[Praktikum:4 Pärilus]]
*[[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]
*[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]
-->
<!--
<!--


Line 117: Line 139:
Kursusel tegeletakse eelkõige ''Windows Presentation Foundation'' tehnoloogiaga.
Kursusel tegeletakse eelkõige ''Windows Presentation Foundation'' tehnoloogiaga.


*Windows Presentation Foundation
====Windows Presentation Foundation====
** Mis on WPF?
* 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/aa970268(v=vs.110).aspx WPF rakenduse ülesehitus]
***[http://msdn.microsoft.com/en-us/library/ms752059(v=vs.110).aspx XAML ja ''Code Behind'']
**[http://msdn.microsoft.com/en-us/library/ms752059(v=vs.110).aspx XAML ja ''Code Behind'']
** WPFis kasutatavad elemendid
* WPFis kasutatavad elemendid
** XAML
**[http://msdn.microsoft.com/en-us/library/ms750559(v=vs.110).aspx WPF ja Windows Forms elementide võrdlus]
***[http://msdn.microsoft.com/en-us/library/ms752059(v=vs.110).aspx XAML tehniline pool]
* XAML
** MVVM arendusmuster
**[http://msdn.microsoft.com/en-us/library/ms752059(v=vs.110).aspx XAML tehniline pool]
***[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]
* MVVM arendusmuster
***[http://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx 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/magazine/dd419663.aspx MVVM arendumuster]
**[http://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx MVVM arendusmuster]
***[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]
**[http://msdn.microsoft.com/en-us/magazine/dd419663.aspx MVVM arendumuster]
** Andmetesidumine
**[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]
***[http://msdn.microsoft.com/en-us/library/ms752347(v=vs.110).aspx Sissejuhatus andmete sidumise protsessi WPFis]
* 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]


*Windows Forms
===Praktika===
[[Praktikum6: MVVM arendusmustri kasutamine WPF rakenduses]]
 
====Windows Forms====
** System.Drawing nimeruum http://msdn.microsoft.com/en-us/library/system.drawing.aspx
** 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 with C# http://ondotnet.com/pub/a/dotnet/2002/05/20/drawing.html?page=1
Line 149: Line 177:
-->
-->


==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/
<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==
==Failisüsteem ja sisend-väljund==
Line 158: Line 212:
-->
-->
===Teooria===
===Teooria===
* System.IO Namespace by MSDN http://msdn.microsoft.com/en-us/library/system.io.aspx
* System.IO nimeruum: http://msdn.microsoft.com/en-us/library/system.io.aspx
** GZipStream Class http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx
** Töö failidega
** Working with System.IO.Directory Class in C# http://www.c-sharpcorner.com/UploadFile/chandrahundigam/WorkingWithDirectory07022005012852AM/WorkingWithDirectory.aspx
*** 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/
** 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, 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/
* 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
* C# File Handling http://dotnetperls.com/file-handling -->


===Praktika===
===Praktika===
[[Praktikum10: Failisüsteemi sisend ja väljund]]
<!-- * [[Praktikum: Failid ja failide haldamine CSharp programmeerimiskeeles]] -->
<!-- * [[Praktikum: Failid ja failide haldamine CSharp programmeerimiskeeles]] -->
* [[Praktikum5: FailiSüsteemi sisend väljund]]
<!-- * [[Praktikum5: FailiSüsteemi sisend väljund]] -->
 


==Serialiseerimine ja vood==
==Serialiseerimine ja vood==
Line 176: Line 241:
===Teooria===
===Teooria===
* [[Andmete konverteerimine ja seriaaliseerimine .Net raamistiku vahenditega]]
* [[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
*Loengu salvestus:http://echo360.e-uni.ee/ess/echo/presentation/c89e7095-c0f9-4c62-b486-ba033b6a4a3a
Line 182: Line 252:
***http://enos.itcollege.ee/~mposka/Csharp2011/Loengud/LoengSerialiseerimine/LoengSerialiseerimine_WPF.zip
***http://enos.itcollege.ee/~mposka/Csharp2011/Loengud/LoengSerialiseerimine/LoengSerialiseerimine_WPF.zip
-->
-->
===Praktika===
===Praktika===
[[Praktikum11: Andmete serialiseerimine]]
<!--
<!--
[[Praktikum: Serialiseerimine ja kordamine]]
[[Praktikum: Serialiseerimine ja kordamine]]
-->
-->


==Töö andmeallikatega ja päringukeel LINQ==
==Mitmelõimelised rakendused==
===Teooria===
===Teooria===
* [[Linq päringukeel]]
[https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/threading/ Threading nimeruum]
** LINQ: .NET Language-Integrated Query http://msdn.microsoft.com/library/bb308959.aspx
*NB! Tutvuda tuleks kõigi alampeatükkidega ka, mis viidatud artiklis on välja toodud "Related Topics" sektsioonis
** .NET Language-Integrated Query for XML Data http://msdn.microsoft.com/library/bb308960.aspx
[https://docs.microsoft.com/en-us/dotnet/standard/async-in-depth Asünkroonne programmerimine C#is]
** 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/
<youtube v=B0gD0NqbGHk />


<!--
==Rakenduste domeenid ja teenused==
* '''Loengusalvestused'''
===Teooria===
**http://echo360.e-uni.ee/ess/echo/presentation/9f75b81f-5666-4aa9-92cf-d2ddb6e87924
*[https://docs.microsoft.com/en-us/dotnet/framework/windows-services/ Windowsi teenused(tuleb vaadata ka alampeatükke)]
**http://echo360.e-uni.ee/ess/echo/presentation/4e69d772-9707-43b2-ae62-0752c217e117
*[https://docs.microsoft.com/en-us/dotnet/framework/windows-services/how-to-create-windows-services Kuidas luua Windowsi teenuseid]
**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
-->


* Using LINQ to SQL (Part 1) http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx
==Rakenduste jõudlus==
* LINQ to SQL (Part 2 - Defining our Data Model Classes) http://weblogs.asp.net/scottgu/archive/2007/05/29/linq-to-sql-part-2-defining-our-data-model-classes.aspx
===Teooria===
* LINQ to SQL (Part 3 - Querying our Database) http://weblogs.asp.net/scottgu/archive/2007/06/29/linq-to-sql-part-3-querying-our-database.aspx
*[https://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog(v=vs.110).aspx EventLog klassikirjeldus]
* LINQ to SQL (Part 4 - Updating our Database) http://weblogs.asp.net/scottgu/archive/2007/07/11/linq-to-sql-part-4-updating-our-database.aspx
*[https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/tracing-and-instrumenting-applications System.Diagnostics nimeruumi kasutamine]
* LINQ to SQL (Part 5 - Binding UI using the ASP:LinqDataSource Control) http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx
*[https://support.microsoft.com/en-us/help/307024/how-to-write-to-an-event-log-by-using-visual-c Kuidas kirjutada Event Logi]
* LINQ to SQL (Part 6 - Retrieving Data Using Stored Procedures)http://weblogs.asp.net/scottgu/archive/2007/08/16/linq-to-sql-part-6-retrieving-data-using-stored-procedures.aspx
*[https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/performance-counters Jõudluse mõõdikud]
* LINQ to SQL (Part 7 - Updating our Database using Stored Procedures) http://weblogs.asp.net/scottgu/archive/2007/08/23/linq-to-sql-part-7-updating-our-database-using-stored-procedures.aspx
LINQ to SQL (Part 8 - Executing Custom SQL Expressions) http://weblogs.asp.net/scottgu/archive/2007/08/27/linq-to-sql-part-8-executing-custom-sql-expressions.aspx


===Praktika===
==.Net platvormi võimekuse laiendamine==
<!-- * [[Praktikum: Linq päringukeel]] -->
===Teooria===
[[Praktikum: Linq ja XML]]
*[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]


==Rakenduste domeenid ja teenused==
==Koodiüksuste koostalitusvõime ja ristkasutus==
==Mitmelõimelised rakendused==
==Rakenduste jõudlus==
==Rakenduste ja andmete turvamine==
==Rakenduste ja andmete turvamine==
==.Net platvormi võimekuse laiendamine==
==Koodiüksuste koostalitusvõime ja ristkasutus==
==Rakenduste pakendamine==
==Rakenduste pakendamine==
==Mängude loomise platvorm XNA==
===Teooria===
'''NB! Tänasel päeval on XNA vananenud tehnoloogia, kuid kuna paljud tunnevad selle vastu huvi, jätan viited alles. Alternatiivina soovitan uurida näiteks Unityt'''
* Learn Programming with XNA https://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=7992&wa=wsignin1.0&Login=#Download
* Learning C# with XNA 3.0 http://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=8119
* http://www.eneta.ee -> õppimine -> Veebistuudium -> Veebiarendus
* http://creators.xna.com/en-US/
<!--
* '''Loengu salvestus'''
**http://echo360.e-uni.ee/ess/echo/presentation/ac5636ce-8d3c-46ac-9746-004df514416a
* '''Loengus tehtud näited'''
**http://enos.itcollege.ee/~mposka/Csharp2011/Loengud/LoengXNA/LoengXNATeooria.zip
-->
* Hulk lahendaid videojuhendeid, üks stiilinäide ka:
** http://www.phstudios.com/tutorials/xna/BasicTraining/
** http://www.phstudios.com/?q=node/16
** http://www.phstudios.com/?q=node/49
<youtube v=FFB8iTb2YXI />
===Praktika===
<!-- * [[Juhend: Esimene kodutöö aines "Programmeerimine CSharp keeles" (XNA Projekt)]] -->
<!--
[[Praktikum:XNA Game Studio]]
-->


=Arhiiv=
=Arhiiv=

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


Praktika

Praktikum: Väärtustüüpi muutujad ja meetodid CSharp programmeerimiskeeles


Andmetüübid, nende teisendused ja keerulisemad andmekollektsioonid

Teooria

Praktika

Graafika ja graafiline kasutajaliides

Teooria

Kursusel tegeletakse eelkõige Windows Presentation Foundation tehnoloogiaga.

Windows Presentation Foundation

Praktika

Praktikum6: MVVM arendusmustri kasutamine WPF rakenduses

Windows Forms

Videod

Praktika

Töö andmeallikatega ja päringukeel LINQ

Teooria


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

Praktika

Praktikum10: Failisüsteemi sisend ja väljund

Serialiseerimine ja vood

Teooria

Praktika

Praktikum11: Andmete serialiseerimine

Mitmelõimelised rakendused

Teooria

Threading nimeruum

  • 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

.Net platvormi võimekuse laiendamine

Teooria

Koodiüksuste koostalitusvõime ja ristkasutus

Rakenduste ja andmete turvamine

Rakenduste pakendamine

Arhiiv

2011

Videoloengud

Praktikumid

Meeskonnad 2011

2010

Videoloengud

Praktikumid

Programmeerimine CSharp keeles: 2010 sügis, päevaõppe kokkuvõtted