Assignments

Do not consider your task to be writing the specified program and then write a report about it. Rather, your task is to write a report proving that you have met the specified requirements. In order to write such a report you must of course first write the program, but focus is on your report and not on the program as such.

Grading

The first four seminars have mandatory tasks and optional tasks. To pass the LAB1 sub course you must solve the mandatory tasks for each seminar and also pass all seminars. The optional tasks serve to improve your final course grade. Three accepted optional tasks improve the exam (TEN1) grade one level, six accepted optional tasks improve the exam (TEN1) grade two levels. There are in total eight optional tasks, two per seminar.

The fifth seminar is an opportunity to re-submit seminars you did not pass or to report more optional tasks.

How To Write and Submit the Report

You are allowed to write the program together with other students; your program does not have to be different from other student's programs. Please specify, in your report, the names of those you have worked with when writing the program. You are not allowed to write the report together with other students; your report must be unique. All submitted solutions must follow this template, id1354-report-template.pdf. Note that the template is a pdf file, you must create a similar word document, minor layout changes are allowed. The template pdf is created using latex, if you want to try that you can use the following tex file, id1354-report-template.tex

The reports shall be submitted in Canvas, in the course offering for HT18Important! You need to bring your laptop to the seminar. If you can not bring a laptop, you must instead bring all files of your solution on a USB stick. You do not have to bring a printout of your solution.

All code you write shall be available in a public Git repository, it shall not be included in the report. You can find Git tutorials on the Resources page.

At the Seminar

At the seminar you will be divided into groups. All members of the group will, in turn, explain and motivate their program to the other group members. After that, the group will, together, solve problems presented at the seminar, and each group member uploads a document with the solutions to Canvas. You may write the document together, but everyone must add their personal section describing what was learned during the seminar.You solve as many problems as time allows. At the end of the seminar, there will be a final presentation where a randomly chosen person from each group will give a five-minute presentation of their own solution to the entire seminar. Prepare this presentation before the seminar.

Tasks

Following are seminar tasks.

Seminar 1, HTML and CSS

The report shall be submitted in Canvas, in the course offering for HT18Important! You need to bring your laptop to the seminar. If you can not bring a laptop, you must instead bring all files of your solution on a USB stick.
id1354-tasks-seminar1.pdf
id1354-at-the-seminar-tasks-for-seminar1.pdf

Seminar 2, A PHP Web Application

The report shall be submitted in Canvas, in the course offering for HT18Important! You need to bring your laptop to the seminar. If you can not bring a laptop, you must instead bring all files of your solution on a USB stick.
id1354-tasks-seminar2.pdf
id1354-at-the-seminar-tasks-for-seminar2.pdf

Optional task 2 requires you to use the mycookbook XML format. Schema, example and documentation can be found here, mycookbook.zip

Seminar 3, Improving the PHP Web Application

The report shall be submitted in Canvas, in the course offering for HT18Important! You need to bring your laptop to the seminar. If you can not bring a laptop, you must instead bring all files of your solution on a USB stick.
id1354-tasks-seminar3.pdf
id1354-at-the-seminar-tasks-for-seminar3.pdf

Seminar 4, JavaScript

The report shall be submitted in Canvas, in the course offering for HT18Important! You need to bring your laptop to the seminar. If you can not bring a laptop, you must instead bring all files of your solution on a USB stick.
id1354-tasks-seminar4.pdf
id1354-at-the-seminar-tasks-for-seminar4.pdf

Seminar 5, Improve Your Score

The fifth seminar is an opportunity to re-submit seminars you did not pass or to report more optional tasks.

How to Submit

How to Report

  • You attend seminar five only if you have not attended one of the four mandatory seminars.
  • If you want to improve a seminar you have already attended, it is sufficient to submit the report in Canvas, in the course offering for HT18. In this case you do not have to attend seminar five.

Teacher Leif Lindbäck created page 31 March 2014

Teacher Leif Lindbäck changed the permissions 31 March 2014

Kan därmed läsas av alla och ändras av lärare.
commented 2 September 2014

Ska projekten lösas individuellt eller kan man arbeta i grupper och sedan skriva individuella rapporter?

Teacher commented 2 September 2014

Skriv gärna programmen i grupp, det är bara rapporten som ska vara individuell.

commented 2 September 2014

Skrivs rapporten på svenska?

Teacher commented 3 September 2014

Det går bra.

commented 7 October 2014

Hej, såg att du ändrat i uppgift 4 och undrar om den nuvarande versionen av uppgiften är den slutgiltiga?

Teacher commented 7 October 2014

Nu blir det inga fler ändringar

Teacher commented 8 October 2014

Det var otydligt om avsnittet File System Security ingår i uppgifterna till seminarie fyra. Det ingår, jag har förtydligat det nu.

