fannys frågor Flashcards

1
Q

Vad är en teckenkodning (character encoding)?

A

En mappning av bitmönster och tecken

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad är färgdjup (color depth) i samband med lagring av bilder?

A

Antal bitar per pixel som används för att koda färgen av pixeln

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad är ett maskinspråk (machine language)?

A

Maskininstruktioner som en viss processor förstår och kan exekvera.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad är skillnaden mellan ett program och en process?

A

Ett program är en algoritm kodad i ett programmeringsspråk. En process är aktiviteten att exekvera ett program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad är skillnaden mellan batch-bearbetning (batch processing) och interaktiv-bearbetning (interactive processing)?

A
  • Batch processing är exekveringen av ett program utan interaktion med en användare.
  • Interactive processing är exekveringen av ett program med interaktion till en användare.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

En process aktuella tillstånd (state) kan beskrivas av en mängd data, vilket data?

A

Innehållet i programräknaren, general purpose register och även delar av processer som finns i primärminnet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vilka två olika metoder används för att verifiera att ett program är korrekt (software verification)?

A

Kodanalys och testning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vad är skillnaden mellan en kompilator (compiler) och en interpretator (interpreter)?

A

En kompilator är den som översätter källkod till maskinkod

En interpretator tolkar källkoden när ett program körs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vad är concurrent programming?

A

Concurrent programming innebär att när man programmerar har man flera exekveringsvägar (trådar) i samma program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Vad är skillnaden mellan en statisk (static) och en dynamisk (dynamic) datastruktur (data structure)?

A

Formen och storlek (strukturen) förändras inte i en statisk datastruktur, även om innehållet kan göra det. Medan formen och storleken i en dynamisk datastruktur förändras.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Kan en lista implementeras som en statisk eller dynamisk datastruktur, både och, eller varken eller? Motivera ditt svar!

A

En lista kan både implementeras som en statisk datastruktur, t.ex. som en array, och som en dynamisk datastruktur bestående av element och pekare.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vad är en databas (database) i förhållande till ett databashanteringssystem (DBMS – database management system)?

A

En databas är en organiserad samling data (som kan hanteras av ett databashanteringssystem). Ett databashanteringssystem är ett system som uppdaterar, skapar och administrerar databasen. Samt svarar på frågor som är ställda till databasen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vad är ett artificiellt neuralt nätverk (artificial neural network) och hur förändras ett sådant nätverk under inlärning?

A

Ett artificiellt neuralt nätverk är en beräkningsmodell som efterliknar människans hjärnas nätverk med neuroner. Under inlärning så justerar man vikterna på neuronerna.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Vad är stopp-problemet (the halting problem), och varför är det intressant ur ett beräkningsteoretiskt perspektiv?

A

Stopp-problemet: Är det möjligt att inom ändlig tidsrymd med något program avgöra om ett godtyckligt program kommer att avslutas för godtyckliga indata? Stopp-problemet är olösbart, vilket visar att det finns problem som inte går att lösa med algoritmer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Antag att vi har följande bitmönster och att de representerar heltal enligt tvåkomplementsnotation (two’s complement notation):
11111110 01111111 00000000 00000001 10000000 11111111

a) Vilket av dessa bitmönster representerar det minsta heltalet?
b) Vilket av dessa bitmönster representerar det största heltalet?

A

??

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Hur ser man till att processer inte kan utföra operationer som är destruktiva för andra processer på en dator, t.ex. att skriva data i andra processers delar av primärminnet (main memory)?

A

Genom speciella instruktioner s.k. priveligerade instruktioner endast får utföras av processer som är i priveliged mode. Dessa processer är operativsystemprocesser.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Vilket Internet-mjukvarulager (Internet software layer) tillhör protokollet FTP (file transfer protocol)?

A

Application layer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Vad är ett certifikat (certificate) i samband med public-key-kryptering (public key encryption)?

A

Ett certifikat är att man har en publik nyckel och sin identitet så att man vet att det kommer ifrån rätt person.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Vilka tre saker kännetecknar lättrörliga utvecklingsmodeller (agile development models)?

A

Inkrementella och iterativa, feedback-loopar och utforskande när det gäller krav.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Vad är det för skillnad på glass-box-testning (glass-box testing) och black-box-testning (black-box testing)?

A

Glass-box testning innebär att testaren känner till den interna strukturen av programvaran som skall testas och utnyttjar denna information vid konstruktion av testerna.
Detta till skillnad från black-box testning som inte bygger på kunskap om programvarans interna struktur.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Många svåra problem kan beskrivas som sökproblem, vilket innebär att man söker efter en lösning i ett sökträd. För att välja sökväg i sökträdet använder man sig av ”tumregler” (rules of thumb). Vad kallas sådana tumregler och varför behövs de?

