Mögliche Themen der Abschlussprüfung

Dies ist eine Liste der Themen, die ich mit meinen Auszubildenden im Rahmen der Prüfungsvorbereitung in Form von Lernzielkontrollen durchgehe. Sie erhebt keinen Anspruch auf Vollständigkeit, aber bietet sicherlich einen guten Überblick über mögliche Themen der IHK-Abschlussprüfung.

Die Liste wird (unregelmäßig) aktualisiert, spätestens einige Wochen vor den Prüfungsterminen (da ich in dieser Zeit die letzten prüfungsvorbereitenden LZKs mit meinen Azubis mache).

Wenn du selbst noch Vorschläge für die Liste hast, dann immer her damit!

Lernen für die Abschlussprüfung

Um Definitionen und Erklärungen zu den Begriffen der Liste nachzuschlagen, empfehle ich das „offizielle“ IT-Handbuch*, das bis vor wenigen Jahren noch zum Nachschlagen mit in die Prüfung genommen werden durfte:

IT-Handbuch: IT-Systemelektroniker, -in, Fachinformatiker, -in*

Ich empfehle euch zur Vorbereitung auf die schriftliche Prüfung, so viele alte Prüfungen wie möglich durchzuspielen. Die Prüfungen gibt es beim U-Form-Verlag.

Eine gute Ergänzung dazu sind die Prüfungstrainer*, die zusätzlich zu (fiktiven) Prüfungen auch gut Erklärungen zu den Lösungen beinhalten. Für die offiziellen Prüfungen bekommt ihr nämlich nur Lösungen zum WiSo-Teil.

Prüfungstrainer Fachinformatiker Anwendungsentwicklung*

Da natürlich beides – die Prüfungen und die Trainer – sinnvoll sind, gibt es auch ein Komplettpaket*, das alle Trainer (GH1, GH2 und WiSo) sowie die aktuellste Abschlussprüfung enthält:

Prüfungstrainer PLUS-Paket*

Aktuelles (2017)

  • Internet of Things (IoT), Industrie 4.0
  • Reactive Programming
  • Serverless, Microservices
  • Predictive Maintenance, Streaming Analytics
  • Apps: nativ vs. hybrid vs. cross-platform vs. responsive Web
  • Progressive Web Apps
  • Blockchain, Smart Contracts, Crypto-Currency

Der Betrieb und sein Umfeld

  • Vorteile eines betrieblichen Vorschlagwesens
  • Beispiele zur Optimierung der Arbeitsabläufe
  • Methoden zur Mitarbeitermotivation
  • Standortfaktoren bewerten
  • Marktformen bestimmen
  • Angebotskalkulation
  • (Arbeits-)Verträge
    • Stellenbeschreibung
  • Lohnabrechnung
  • Gesellschaftsformen
  • Aufbau- und Ablauforganisation
    • Linien-/Matrixorganisation kennen (Vor-/Nachteile)und Organigramm erstellen
  • Umweltschutz
    • Green IT
  • Workflow
  • Zentralisierung/Dezentralisierung
  • Unfallverhütung
  • Fusion

Ergonomie

  • Vorgaben bzgl. Arbeitsplatzergonomie kennen
  • ergonomische Anforderungen an Bildschirme, Drucker, Stühle, Tische
  • Warum reicht die Einhaltung der Ergonomie nicht aus, um körperliche Beschwerden auszuschließen? Was kann man zusätzlich tun?
  • Nutzen ergonomischer Arbeitsplätze für das Unternehmen
  • Ergonomierichtlinien beim Gestalten von Oberflächen für Software

