Göm menyn

TDDC76 Programmering och datastrukturer


TDDC76 är en påbyggnadskurs i programmering. Fokus ligger på C++ och objektorienterad programmering. Det ingår även en webkurs i datastrukturer och algoritmer. Som programmeringsspråk används C++, vilket har en bred användning inom programvaruindustrin. C++ har ett omfattande stöd för objektorienterad programmering och en hel del andra mycket intressanta konstruktioner.

Under period ett tas grundläggande programmering i C++ upp. Detta är inledningsvis en repetition av vad som förutsätt som förkunskaper i programmering, men nu programmerar vi i ljuset av språket C++. Halvägs in i period ett, när vi kommer in på objektorienterade principer, inleds den egentliga påbyggnad till tidigare kurser som kursen avser att förmedla. I period två genomförs ett programmeringsprojekt som brukar resultera i ett roligt arkadspel. Datastrukturer och algoritmer utgör en relativt fristående del som behandlas under hela kursens gång.

Senaste nytt...


2020‑12‑09  Projektredovisning ske på distans
 

Se "Projekt" under "Obligatoriska moment" och "Redovisning".


2020‑11‑17  Korrigering Fö 8
 

Kodexemplet på sidan 10 i bilderna är korrigerad så insert får rätt argument och retursatsen stämmer, samt exempel på hur en den statiska medlemen måste definieras i cc-filen.


2020‑11‑09  Projektpass i schemat
 

För att tydliggöra att projekpassen är avsedda för eget arbete med projekt (inte lärarledd undervisning i sal) har vi uppdaterat detta i timeedit. Se Kontakt med assistent för hur du får hjälp. Passen är avsedda att reservera tid i ert schema att arbeta med projektet och täcker tillsammans ca 35% av de ca 80h/per person ni förväntas lägga på projektet. (CSN räknar heltidstudier som 1.5hp per 40h arbetsvecka.) Vi har även avbokat salarna för att förtydliga att vi arbetar på distans. Vi räknar med att det finns gott om lediga datorer om ni ändå har behov at att sitta i SU-sal. Kontakta oss om ni har problem att kunna arbeta.


2020‑11‑05  Distans-seminarie, Teams, Gitlab, OpenDSA, Projekt
 

Vi har nya riktlinjer rörande Corona och flyttar därför seminariet på måndag till Teams. Målet med seminariet är att ni genomför ObjektOrienterad Analys (OOA) för er egen grupps projekt. Assistenter kommer vara närvarande för frågor och diskussioner om klassdesignalternativ. Tips: låt en gruppmedlem rita upp de klasser ni identifierar i ett klassdiagram på draw.io medan ni diskuterar och skärmdela så alla kan se det.

I teamet "TDDC76 - Objektorienterat projekt" har vi satt upp en kanal för respektive grupp där ni kan samarbeta. Ni ska använda den kanalen under seminariet och vid gruppmöten där er assistent är med. Era interna möten får ni lösa som ni finner smidigast.

Vi har skapat projektrepository åt er i Gitlab. Se gemensamt till att alla i gruppen kan komma åt ert repository, och hjälps åt att lösa problem så alla i gruppen kan göra commits. Det är mycket viktigt att du visar att du är aktiv i projektet genom att commita den kod du arbetat med. Tips för parprogrammering: gör en branch döpt t.ex. "parprogr_liuid_liuid, turas om att "sitta vid tangentbordet", se till den som "sitter vid tangentbordet" är den som committar, och se till att både bytas av och commita ofta. Då blir det tydligt hur ni arbetat.

OpenDSA "halvvägs" poäng kommer in i Webreg imorgon. Som noterat i slutet av föreläsningen stod deadline på flera ställen på kurshemsidan. Då hade vi naturligtvis missat att ändra till årets deadline på ett ställe, därför justerade vi årets deadline från 2/11 till 5/11. Lärdom av detta: Att ha samma information på flera ställen leder ofta till just detta - efter uppdatering finns det gamla kvar någonstans. Inom C++ är detta en motivation till att använda arv och funktioner: vi kan undvika att duplicera saker.

Projektet: Läs avsnittet "Kontakt med assistent" under "Projekt" på kurshemsidan. All kommunikation med oss under projektet sker via er assistent, inlämningar, bonus, frågor, allt! Glöm inte ta ställning till DALG och std::algorithm -bonusuppgifter redan nu (informera er assistent)! Detta är första projektveckan och ni kan lämna er första statusrapport till er assistent under fredagen.

Vi kommer rapportera in laborationspoäng till LADOK om ungefär en vecka för de som är helt klara med laborationerna. Detta är mest en tjänst till er ifall någon behöver poängen, ordinarie rapportering går i slutet av kursen (januari) för er som inte är klara till dess.


2020‑10‑26  Gruppindelning projekt
 

Nu har de som inte själva anmält projektgrupp blivit tilldelade en projektgrupp. Det är tillåtet att byta grupp om du så önskar. Behöver ni hjälp rörande gruppindelningen, hör av er!


2020‑09‑29  Material inför seminarie 3
 

Seminarier


2020‑09‑29  Tips: Kalkylator frågor och svar
 

FAQ


2020‑09‑23  Programmera på distans med Visual Studio Code
 

Det finns nu en 13 minuters video som visar hur du kan använda Visual Studio Code för att arbeta på distans via LiU's ssh-server. Du hittar den längst ned på sidan Lab - Så går det till längst ned under "Programmera hemifrån". Tack för tips!


2020‑09‑23  Sidnumrering i laborationerna
 

Ladda om laborationspdferna så ska det dyka upp sidnumrering.


2020‑09‑18  Semainarie 2
 

Se information på seminariesidan.


2020‑09‑16  Några svar på vanliga frågor
 