A

Heuristic. Detta är viktigt då sökträd ofta är väldigt stora med mycket data. Detta gör det enklare att då använda sig av “tumregler” för att kunna undersöka hela sökträdet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Vad är skillnaden mellan en switch och en router?

A

En switch är när flera bussar (och/eller) datorer kopplas ihop med ett nätverk.
En router innebär att man kopplar ihop flera nätverk med ett nätverk av nätverk (internet)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Vad är en IP-adress?

A

En unik numerisk följd när en dator är uppkopplad.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Vad är rekursion?

A

Rekusion innebär en repetition genom att en subrutin/funktion anropar sig själv.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Varför är binär sökning bättre än sekvensiell sökning på sorterat data?

A

Därför att med binärsökning så växer antalet steg i sökprocessen logaritmiskt med antalet poster, medan med sekvensiell sökning så växer antalet steg linjärt med antalet poster, vilket innebär att binärsökning är betydligt effektivare.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Vad är skillnaden mellan källkod och objektkod?

A

Källkod är den kod man programmerar i. Objektkod är när man översätter källkoden och kan köra det på datorn.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Vad är design patterns?

A

Design patterns är lösningar till återkommande problem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Vad är syftet med klassdiagram (class diagrams)?

A

Syftet med klassdiagram är att man beskriva strukturen mellan olika objekt (klasser) och relationen mellan olika objekt (klasser)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Vad är syftet med use case diagram?

A

Att beskriva det föreslagna systemet från användarens synvinkel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Vad är en abstrakt datatyp (abstract data type)?

A

En datatyp som innehåller både data och operationer för att hantera datat. T.ex. en lista: En lista består dels av sina rader (listans data), men också av möjligheten att lägga till och stryka bort rader (listans operationer).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Vad kännetecknar teckenkodningen (character encoding) Unicode?

A

?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Ge en kortfattad beskrivning av primärminne

A

Minne direkt åtkomligt av processorn

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Ge en kortfattad beskrivning av CPU (processor),

A

Den centrala delen av en dator som utför maskininstruktioner. Består av en aritmetisk/logisk enhet, styrenhet och register

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Ge en kortfattad beskrivning av arithmetic/logic unit (aritmetisk/logisk-enhet)

A

Utför aritmetiska och logiska intruktioner såsom AND och OR. Men även enkla operationer som subtraktion och addition

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Ge en kortfattad beskrivning av control unit (styrenhet)

A

Styr utförandet av instruktioner med hjälp av programräknaren och instruktionsregistret

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Ge en kortfattad beskrivning av general-purpose registers (generella register)

A

Används som temporär lagring med det data som processorn jobbar med.

37
Q

Ge en kortfattad beskrivning av program counter (programräknare)

A

Håller i adressen för nästa instruktion som ska exekveras.

38
Q

Ge en kortfattad beskrivning av instruction register (instruktionsregister)

A

Håller adressen för den aktuella instruktionen som ska exekveras.

39
Q

Vilka tre faser består en maskincykel av?

A

Fetch, decode, execute.

40
Q

Vad är paging, i samband med ett operativsystems minneshantering?

A

Man för sidor av (paging) mellan primärminne och sekundärminne som i sin tur gör att det skapas en illusion om att det finns mer primärminne än vad det fysiska primärminnet är.

41
Q

Vad innebär boot strapping (booting), och varför behövs det? )

A

Det är den process som görs för att starta en dator. Operativsystemet läses in i primärminnet och därmed börjar det exekveras. Primärminnet är tomt innan strömmen slås på och då har processorn inga instruktioner att följa.

42
Q

Vad är skillnaden mellan ett program och en process?

A

Ett program är en algoritm skriven på ett programmeringsspråk. En process är själva aktiviteten för att utföra dessa instruktioner.

43
Q

Vilka roller har scheduler respektive dispatcher i ett operativsystem?

A

En scheduler håller reda på alla processer genom att upprätthålla en processtabell. En dispatcher tilldelar processorkraft till processerna i processtabellen för exekvering.

44
Q

Vad innebär bus och star när det handlar om nättopologi?

A

En bus är när flera maskiner är sammankopplade med en kommunikationslina s.k bus.
Star handlar om att alla maksiner gå via en central punk, s.k. acesspunkt.

45
Q

Vilka är Internets fyra mjukvarulager?

A

Applikation, transport, network, link

