TDP005. Föreläsning 2. Filip Strömbäck
|
|
- Agneta Sundberg
- för 6 år sedan
- Visningar:
Transkript
1 TDP005 Föreläsning 2 Filip Strömbäck
2 1 Make och CMake 2 Versionshantering
3 TDP005 Filip Strömbäck 2 Make Problem: kompilera många filer i ett stort projekt tar tid Bättre om vi kompilerar om så få filer som möjligt! Make kan hjälpa oss!
4 TDP005 Filip Strömbäck 3 Make foo.h # pragma once int foo( int val); main.cpp #include "foo.h" # include <iostream > //... int main() { cout << foo(10) << endl; return 0; } foo.cpp #include "foo.h" int foo( int val) { return val + 1; }
5 TDP005 Filip Strömbäck 4 Make Beroenden foo.h main.cpp. foo.cpp g++ -std=c++17 -Wall *.cpp -o prog
6 TDP005 Filip Strömbäck 4 Make Beroenden foo.h main.cpp. foo.cpp prog g++ -std=c++17 -Wall *.cpp -o prog
7 TDP005 Filip Strömbäck 5 Make Beroenden foo.h main.cpp. foo.cpp g++ -c -std=c++17 -Wall main.cpp -o main.o g++ -c -std=c++17 -Wall foo.cpp -o foo.o g++ -std=c++17 main.o foo.o -o prog
8 TDP005 Filip Strömbäck 5 Make Beroenden foo.h main.cpp. foo.cpp main.o foo.o g++ -c -std=c++17 -Wall main.cpp -o main.o g++ -c -std=c++17 -Wall foo.cpp -o foo.o g++ -std=c++17 main.o foo.o -o prog
9 TDP005 Filip Strömbäck 5 Make Beroenden foo.h main.cpp. foo.cpp main.o foo.o prog g++ -c -std=c++17 -Wall main.cpp -o main.o g++ -c -std=c++17 -Wall foo.cpp -o foo.o g++ -std=c++17 main.o foo.o -o prog
10 TDP005 Filip Strömbäck 6 Make makefil Första försök: prog: foo.o main.o g++ -std=c++17 -g -Wall foo.o main.o -o prog foo.o: foo. cpp foo.h g++ -c -std=c++17 -g -Wall foo. cpp -o foo.o main.o: main. cpp foo.h g++ -c -std=c++17 -g -Wall main. cpp -o main.o
11 TDP005 Filip Strömbäck 7 Make makefil Förbättring: CXXFLAGS = -std=c++17 -g -Wall prog: foo.o main.o g++ $( CXXFLAGS) foo.o main.o -o prog foo.o: foo. cpp foo.h g++ -c $( CXXFLAGS) foo. cpp -o foo.o main.o: main. cpp foo.h g++ -c $( CXXFLAGS) main. cpp -o main.o
12 TDP005 Filip Strömbäck 8 Make makefil med.phony och clean CXXFLAGS = -std=c++17 -g -Wall prog: foo.o main.o g++ $( CXXFLAGS) foo.o main.o -o prog foo.o: foo. cpp foo.h g++ -c $( CXXFLAGS) foo. cpp -o foo.o main.o: main. cpp foo.h g++ -c $( CXXFLAGS) main. cpp -o main.o. PHONY: clean clean: rm *.o prog
13 TDP005 Filip Strömbäck 9 Make Finns mycket mer: makron, variabler, etc. Se make-laborationen för mer info.
14 TDP005 Filip Strömbäck 10 CMake CMakeLists.txt: project( prog) set( CMAKE_CXX_STANDARD 17) # set( CMAKE_CXX_FLAGS "${ CMAKE_CXX_FLAGS} -std=c++17") set( SOURCE_FILES main. cpp foo. cpp foo.h) add_executable( prog ${ SOURCE_FILES}) Kompilera: $ cmake. $ make
15 1 Make och CMake 2 Versionshantering
16 TDP005 Filip Strömbäck 12 Git Git ska användas i kursen Interaktiv genomgång: Hur används Git i större projekt?
17 TDP005 Filip Strömbäck 13 GitLab Issues GitLab har inbyggt stöd för issues. Kan användas för att hålla koll på vad som ska göras härnäst, buggar, etc. I ett commit-meddelande kan man skriva: fixes #13 Då stängs automatiskt issue #13, och en referens till den commit som stängde den läggs till.
18 TDP005 Filip Strömbäck 14 Git Hur organiseras koden i större projekt? Centralt repository Merge Rebase Feature Branch Gitflow Flera repositories Integration-Manager Workflow (Forking Workflow) Dictator and Lieutenants Workflow
19 TDP005 Filip Strömbäck 15 Git Centralt repository Repository.
20 TDP005 Filip Strömbäck 16 Git Merge origin/master C0. C1 master
21 TDP005 Filip Strömbäck 16 Git Merge origin/master C0. C1 F1 F2 master
22 TDP005 Filip Strömbäck 16 Git Merge origin/master C0. C1 C2 C3 F1 F2 master
23 TDP005 Filip Strömbäck 16 Git Merge origin/master C0. C1 C2 C3 F1 F2 C4 master
24 TDP005 Filip Strömbäck 16 Git Merge origin/master C0. C1 C2 C3 F1 F2 C4 master
25 TDP005 Filip Strömbäck 17 Git Rebase origin/master C0. C1 master
26 TDP005 Filip Strömbäck 17 Git Rebase origin/master C0. C1 F1 F2 master
27 TDP005 Filip Strömbäck 17 Git Rebase origin/master C0. C1 C2 C3 F1 F2 master
28 TDP005 Filip Strömbäck 17 Git Rebase origin/master C0. C1 C2 C3 F1 F2 F1 F2 Rebase master
29 TDP005 Filip Strömbäck 17 Git Rebase origin/master C0. C1 C2 C3 F1 F2 F1 F2 master
30 TDP005 Filip Strömbäck 17 Git Rebase origin/master C0. C1 C2 C3 F1 F2 master
31 TDP005 Filip Strömbäck 18 Git Merge och Rebase Enklaste sättet att samarbeta Fungerar bra i mindre projekt Kan inte samarbeta på funktionalitet som ej är klar Risk att master inte fungerar, problem för andra Stor feature, stora merge-konflikter
32 TDP005 Filip Strömbäck 19 Git Feature Branch master C0.
33 TDP005 Filip Strömbäck 19 Git Feature Branch feature-c master C1 C2 C3 C0.
34 TDP005 Filip Strömbäck 19 Git Feature Branch feature-c master C1 C2 C3 C0. F1 F2 F3 feature-f
35 TDP005 Filip Strömbäck 19 Git Feature Branch Merge Request feature-c master C1 C2 C3 C0. F1 F2 F3 feature-f
36 TDP005 Filip Strömbäck 19 Git Feature Branch feature-c C1 C2 C3 master C0. M1 F1 F2 F3 feature-f
37 TDP005 Filip Strömbäck 19 Git Feature Branch feature-c C1 C2 C3 master C0. M1 F1 F2 F3 feature-f Merge Request
38 TDP005 Filip Strömbäck 19 Git Feature Branch feature-c C1 C2 C3 master C0. M1 M2 F1 F2 F3 feature-f
39 TDP005 Filip Strömbäck 20 Git Feature Branch Samarbete/backup på ej klara funktionalitet Tydligt var kodgranskning görs master fungerar alltid Continuous Integration Lite mer arbete än tidigare Risk för att funktionalitet tappas bort Risk för stora merges lite funktionalitet i taget
40 TDP005 Filip Strömbäck 21 Git Gitflow master v0.1 C0. C1
41 TDP005 Filip Strömbäck 21 Git Gitflow master v0.1 C0. C1 D0 D2 D1 develop feature
42 TDP005 Filip Strömbäck 21 Git Gitflow master v0.1 C0. C1 release-0.2 D0 D2 D1 develop feature
43 TDP005 Filip Strömbäck 21 Git Gitflow master v0.1 C0. C1 R0 R1 release-0.2 D0 D2 D1 develop feature
44 TDP005 Filip Strömbäck 21 Git Gitflow master v0.1 C0. C1 R0 R1 release-0.2 D0 D2 D3 D1 develop feature
45 TDP005 Filip Strömbäck 21 Git Gitflow v0.1 master v0.2 C0. C1 C2 R0 R1 release-0.2 D0 D2 D3 D1 develop feature
46 TDP005 Filip Strömbäck 21 Git Gitflow v0.1 master v0.2 C0. C1 C2 R0 R1 release-0.2 D0 D2 D3 D4 D1 develop feature
47 TDP005 Filip Strömbäck 22 Git Gitflow Release kan testas och färdigställas parallellt med utveckling av ny funktionalitet master visar tydligt alla versioner Enkelt och tydligt att göra hotfix Ännu mer att hålla reda på, namngivning är viktig!
48 TDP005 Filip Strömbäck 23 Git Integration-Manager (Forks) Fork A Officiellt. repo Ägare
49 TDP005 Filip Strömbäck 23 Git Integration-Manager (Forks) Fork A Officiellt. repo Fork B Ägare
50 TDP005 Filip Strömbäck 23 Git Integration-Manager (Forks) Fork A Officiellt. repo Fork B Ägare
51 TDP005 Filip Strömbäck 23 Git Integration-Manager (Forks) Fork A Officiellt. repo Fork B Ägare Pull Request
52 TDP005 Filip Strömbäck 23 Git Integration-Manager (Forks) Fork A Officiellt. repo Fork B Ägare Pull Request
53 TDP005 Filip Strömbäck 24 Git Integration-Manager (Forks). Ägaren har full kontroll på vad som kommer med Pull Requests ger tydlig diskussion och genomgång av ändringar Officiellt repo innehåller få skräpgrenar Alla kommer åt sina ändringar var som helst ifrån Enkelt att tappa bort ändringar Enkelt att hamna efter officiellt repo Onödigt med flera kopior av projektet? Lite krångligare att komma igång
54 TDP005 Filip Strömbäck 25 Git Dictator and Lieutenants Dictator. Officiellt repo Lieutenant Lieutenant
55 TDP005 Filip Strömbäck 25 Git Dictator and Lieutenants Dictator. Officiellt repo Lieutenant Lieutenant
56 TDP005 Filip Strömbäck 25 Git Dictator and Lieutenants Dictator. Officiellt repo Lieutenant Lieutenant
57 TDP005 Filip Strömbäck 26 Git Dictator and Lieutenants Bra för väldigt stora projekt (Linux) Enskild ägare behöver inte kontrollera allt Lång process att få ändringar accepterade Många personer inblandade
58 Filip Strömbäck
Introduktion till Git
Introduktion till UPP-gruppen Christoffer Holm Institutionen för datavetenskap (IDA) 1 1 3 / 11 Krav på användning av i kursen, 3 / 11 Krav på användning av i kursen, Men vad är det? 3 / 11 Krav på användning
TDP005 Projekt: Objektorienterat system
. TDP005 Projekt: Objektorienterat system Laboration i Make och CMake Författare Filip Strömbäck Höstterminen 2016 Version 1.0 2016-10-04 Introduktion I denna lab kommer vi titta närmare på två verktyg
Versionshantering med Git. Henrik Henriksson 17 april 2018
Versionshantering med Git Henrik Henriksson 17 april 2018 1 Versionshantering? rapport_v0.4.docx rapport_v0.5.pdf rapport-v1.0.cpp rapport_v1.0.docx raport_v0.9-final.docx komplettering-v2.0.docx färdig.7.pdf
Det finns många flaggor till g++,
C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se Inge Frick, inge@nada.kth.se Alexander Baltsatsis hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m.
TDP005: Introduktion till Make
TDP005: Introduktion till Make Jonas Lindgren jonas.lindgren@liu.se Torbjörn Lönnemark torbjorn.lonnemark@liu.se Niklas Hayer 2013-11-14 1 1 PROGRAMMET MAKE 2 1 Programmet make Om du kör make letar programmet
Versionshantering med Git
Versionshantering med Git Vad, varför och hur? Magnus Nielsen Institutionen för datavetenskap, LiU magnus.nielsen@liu.se Vad ska jag ha Git till? Versionshantering Sparar källkod (eller vad som helst)
Versionshantering. Problem som uppstår i större (samt även mindre) projekt:
Versionshantering Problem som uppstår i större (samt även mindre) projekt: Samtidiga ändringar. Kålle och Ada öppnar samma fil för redigering vid var sin dator. Om Kålle först sparar sina ändringar och
Programsystemkonstruktion med C++: Övning 1. Karl Palmskog september 2010
Programsystemkonstruktion med C++: Övning 1 Karl Palmskog palmskog@kth.se september 2010 Programuppbyggnad Klassens uppbyggnad en C++-klass består av en deklaration och en definition deklaration vanligtvis
1 Vad är Versionshantering? 2 Git. 2.1 GitHub
1 Vad är Versionshantering? Versionshantering (eller Version Control) är ett samlingsnamn för program som ger en användare möjlighet att komma åt tidigare versioner av dokument och spåra ändringar som
Mer om kodkvalitet. Mer om kodkvalitet. Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité?
Mer om kodkvalitet Hur kan man jobba med kodkvalité 1. Jobba strukturerat genom hela processen Skulle ni köpa/köra en bil som inte har besiktas de senaste åren, speciellt efter lagningen efter krocken
CVS-Introduktion. CyberRymden Introduktion till CVS,17 november (27) Marcus Rejås
Introduktion till CVS,17 november 2002 1(27) CVS-Introduktion CyberRymden 2001-10-03 Marcus Rejås $Id: slides.tex,v 1.2 2002/11/17 18:16:40 rejas Exp $ Introduktion till CVS,17 november
grundläggande C++, funktioner m.m.
C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m. ett exempel Ett enkelt program i C++, hello.cpp #include
Introduktion till git
Introduktion till git Anders Engström 23 februari 2012 1 / 27 Översikt Introduktion I en värld utan versionshantering Typer av versionshantering Detta är git Komma igång med git Förberedelser Eget repository
TDP005, Projekt: Objektorienterade System. Laboration: Eclipse
TDP005, Projekt: Objektorienterade System Laboration: Eclipse Höstterminen 2013 Introduktion Detta material innehåller övningar för Eclipse. Redovisning Dessa övningar behöver inte redovisas, men ni får
Ett enkelt program i C++, hello.cpp. #include <iostream> int main() { std::cout << "Hello World\n"; return 0; } C++, Övning 1
Ett enkelt program i C++, hello.cpp C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m. ett exempel int
Programmering i C++ Kompilering från kommandoraden
Programmering i C++ Kompilering från kommandoraden Sven Gestegård Robertz Datavetenskap, LTH 9 november 2015 Sammanfattning Ibland vill man, av olika anledningar, inte använda en stor integrerad utvecklingsmiljö
Programsystemkonstruktion med C++
Programsystemkonstruktion med C++ Övning 1 Daniel Aarno bishop@kth.se Översikt övning 1 Kompilering och länkning Makefile Preprocessordirektiv Funktioner Funktionen main() Datatyper Minneshantering Pekare
Första exemplet. Kompilator & länkare. Projekt. Övning 1, Ögrupp 4, Programsystemkonstruktion med C++, Ronnie Johansson,
Övning 1, Ögrupp 4, Programsystemkonstruktion med C++, 2003 09 11 Ronnie Johansson, rjo@nada.kth.se Vi kommer att titta på: Kompilering och länkning make och Makefile Preprocessordirektiv main() funktionen
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Underprogram - Funktioner Eric Elfving Institutionen för datavetenskap 18 september 2014 Översikt 2/22 Återblick till satsblocken Funktioner - Namngivna satsblock
TDP003. Föreläsning 2. Filip Strömbäck
TDP003 Föreläsning 2 Filip Strömbäck 1 Kursinformation 2 Projektplan 3 Frågor 4 Genomgång av projekt 5 Vad är ett API? 6 Kom ihåg TDP003 Filip Strömbäck 2 Vad händer härnäst? V37 V38 V39 V40 Planeringsdokument
TDP005, Projekt: objektorienterade system
TDP005, Projekt: objektorienterade system Laboration: Eclipse Höstterminen 2011 Introduktion Detta material innehåller övningar för Eclipse. Redovisning Dessa övningar behöver inte redovisas, men ni får
TDP005, Projekt: Objekt-orienterade System. Laboration: Eclipse
TDP005, Projekt: Objekt-orienterade System Laboration: Eclipse Höstterminen 2013 Introduktion Detta material innehåller övningar för Eclipse. Redovisning Dessa övningar behöver inte redovisas, men ni får
TDP004. Minne och pekare. Eric Elfving Institutionen för datavetenskap
TDP004 Minne och pekare Eric Elfving Institutionen för datavetenskap 1 / 23 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 23 Internminne - RAM Datorns internminne (RAM,
Tekniskt system för Lean Startup
Tekniskt system för Lean Startup Målet med kursen är att ni ska lära er om att bygga ett sådant system Detta gör vi i tillämpat format ny bygger en app för att lära er om den processen System (som CI,
IDA kursmaterial Informationsblad make. make
make make är ett verktyg som främst används för att underhålla, uppdatera och återskapa program och filer. Det är dock ett generellt verktyg som kan användas även i många andra sammanhang. En avancerad
Tfn Telephone 026-54 66 86 Kontr Checked. Revisionshistoria Revision history Rev Namn Name Datum Date Ändring Change
Utilator 1(20) isionshistoria ision history Namn Name Ändring Change A3 2001-10-24 Ändrade i stycket om CVSROOT. Vi använder ssh nu och inte pserver. 2000-08-30 Ändrade i stycket om CVSROOT. Jag hade felaktigt
TDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer Pekare och Listor Eric Elfving Institutionen för datavetenskap 1 / 21 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 21 Internminne
TDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer Pekare och Listor Eric Elfving Institutionen för datavetenskap 1 / 20 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 20 Internminne
Code-Lite tutorial ( /RoJ)
Code-Lite tutorial (2013-03-20/RoJ) Följ dessa anvisningar för att skapa projekt, kompilera/länka och testa dina laborationsuppgifter 3,4. Project Projekt, innehåller bland annat ett antal källtextfiler
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Pekare och Listor Eric Elfving Institutionen för datavetenskap 31 oktober 2014 Översikt 2/41 Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor Arbeta
En klass behöver både deklaration och definition. Daniel Aarno Globala funktioner och variabler är OK.
2 1 0 / ) - & 9 > ; 7 * ( ) ) En klass behöver både deklaration och definition Deklaration i h (hh) och definition i cc (cpp) Private är förvalt Student::learn() Student::Student() Student::~Student()
Grundläggande termer. Några olika system. F11 Grunderna i Versionshantering. Git basic. Origin. Git basic. Git basic. Local #1. Local #3.
Grundläggande termer F11 Grunderna i Versionshantering Hålla koll på olika version, kunna gå tillbaka, etc. Repo/Repository - förvaring/administrering av förändringar Centraliserad/Decentraliserad Lokal
Versionshantering. Jan Erik Moström
Versionshantering Jan Erik Moström Johan Eliasson Versionssystem Gjorda för att användas av en eller flera personer på en eller flera platser, exempelvis: För en ensam användare som jobbar med ett projekt
Börja med git och GitHub - Windows
Börja med git och GitHub - Windows Varför git och GitHub? Git är ett s.k. versionshanteringssystem. Det är ett sätt att hålla ordning på ändringar filer. Genom att använda versionshantering förståndigt,
Tentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2011-08-22 Tid: 14-18 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 Jourhavande kommer att besöka skrivsalarna ungefär
Tentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2011-04-28 Tid: 08-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 Jourhavande kommer att besöka skrivsalarna ungefär
JUnit. Junit Unit Testing. JUnit 3. JUnit 3 forts. Villkorskontroller i test. Exempel JUnit3
Johan Eliasson JUnit Junit Unit Testing Unit testing för java Används för att testa att metoder/klasser beter sig som det var tänkt Många IDE:er tex Eclipse har inbyggt stöd för detta. JUnit 3 Vi skriver
TDP005. Föreläsning 1. Filip Strömbäck
TDP005 Föreläsning 1 Filip Strömbäck 1 Kursinformation 2 Mjukvaruprojekt 3 Metoder 4 Kravspecifikation 5 Systemdesign och OOP 6 Testning 7 Kom ihåg TDP005 Filip Strömbäck 2 TDP004 och TDP005 TDP005 Filip
tentamensdags och lab 3
tentamensdags och lab 3 Större program delas normalt upp i flera filer/moduler vilket har flera fördelar: Programmets logiska struktur när man klumpar ihop funktioner som hör ihop (och ibland också struct-def
Hur man kompilerar och kör IT++-program med MinGW. 1 Sammanfattning. 2 Om dokumentet. 3 Om min konfiguration
1 (12) Hur man kompilerar och kör IT++-program med MinGW 1 Sammanfattning Detta dokument visar hur man lätt (med några få extra raders kod) kan få IT++ att bli kompatibelt med kompilatorn MinGW. Med den
Innehåll. Introduktion till objektorientering. OOP (objektorienterad programmering) Objekt, instanser, klasser
Föreläsning 1 Innehåll Introduktion till objektorientering OOP (objektorienterad programmering) Objekt, instanser, klasser C++ OO i C++ Standardbibliotek Utökningar från C (syntaktiskt socker) Introduktion
Emacs. Eric Elfving Institutionen för Datavetenskap (IDA)
Emacs Eric Elfving Institutionen för Datavetenskap (IDA) Emacs Utveckas konstant, från 70-talet Är en texteditor (inte ordbehandlare) och fokuserar på texten, inte utseendet. Ingår i GNU-projektet Har
Agil användbarhetsutveckling för handhållna enheter. Per Lind
Agil användbarhetsutveckling för handhållna enheter Per Lind perli379@student.liu.se per.lind@inspireit.se Laboration Pass 1: Tors. 4:e feb 13-17 Pass 2: Tors. 18:e feb 13-17 Uppgift: Skapa en app för
Övningar Lektion3 Avancerade Webbteknologier 2
Övningar Lektion3 Avancerade Webbteknologier 2 Del 1: C#, Linq, Generics, Delegates Linq är väldigt centralt för en datadriven webbsida. I Backend-koden så blir det lätt väldigt mycket Linq-uttryck för
C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen
C++ Funktioner 1 Teori När programmen blir större och mer komplicerade är det bra att kunna dela upp programmet i olika delar som gör specifika saker, vilket kan göra programmet mer lättläst. Ett sätt
TDIU01 (725G67) - Programmering i C++, grundkurs
. TDIU01 (725G67) - Programmering i C++, grundkurs Program, datatyper och IO Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Översikt 2/14 Struktur på ett C++-program Köra ett program Variabler
prog: prog.c gcc -g -Wall prog.c /usr/local/bib/c/58an/modules/modul.o -o prog
DSV Sid 1(10) *:58/ID100V Jozef Swiatycki Innehållsförteckning Inledning... 1 Raddelning, kommentarer, macros och inkludering... 4 Undertryckning av utskrifter från make... 6 Flera kommandon per mål...
TDP005. Föreläsning 1. Filip Strömbäck
TDP005 Föreläsning 1 Filip Strömbäck 1 Kursinformation 2 Mjukvaruprojekt 3 Kravspecifikation 4 Metoder 5 Systemdesign och OOP 6 Testning 7 Kom ihåg TDP005 Filip Strömbäck 2 Personal Examinator Kursledare
Tentamen i DD2387 Programsystemkonstruktion med C++
Tentamen i DD2387 Programsystemkonstruktion med C++ Resultat: Datum: Tisdag 19 oktober 2010, 14-18 (rättning 18-19) sal: id: Hjälpmedel: En eller två valfria läroböcker om C++ Tid: 4 timmar Skriv inte
Labb 1: Vad, hur, och varför?
Labb 1: Vad, hur, och varför? jonas.kvarnstrom@liu.se 2017 "En sak i taget": Öva grunder innan det blir mer komplicerat Starkt önskemål från studenter: Prova på kontrollstrukturer Labb 1: Intro till grunder
Tillämpad programmering
Tillämpad programmering C++ make, configure och arrayer Johan Montelius 1 C++ sndcopy.cc #include #include sndreader.h #incldue sndwrite.h int main(int argc, char *argv[]) { 2 C++ sndreader.h #include
Subversion. Laboration. Höstterminen 2008 r81. Ronny Kuylenstierna
Subversion Laboration Höstterminen 2008 Ronny Kuylenstierna @ida.liu.se svn-labb 2 [...] Subversion can be used to manage changes to any sort of information images, music, databases, documentation, and
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
RFC 6106-stöd i Router Advertisment-klienten radns. Michael Cardell Widerkrantz mc@hack.org
RFC 6106-stöd i Router Advertisment-klienten radns Michael Cardell Widerkrantz mc@hack.org 24 augusti 2011 Innehåll Inledning................................... 2 Mål......................................
Modul 3 - Modularisering
Modul 3 Modularisering MODULARISERING 2 FUNKTIONER 3 Funktionsdefinition 4 Funktionsanrop 5 Funktionskroppen 5 Slumpa funktionen rand() 6 Värdeanrop 6 Variablers räckvidd 8 Referensanrop 8 DELPROGRAM 10
GIT som alternativ till CVS/SVN i agila utvecklingsmiljöer
1 GIT som alternativ till CVS/SVN i agila utvecklingsmiljöer Kristofer Jacobson, Patrick Ivarsson Abstrakt En studie om versionshanteringssystemet Git och om möjligheten att använda det som alternativ
1 Klasser och objektorientering Vad är objektorientering?
1 Klasser och objektorientering Vad är objektorientering? Det finns olika synsätt på programmering, dessa olika synsätt kallas för paradigm. De vanligaste paradigmen är det imperativa/proceduriella, det
Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Föreläsning 7. Tobias Wrigstad. Versionshantering med git
Föreläsning 7 Tobias Wrigstad Versionshantering med git Arbetsflöde: $ git add file.c file.h $ git commit -m Explanatory message 1 2 https://git-scm.com/book/en/v2/getting-started-git-basics M 1 M 1 M
Föreläsning 9 Innehåll. Söndra och härska. Fibonaccitalen. Söndra och härska. Divide and conquer teknik för att konstruera rekursiva algoritmer.
Föreläsning 9 Innehåll Mer om rekursion söndra-och-härska-algoritmer dynamisk programmering backtracking Orientering om versionshantering med git Söndra och härska Divide and conquer teknik för att konstruera
Innehållsförteckning. Exempel. Åtkomst & användarhandledning
Framsidan Framsidan på din labrapport kan du utforma ganska fritt. Tänk bara på att den ska vara läsbar, och innehålla (minst) följande information: Ditt namn Din e-mail adress här på CS! Kursens namn
Programsystem konstruktion med C++ (2D1387) Innehåll. övning 2 klasser och arv
Programsystem konstruktion med C++ (2D1387) övning 2 klasser och arv Ronnie Johansson rjo@nadakthse grupp 4 2003 09 25 Innehåll Klasskonstruktorer och initieringslistor Klassdestruktorer Åtkomstkontroll
Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33
Programmering i C++ EDA623 Objektorienterad programutveckling EDA623 (Föreläsning 5) HT 2013 1 / 33 Objektorienterad programutveckling Innehåll Grundläggande begrepp Relationer mellan objekt Grafisk representation
Filhanterare med AngularJS
Filhanterare med AngularJS Författare: Filip Johansson Peter Emilsson Oskar Georgsson Christian Nilsson Datum: 2014-03-26 1 Sammanfattning Filhanterare med AngularJS är en filhanterare skapad för Sigma
Operativsystem (IS1350) :00-12:00
Operativsystem (IS1350) 2017-03-15 08:00-12:00 Namn: Instruktioner Betyg Du får endast ha med dig skrivmateriel. Mobiler etc skall lämnas till tentamensvakterna. Svaren skall lämnas på dessa sidor, använd
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Föreläsning 9 Innehåll. Söndra och härska. Fibonaccitalen. Söndra och härska. Divide and conquer teknik för att konstruera rekursiva algoritmer.
Föreläsning 9 Innehåll Mer om rekursion söndra-och-härska-algoritmer dynamisk programmering backtracking Orientering om versionshantering med git Söndra och härska Divide and conquer teknik för att konstruera
TDDD80 Mobila och sociala applika1oner. Kursintroduk1on
TDDD80 Mobila och sociala applika1oner Kursintroduk1on Personal Kursansvarig, föreläsare, seminarieledare Rita Kovordanyi Labbansvarig, föreläsare, seminarieledare Anders Fröberg
Övningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Vad händer när man kör ett program? Program och processer. Funktionsanrop. Avsluta programmet
Vad händer när man kör ett program? Program och processer När man kompilerar ett program och sedan länkar ihop det så stoppar länkaren in lite extra kod i programmet. Det är denna kod som i sin tur anropar
TDDI02. På denna föreläsning: Programmeringsprojekt, Föreläsning 3. Filip Strömbäck. Verifikation, validering och testning
TDDI02 Programmeringsprojekt, Föreläsning 3 Filip Strömbäck Med utgångspunkt i tidigare slides av Jonas Lindgren På denna föreläsning: Verifikation, validering och testning Begreppsdistinktioner Lite populistiskt
Objektorientering - Arv och polymorfi. Eric Elfving Institutionen för datavetenskap
Objektorientering - Arv och polymorfi Eric Elfving Institutionen för datavetenskap 1 / 25 Med hjälp av arv kan vi bryta ut saker som är gemensamt hos flera klasser. Vi får också möjlighet att referera
TDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer Objektorientering - Arv och polymorfi Eric Elfving Institutionen för datavetenskap 1 / 25 Med hjälp av arv kan vi bryta ut saker som är gemensamt hos flera klasser.
TDP003 Projekt: Egna datormiljön
. TDP003 Projekt: Egna datormiljön Egen utvecklingsmiljö Kursmaterial till kursen TDP003 Höstterminen 2017 Version 2.2 2017-06-30 2017-06-30 Egen utvecklingsmiljö INNEHÅLL Innehåll 1 Revisionshistorik
Bryt ut logiken för att göra Bulk-ersättning av Category i Index i ProductControllern.
Lektion 13 Övningar TDD Bryt ut logiken för att göra Bulk-ersättning av Category i Index i ProductControllern. Målet är inte att du skall komma fram till exakt samma lösning som jag kom fram till. Målet
Introduktionslaboration
TDDC76 Laborationshandledning 1 TDDC76 Programmering och datastrukturer Introduktionslaboration Denna introduktionslaboration introducerar programmeringsspråket C++, hur du skriver enkla C++-program samt
Platina och kvalité. Rasmus Staberg, Teknisk direktör, 2014-04-08
Formpipe Platina och kvalité Rasmus Staberg, Teknisk direktör, 2014-04-08 04 08 1 Formpipe Presentation Bakgrund Platina släpptes som första release år 2000. Fick pris för Best in show från Bill Gates
TDDD80 Mobila och sociala applikationer. Kursintroduktion
TDDD80 Mobila och sociala applikationer Kursintroduktion Personal Kursansvarig, föreläsare, seminarieledare Rita Kovordanyi Labbansvarig, föreläsare, seminarieledare Anders Fröberg
Lab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips
Lab1 Introduktion Förberedelse för planetlabben genom att kapsla in (skapa wrappers) systemanrop. 1 Syfte Få en känsla av hur Win32API fungerar, dvs programmerarens interface gentemot Windows. Känsla för
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
Introduktion till Git Anton Ekberg Version 2
DAT055 - Objektorienterade appikationer Introduktion till Git Anton Ekberg ekberga@student.chalmers.se Version 2 Innehåll 1 Introduktion 1 1.1 Terminalen i Linux.......................................
TDP002 Imperativ programmering. Laborationsmaterial emacs python-mode
TDP002 Imperativ programmering Laborationsmaterial emacs python-mode Höstterminen 2008 Innehållsförteckning Introduktion...3 Redovisning av laborationer...3 Laboration 1 emacs python-mode...4 Uppgift 1
Insidan av ett Open Source projekt. Nicklas Avén
Insidan av ett Open Source projekt. Nicklas Avén Innehåll * Vem är jag * Hur jag började involvera mig i PostGIS * Hur koordineras utvecklingen i PostGIS Vem är jag? * Nicklas Avén * Bor i Norge * Jobbar
TDP003. Föreläsning 1. Filip Strömbäck
TDP003 Föreläsning 1 Filip Strömbäck 1 Kursinformation 2 Om IP-projekt 3 Projekt 4 Portfoliosystemet 5 ABC i social kompetens 6 Sammanfattning TDP003 Filip Strömbäck 2 Kursinformation Du hittar all information
Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY
Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade
Server-kod. TDDD80 Mobila och sociala applikationer
Server-kod 2017-01-16 2 Översikt Flask HTTP och REST Requests-biblioteket JSON PyCharm Git Informationssökningstips 2017-01-15 3 Klient Klient Klient Labb 4-8 (Android) Server Databas Labb 1-4 (server)
Så här skriver du ditt första program i C++
Så här skriver du ditt första program i C++ Introduktion till att skapa Solution, Project och källkodsfil i Visual Studio 2013 Författare Anne Norling Kurs: Strukturerad programmering med C++ Kurskod:1DV433
Programsystemkonstruktion med C++
Programsystemkonstruktion med C++ Övning 2 Daniel Aarno bishop@kth.se Översikt övning 2 Klasser Konstruktorer Destruktorer Arv Virtuella funktioner Abstrakta klasser Operatorer Templateklasser Templatefunktioner
Fö 2 TSEA81 Datorteknik och realtidssystem
Fö 2 TSEA81 Datorteknik och realtidssystem Shared Resources Shared resources En gemensam resurs är något som används av en eller flera processer. Det kan t ex var: Data: variabel, buffer, databas Hårdvara:
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
Systemutveckling i praktiken
Systemutveckling i praktiken Peter Vi är Peter och Olov och kommer från Codemill. Codemill är: - Design- och utvecklingsföretag i Umeå - Ca 50 personer - Specialiserade på videoteknik - Våra kunder är
C++ Slumptalsfunktioner + switch-satsen
C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.
Innehåll. EDAf30: Programmering i C++, 7.5 hp. EDAf30: Programmering i C++, 7.5 hp Viktiga skillnader mot Java
Innehåll EDAF30 Programmering i C++ 1. Introduktion 1 Om kursen Sven Gestegård Robertz Datavetenskap, LTH 2016 2 Presentation av C++ Historik Inledning Datatyper och variabler 1. Introduktion 2/1 Viktiga
DRAFT. CVS kurs laboration 1 Checka in, ut och uppdatera. Marcus Rejås. 17 november 2002
CVS kurs laboration 1 Checka in, ut och uppdatera Marcus Rejås 17 november 2002 Innehåll 1 Inledning 1 2 Förberedelser (om du skall köra CVS på en remote server) 1 2.1 Installera CYGWIN......................................
Tentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2010-04-07 Tid: 8-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna ungefär
Proj-Iteration 5B. Plan för återstående iterationer
Proj-Iteration 5B PVG/Coaching Boris Magnusson Datavetenskap LTH PVG/Coach 2009. Proj-Iter5B : 1 Plan för återstående iterationer Förutom att arbeta vidare på stories skall release göras både under iteration
Programmering i C++ EDA623 Arv. EDA623 (Föreläsning 6) HT 2013 1 / 42
Programmering i C++ EDA623 Arv EDA623 (Föreläsning 6) HT 2013 1 / 42 Arv Innehåll Härledda klasser Konstruktorer och destruktorer vid arv Tillgänglighet Polymorfism och dynamisk bindning Abstrakta klasser
UPPDATERA DIN UNICO-ORGELS OPERATIVSYSTEM!
UPPDATERA DIN UNICO-ORGELS OPERATIVSYSTEM! Motorn i din UNICO-orgel är en LINUX-dator med programvara i form av ett operativsystem. Denna programvara förbättras ständigt och du bör därför uppgradera den.
SgLib Simple Graphics Library
SgLib Simple Graphics Library SgLib är en förenkling av glut som I sin tur bygger på open GL. Om du inte känner till glut och open GL, räcker det att veta att sglib är en samling filer som gör det lättare
Goda råd från studenterna som gjorde kandidatprojektet 2018
Goda råd från studenterna som gjorde kandidatprojektet 2018 Strukturera tiden och se till att komma igång tidigt i kursen. Det är en väldigt intensiv period när sommaren närmar sig och det är inte till