commented 9 October 2014

seminarium 4, sida 4, antar jag att det ska stå "... but the report must show where HTTPS should be used", och inte HTTP?

Teacher commented 9 October 2014

Stämmer bra, jag har ändrat det. Tack för att du sa till.

commented 10 October 2015

Hej, en kort fråga. 
Det står i assignment 4 på reduced mandatory task: It is sufficient to fetch one single value, for example the username of the logged in user, and show it in the browser.

Jag löser detta genom att använda funktionen "load"  för att loada data från en php fil till en div i html dokumentet.

I php filen står det typ:

if (isset(användare)) { 
echo "du är inloggad som " . användare;
else { 
echo "du är inte inloggad";
}

Funkar detta som en lösning? Jag blir lite osäker för jag hämtar massa data från php filen men om du mer ville att man ska hämta en variabel och sen använda den.

                    

Teacher commented 12 October 2015

Du ska hämta en variabel från servern, inte delar av vyn. I ditt exempel kan du alltså hämta användarnamnet och sedan visa det i vyn. Om användaren inte är inloggad kan användarnamnet vara tex null, och då kan texten "du är inte inloggad" visas. Det är alltså viktigt att endast värden på variabler hämtas, inte text som "du är inloggad som" eller "du är inte inloggad". Anledningen är att servern inte ska uppdatera browserns vy, det ska bara göras i JavaScript.

commented 15 October 2015

Går det bra att använda kod skriven för Seminarie 3/4 till seminarie 1 och 2 på omseminariet? Dvs kod med MVC/MVVM framework.

Teacher commented 16 October 2015

Det går bra.

commented 29 August 2016

Hej!

Satt och läste igenom HTML.pdfen och kom över citatet "The purpose of HTML is to define parts of a document."

Vad menar ni med "delar" utav ett dokument?

Teacher commented 30 August 2016

Vilken del som är vad, tex att <p> definierar ett stycke, <h1> definierar en rubrik osv

commented 8 September 2016

Hej,

Jag håller som bäst på med uppgiften för andra seminariet och har en fråga rörande lagring av recept med hjälp av XML. I första seminariet skulle vi tilldela recepten för köttbullar och pannkakor varsin dag i kalendern. Generaliserat förstår jag det som att varje recept ska ha en unik dag.

I XML-strukturen på den sida som länkas i dokumentet med seminarieuppgifterna finns det emellertid inget fält för ett sådant datum. Är det tillåtet att lägga till ett sådant fält själv genom att utöka XML-strukturen med ytterligare ett element ("en tagg") per recept?

Med vänlig hälsning,
Martin Pola

Teacher commented 8 September 2016

Nej, du får inte ändra i XML-strukturen, den måste följa det XML-schema som finns angivet i uppgiften. Det kommer alltså inte att finnas någon koppling mellan ett recept och ett visst datum, förutom i kalendern.

Om vi skrev färdigt sidan åt tasty recipies skulle vi förstås behöva lägga till en sådan koppling någonstans, det är ingen bra idé att använda HTML-koden för datalagring. Kopplingen skulle dock inte kunna finnas i XML-filen för ett recept, eftersom är låst till schemat mycookbook.

commented 12 September 2016

Tack för svaret. Då det inte tycks finnas något unikt fält i XML-strukturen blir det inte helt okomplicerat att skapa en koppling mellan datum och recept. Är det tillåtet att inför seminarium 2 hoppa över datumintegrationen helt och hållet, dvs. får man ersätta kalendern med en lista över tillgängliga recept?

Teacher commented 12 September 2016

Det är inte tillåtet att ersätta kalendern med en lista över tillgängliga recept. Däremot kan du skippa kopplingen mellan datum och recept genom att låta det vara som i sem 1, dvs att kopplingen endast finns i html-koden i kalendern.

commented 12 September 2016

Tack för det snabba svaret. Jag hade emellertid inte statiska kopplingar ens i sem1, men det ska det nog gå att tillfredsställa kraven det till trots.

commented 19 September 2016

Hej igen,

När släpps uppgifterna inför seminarium 4?

Med vänlig hälsning,
Martin Pola

Teacher commented 20 September 2016

I slutet av den här veckan.

commented 22 September 2016

Rörande seminarium 3: I den andra av de två frivilliga, betygshöjande uppgifterna ska man använda en databas för att spara kommentarer och användardata. Hur är det med själva recepten -- får eller ska man spara dem i en databas, eller är det tillåtet alternativt tvingande att lagra dem med XML-formatet från seminarium 2?

Teacher commented 22 September 2016

Det finns inga krav på hur recepten hanteras, det är helt upp till dig.

Feedback News