46
Q

Vad är definitionen av en algoritm?

A

En ordnad uppsättning otvetydliga exekverbara steg som beskriver en avslutande process.

47
Q

Vad är skillnaden mellan en algoritm och ett program?

A

En algoritm behöver inte vara skriven på ett sätt så att en dator förstår medan ett program en algoritm kodad i ett programmeringsspårk så att en dator kan utföra det.

48
Q

Vilka fyra programmeringsparadigmer finns det?

A

Funktionell programmering, objektorienterad programmering, imperativ programmering och deklarativ programmering

49
Q

Ange ett programmeringsspråk för vart och ett av de fyra programmeringsparadigmerna!

A

LISP, Java, Python Prolog.

50
Q

Vad är en funktion i ett programmeringsspråk?

A

En avskild del av programmet bestående av ett antal instruktioner för att kunna utföra en viss uppgift som kan användas av andra delar i programmet.

51
Q

Vilka är de fyra traditionella utvecklingsfaserna vid programvaruutveckling (the traditional development phases of the software life cycle)?

A

Kravanalys, design, implemetering, testning

52
Q

Vilka är de tre önskvärda egenskaperna för moduler som man vill uppnå när man delar upp en programvara i moduler?

A

Hög sammanhållning (cohesion), låg koppling (coupling), information hiding

53
Q

Beskriv kortfattat vad som är skillnaden mellan arrayer (arrays) och aggregerade typer (aggregated types).

A

Array är en datastruktur som innehåller en samling dataelement av samma datatyp och storlek

Aggregerade typer är en datastruktur som innehåller en samling dataelement med olika datatyp och storlek.

54
Q

Beskriv kortfattat datastrukturerna kö (queue) och stack.

A

Kö är en datastruktur som innebär att det element som lades in först är först ut (first-in-first-out)

Stack är en datastruktur som innebär att det element som lades in sist går först ur (last-in-first-out)

55
Q

Beskriv kortfattat datastrukturen träd (tree)

A

?

56
Q

Vad är ett databashanteringsystem (database management system)?

A

En databas är en organiserad samling data (som ett databashanteringssystem kan hantera). Ett databashanteringssystem är ett system som uppdaterar, hämtar data i databasen. Databashanteringssystemet svarar även på frågor som ställs till databasen.

57
Q

Beskriv kortfattat relationsdatabasmodellen (the relational model).

A

Data beskrivs som om det är lagrat i tabeller med rader och kolumner.

58
Q

Vad är ett schema i samband med ett databassystem?

A

Ett databasschema är en beskrivning på strukturen hos en databas. Som t.ex. med en relationsdatabas är dess rader och kolumner i tabellen.

59
Q

Processen att skapa 3D-grafik består av två huvudsakliga steg, vilka?

A

Modellering och rendering

60
Q

I animationsprojekt utför man arbetet vanligtvis i tre steg, vilka?

A

Story-board, key frames, in-betweening

61
Q

a) Vad är skillnaden mellan svag (weak) AI och stark (strong) AI?

A

Weak AI – få (programmera) maskiner att bete sig på ett intelligent sätt.
Strong AI – få (programmera) maskiner att uppnå intelligens och medvetande.

62
Q

Ett sätt att klassificera maskininlärningansatser (machine/computer learning approaches) är genom i vilken grad de kräver mänsklig inblandning. Vilka tre sådana klasser brukar man prata om?

A

Learning by imitation (lärande genom imitation); supervised learning (övervakat lärande); learning by reinforcement (lärande genom förstärkning).

63
Q

Lista följande komplexitetsklasser (effektivitetsklasser) från den mest effektiva till den minst effektiva: Θ(n2 ), Θ(log n), Θ(2n ) , Θ(n), Θ(n3 ).

A

??

64
Q

Vad är definitionen av en intelligent agent?

A

En intelligent agent behöver sensorer för input (t.ex. se, lyssna, känsel, tangenter)
och manövreringsorgan för att kunna påverka omvärlden med outputs

65
Q

Vad är en Turing-maskin och vad är dess syfte?

A

En Turing-maskin är en matematisk modell av en dator, och syftet är att studera vilka problem som går att lösa med en dator.

66
Q

Nämn ett sätt att ta fram s.k. polygonal meshes vid 3D-modellering!

A

Matematiska ekvationer; Bezier kurvor och ytor; proceduriella modeller.

67
Q

Till vilken programmeringsparadigm hör databasfrågespråket SQL (structured query language)?

A

Deklarativa programmeringsparadigm (declarative programming languages).

68
Q

Vad är sample depth? ..