Marketing

  • Vor-/Nachteile von Absatzwegen, Distributionspolitik
  • Fachbegriffe kennen
    • Marktvolumen, Absatz, Marktanalyse etc.
    • B2B, B2C, B2G
    • Umfrage, Beobachtung, Experiment, Testmarkt, Marktprognose, Panelerhebung
    • Marktdurchdringung, Marktentwicklung, Markterschließung, Produktinnovation, Produktentwicklung, Diversifikation
  • Optimierung des Kundenservice
  • mögliche Quellen zur Marktforschung
  • Ziele von Werbung
  • AIDA (Attention, Interest, Desire, Action)
  • Phasen des Produktlebenszyklus
    • Einführung, Wachstum, Reife, Sättigung, Rückgang, End-of-Life
  • Phasen der Technologieadaption
    • Innovators, Early Adopters, Early Majority, Late Majority, Laggards
  • Beispiele für niedrigen/hohen Markteinstiegspreis nennen
  • Outsourcing (organisatorisch) vs. Offshoring (geografisch)
  • Geschäftsmodelle im Internet
    • Freemium

Rechtliches

  • Datenschutz vs. Datensicherheit vs. Datensicherung
    • Grundsätze des Datenschutzes
      • Gesetzmässigkeit (Erfordernis der gesetzlichen Grundlage)
      • Verhältnismässigkeit (Datensparsamkeit und Datenvermeidung (§3a BDSG))
      • Zweckbindung
      • Richtigkeit/Integrität
      • Transparenz gegenüber den betroffenen Personen
      • Informationssicherheit
    • EU-Datenschutz-Grundverordnung (EU-DSGVO)
  • Urheberrecht
    • von Patenten abgrenzen
    • Creative Commons
  • Persönlichkeitsrechte
    • Recht am eigenen Bild
  • Open Source
  • Unfreier Versand
  • Fernabsatzverträge
  • Nachbesserung und Nachlieferung
  • Gewährleistung vs. Garantie
  • Mutterschutz, JAschG
  • Betriebsrat
    • Rechte und Pflichten
    • rechtliche Voraussetzungen
  • Kündigung
    • gesetzliche/vertragliche Fristen
    • notwendige Unterlagen
  • Werks- vs. Dienstvertrag
  • Inhalte von SLAs
  • Arbeitsschutz
    • Pflichten des Arbeitgebers bei Arbeitsunfällen
  • Arbeitsvertrag
    • Inhalte, Rechte/Pflichten
    • kollektives Arbeitsrecht
  • Inhalte der Personalakte
  • Rechtsformen von Unternehmen (AG, GmbH, KG usw.)
    • Voraussetzungen, Haftung, Eigenkapital, Firma etc.
  • verschiedene Versicherungen (z.B. Haftpflicht, Berufsunfähigkeit, Krankenversicherung, , Rechtsschutz, Hausrat, KFZ, Gebäudeversicherung usw.)

Soft-Skills

  • Präsentieren
    • Vorteile des Medieneinsatzes bei Präsentationen
    • Aufbau von Präsentationen
    • Aufmerksamkeit der Zuhörer gewinnen
  • Ideenfindung/Kreativitätstechniken
    • Brainstorming, Mindmap

Betriebssysteme

  • verschiedene Betriebssysteme kennen (Linux, Windows, Android, iOS, Windows Phone)
  • Unterschied Unix/Linux
  • Vor-/Nachteile Linux/Windows
    • Dateisysteme (FAT, NTFS, ext)
    • Aufbau des Dateibaums
    • Kommandozeile vs. GUI
  • Linux
    • wichtige Befehle kennen (ls, chmod, chown, ps, grep, mount)
    • wichtige Verzeichnisse kennen (bin, boot, dev, etc, home, lib, root, sbin, var)
    • Dateirechtesystem erklären (ugw + rwx)
    • gängige Linux-Distributionen nennen (Debian, Suse, Red Hat, Ubuntu etc.)
    • Wie wird die Hardware angesteuert?
    • Mounten von Laufwerken
  • Samba/SMB
  • Typen von Multitasking erläutern (kooperativ vs. präemptiv)
  • Prozess vs. Task vs. Thread

