You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 56 Next »

Denne siden gir en oversikt over pensum i faget TDT4100 - objektorientert programmering med Java. Noen av temaene er forutsatt kjent før en tar TDT4100 og er med for kompletthets skyld.

Temaene er delt i fire

  • Objektorientert programmering - begreper og -konstruksjoner som er viktig for objektorientert utviklingsmetodikk og som støttes av UML og de fleste objektorienterte språk. Dette utgjør teoridelen av TDT4100.
  • Java-programmering - bruk av Java for implementasjon av objektorienterte programmer, slik at en kan realisere det en har designet. Sammen med bruk av Eclipse utgjør dette praksisdelen av TDT4100.
  • Eclipse - bruk av Eclipse, som eksempel på moderne verktøy for programutvikling.
  • Prosedyreorientert programmering - programmeringsbegreper og -konstruksjoner som utgjør kjernen i de fleste programmeringsspråk, også de som ikke er objektorientert. Dette skal være kjent før en tar TDT4100.

Objektorientert programmering

Java-programmering

Bruk av Eclipse

Prosedyreorientert programmering

Faginnhold Prosedyreorientert programmering Eclipse VS Code Java-programmering Objektorientert programmering gitpod Forelesningslysark om uttrykk Uttrykk Forelesningslysark om datatyper Datatyper Python-Java-oversetting - rects-oppgave RPNCalc-eksemplet rpncalc4core.py og rpncalc4ui.py oversatt til Java rpncalc4core.py og rpncalc4ui.py Forelesningslysark om rpncalc-eksemplet rpncalc1.py oversatt til Java rpncalc1.py rpncalc2.py rpncalc3.py Boolean Expressions Java vs Python While Loops Objects and Classes Two-Dimensional Arrays Java functions Exception handling Nested Loops If-Else ArrayLists File processing Strings Inheritance For Loops Arrays Variables and Operations if-kontrollstrukturen Kontrollstrukturer Forelesningslysark om kontrollstrukturer Kode - Betingelser Data-drevne løkker while-kontrollstrukturen Forelesningslysark om variabler Variabler Forelesningslysark om funksjoner Funksjoner Kjøring av Python-programmer DownCounter screencast Koding Opprette pakker og klasser Refactoring Import av kode JExercise Eclipse-tillegg Digital Compendium PlantUML Exercise-panelet e(fx)clipse Installere GraphViz Installasjon av Eclipse Installere tillegg Anbefalte Innstillinger Installere SceneBuilder Feil og advarsler i editoren Feilfinning Debugging - CoffeeCup-oppgave Debugging - StringMergingIterator-oppgave Bruk av debuggeren i Eclipse Bruk av klassebibliotek med ekstrafunksjoner Sette opp Java-prosjekt Testing Eksportere som jar-fil Kjøring Problemer med å pulle nye filer Eclipse hurtigtaster Importere kode fra git Lese oppgavetekster Sette opp øvingsprosjekt Oppsett av JavaFX og Scenebuilder i VSCode Testing i VS Code Installasjon av VS Code og Java Development Kit Kjøring av kode og debugging i VS Code Bruk av terminal og Git Enum-klasser Klasser i java Anonymeklasser Synlighetsmodifikatorer Collection-rammeverket Java API Lesing fra og skriving til fil java.util.ArrayList java.lang.Object Sortering med Comparable og Comparator java.util.Scanner Verdityper og -klasser i java Tall og beregninger Tekst-håndtering Tråder med java Typer - Teorispørsmål Typer Casting Streams - Filtering-oppgave Lambda-uttrykk og funksjonelle grensesnitt i Java 8 Lysark fra forelesning om streams Java2D GUI-programmering med java Swing JavaFX Testing - Teorispørsmål Enhetstesting med JUnit BeforeEach og AfterEach Testing av unntak Programmer med java Varargs - variabelt antall argumenter if-operatoren Observatør-observert-teknikken Standardteknikker Forlesningslysark om Delegering og Observatør/Observert Kommando-teknikken Mixins-teknikken Delegeringsteknikken Enkel app-programmering med JavaFX og FXML App-programmering Main-metoden Objektstrukturer Objektstrukturer - Sudoku-oppgave Objektstrukturer - Card-oppgave del 2 Objektstrukturer - Sokoban-oppgave Objektstrukturer - StopWatchManager-oppgave Objektstrukturer - Twitter-oppgave Objektstrukturer - TicTacToe-oppgave Objektstrukturer - Person-oppgave Tjenesteorienterte objektstrukturer Objektstrukturer - Card-oppgave Hovedprogramklasser Todimensjonale matriser ConnectFour-eksempel Objektstrukturer - Slagskip-oppgave Objektstrukturer - Partner-oppgave Objektstrukturer - FeatureList-oppgave Dataorienterte objektstrukturer Klassediagrammer Diagrammer Objekttilstandsdiagrammer Sekvensdiagrammer Objektdiagrammer Objekter som aktive vesener Objekter og klasser Video om objekter og klasser Tilstand og oppførsel Video om egendefinerte klasser Forelesningslysark om Objekter og klasser Gyldig tilstand Innkapsling Forelesningslysark om oppførsel og testing Oppførsel og enhetstesting Testing - Person-oppgave Testing - Account-oppgave Testing - Card-oppgave Eksempelkode for sortering med PersonComparator Grensesnitt og oppførsel Grensesnitt - Teorispørsmål interface - MobileSubscription-oppgave interface - Spill med mulighet for angring og lagring Interface - RPNKalkulator med funksjonelle grensesnitt Eksempelkode for Person-grensenitt og Person1- og Person2-implementasjoner Interface - Named-oppgave Eksempler på nyttig bruk av grensesnitt (Noahs ark) Interface - CardContainer-oppgave Forelesningslysark om Interface Interface - CardComparison-oppgave Interface - StringGrid-oppgave Interface - CardPredicate oppgave Interface - BinaryComputingIterator Interface - Sortering av TwitterAccount-objekter ved bruk av Comparator Arv - SavingsAccount-oppgave Arv Arv - CardContainerImpl-oppgave Arv - Kalkulator-oppgave Arv - Abstrakt kalkulator-oppgave Arv - Teorispørsmål Arv - Train-oppgave Arv - AbstractAccount-oppgave Forelesningslysark om arv Arv - Asteroids-oppgave Ordbok Objektsamhandling

  • No labels