A

Hur mycket information sparar vi efter varje mätpunkt

69
Q

Vad är sample rate?

A

Hur många avläsningar gör vi per tidsenhet?

70
Q

Vad är ett data warehouse? .. ..

A

En samling statisk data från en eller flera källor, avsedd för analys av datat.

71
Q

Vad innebär data mining?

A

??

72
Q

Vad kännetecknar ett binärt träd?

A

Ett binärt träd är en trädstruktur där varje nod kan ha maximalt två barn-noder.

73
Q

Ett sätt att klassificera maskininlärningansatser (machine/computer learning approaches) är genom i vilken grad de kräver mänsklig inblandning. Vilka tre sådana klasser brukar man prata om?

A

Learning by imitation (lärande genom imitation); supervised learning (övervakat lärande); learning by reinforcement (lärande genom förstärkning).

74
Q

Vad är huvudsyftet med att dela upp en programvara i moduler? ..

A

För att förenkla programvaruutveckling genom att en enskild modul är överblickbar och kan utvecklas oberoende av andra moduler.

75
Q

Vad innebär overflow i samband med att lagra tal? ..

A

Att talet är för stort för att kunna lagras med tillgängligt antal bitar.

76
Q

Vad innebär truncation i samband med att lagra tal?

A

Att man förlorar talets precision (antal decimaler) på grund av begränsat antal tillgängliga bitar.

77
Q

Är det någon skillnad mellan iteration och rekursion när det gäller användningen av minne? ..

A

Ja, varje rekursivt anrop i en rekursion kräver extra minne, till skillnad från en iteration där varje varv inte kräver något extra minne.

78
Q

Vad kallas ett program som översätter källkod till maskinkod?

A

Kompilator

79
Q

Vilken huvudsaklig funktion har ett operativsystem? ..

A

Att administrera en dators resurser vilket bl.a. innebär.:

i) att övervaka driften av datorn
ii) att spara och hämta filer
iii) att schemalägga program för exekvering
iv) att koordinera exekveringen av program

80
Q

Vad gör en (nätverks-) hub? ..

A

Kopplar ihop datorer till ett nätverk.

81
Q

Vad gör en webbserver (webserver)?

A

Ger tillgång till olika webbresurser, som t.ex. webbsidor.

82
Q

Vad är syftet med en URL/URI?

A

Att unikt identifiera en webbresurs, t.ex. en webbsida.

83
Q

Ett program kan ge upphov till tre olika typer av fel: syntaktiska fel (syntactic errors), exekveringsfel (runtime errors) och logiska fel (logic errors)

A

Vilken typ av fel är mest allvarliga och varför? - Logiska fel, eftersom de inte ger upphov till något felmeddelande
Vilket typ av fel är minst allvarliga och varför? - Syntaktiska fel, eftersom de upptäcks redan av kompilatorn.

84
Q

Vid rendrering så skall en tredimensionell modell överföras till en platt yta. Vad kallas denna platta yta?

A

Projiceringsplan/projiceringsyta (projection plane).

85
Q

Beskriv kortfattat begreppen sekvens, selektion och iteration. ..

A

En sekvens är en följd av instruktioner som utförs i ordning.

Selektion är en valmöjlighet - att utföra olika instruktioner beroende på programmets tillstånd (t ex genom if-satser).

Iteration innebär att samma instruktion eller sekvens av instruktioner körs flera gånger (t ex med loopar).

86
Q

Förklara begreppen coupling och cohesion? ..

A

Coupling är ett mått på hur sammanflätade olika moduler/komponenter är i ett mjukvarusystem (the linkage between modules). Låg coupling är bra.

Cohesion är ett mått på hur väl innehållet i en modul hänger ihop, hur fokuserad den är (the internal binding within a module). Hög cohesion är bra.

87
Q

Vad är skillnaden mellan övervakad inlärning (supervised learning) och oövervakad inlärning (unsupervised learning)?

A

I övervakad inlärning tränar man systemet med färdig klassificerad data (träningsdata). I oövervakad inlärning får systemet ingen träningsdata utan får själv analysera indata och hitta mönster.

88
Q

Vad är ett certifikat (certificate) i samband med public-key-kryptering (public key encryption)? ..

A

Ett paket bestående av namn/identitet och publik nyckel (a package of name/identity and public key), vilket intygar att man är den man utger sig för att vara.

89
Q

Vilka tre saker kännetecknar lättrörliga utvecklingsmodeller (agile development models)?

A

1) Inkrementella och iterativa; 2) korta feedback-loopar; 3) utforskande när det gäller krav.