Datenbanken

  • unterschiedliche Architekturen (Client/Server, Dateibasiert)
    • unterschiedliche Ansätze (relational, Netzwerk, hierarchisch, objektorientiert)
    • Eigenschaften von relationalen Datenbanken
    • ORM
  • NoSQL (dokumentenorientiert, spaltenorientiert, Key/Value-Store, objektorientiert, Graphendatenbank)
    • CAP-Theorem
    • Map/Reduce
    • Eventual Consistency
  • Begriffe kennen und erläutern
    • Redundanz, Primär-/Fremdschlüssel, Datensatz, INSERT
    • referentielle Integrität
      • Maßnahmen bei Löschoperationen (Constraints): CASCADE, DENY/RESTRICT, SET NULL
    • Replikation erläutern
    • Trigger erklären
  • SQL-Abfragen
    • Projektion vs. Selektion
    • DDL, DML, DQL, DCL, DTL
    • CRUD (Create, Read, Update, Delete)
    • SELECT-Aufbau rauf und runter: FROM, WHERE, JOIN, GROUP BY, HAVING, ORDER BY
    • Kreuzprodukt
    • verschiedene Joins erklären (INNER, OUTER LEFT/RIGHT/FULL, Natural, Self)
    • Subqueries
    • Schnitt-, Vereinigungs- und Differenzmenge (INTERSECT, UNION (ALL), MINUS)
    • LIKE-Syntax (Platzhalter)
  • SQL Injection erläutern
  • Arbeitschritte beim DB-Design
    • ER-Modelle erstellen
    • Tabellenmodelle erstellen
  • ACID-Prinzipien für Transaktionen kennen und erläutern (atomicity, consistency, isolation, durability)
  • Anomalien (Einfüge-, Änderungs-, Löschanomlie) erläutern
  • Entity-Relationship-Model und Tabellenmodell
  • Normalformen erläutern („the key, the whole key, and nothing but the key“)
    • Normalisierung von Datenbanken bis zur 3. Normalform durchführen
  • Modellierung von Beziehungen (1:1, 1:n, m:n)
    • mögliche Beispiele: Benutzer/Login (1:1), Benutzer/Bestellung (1:n), Benutzer/Benutzergruppe (m:n)
  • Big Data
    • 3V-Modell (Data Velocity, Data Volume, Data Variety)
  • mögliche Aufgaben
    • vorhandenes Tabellenmodell normalisieren
    • gültige Datensätze zu einem gegebenen Schema ermitteln können

Englisch

  • Texte verstehen, übersetzen und analysieren

Hardware

  • Prozessor/CPU, Kühlung
    • von-Neumann-Architektur
    • ALU
  • RAM-Arten und Unterschiede
  • Eigenschaften/Unterscheidung/Vor-/Nachteile DAS, SAN und NAS
  • Unterschied Stack/Heap
  • Abkürzungen und Bedeutung kennen: sATA, AGP, PCI, ISA, IDE, SCSI, iSCSI, SAS, USB, RAID, TFT, TCO, CRT, USV, SSD
  • RAID 0, 1, 5, 10 usw., JBOD erklären
  • Bluetooth, Firewire, USB
  • WLAN
    • Hotspot, Ad-Hoc, Repeater, Access Point
    • Sicherheit (WPA, WEP, MAC-Kontrolle)
  • BIOS, CMOS, Ablauf eines Systemstarts, Sinn von BIOS-Updates
  • UEFI
  • IDE: Master/Slave, Jumper
  • Firmware, Flash-Speicher
  • Arten von Druckern und Scannern
    • 3D-Drucker
  • Thin Clients/Fat Clients
  • Tablets und mobile Geräte
  • Bezugsquellen für Hardwarelieferanten
  • Server-/Desktop-/Anwendungsvirtualisierung
    • mögliche Arten der Virtualisierung: Hypervisor, Bare-Metal, Hosted
    • Hardwareunterstützung
    • Vor-/Nachteile der einzelnen Verfahren
  • mögliche Aufgaben
    • passende Komponenten für einen (Datenbank-/File-)Server oder Workstation (z.B. CAD, Office) auswählen
    • PCs für bestimmte Anforderungen aus Komponenten zusammenstellen
  • Green IT
  • Smartphones
  • Cloud Computing (Auswirkungen auf Softwareentwicklung, Hardware, Geschäftsmodelle)
    • Platform/Infrastructure/Software as a Service (PaaS, IaaS, SaaS)
  • USB 3.0
  • USV
    • Typen von USVen (z.B. VFI) nach DIN EN 62040-3
      • Voltage Independent, Voltage and Frequency Dependent, Voltage and Frequency Independent
    • benötigte Scheinleistung für vorgegebene Hardware ermitteln
    • Netzstörungen, vor denen USVen schützen
  • Hot Swapping, Hot Spare erläutern
  • Arbeitsweise von RFID, Barcodes und QR-Codes erläutern
  • Vor-/Nachteile von SSDs
  • Power over Ethernet (PoE)
  • BYOD