Lab 1 klockslag är uppdaterad med tips (sök på "tips 2021"). Det finns även några "krav 2021" som inte var tydliga, de gäller först nästa år, men försök gärna lösa dem. Ladda om pdf:en (ctrl reaload el likanden) om du inte ser de nya tipsen.

Git-uppgiften gäller endast för miniprojektet i år och ni kan börja med den och miniprojektet del 1 redan nu.

Del 1 i miniprojektet tjänar som introduktion till std::stack och postfix och vi tror ni tjänar på att göra den inför del 2. Del 1 behöver inte redovisas och har därför ingen deadline.


2020‑09‑14  Förtydlignaden av laborationsinstruktioner
 

Det händer att vi får in frågor om laborationerna och känner att ett förtydlignade av uppgiften är på sin plats. För att undvika att uppgiften förändras skrivs nya tips och krav med etiketten "2021" och ni kan då ta del av "tips 2021" i år om ni vill medan "krav 2021" gäller först nästa år.


2020‑09‑09  Mail till kursperonal
 

Var snäll och skriv kurskod TDDC76 i mailets titel. Det gör att vi mycket snabbare kan identifiera vilken kurs din fråga gäller.


2020‑09‑09  Inlämning med sendlab
 

Det ska inte behövas något engångslösenord (OTP) på någon laboration i TDDC76. Du får normalt OTP från assistenten när du redovisar muntligen, men i år har vi valt att hålla reda på att ni redovisat muntligt genom betyg i webreg. Det gör att ni är fria att lämna in via sendlab i förväg vilket ger lite mer flexibilitet både för er och oss.

Det finns tyvärr inget sätt att se vilka filer du lämnat in i nuläget. Vi rekommenderar att du lägger de filer du vill lämna in i en egen mapp "Inlämning X" innan du lämnar in dem. På så sätt kan du själv hålla reda på vad du lämnade in.


2020‑09‑07  Kort information om seminarie 1
 

Info om seminarier


2020‑09‑07  Utskick om deadlines
 

Hej,

Lite förtydliganden och korrigeringar vad gäller deadlines och bonusar.

Laborationer har "deadline för bonus". Missar du deadline missar du bonus, men du kan redovisa senare. Muntlig demo ska ske innan inlämning med sendlab.

Bonusuppgifter har "hård deadline". Missar du deadline tittar vi inte på din inlämning och du får inga poäng. Endast inlämning med sendlab.

Av praktiska skäl måste muntlig demo av laborationerna ske när det är planerade labpass i kursen. Jag blev uppmärksammad (tack!) på att detta inte stämmer helt.

Därför är deadlines för bonus justerade en aning. Informationen är nu även inlagt i Timeedit. Deadlines är satta så respektive grupp har lika många labpass i timeedit inför deadline. "Schema och deadlines" på kurshemsidan visar det tidiga datumet om det skiljer mellan labgrupper. På laborationssidan vid respektive lab och i Timeedit står vad som gäller för respektive grupp. Det är helt ok att redovisa muntligen på tidigare laborationspass än angivet. Återkoppling på redovisad och inskickad kod får ni först efter deadline för bonus och sendlab.

Om du är i labgrupp 1:

  • lab 0 ska demonstreras muntligtn och skickas in med sendlab senast 9/9 för bonus (på onsdagens labpass)
  • lab 1 ska demonstreras muntligen senast 23/9 (du behöver då vara tillräckligt klar för demo men du kan ha saker kvar att putsa på)
  • lab 1 ska skickas in med sendlab senast 25/9
  • miniproj: muntlig demo del 2+3 senast 30/9 (du behöver då vara tillräckligt klar för demo men du kan ha saker kvar att putsa på)
  • miniproj: deadline för bonus och sendlab del 2+3 senast 2/10
  • miniproj: muntlig demo del 4+5 senast 14/10 (du behöver då vara tillräckligt klar för demo men du kan ha saker kvar att putsa på)
  • miniproj: deadline för bonus och sendlab del 4+5 senast 16/10

Om du är i labgrupp 2:

  • lab 0 ska demonstreras muntligtn och skickas in med sendlab senast 9/9 för bonus (på onsdagens labpass)
  • lab 1 ska demonstreras muntligen senast 25/9
  • lab 1 ska skickas in med sendlab senast 25/9
  • miniproj: muntlig demo del 2+3 senast 2/10
  • miniproj: deadline för bonus och sendlab del 2+3 senast 2/10
  • miniproj: muntlig demo del 4+5 senast 14/10 (du behöver då vara tillräckligt klar för demo men du kan ha saker kvar att putsa på)
  • miniproj: deadline för bonus och sendlab del 4+5 senast 16/10

Notera att deadlines inte ersätter egen planering. Det är väl värt besväret att avsluta lab 1 tidigt och påbörja miniprojekt del 2+3 i god tid.


2020‑08‑28  Slides för föreläsning 1 är uppdaterade för året.
 

https://www.ida.liu.se/~TDDC76/2020/fo/index.sv.shtml


2020‑08‑27  Nu är genomgången för av kursens websidor klar.
 

Till förändringarna hör två nya sidor med information om distansundervisningen i kursen, lab 2 och lab 3 är ersatta med ett miniprojekt (i stort sett motsvarande förra årets lab 2) och deadlines är uppdaterade. Vänligen hör av dig till kursledaren om du fortfarande hitta information som verkar gammal eller inte verkar stämma överens med hur kursen bedrivs hösten 2020.


2020‑08‑13  Kursen uppdateras för 2020 ...
 

I stort kommer allt vara sig likt men detaljer kommer uppdateras. Nytt meddelande kommer här när vi gått igenom allt.



Sidansvarig: Klas Arvidsson
Senast uppdaterad: 2020-08-13