1 / 14

Jazyk C # a platforma .NET ZS 2014/2015

Jazyk C # a platforma .NET ZS 2014/2015. Pavel Je žek pavel.jezek@d3s.mff.cuni.cz. Struktura předmětu. NPRG035 (2/2 Zk /Z) – Jazyk C # a platforma .NET (zima) Přednáška Cvičení ( SW2 ) – třeba se přihlásit v SISu NPRG038 (2/ 2 Zk /Z) – Pokročilé programování pro .NET I (léto)

Download Presentation

Jazyk C # a platforma .NET ZS 2014/2015

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Jazyk C# a platforma .NETZS 2014/2015 Pavel Ježekpavel.jezek@d3s.mff.cuni.cz

  2. Struktura předmětu NPRG035 (2/2 Zk/Z) – Jazyk C# a platforma .NET (zima) • Přednáška • Cvičení (SW2) – třeba se přihlásit v SISu NPRG038 (2/2Zk/Z) – Pokročilé programování pro .NET I (léto) • Přednáška • Cvičení(SW2/SW1) NPRG057(2/0Zk) – Pokročilé programování pro .NET II (léto) • Přednáška

  3. Požadavky na zápočet/zkoušku NPRG035 (2/2 Zk/Z) – Jazyk C# a platforma .NET (zima) • Zkouška (ABC test) • Splněné povinnosti ze cvičení • Zápočtový program (kontrolují cvičící) • Praktický zápočtový test v počítačové laboratoři • Naprogramovat a odladit jeden jednoduchý příklad • Časový limit: 3 hodiny • Celkem 5 pokusů, z toho ale maximálně 3 pokusy v zimním zk. obd.(další až v některém z letních termínů) • Dostatek termínů v zimním zkouškovém období + přibližně 2 v letním NPRG038 (2/2 Zk/Z) – Pokročilé programování pro .NET I (léto) • Splněné povinnosti ze cvičení • Zápočtový program • Zkouška (ABC test) NPRG057(2/0Zk) – Pokročilé programování pro .NET II (léto) • “Zápočtový program”(kontrolují cvičící z NPRG 038, případně i NPRG 035) • Zkouška (ABC test) Zápočet Zápočet Zkouška

  4. Zkouška • Zákaz používání jakýchkoliv materiálů a pomůcek (pouze tužka/propiska) • 45 minut • Hodnocení (stejné jako u ostatních povinněvolitelnýchpředmětů – skupina Programování) – za chybné odpovědi se udělují trestné body:

  5. Zkouška • Příklady typu „dopište implementaci následující třídy“, nebo:

  6. Zkouška

  7. Zápočtový test • Možnost používat libovolné tištěné materiály (knihy, apod.), kromě vytištěných vyřešených příkladů • Z elektronických materiálů pouze mé slidy, případně slidy University ofLinz (a samozřejmě MSDN Library) • 3 hodiny v počítačové laboratoři • Řešení musí splňovat všechny podmínky zadání a být zcela funkční • Příklad zadání: Prevest logickou formuli ve vstupnim souboru do CNF (konjunktivni normalni forma) - konjunkce disjunkci. Vstupni formule je plne uzavokovana a kazdy clen je oddelen mezerou. Promenna je libovolny textovy retezec. & konjunkce, ! negace, | disjunkce, -> implikace, <-> ekvivalence Pri prevadeni se aplikuji nasledujici prepisovaci pravidla (kde a, b, c jsou libovolne formule): * !!a ------> a * a -> b ------> ! a | b * a <-> b ------> ( a -> b ) & ( b -> a ) * ! ( a | b ) ------> ! a & ! b * ! ( a & b ) ------> ! a | ! b * ( a & b ) | c ------> ( a | c ) & ( b | c )

  8. Povinnosti ze cvičení • Docházka na cvičení (max. 3 absence) • Body za příklady v CodExu: • vizmůj web • POZOR! Pro tento předmět se používá následující instance CodExu (jiná než CodEx pro 1. ročník → každý se zde musí znovu vytvořit účet):https://codex.ms.mff.cuni.cz/codex-cs/ • Příklady v CodExu: • Průběžně - příklady ze cvičení (deadline vždy +1 týden) • Na konci semestru – několik těžkých zvláštních úkolů (přibližně 4) pro doplnění nedostatečného počtu bodů za příklady ze cvičení

  9. Vliv CodExu na úspěšnost u záp. testů • 2009/2010 – pouze 1-2 domácí úkoly • 2010/2011 – domácí úkol na každém cvičení

  10. Zápočtový program Termíny NPRG035 (zima) i NPRG038: • Specifikace: 30. 6. 2015(konec zkouškovéo LS) • Předvedení finální plně funkční verze: 31. 7. 2015(včetně uživatelské a programátorské dokumentace) Požadavky na program z NPRG035: • Předvedeno v termínu: minimálně 30 kB zdrojového kódu v jazyce C# • Předvedeno po termínu: minimálně 60kB zdrojového kódu v jazyce C# Požadavky na program z NPRG038, resp. z NPRG057: • Předvedeno v termínu: minimálně 60 kB zdrojového kódu v jazyce C# • Předvedeno po termínu: minimálně 120kB zdrojového kódu v jazyce C# • Netriviální a rozumné použití některé z „technologií“ probíraných v NPRG038 (vlákna, Sockets[síťování], .NET Remoting, LINQ, Reflection, generování kódu), resp. NPRG057 (unsafekód, C++/CLI, .NET Security, ADO.NET, Web Services, WPF, Silverlight, XNA, jiné API pro 3D grafiku) – ne XML! • Poznámka: Každý zápočtový program, který splňuje požadavky NPRG038, resp. NPRG057, splňuje i požadavky NPR 035 (tj. lze odevzdat jeden program za oba předměty) rozumný/rozumné = na požádání posoudí cvičící POZOR! Osobní předvedení je součástí odevzdání. Na předvádění si připravte několik slidůshrnujících: hlavní funkce programu + hlavní řešené problémy + nástin architektury. Nevygenerovaný (ručně psaný) rozumný kód

  11. What is the output the following program? class Program{ static void Main(string[] args) { int j = 0; for (inti = int.MaxValue - 10; i <= int.MaxValue; i++) { j++; } Console.WriteLine(j); } }

  12. What is the output the following program? class Program{ static void Main(string[] args) { int j = 0; for (inti = int.MaxValue - 10; i <= int.MaxValue; i++) { j++; } Console.WriteLine(j); } }

  13. What is the output the following program? class Program{ static void Main(string[] args) { int START = 2000000000; int count = 0; for (float f = START; f < START + 50; f++) { count++; } Console.WriteLine(count); }

  14. What is the output the following program? class Program{ static void Main(string[] args) { int START = 2000000000; int count = 0; for (float f = START; f < START + 50; f++) { count++; } Console.WriteLine(count); }

More Related