Internet

  • Aufbau von URLs/URIs
  • Beispiele für Browser/Webserver/Web-Programmiersprachen/(serverseitige) Scriptsprachen
  • wichtige Protokolle und Ports (HTTP, FTP, SMTP, POP3, IMAP, telnet, NNTP, SMB)
  • Vor-/Nachteile wichtiger Dateiformate (PDF, Bildformate)
  • Ablauf beim Aufruf einer Website (Kommunikation Client/Server) und Verarbeitung bei PHP
  • Sicherheit
    • Hacker, Cracker, Script-Kiddies
    • Phishing, Sniffing, Spoofing, Man-in-the-Middle
    • SQL-Injection, XSS, CSRF, Session Hijacking, DoS, DDoS
    • Viren, Würmer, Trojaner, Hoax, Spyware, Dialer, Keylogger, Botnetze, AdWare
    • Verbreitung von Viren/Würmer/Trojaner erläutern

Websites

  • Vorteile von Internetseiten als Werbemittel
  • grundlegende Kenntnisse von HTML, CSS, PHP
  • Responsive Webdesign (mit HTML5 + CSS3)
  • ergonomische Gestaltung von Websites
  • CMS
  • Mindestinhalte des Impressums
  • virtuelle Hosts erläutern
  • Möglichkeiten zur Unterscheidung von Websites auf einem Host: IP, Hostname, Port
  • Funktion von .htaccess erläutern
  • dynamische Websites (CGI, ASP, JSP)
    • Applet und Servlet unterscheiden
  • Web 2.0
    • Social Networks, Wikis, Blogs, Twitter, Forum, Podcast
  • AJAX
    • Vor-/Nachteile
    • Funktionsweise
  • REST
  • RIA
  • JavaScript
    • jQuery und andere Frameworks
  • HTML5, CSS3
    • Audio-/Videoeinbettung/-unterstützung
  • Anforderungen durch Mobilgeräte

Mathematik und Rechnungswesen

  • Ermittlung und Bedeutung von Umsatz/Provision/Deckungsbeitrag/Kosten/Gewinn
  • Zahlungsverzug
    • Definition, Gründe, Konsequenzen
    • Rechtsgrundlage/Definition für Zahlungsverzug
  • Möglichkeiten zum Umgang mit Liquiditätsengpässen
  • Gemeinkosten auf Kostenstellen verteilen
  • Kosten für eine Produkteinführung berechnen
  • Break-Even-Point ermitteln
  • Gewinn ermitteln
  • Vor-/Nachteile Kauf/Leasing/Miete
  • Eigen- und Fremdfinanzierung
  • Umrechnungen in Zahlensystemen (Dual, Dezimal, Oktal, Hexadezimal)
  • Profit-Center-Organisation
  • Handelskalkulation
  • Betriebsabrechnungsbogen, Nachkalkulation, Zuschlagskalkulation
  • Fehler in Lieferschein/Rechnung finden
  • gesetzliche Gewährleistungsfrist ermitteln
  • Umgang mit Mängeln, Mängelrüge
  • Umgang mit Vertragsstörungen
  • zweiseitiger Handelskauf und Rechte/Pflichten
  • TCO erläutern
  • Rabatt und Skonto berechnen

