DM1402DK - 3. semester

Ugeplan for Programmering
 - bemærk at der ikke i denne plan indgår generel opgaveløsning/projekter onsdag & fredag

Tema: Web (MVC med Wcf/WebApi backend) - Gå til uge: (39-43), 44, 45, 46, 47, 48, 49, 50, 51

Sidst ændret: 2015.12.15

 
Uge 44
Målsætning for denne uge:
  • at du for viden om centrale elementer i HTML så du kan anvende dette i forbindelse med web løsninger
    herunder også lidt viden om CSS styling
  • samt en smule viden om javascript og om hvordan det giver mulighed for at afvikle dele af koden hos klienten i dennes browser.

Forberedelse:

Dag Tidspunkt Emne Litteratur / Opgaver
Torsdag 08:30 - Introduktion til HTML (og statiske websider)
- præsentation på klient (browser)

I noget materiale skrives at man skal bruge Notepad til at oprette html sider med, men vi anvender i stedet Visual Studio, hvor man både kan arbejde i source og design mode - husk at studere (og gerne skrive lidt i) source mode

Pointen er til dette emne at se lidt (og eksperimentere lidt) på design af brugergrænseflade med HTML og få en vis forståelse for opbygningen af HTML DOM og hvordan det virker.
 

The HTML DOM (Document Object Model)

Eksempler og en mulig opgave  - samme fra http://webdemo.bjoerks.net

Supplerende materiale fra w3school om HTML

Brug for video-tutorials se:
http://www.thenewboston.com eller https://www.youtube.com/user/thenewboston/playlists 

   

  Introduktion til javascript (funktionalitet afvikles på klient) - BEMÆRK DETTE EMNE BEHANDLES KUN PERIFÆRT
- herunder måske en smule om idé bag AJAX

Denne del er kun for at give en lille idé om at dokumenter i en browser også kan indeholde aktiv kode og effekten af dette.
I forbindelse med ASP.NET vil der blive dannet HTML, men også med indlejret javascript.

Der er vigtigt at vide om hvilken programkode afvilkes på server og hvilken programkode der afvilkes på klienten (i browseren)

Javascript programmet med regulære udtryk er interessant, da ASP.NET indeholder validering (skal vi se på senere) der med brug af javascript afvilkes på klienten (i browseren).

Vigtigt: JavaScript som "CodeBehind" og ikke direkte i ASPX fil (Skal nok justeres i forhold til MVC)
-
Pp_JavaScriptCodeBehindOgPageMethods.ppt 

 
 

Slides kort om JavaScript - fra tidligere javascript-kursus
Eksempler og en mulig opgave

Supplerende materiale fra w3school om javascript

Eksempel på klientprogram i form i javascript:  program til test af mønstre i tekster - regulære udtryk

Javascript specifik læsestof fra diverse sider:
Variables, Functions, Operators, Conditionals
JavaScript Objects
JavaScript Object Examples
onMouseover: Your first Script

Mere avanceret læsestof for dem der har tid og gerne vil lidt dybere med selve javascript sproget

"Rent javascript program - der kører på klienten"

     
12:30 - 14:00 Opgaveløsning uden støtte fra underviser
Følg nogle tutorials på http://www.w3schools.com om html og få styr på basis html
Eksempler og en mulig HTML opgave
 
 
   

 

 
 
Uge 45
Målsætning for denne uge:
  • at du får viden om MVC så du kan arbejde videre med at sætte dig ind i dette
  • at du får besøgt en Web virksomhed og får en idé om hvad det vil sige at arbejde med web-løsninger (konkret ASP.NET og MVC)

Forberedelse:

Dag Tidspunkt Emne Litteratur / Opgaver
Tirsdag 08:30 - 11:30 Introduktion til MVC hos Hesehus ved Claus Nordborg Hansen
(
http://www.hesehus.dk/)
Hesehus A/S, Englandsgade 24, 5000 Odense C  (10 min gang fra Ejlskovsgade - husk at møde til tiden)
Hesehus_2015_Foraar_ClausNH_MVC intro - tidligere WEBspec.zip

Hesehus_20151103_MVC intro.zip  (eksempel fra dagen)
     
12:30 - 14:00 Opgaveløsning uden støtte fra underviser

Programmer et  par simple web sider ved at følge MVC tutorials
Du kan fx lave en frontend til dine valuta-services
Du kan også kaste dig over at starte med noget til projekt 3 (MVC Web-projekt der også inddrager brug af WCF/WebApi)
 

ASP.NET MVC tutorials fra MS

Evt. Supplement:
- microsoftvirtualacademy.com - Introduction to ASP.NET 5
 
Video supplement fra Microsoft Channel9:
- http://channel9.msdn.com/Series/Introduction-to-ASP-NET-MVC/01 (om MVC)
- http://channel9.msdn.com/Series/Introduction-to-ASP-NET-MVC/04 (om Controler)
- http://channel9.msdn.com/Series/Introduction-to-ASP-NET-MVC/05 (om View)

 

 
 
   

 

 
 
Uge 46
Målsætning for denne uge:
  • at du kan lave en simpel ASP.NET MVC application

Forberedelse:

Dag Tidspunkt Emne Litteratur / Opgaver
    Der vil ikke denne uge være alm. undervisning i programmering (Bjørk er med IM i Zaragoza)

Der vil næste uge til gengæld være programmerings undervisning både mandag og torsdag

Til projekt/opgave dagene kan du fortsætte med materialet fra sidste uge (uge 45)

ASP.NET MVC tutorials fra MS

Evt. Supplement:
- microsoftvirtualacademy.com - Introduction to ASP.NET 5
 
Video supplement fra Microsoft Channel9:
- http://channel9.msdn.com/Series/Introduction-to-ASP-NET-MVC/01 (om MVC)
- http://channel9.msdn.com/Series/Introduction-to-ASP-NET-MVC/04 (om Controler)
- http://channel9.msdn.com/Series/Introduction-to-ASP-NET-MVC/05 (om View)

   


Du kan evt. også have gælde at turorials med WebApi fra tidligere der også berører MVC for testning/brug af WebApi

Introduktion til WebApi - herunder også noget om REST
- video tutorials ASP.NET Web API - Pluralsight (Jon Flanders)

Den næste tutorials kan supplere hvis du har behov
- video tutorials ASP.NET Web API - Getting Started , By Scott Hanselman (Channel9 - Microsoft)

     
 
 
   
 
 
Uge 47
Målsætning for denne uge:
  • at du kan lave en simpel ASP.NET MVC application

Forberedelse:

Dag Tidspunkt Emne Litteratur / Opgaver
Mandag 08:30 - 11:30 ASP.NET MVC

Demo med simpel eksempel:
fra undervisningen: MVC_WebSolution_20151116.zip
 

ASP.NET MVC tutorials fra MS

Evt. Supplement:
- microsoftvirtualacademy.com - Introduction to ASP.NET 5
 
Video supplement fra Microsoft Channel9:
- http://channel9.msdn.com/Series/Introduction-to-ASP-NET-MVC/01 (om MVC)
- http://channel9.msdn.com/Series/Introduction-to-ASP-NET-MVC/04 (om Controler)
- http://channel9.msdn.com/Series/Introduction-to-ASP-NET-MVC/05 (om View)
   


Du kan evt. også have gælde at turorials med WebApi fra tidligere der også berører MVC for testning/brug af WebApi

Introduktion til WebApi - herunder også noget om REST
- video tutorials ASP.NET Web API - Pluralsight (Jon Flanders)

Den næste tutorials kan supplere hvis du har behov
- video tutorials ASP.NET Web API - Getting Started , By Scott Hanselman (Channel9 - Microsoft)

12:30 - 14:00 Opgaveløsning uden støtte fra underviser
 
 
Torsdag 08:30 - 11:30 ASP.NET MVC
Demo med model og validering af datainput
Eksempel fra undervisningen: MVC_WebSolution_20151119.zip
se mandagen
Validering af input og vist feltnavn med attributter på model
- MSDN:  Using Data Annotations to Customize Data Classes
- c-sharpcorner: Performing Data Annotation in ASP.Net MVC 5
- Et eksempel med user defineret validering på server (MVC4 eksempel)
   - http://developmentpassion.blogspot.dk/2015/09/check-if-usernameemail-already.html - måske brugbart?
     
12:30 - 14:00 Opgaveløsning uden støtte fra underviser
 
 
 
 
   

 

 
Uge 48
Målsætning for denne uge:
  • at du kan lave en mindre ASP.NET MVC application der anvender webservices (WCF&WebApi) for opdeling i data lag / business logik

Forberedelse:

Dag Tidspunkt Emne Litteratur / Opgaver
Torsdag 08:30 - 11:30 Opsamling på evaluering af programmering og handlinger her og nu, samt fremadrettet.
- herunder også plan de resterende uger
 
 
  ASP.NET MVC

Kald af WebApi fra MVC
ASP.NET MVC tutorials fra MS

Eksempel på kald af WebApi service fra MVC - med JSON format
- WebApplicationWithWebApi_JsonSer_20151123.zip
- Det væsentligste:
-- Klasse for serialisering (Student udvidet - flere objekter)
-- MVC controler der serialisere og deserialiserer

Om JSON serialisering fra MSDN:
- https://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer%28v=vs.110%29.aspx

Yderlig eksempler om Json serialisering fra stackowerflow
- http://stackoverflow.com/questions/5502245/deserializing-a-json-file-with-javascriptserializer

  Patric har lovet at vise hvordan man kan anvende Entity framework for brug af database Aflyst pga sygdom
 
 
12:30 - 14:00 Opgaveløsning uden støtte fra underviser
- projekt  / egne mindre  eksempler med MVC med brug af WCF/WebApi service

Læs også om
- overførsel af data til View med ViewBag
- mulighed for overførsel af data ved redirect med TempData
- hvordan du kan gemme data på klienten med Cookies.

 

Om ViewData, ViewBag og TempData
- http://www.dotnet-tricks.com/Tutorial/mvc/9KHW190712-ViewData-vs-ViewBag-vs-TempData-vs-Session.html
- http://www.codeproject.com/Articles/476967/What-is-ViewData-ViewBag-and-TempData-MVC-Option

Om Cookies
- http://blog.codeinside.eu/2010/10/19/howto-create-and-remove-cookies-with-asp-net-mvc/

Hvordan "huskes" data mellem metodekald (Viewstate kan ikke bruges i MVC):
Eksempel på webform med states (cookies, viewstate, session, application)

 
 
   

 

 
Uge 49
Målsætning for denne uge:
  • at du kan lave en mindre ASP.NET MVC application der anvender webservices (WCF&WebApi) for opdeling i data lag / business logik

Forberedelse:

Dag Tidspunkt Emne Litteratur / Opgaver
Torsdag 08:30 - 11:30 ASP.NET MVC Se tidligere uger
  WebApi - Fejlkoder og besked fra controler jvf. vist i Tutorials Skitse: WebApi_StudentControler_WithErrorMessages.pdf
Tjek af statuskode når der bruges WebClient
- http://stackoverflow.com/questions/15289440/web-response-status-code
Trådsikring - Udgangspunkt ved Thomas Nørgaard og gruppens projekt2
- herunder samtale om hvad der skal til for at trådsikre, samt sikre offline kollision ("opdatere ud fra fejl version")
 
Patric har lovet at vise hvordan man kan anvende Entity framework for brug af database (flyttet fra sidste uge pga sygdom)  
12:30 - 14:00 Opgaveløsning uden støtte fra underviser
 
 
 
 
   

 

 
 
Uge 50
Målsætning for denne uge:
  • eksamenstræning - flere detaljer følger
    "Prøveeksamen" og efterfølgende opfølgning på relevante emner

Forberedelse:

Dag Tidspunkt Emne Litteratur / Opgaver
Onsdag 08:30 - 11:30 Socket prøve eksamen  (opgave udleveres på dagen)
9-10 opgaveløsning
10:20-10:50 prøve eksamination (en udvalgt studerende)
-11:50  Opsamling på socket
 
     
12:30 - 14:00 12:30-13:30 Opgaveløsning med trådopgave (tråde bliver ikke isoleret eksamensopgave) (opgave udleveres på dagen)
13:40-14:10 prøve eksamination (en udvalgt studrende) 
 
 
Torsdag 08:30 - 11:30 WCF prøve eksamen  (opgave udleveres på dagen)
9-10 opgaveløsning
10:20-10:50 prøve eksamination (en udvalgt studrende)
-11:50  Opsamling på WCF
 
     
12:30 - 14:00 Opsamling på WCF (fortsat efter behov)  
Fredag 08:30 - 11:30 WebApi prøve eksamen  (opgave udleveres på dagen)
9-10 opgaveløsning
10:20-10:50 prøve eksamination (en udvalgt studrende)
-11:50  Opsamling på WebApi
 
     
12:30 - 14:00 Opsamling på WebApi (fortsat efter behov)  
 
 
   

 

 
 
Uge 51
Målsætning for denne uge:
  • eksamenstræning - flere detaljer følger
    "Prøveeksamen" og efterfølgende opfølgning på relevante emner

Forberedelse:

Dag Tidspunkt Emne Litteratur / Opgaver
Onsdag 08:30 - 11:30 MVC prøve eksamen  (opgave udleveres på dagen)
9-10 opgaveløsning
10:20-10:50 prøve eksamination (en udvalgt studerende)
-11:50  Opsamling på MVC
 
     
12:30 - 14:00 Opsamling på MVC (fortsat efter behov)
 
 
Torsdag 08:30 - 09:30 Fremlæggelser projekt 3 - Vejle hjerteafdeling  
09:30 - 10:30 Fremlæggelser projekt 3 - Sund.dk  
10:30 - 11:50 Prøve eksamen / Spørgetime - aftales nærmere onsdag  
12:30 - 14:00 Opsamling ? - aftales nærmere
 
 
Fredag 08:30 - 11:30  Prøve eksamen / spørgetime - aftales nærmere torsdag