Multimedia

  • Datenraten von verschiedenen Laufwerken (Festplatte, CD, DVD)
  • Audiobearbeitung
    • Sampling(-rate, -tiefe)
  • Bildbearbeitung
    • Auflösung
    • GIF, JPG/JPEG, TIF, PNG, SVG, MPEG
    • OCR
    • Unterschied Raster-/Vektorgrafik
  • Zeichensätze kennen und Unterschiede aufzeigen
    • ASCII, Unicode, UTF-8 kennen und erklären
  • Kryptographie
    • symmetrische/asymmetrische Verschlüsselung
      • PKI, BSI
    • Was ist eine Prüfsumme/Hash?
    • ausgewählte Verschlüsselungsverfahren kennen
    • digitale Signatur, Zertifikat
  • Datensicherheit
    • Authentizität, Autorisierung, Integrität, Vertraulichkeit
    • Biometrie, 2-Faktor-Authentifizierung, Passwortrichtlinien, Verhaltensregeln
  • Kompression
    • verlustbehaftet vs. verlustfrei
      • ZIP
      • Huffman-Code
  • Längs-/Querparität berechnen
  • XML
    • Wohlgeformtheit, Validität
    • Parser, Serialisierer
      • SAX, DOM
    • vs. HTML, CSV etc.
    • DTD, Schema, RelaxNG, Schematron
    • XSLT, XSL-FO
  • mögliche Aufgaben
    • Dateigrößen von Bildern/Videos berechnen
  • 3D-/HD-TV, HDMI, BlueRay
  • Sinn von Prüfziffern (z.B. EAN, IBAN)

Netzwerk und Administration

  • Methoden zur Namensauflösung erklären (DNS, hosts)
    • DNS-Konfiguration
    • DNS-Einträge: A, AAAA, NS, PTR, MX, SOA, CNAME
  • DNS, DHCP, WINS, ARP, Subnetting, Topologien
    • Ablauf beim DHCP-Lease (Discover -> Offer -> Request -> Acknowledge)
    • ping (ICMP)
    • MAC vs. IP
  • IPv4, IPv6, A/B/C-Klassennetze
    • öffentliche/private IP-Adressen
  • Protokolle mit Port-Nummern (HTTP, HTTPS, FTP, SMTP, POP3, IMAP, DNS, SMB, Telnet, SSH)
  • Unterschiede IMAP/POP3, SMTP
  • Routing
  • Firewall
    • Packet Inspection, Port-Forwarding
  • Proxy-Server (Squid)
    • dedicated, circuit level
  • Sicherheitsmaßnahmen
    • Vorteile von SSH
    • Unterschied HTTP/HTTPS
  • Struktur eines Class-C-Netzes erläutern
  • Funktionsweise und Vorteile von VPN beschreiben
    • Protokolle/Ports, Verschlüsselungsverfahren
    • L2TP, PPTP, IPSec
  • ISDN, ADSL, SDSL, VDSL, UMTS, LTE
    • Datenraten, Technik
  • FDDI (Lichtwelle)/Ethernet beschreiben
  • Netzwerkhardware (Hub, Bridge, Switch, Router) mit Zuordnung zu ISO-Schichten
    • Switches/Hubs unterscheiden
  • Serverarten nennen (z.B. Print-/Fileserver)
    • Aufbau, Vor-/Nachteile Terminalserver erläutern
  • Clustering, Load Balancing
    • Round Robin
  • RDP/ICA unterscheiden
  • ISO/OSI-Modell (7 Schichten) im Vergleich zum TCP/IP-Modell (4 Schichten)
  • TCP vs. UDP
    • TCP-Handshake, 3-Way-Handshake
  • Backup
    • Medien nennen und erläutern
    • inkrementell/differentiell/voll
    • Generationenprinzip, Großvater/Vater/Sohn
    • hot/cold
    • Wie erkennt die Software, welche Daten zu sichern sind?
    • schützenswerte Daten
    • mögliche Gründe für Datenverluste auf Servern erläutern und Gegenmaßnahmen vorschlagen
    • Folgen von Datenverlust, Auswirkungen von Datenverlusten für das Unternehmen erläutern
    • Maßnahmen der Mitarbeiter zur Vermeidung von Datenverlusten erläutern
  • Archivierung (rechtliche Vorgaben, Unterschied zu Backup, technologische Anforderungen)
  • Client/Server vs. P2P
    • File Sharing
  • primäre/sekundäre/tertiäre Verkabelung
    • Kabeltypen
    • Simplex, Halb-/Vollduplex
    • 10/100/1000Base-T
    • Twisted Pair, CAT5e/6/7 etc.
    • Fibre Channel, Lichtwellenleiter
    • DIN EN 50173-1
    • EM-Verträglichkeit
  • CSMA/CD, Token
  • VLAN
    • statisch/dynamisch, tagged/untagged
  • VoIP, QoS, SIP
  • Authentifizierung vs. Autorisierung
    • Warum sollten sich Benutzer ggü. Systemen authentifizieren?
  • mögliche Aufgaben
    • Dauer einer Datensicherung berechnen
    • Netzwerk konzipieren (Router, Firewall, Clients)

Projektmanagement

  • Definition Projekt
  • übliche Projektphasen (Idee, Zieldefinition, Auftrag, Planung, Durchführung, Kontrolle etc.)
    • Beispiele für Aufgaben in den jeweiligen Phasen
  • Aufgaben/Inhalte/Verbindlichkeit von Lasten-/Pflichtenheften und Angeboten
    • Lastenheft: was/wofür?
    • Pflichtenheft: wie/womit?
  • Aufgaben des Projektleiters
  • Netzplan, Gantt-Diagramm, PSP (Projektstrukturplan) erstellen/vervollständigen
    • kritischen Pfad ermitteln
  • Personaleinsatzplan füllen
  • Formen der Projektorganisation mit Vor-/Nachteilen
  • Nutzwertanalyse durchführen
  • SMARTe Ziele definieren

Prozessanalyse

  • Prozessdiagramme/EPKs erstellen/korrigieren/optimieren
  • Ablauf eines üblichen Geschäftsprozesses (von Kundenanfrage bis Zahlungseingang) kennen
  • Symbole des Petri-Netzes erläutern

Softwareentwicklung

  • Arten von Software unterscheiden (Individual-/Branchensoftware)
    • ERP, CRM, CAD, CMS, DMS, PPS, ECM
  • Unterschied prozedurale/objektorientierte Entwicklung/Modellierung
  • Prinzipien der OOP
    • Begriffe der OOP erläutern: Attribut, Nachricht/Methodenaufruf, Persistenz, Schnittstelle/API/Interface, Polymorphie, Vererbung
    • Bestandteile von Klassen
    • Unterschied Klasse/Objekt
    • Unterschied Klasse/Interface
    • Erklärung Klassenbibliothek
    • Klassenbeziehungen: Assoziation, Aggregation, Komposition, Spezialisierung, Generalisierung
  • Software-Architektur
    • Layers/Schichten/3-Tier, MVC, MVVM, SOA, Microservices, REST, Pipes and Filters, Monolith
    • Zustandslosigkeit, lose Kopplung
  • Bottom-Up- und Top-Down-Verfahren bei der Modellierung erläutern
  • Funktion/Vorteile der Modularisierung von Programmen
  • wichtige UML-Diagramme (UseCase-, Klassen-, Sequenz-, Aktivitätsdiagramm, Zustandsautomaten, Komponentendiagramm, Verteilungsdiagramm) kennen und Einsatzgebiete erläutern
  • Design Patterns kennen/erklären
    • Singleton, Observer, Factory, Adapter, Iterator, Strategy, Decorator, Template Method, Registry, MVC
  • Methoden zur Dokumentation
  • Eigenschaften eines Versionsverwaltungssystems beschreiben
    • SVN, CVS, TFS mit Source Safe, Git
    • VCS vs. DVCS
  • Continuous Integration/Deployment
  • Entwicklungsprozesse
    • Wasserfall, V-Modell (XT), Spiralmodell, Scrum, Extreme Programming, Kanban
  • mögliche Aufgaben
    • gegebene Klassen in ein Klassendiagramm eintragen (inkl. Beziehungstypen und Kardinalitäten)
    • Klassendiagramm vervollständigen
    • Use-Case-Diagramm erstellen
  • Anforderungen durch Mobilgeräte
    • Offline-Fähigkeit, Deployment auf mehrere Plattformen, verschiedene Programmiersprachen, native Apps vs. HTML5/JavaScript, geringe Bandbreiten, kleine Auflösungen
  • Richtlinien bei der Gestaltung von Programmoberflächen
    • Aufgabenangemessenheit, Selbstbeschreibungsfähigkeit, Lernförderlichkeit, Steuerbarkeit, Erwartungskonformität, Individualisierbarkeit, Fehlertoleranz (siehe Grundsätze der Dialoggestaltung)

Programmierung

  • Programmierparadigmen (OO, strukturiert, prozedural, funktional)
  • Eigenschaften funktionaler Programmierung: Higher Order Functions, Immutability, Tail Call Optimization, Pattern Matching, Fokus auf Rekursion
  • Typisierung: stark vs. schwach, statisch vs. dynamisch
  • Klassifizierung von Programmiersprachen anhand von Typisierung, Paradigma, Compiler/Interpreter, Abstraktionsniveau, C-ähnlich oder nicht
  • deklarativ vs. imperativ
  • Unterschied Interpreter/Compiler
  • 3GL/4GL
  • die gängigen Programmiersprachen kennen (PHP, Perl, Java, C, C++, C#, JavaScript, Delphi, Visual Basic, VBA, Ruby, Python, Cobol, F#, Lisp, Prolog, Assembler)
    • Unterschiede bei der Programmierung/Ausführungsgeschwindigkeit in C, Java und JavaScript
  • Rekursion
  • Unterschied syntaktische/semantische Fehler
  • Benutzereingaben sinnvoll validieren
  • Generische Klassen
    • Vorteile generischer Container (Templates in C++) gegenüber Arrays
  • Unterschied statische/nicht-statische Methoden
  • Kontrollstrukturen
    • allgemeine Programmstrukturen identifizieren/erläutern (Schleifen etc.)
    • grundlegende Kontrollstrukturen in allen Diagrammformen (PAP (Programmablaufplan), Nassi-Schneiderman/Struktogramm) darstellen können
    • Merkmale/Unterschiede von Kontrollstrukturen (Schleifen, Fallunterscheidungen)
    • Zustandsübergänge eines Zustandsautomaten abbilden
  • Datenstrukturen
    • Queue, Bäume, Stack, Heap
  • Algorithmen als PAP/Struktogramm/Pseudocode darstellen
  • Reguläre Ausdrücke zur Textanalyse erstellen
  • mögliche Aufgaben
    • Fehler in Programmcode finden (C)
    • Algorithmen implementieren/durchspielen
      • Mittelwert
      • doppelte Einträge in einem Array finden/löschen
      • Dateibäume rekursiv kopieren
      • (Zinses-)Zinsberechnung
      • Planen eines regelmäßigen Backups
      • Ablauf einer Benutzerauthentifizierung an einer Website
      • Abbuchen von einem Konto

Software-Qualität

  • Definition Software-Qualität
  • Software-Qualitätsmerkmale nach ISO 9126 nennen und erläutern
  • Klassifizierung von Testverfahren
    • Wer testet?
      • Mensch (manuell) vs. Maschine (automatisch)
      • Entwickler vs. Benutzer
    • Was wird getestet?
      • Komponente vs. Integration vs. System
    • Wie wird getestet?
      • Bottom-Up vs. Top-Down
      • statisch (Kompilierzeit) vs. dynamisch (Laufzeit)
      • ohne Kenntnis des Codes (Blackbox) vs. mit Kenntnis des Codes (Whitebox)
      • explorativ
    • Wann wird getestet?
      • Vor vs. nach der Entwicklung
      • Abnahmetest
    • Warum wird getestet?
      • Regressionstest
      • Lasttest
      • Smoketest
  • Methoden zur Ermittlung von Testfällen
    • Anweisungsüberdeckung/Zweigüberdeckung
    • Äquivalenzklassen
    • Grenzwertanalyse
  • Testpyramide
  • Maßnahmen zur Qualitätssicherung (Audits, Reviews, Testmethoden)