004 Datenverarbeitung; Informatik
Refine
Year of publication
Document Type
- Article (105)
- Monograph/Edited Volume (41)
- Doctoral Thesis (28)
- Conference Proceeding (9)
- Master's Thesis (7)
- Other (2)
- Moving Images (1)
Language
- German (193) (remove)
Keywords
- Informatik (19)
- Didaktik (15)
- Hochschuldidaktik (14)
- Ausbildung (13)
- E-Learning (5)
- Datenschutz (4)
- digitale Bildung (4)
- openHPI (4)
- Identitätsmanagement (3)
- Informatikdidaktik (3)
- Informatikstudium (3)
- Infrastruktur (3)
- Kompetenzen (3)
- cloud (3)
- didactics (3)
- digital education (3)
- informatics (3)
- Big Data (2)
- Blended Learning (2)
- CityGML (2)
- Cloud (2)
- Cloud Computing (2)
- Code (2)
- Computer Networks (2)
- Computernetzwerke (2)
- Datenbank (2)
- FMC (2)
- Hochschullehre (2)
- IPv4 (2)
- IPv6 (2)
- IT-Infrastruktur (2)
- IT-infrastructure (2)
- Identität (2)
- Infrastructure (2)
- Internet Protocol (2)
- Internet Service Provider (2)
- Kompetenz (2)
- MOOCs (2)
- Mensch-Computer-Interaktion (2)
- Navigation (2)
- Network Politics (2)
- Netzpolitik (2)
- Online-Lernen (2)
- Onlinekurs (2)
- Schule (2)
- Software Engineering (2)
- Softwareentwicklung (2)
- Systemstruktur (2)
- Teamarbeit (2)
- Tele-Lab (2)
- Tele-Teaching (2)
- Theoretische Informatik (2)
- Visualisierung (2)
- cloud computing (2)
- code (2)
- conference (2)
- education (2)
- higher education (2)
- identity management (2)
- navigation (2)
- tele-TASK (2)
- visualization (2)
- 3D computer graphics (1)
- 3DCityDB (1)
- ACINQ (1)
- ADFS (1)
- ARCS Modell (1)
- ASIC (1)
- Active Directory Federation Services (1)
- Adaption (1)
- Algorithmen (1)
- Analyse (1)
- Andere Fachrichtungen (1)
- Anerkennung (1)
- Anfragesprache (1)
- Angriffe (1)
- Anrechnung (1)
- Antwortmengenprogrammierung (1)
- Anwendungsvirtualisierung (1)
- Application Server (1)
- Arabidopsis thaliana (1)
- Assessment (1)
- Audience Response Systeme (1)
- Aufzählung (1)
- Augmented Reality (1)
- Australian securities exchange (1)
- Authentifizierung (1)
- Authorization (1)
- Autismus (1)
- Autorisierung (1)
- BCCC (1)
- BCH (1)
- BPM (1)
- BTC (1)
- Bachelorstudium (1)
- Barrierefreiheit (1)
- Basic Storage Anbieter (1)
- Batchverarbeitung (1)
- Benutzerinteraktion (1)
- Benutzeroberfläche (1)
- Berufsausbildung (1)
- Betrachtungsebenen (1)
- Beweisaufgaben (1)
- Bildverarbeitung (1)
- Bioacoustics (1)
- Bioakustik (1)
- Biocomputing (1)
- Biometrie (1)
- BitShares (1)
- Bitcoin Core (1)
- Blockchain Auth (1)
- Blockchain-Konsortium R3 (1)
- Blockheizkraftwerke (1)
- Blockkette (1)
- Blockstack (1)
- Blockstack ID (1)
- Blumix-Plattform (1)
- Blöcke (1)
- Byzantine Agreement (1)
- C-Test (1)
- COVID-19 (1)
- Canvas (1)
- Citymodel (1)
- Classification (1)
- Codeverständnis (1)
- Codierung (1)
- Colored Coins (1)
- Complementary Circuits (1)
- Computergestützes Training (1)
- Computergrafik (1)
- Conceptual (1)
- Constraint (1)
- Constraint-Programmierung (1)
- Constructive solid geometry (1)
- DAO (1)
- DNA (1)
- DNA computing (1)
- DNS (1)
- DPoS (1)
- Data Literacy (1)
- Data Science (1)
- Database (1)
- Datenanalyse (1)
- Datenbanken (1)
- Datenschutz-sicherer Einsatz in der Schule (1)
- Datensicht (1)
- Degenerationsprozesse (1)
- Delegated Proof-of-Stake (1)
- Delphine (1)
- Design Thinking (1)
- Didaktische Konzepte (1)
- Digital Engineering (1)
- Digital Game Based Learning (1)
- Digital World (1)
- Digitalisierung (1)
- Digitalisierung von Produktionsprozessen (1)
- Diskussionskultur (1)
- Distanzlehre (1)
- Distributed Proof-of-Research (1)
- Diversität (1)
- Dolphins (1)
- Dreidimensionale Computergraphik (1)
- Durchlässigkeit (1)
- E-Wallet (1)
- ECDSA (1)
- Effizienz (1)
- Eingebettete Systeme (1)
- Eisenbahnnetz (1)
- Empirische Untersuchung (1)
- Energiesparen (1)
- Enterprise Search (1)
- Entwurf (1)
- Entwurfsmuster (1)
- Entwurfsraumexploration (1)
- Erfolgsmessung (1)
- Eris (1)
- Error-Detection Circuits (1)
- Erweiterte Realität (1)
- Ether (1)
- Ethereum (1)
- European Union (1)
- Europäische Union (1)
- Explorative Datenanalyse (1)
- FIDO (1)
- FOSS (1)
- FPGA (1)
- Fachinformatik (1)
- Fachinformatiker (1)
- Federated Byzantine Agreement (1)
- Feedback (1)
- Fehlererkennung (1)
- Fehlerinjektion (1)
- Fehlerkorrektur (1)
- Fehlertoleranz (1)
- Fehlvorstellung (1)
- Fertigkeiten (1)
- FollowMyVote (1)
- Fork (1)
- Formale Sprachen und Automaten (1)
- Formale Verifikation (1)
- Forschung (1)
- Fundamental Modeling Concepts (1)
- Fußgängernavigation (1)
- Game-based learning (1)
- German schools (1)
- Geschäftsanwendungen (1)
- Geschäftsmodell (1)
- Grammatikalische Inferenz (1)
- Graph-basiertes Ranking (1)
- Graphfärbung (1)
- Gridcoin (1)
- Gruppierung von Prozessinstanzen (1)
- HDI (1)
- HEI (1)
- HPI Forschung (1)
- HPI Schul-Cloud (1)
- HPI research (1)
- Hard Fork (1)
- Hardware-Software-Co-Design (1)
- Hashed Timelock Contracts (1)
- Hasso Plattner Institute (1)
- Hasso-Plattner-Institut (1)
- Hauptspeicherdatenbank (1)
- Heterogenität (1)
- Hochschule (1)
- Hochschulkurse (1)
- IBM 360 (1)
- ICT competencies (1)
- ISSEP (1)
- Identity Management (1)
- In-Memory (1)
- Informatics Education (1)
- Informatik B. Sc. (1)
- Informatik für alle (1)
- Informatiksystem (1)
- Informatikunterricht (1)
- Informationsextraktion (1)
- Informationskompetenz (1)
- Informatische Kompetenzen (1)
- Inhalte (1)
- Inhaltsanalyse (1)
- Innovation (1)
- Interactive system (1)
- Interaktionstechniken (1)
- Interaktives System (1)
- Internet (1)
- Internet der Dinge (1)
- Internet of Things (1)
- Interventionen (1)
- Intuition (1)
- Inverted Classroom (1)
- IoT (1)
- Japanese Blockchain Consortium (1)
- Japanisches Blockchain-Konsortium (1)
- Java 2 Enterprise Edition (1)
- Java Virtual Machine (1)
- KI (1)
- Kette (1)
- Klassifikation (1)
- Kollaboration (1)
- Kompetenzentwicklung (1)
- Kompetenzerwerb (1)
- Kompetenzmessung (1)
- Konferenz (1)
- Konsensalgorithmus (1)
- Konsensprotokoll (1)
- Konzeptionell (1)
- LMS (1)
- Learning Analytics (1)
- Lebenslanges Lernen (1)
- Lehr- und Lernformate (1)
- Lehramtsstudium (1)
- Lehre (1)
- Lehrer*innenbildung (1)
- Lehrevaluation (1)
- Lern-App (1)
- Lernerfolg (1)
- Lernmotivation (1)
- Lernsoftware (1)
- Lernzentrum (1)
- Lightning Network (1)
- Lively Kernel (1)
- Liveness (1)
- Lock-Time-Parameter (1)
- Lückentext (1)
- MERLOT (1)
- MOOC (1)
- Marketing (1)
- Marktübersicht (1)
- Mehr-Faktor-Authentifizierung (1)
- Mehrfamilienhäuser (1)
- Metamodell (1)
- Micropayment-Kanäle (1)
- Microsoft Azur (1)
- Mobiles Lernen (1)
- Model Based Engineering (1)
- Model Checking (1)
- Model Driven Architecture (1)
- Model-driven SOA Security (1)
- Modell-getriebene SOA-Sicherheit (1)
- Modellbasiert (1)
- Modellgetriebene Architektur (1)
- Modellierung (1)
- Monitoring (1)
- Mustererkennung (1)
- NASDAQ (1)
- NameID (1)
- Namecoin (1)
- Nebenläufigkeit (1)
- Netzneutralität (1)
- New On-Line Error-Detection Methode (1)
- OAuth (1)
- Off-Chain-Transaktionen (1)
- Onename (1)
- Online Course (1)
- Online-Learning (1)
- Onlinekurse (1)
- Onlinelehre (1)
- Ontologie (1)
- Ontology (1)
- Open Source (1)
- OpenBazaar (1)
- OpenID Connect (1)
- OpenOLAT (1)
- Optimierungen (1)
- Oracles (1)
- Orphan Block (1)
- P2P (1)
- PAVM (1)
- Parallele Datenverarbeitung (1)
- Pattern Recognition (1)
- Patterns (1)
- Peer-Review (1)
- Peer-to-Peer Netz (1)
- Peercoin (1)
- Personas (1)
- PoB (1)
- PoS (1)
- PoW (1)
- PostGIS (1)
- Pre-RS Traceability (1)
- Privacy (1)
- Problemlösen (1)
- Prognosen (1)
- Programmierausbildung (1)
- Programmieren (1)
- Programmierkonzepte (1)
- Projekte (1)
- Proof-of-Burn (1)
- Proof-of-Stake (1)
- Proof-of-Work (1)
- Prozess Verbesserung (1)
- Prozessmodell (1)
- Prozessmodellierung (1)
- Python (1)
- Re-Engineering (1)
- Realzeitsysteme (1)
- Rendering (1)
- Ripple (1)
- SCP (1)
- SHA (1)
- SOA Security (1)
- SOA Sicherheit (1)
- SPV (1)
- SSO (1)
- Scene graph systems (1)
- Schlüsselkompetenzen (1)
- Schwierigkeitsgrad (1)
- Secure Digital Identities (1)
- Secure Enterprise SOA (1)
- Self-Checking Circuits (1)
- Semantic Web (1)
- Seminarkonzept (1)
- Sichere Digitale Identitäten (1)
- Simplified Payment Verification (1)
- Single Sign On (1)
- Single-Sign-On (1)
- Skalierbarkeit der Blockchain (1)
- Skript-Entwicklungsumgebungen (1)
- Slock.it (1)
- Smalltalk (1)
- Soft Fork (1)
- Software (1)
- Software architecture (1)
- Software-Testen (1)
- Softwarearchitektur (1)
- Spaltenlayout (1)
- Stadtmodell (1)
- Statistikprogramm R (1)
- Steemit (1)
- Stellar Consensus Protocol (1)
- Storj (1)
- Strategie (1)
- Strukturverbesserung (1)
- Student Engagement (1)
- Studentenjobs (1)
- Studie (1)
- Studienabbrecher (1)
- Studienabbruch (1)
- Studienanfänger*innen (1)
- Studiendauer (1)
- Studieneingangsphase (1)
- Studiengestaltung (1)
- Studiengänge (1)
- Studienverläufe (1)
- Studierendenperformance (1)
- Studium (1)
- Suche (1)
- System structure (1)
- Systementwurf (1)
- Szenengraph (1)
- Test (1)
- Texturen (1)
- The Bitfury Group (1)
- The DAO (1)
- Timed Automata (1)
- Transaktion (1)
- Transaktionen (1)
- Trust Management (1)
- Two-Way-Peg (1)
- Umfrage (1)
- Unspent Transaction Output (1)
- Unterricht mit digitalen Medien (1)
- User Experience (1)
- VM (1)
- VM Integration (1)
- Verlässlichkeit (1)
- Verträge (1)
- Virtual Desktop Infrastructure (1)
- Virtual Reality (1)
- Virtualisierung (1)
- Virtuelle Maschine (1)
- Vorkenntnisse (1)
- Vorwissen (1)
- Wartung von Lehrveranstaltungen (1)
- Watson IoT (1)
- Weiterbildung (1)
- Werbung (1)
- Werkzeuge (1)
- Wissenschaftliches Arbeiten (1)
- Zielvorgabe (1)
- Zookos Dreieck (1)
- Zookos triangle (1)
- algorithms (1)
- altchain (1)
- alternative chain (1)
- animated PCA (1)
- animierte PCA (1)
- answer set programming (1)
- application virtualization (1)
- atomic swap (1)
- augmented reality (1)
- authentication (1)
- automotive electronics (1)
- basic cloud storage services (1)
- batch processing (1)
- betriebliche Weiterbildungspraxis (1)
- bidirectional payment channels (1)
- bio-computing (1)
- biometrics (1)
- bitcoins (1)
- blockchain (1)
- blockchain consortium (1)
- blockchain-übergreifend (1)
- blocks (1)
- blumix platform (1)
- business process modeling (1)
- chain (1)
- coding and information theory (1)
- cogeneration units (1)
- competence development (1)
- competencies (1)
- computer graphics (1)
- computer science (1)
- computer science education (CSE) (1)
- confirmation period (1)
- consensus algorithm (1)
- consensus protocol (1)
- constraint (1)
- constraint programming (1)
- contest period (1)
- contracts (1)
- cross-chain (1)
- cryptology (1)
- data analytics (1)
- data in business processes (1)
- data modeling (1)
- data requirements (1)
- data security (1)
- data structures and information theory (1)
- data view (1)
- decentralized autonomous organization (1)
- dependability (1)
- design (1)
- design space exploration (1)
- dezentrale autonome Organisation (1)
- didaktisches Konzept (1)
- difficulty (1)
- difficulty target (1)
- digital enlightenment (1)
- digital learning platform (1)
- digital sovereignty (1)
- digital unterstützter Unterricht (1)
- digital world (1)
- digitale Aufklärung (1)
- digitale Hochschullehre (1)
- digitale Infrastruktur für den Schulunterricht (1)
- digitale Lernplattform (1)
- digitale Souveränität (1)
- digitalization (1)
- digitization of production processes (1)
- doppelter Hashwert (1)
- double hashing (1)
- duale IT-Ausbildung (1)
- e-Assessment (1)
- e-Learning (1)
- e-learning (1)
- efficiency (1)
- embedded-systems (1)
- energy savings (1)
- enterprise search (1)
- enumeration (1)
- error correction (1)
- error detection (1)
- fault injection (1)
- fault tolerance (1)
- federated voting (1)
- forecasts (1)
- forschendes Lernen (1)
- forschungsorientiertes Lernen (1)
- freie Daten (1)
- freie Software (1)
- fächerverbindend (1)
- general (1)
- general education in computer science (1)
- geovisualization (1)
- gewerkschaftlich unterstützte Weiterbildungspraxis (1)
- global constraints (1)
- globale Constraints (1)
- grammar inference (1)
- graph-based ranking (1)
- hardware-software-codesign (1)
- hashrate (1)
- human computer interaction (1)
- identity (1)
- image processing (1)
- individuelle Lernwege (1)
- information extraction (1)
- informatische Allgemeinbildung (1)
- informatische Grundkompetenzen (1)
- infrastructure (1)
- innovation (1)
- intelligente Verträge (1)
- inter-chain (1)
- interaction techniques (1)
- intuition (1)
- key competencies (1)
- klinisch-praktischer Unterricht (1)
- labour union education (1)
- lebenslanges Lernen (1)
- ledger assets (1)
- lifelong learning (1)
- linear code (1)
- linearer Code (1)
- lively kernel (1)
- liveness (1)
- logische Ergänzung (1)
- market study (1)
- maschinelles Lernen (1)
- merged mining (1)
- merkle root (1)
- meta model (1)
- micropayment (1)
- micropayment channels (1)
- miner (1)
- mining (1)
- mining hardware (1)
- minting (1)
- misconception (1)
- mobiles Lernen (1)
- model-based (1)
- model-driven architecture (1)
- multi core data processing (1)
- multi factor authentication (1)
- multi-family residential buildings (1)
- neue Online-Fehlererkennungsmethode (1)
- nichtlineare Projektionen (1)
- nonce (1)
- nonlinear projections (1)
- off-chain transaction (1)
- on-chip (1)
- online course (1)
- online-learning (1)
- open learning (1)
- open source (1)
- open source software (1)
- optimizations (1)
- pedestrian navigation (1)
- peer-to-peer network (1)
- pegged sidechains (1)
- process improvement (1)
- process instance grouping (1)
- process model (1)
- process modeling languages (1)
- process modelling (1)
- programming (1)
- public cloud storage services (1)
- quorum slices (1)
- railway network (1)
- real-time systems (1)
- rootstock (1)
- scalability of blockchain (1)
- scarce tokens (1)
- school (1)
- scripting environments (1)
- search (1)
- selbstprüfende Schaltungen (1)
- semantisches Netz (1)
- sidechain (1)
- smart contracts (1)
- smartphone (1)
- software (1)
- software development (1)
- software engineering (1)
- software selection (1)
- software testing (1)
- spatio-temporal sensor data (1)
- statistics program R (1)
- studentische Forschung (1)
- technische Rahmenbedingungen (1)
- tele-lab (1)
- tele-teaching (1)
- test (1)
- textures (1)
- timed automata (1)
- tools (1)
- transaction (1)
- user interaction (1)
- verification (1)
- virtual 3D city models (1)
- virtual desktop infrastructure (1)
- virtualization (1)
- virtuelle 3D-Stadtmodelle (1)
- visual languages (1)
- visuelle Sprachen (1)
- vocational training (1)
- wearables (1)
- wissenschaftliches Arbeiten (1)
- wissenschaftliches Schreiben (1)
- öffentliche Cloud Speicherdienste (1)
Institute
- Institut für Informatik und Computational Science (108)
- Hasso-Plattner-Institut für Digital Engineering gGmbH (32)
- Extern (16)
- Bürgerliches Recht (12)
- Institut für Mathematik (9)
- Hasso-Plattner-Institut für Digital Engineering GmbH (8)
- Fachgruppe Betriebswirtschaftslehre (4)
- Institut für Umweltwissenschaften und Geographie (3)
- Department Linguistik (1)
- Interdisziplinäres Zentrum für Kognitive Studien (1)
Inhaltsverzeichnis 1 Einführung 2 Aspektorientierte Programmierung 2.1 Ein System als Menge von Eigenschaften 2.2 Aspekte 2.3 Aspektweber 2.4 Vorteile Aspektorientierter Programmierung 2.5 Kategorisierung der Techniken und Werkzeuge f ¨ ur Aspektorientierte Programmierung 3 Techniken und Werkzeuge zur Analyse Aspektorientierter Softwareprogramme 3.1 Virtual Source File 3.2 FEAT 3.3 JQuery 3.4 Aspect Mining Tool 4 Techniken und Werkzeuge zum Entwurf Aspektorientierter Softwareprogramme 4.1 Concern Space Modeling Schema 4.2 Modellierung von Aspekten mit UML 4.3 CoCompose 4.4 Codagen Architect 5 Techniken und Werkzeuge zur Implementierung Aspektorientierter Softwareprogramme 5.1 Statische Aspektweber 5.2 Dynamische Aspektweber 6 Zusammenfassung
Diese Arbeit umfasst die Archivierung, Visualisierung anhand bioinformatischer Methoden und Interpretation eines vorhandenen Messdatensatz (Element [ICP-MS]-, Ionen [IC]- und Metabolitdaten [RP-HPLC und GC/TOF-MS]) der Pflanze Arabidopsis thaliana getrennt in Blätter und Wurzeln. Die Pflanzen wurden den sechs Mangelsituationen der Nährstoffe Eisen, Kalium, Magnesium, Stickstoff, Phosphor und Schwefel ausgesetzt und zu neun Messzeitpunkten [0.5-, 1-, 2-, 3-, 4-, 5-, 6-, 7-in Tagen und „resupply“ (vier Stunden nach dem vierten Tag)] analysiert. Es erfolgte die Integration der Messdaten in eine SQlite-Datenbank. Die Veranschaulichung erfolgte mit Hilfe der Programmiersprache R. Anhand einiger Pakete zur Erweiterung des Funktionsumfangs von R wurde erstens eine Schnittstelle zur SQLite- Datenbank hergestellt, was ein Abfragen an diese ermöglichte und zweitens verhalfen sie zu der Erstellung einer Reihe zusätzlicher Darstellungsformen (Heatmap, Wireframe, PCA). Selbstgeschriebene Skripte erlaubten den Datenzugriff und die grafische Ausgabe als z. B. Heatmaps. In der Entstehung dieser Arbeit sind weiterhin zwei weitere Visualisierungsformen von PCA-Daten entwickelt worden: Das Abstandsdiagramm und die animierte PCA. Beides sind hilfreiche Werkzeuge zur Interpretation von PCA-Plots eines zeitlichen Verlaufes. Anhand der Darstellungen der Element- und Ionendaten ließen sich die Nährstoffmangelsituationen durch Abnahme der entsprechenden Totalelemente und Ionen nachweisen. Weiterhin sind starke Ähnlichkeiten der durch RP-HPLC bestimmten Metaboliten unter Eisen-, Kalium und Magnesiummangel erkannt worden. Allerdings gibt es nur eine geringe Anzahl an Interkationen der Metabolitgehalte, da der Großteil der Metabolitlevel im Vergleich zur Kontrolle unverändert blieb. Der Literaturvergleich mit zwei Publikationen, die den Phosphat- und Schwefelmangel in Arabidopsis thaliana untersuchten, zeigte ein durchwachsenes Ergebnis. Einerseits gab es eine gleiche Tendenz der verglichenen Aminosäuren zu verzeichen, aber andererseits wiesen die Visualisierungen auch Gegensätzlichkeiten auf. Der Vergleich der mit RP-HPLC und GC/TOF-MS gemessenen Metaboliten erbrachte ein sehr kontroverses Ergebnis. Zum einen wurden Übereinstimmungen der gleichen Metaboliten durch gemeinsame Cluster in den Heatmaps beobachtet, zum anderen auch Widersprüche, exemplarisch in den Abstandsdiagrammen der Blätterdaten jedes Verfahrens, in welchen unterschiedliche Abstandshöhepunkte erkennbar sind.
(1) Über die Notwendigkeit, die bisherige Informatik in eine Grundlagenwissenschaft und eine Ingenieurwissenschaft aufzuspalten (2) Was ist Ingenieurskultur? (3) Das Kommunikationsproblem der Informatiker und ihre Unfähigkeit, es wahrzunehmen (4) Besonderheiten des Softwareingenieurwesens im Vergleich mit den klassischen Ingenieurdisziplinen (5) Softwareingenieurspläne können auch für Nichtfachleute verständlich sein (6) Principles for Planning Curricula in Software Engineering
1. Applikationen für weitverteiltes Rechnen Dennis Klemann, Lars Schmidt-Bielicke, Philipp Seuring 2. Das Globus-Toolkit Dietmar Bremser, Alexis Krepp, Tobias Rausch 3. Open Grid Services Architecture Lars Trieloff 4. Condor, Condor-G, Classad Stefan Henze, Kai Köhne 5. The Cactus Framework Thomas Hille, Martin Karlsch 6. High Performance Scheduler mit Maui/PBS Ole Weidner, Jörg Schummer, Benedikt Meuthrath 7. Bandbreiten-Monitoring mit NWS Alexander Ritter, Gregor Höfert 8. The Paradyn Parallel Performance Measurement Tool Jens Ulferts, Christian Liesegang 9. Grid-Applikationen in der Praxis Steffen Bach, Michael Blume, Helge Issel
1. Grundlagen der Softwarevisualisierung Johannes Bohnet und Jürgen Döllner 2. Visualisierung und Exploration von Softwaresystemen mit dem Werkzeug SHriMP/Creole Alexander Gierak 3. Annex: SHriMP/Creole in der Anwendung Nebojsa Lazic 4. Metrikbasierte Softwarevisualisierung mit dem Reverse-Engineering-Werkzeug CodeCrawler Daniel Brinkmann 5. Annex: CodeCrawler in der Anwendung Benjamin Hagedorn 6. Quellcodezeilenbasierte Softwarevisualisierung Nebojsa Lazic 7. Landschafts- und Stadtmetaphern zur Softwarevisualisierung Benjamin Hagedorn 8. Visualisierung von Softwareevolution Michael Schöbel 9. Ergebnisse und Ausblick Johannes Bohnet Literaturverzeichnis Autorenverzeichnis
1 Einleitung 1.1 Motivation 1.2 Aufgabenstellung 1.3 Aufbau der Arbeit 2 Fachliches Umfeld 2.1 Grid Computing 2.2 Idle Time Computing 3 Ressourcenpartitionierung 3.1 Ressourcenpartitionierung und Scheduling 3.2 Ressourcenpartitionierung in Idle Time Computing 3.2.1 Administrative Kontrolle der Ressourcen 3.2.2 Mindestgarantien zur Sicherstellung der Lauffähigkeit 3.3 Vorhandene Lösungen und verwandte Arbeiten 3.3.3 Ressourcenmanagement im Globus Toolkit 3.3.4 Ressourcenmanagement in Condor 3.3.5 Das GARA Framework 3.3.6 Distributed Resource Management Application API 3.3.7 Grid Resource Allocation Agreement Protocol 3.3.8 SNAP 3.3.9 OGSI-Agreement 3.3.10 PBS/Maui und andere Batch Systeme 3.3.11 Wide Area Distributed Computing 3.3.12 Weitere verwandte Arbeiten 3.3.13 Überlegungen zum Ressourcenbedarf 4 Ressourcenkontrolle in Desktopbetriebssystemen 4.1 Ressourcen 4.2 Ressourcenpartitionierung unter Linux 4.2.14 Festplattenkapazität 4.2.15 Arbeitsspeicher 4.2.16 Netzwerkbandbreite 4.2.17 CPU Kapazität 4.3 Ressourcenpartitionierung unter Microsoft Windows XP 4.3.18 Festplattenkapazität 4.3.19 Arbeitsspeicher 4.3.20 Netzwerkbandbreite 4.3.21 CPU Kapazität 4.4 Fazit 5 Entwurf und Design des Frameworks 5.1 Entwurfsgrundlage - Komponentenarchitektur 5.2 Architektur 5.2.22 Broker Server 5.2.23 Broker Software auf den Clients 5.2.24 Schnittstellen 5.3 Komponententypmodell 5.4 Ressourcenidentifikation und Ressourcenzuordnung 5.5 Anbindung ans Grid 5.6 Datenbankentwurf 5.7 XML RPC Schnittstelle 6 Implementierung 6.1 Broker Server 6.1.25 Datenbank 6.1.26 Komponenten 6.1.27 Webserverskripte 6.1.28 Database Crawler 6.2 Komponenten 6.2.29 Network 6.2.30 DSCP 6.2.31 Quota 6.2.32 FSF 6.3 Linux Client 6.3.33 Broker Client 6.3.34 Komponenten 6.4 Windows Client 6.5 Abhängigkeiten 7 Evaluierung 7.1 Durchgeführte Test- und Anwendungsfälle 7.1.35 Test der Clientsoftware 7.1.36 Test der Serversoftware 7.1.37 Durchführbare Anwendungsfälle 7.2 Evaluierung der Frameworkimplementierung 7.2.38 Performanz der Serverimplementierung 7.2.39 Zuverlässigkeit der Partitionierungen 7.3 Evaluierung von Traffic Shaping mit iproute2 7.3.40 Szenario 1 7.3.41 Szenario 2 7.3.42 Szenario 3 7.3.43 Fazit 8 Zusammenfassung und Ausblick 8.1 Fazit 8.2 Weiterentwicklung 8.2.44 Weiterentwicklungen auf Entwurfsebene 8.2.45 Weiterentwicklungen auf Implementierungsebene Anhang A: Details zum Datenbankentwurf Anhang B: Bildschirmfotos der Weboberfläche Anhang C: Quellcode Linux Broker Client Anhang D: Inhalt des beiliegenden Datenträgers
Vorwort 1. Einleitung 2. Statische vs. dynamische Analyse 3. Kriterien für den Erfolg statischer Quellcodeanalysemethoden 3.1. Theoretische Vorüberlegungen 3.2. 1. Kriterium: Verfügbarkeit des Quellcodes 3.3. 2. Kriterium: Unterstützung der Programmiersprache 3.4. 3. Kriterium: Zulassung von „echten“ Programmen der Problemdomäne 3.5. 4. Kriterium: Bewältigung der auftretenden Komplexität 3.6. 5. Kriterium: Schutz vor böswilliger Speichermanipulation 3.7. 6. Kriterium: Garantie für die Umgebung des laufenden Prozesses 3.8. Fazit 3.9. Verwandte Arbeiten 4. Bewertung von statischen Methoden für C/C++ typische Programme 4.1. Hintergrund 4.2. Prämissen 4.3. 1. Problemfeld: Programmgröße und Interferenz 4.4. 2. Problemfeld: Semantik 4.5. 3. Problemfeld: Programmfluss 4.6. 4. Problemfeld: Zeigerarithmetik 4.7. Dynamische Konzepte zur Erfüllung des fünften Kriteriums auf Quellcodebasis 4.8. Fazit 4.9. Verwandte Arbeiten 5. Kriterien für den Erfolg dynamischer Ansätze 5.1. Hintergrund 5.2. Verfügbarkeit des Quellcodes 5.3. Unterstützung der Programmiersprache 5.4. Zulassung von „echten“ Programmen aus der Problemdomäne 5.5. Bewältigung der auftretenden Komplexität 5.6. Schutz vor böswilliger Speichermanipulation 5.7. Garantie für die Umgebung des laufenden Prozesses 5.8. Fazit 6. Klassifikation und Evaluation dynamischer Ansätze 6.1. Hintergrund 6.2. Quellcodesubstitution 6.3. Binärcodemodifikation/Binary-Rewriting 6.4. Maschinencodeinterpreter 6.5. Intrusion-Detection-Systeme 6.6. Virtuelle Maschinen/Safe Languages 6.7. Mechanismen zur „Härtung“ von bestehenden Code 6.8. SandBoxing/System-Call-Interposition 6.9. Herkömmliche Betriebssystemmittel 6.10. Access-Control-Lists/Domain-Type-Enforcement 6.11. Fazit 7. Sichere Ausführung nicht vertrauenswürdiger Programme im Kontext von RealTimeBattle 7.1. Vorstellung von RealTimeBattle 7.2. Charakterisierung des Problems 7.3. Alternative Lösungsvarianten/Rekapitulation 7.4. Übertragung der Ergebnisse statischer Analysemethoden auf RealTimeBattle 7.5. Übertragung der Ergebnisse dynamischer Analysemethoden auf RealTimeBattle 7.5.1. Vorstellung der RSBAC basierten Lösung 7.5.2. Vorstellung der Systrace basierten Lösung 7.6. Fazit 7.7. Verwandte Arbeiten 8. Sichere Ausführung nicht vertrauenswürdiger Programme im Kontext von Asparagus 8.1. Vorstellung von Asparagus 8.2. Charakterisierung des Problems 8.3. Lösung des Problems 8.4. Fazit 8.5. Verwandte Arbeiten 9. Sichere Ausführung nicht vertrauenswürdiger Programme im Kontext vom DCL 9.1. Vorstellung des DCL 9.2. Charakterisierung des Problems 9.3. Experimente im DCL und die jeweilige Lösung 9.3.1. Foucaultsches Pendel 9.3.2. Lego Mindstorm Roboter 9.3.3. Hau den Lukas 9.4. Fazit 9.5. Verwandte Arbeiten 10. Sichere Ausführung nicht vertrauenswürdiger Programme im Kontext der semiautomatischen Korrektur von Betriebssystemarchitektur-Übungsaufgaben 10.1. Vorstellung des Übungsbetriebes zur Vorlesung „Betriebssystsemarchitektur 10.2. Charakterisierung des Problems 10.3. Lösungsvorschläge 10.3.1. Lösungsvorschläge für das Authentifizierungs-Problem 10.3.2. Lösungsvorschläge für das Transport-Problem 10.3.3. Lösungsvorschläge für das Build-Problem 10.3.4. Lösungsvorschläge für das Ausführungs-Problem 10.3.5. Lösungsvorschläge für das Ressourcen-Problem 10.3.6. Lösungsvorschläge für das Portabilitäts-Problem 10.4. Fazit 10.5. Verwandte Arbeiten 11. Schlussbetrachtungen Literaturverzeichnis Anhang -create_guardedrobot.sh: Die RealTimeBattle Security Infrastructure -vuln.c: Ein durch Pufferüberlauf ausnutzbares Programm -exploit.c: Ein Beispielexploit für vuln.c. -aufg43.c: Lösung für eine Aufgabe im Rahmen der Betriebssystemarchitektur-Übung -Handout: Sichere Ausführung nicht vertrauenswürdiger Programme
Informatischen Hochleistern über die Schulter geschaut : was können schwache Problemlöser lernen
(2009)
Leistungsstarke Problemlöser zeigen ein deutlich anderes Vorgehen beim Bearbeiten von typischen Informatikproblemen als schwächere Problemlöser, das hat eine Studie mit Hochleistern und einer Vergleichsgruppe mit Informatikstudierenden ergeben. Auffällig war das Fehlen informatikspezifischer Herangehensweisen bei der Problembearbeitung durch die Vergleichsgruppe, obwohl ihnen die dazu notwendigen Werkzeuge wie etwa Baumstrukturen oder Rekursion durchaus bekannt waren. Die Frage, wie nun die deutlich effizienteren Strategien der Hochleister didaktisch aufgearbeitet werden können, um sie an schwache Problemlöser zu vermitteln, wird im vorliegen Beitrag anhand der Konzeption eines Lehrvideos diskutiert.
Mit hochschuldidaktischer Forschung zur Informatik soll aus einem traditionellen Hardwarepraktikum ein attraktives Entwurfs- und Anwendungspraktikum für Mikrosysteme (MSE) werden, das ein unverzichtbarer Bestandteil des Informatikstudiums ist. Diese Neugestaltung der Lehre wurde aufgrund des Bologna-Prozesses und der zunehmenden Präsenz multifunktionaler eingebetteter Mikrosysteme (EMS) im täglichen Leben notwendig. Ausgehend von einer Lehrveranstaltungsanalyse werden Vorschläge für die Kompetenzorientierung abgeleitet. Es wird gezeigt, dass für eine Verfeinerung des Ansatzes ein wissenschaftlich fundiertes Verständnis der erwarteten Kompetenzen erforderlich ist. Für den aufgezeigten Forschungsbedarf werden ein Ansatz zur Beschreibung des notwendigen Mikrosystemverständnisses dargestellt und Forschungsfelder zu Aspekten des Kompetenzbegriffs im Kontext der Lehrveranstaltung beschrieben.
Ein handlungsorientiertes, didaktisches Training für Tutoren im Bachelorstudium der Informatik
(2009)
Die didaktisch-pädagogische Ausbildung studentischer Tutoren für den Einsatz im Bachelorstudium der Informatik ist Gegenstand dieser Arbeit. Um die theoretischen Inhalte aus Sozial- und Lernpsychologie handlungsorientiert und effizient zu vermitteln, wird das Training als Lehrform gewählt. Die in einer Tutorübung zentrale Methode der Gruppenarbeit wird dabei explizit und implizit vermittelt. Erste praktische Erfahrungen mit ihrer zukünftigen Rolle gewinnen die Tutoren in Rollenspielen, wobei sowohl Standardsituationen als auch fachspezifisch und pädagogisch problematische Situationen simuliert werden. Während die Vermittlung der genannten Inhalte und die Rollenspiele im Rahmen einer Blockveranstaltung vor Beginn des Semesters durchgeführt werden, finden während des Semesters Hospitationen statt, in der die Fähigkeiten der Tutoren anhand eines standardisierten Bewertungsbogens beurteilt werden.
Die nachhaltige Integration von Blended Learning in den Informatik-Lehrbetrieb von Präsenzhochschulen und die Qualitätssicherung der Lehre mit digitalen Medien beruht nicht nur auf der Verfügbarkeit von Lernmaterialien und dem Zugang zu Lernplattformen, sondern erfordert auch Qualifizierungsmaßnahmen für die Lehrenden. Am Beispiel der Gestaltung von vorlesungsbegleitenden Übungen in der universitären Informatikausbildung wird ein Konzept für die Schulung von Tutoren vorgestellt, das sich an den Erfordernissen des Übungsbetriebs und den unterschiedlichen Arbeits- und Lernkontexten der künftigen Tutoren orientiert. Das Konzept basiert auf mehrjährigen Praxiserfahrungen mit Schulungsworkshops für Tutoren in der Informatik, die nun aufgrund aktueller didaktischer Konzepte zum Blended Learning und unter Berücksichtigung von Umfrageergebnissen unter studentischen Tutoren modifiziert wurden. Das neu entwickelte modulare Konzept zur Tutorenschulung befindet sich aktuell in einer erweiterten Pilotphase.
Diese Arbeit enthält eine umfassende Analyse, wie der Kompetenzerwerb in einem einsemestrigen Softwarepraktikum vonstatten geht. Dabei steht neben der Frage, welche Kompetenzen besonders gut erworben wurden, der Einfluss von Vorwissen/-kompetenz im Mittelpunkt der Abhandlung. Auf dieser Basis werden einige grundlegende und konkrete Verbesserungsvorschläge erarbeitet, wie der breite Kompetenzerwerb begünstigt wird, d.h. möglichst viele Studierende sich in einem breiten Kompetenzspektrum weiterentwickeln.
Das Gebiet der Netzsicherheit ist ein schwer zu lehrendes und mühsam zu lernendes Fach in der Informatikausbildung. Dies hat verschiedene Gründe, z.B. erfordert es Fachkenntnis, die jenseits von bunten Bildern zu vermitteln ist und sich dabei mit geringer Halbwertszeit weiterentwickelt. Echte Bedrohungsszenarien müssen unter Laborbedingungen nachgestellt werden, und der Umgang mit den Sicherheitswerkzeugen ist sehr komplex. Auf der einen Seite muss das System konzeptionell verstanden werden und auf der anderen Seite sind viele Details in der Konfiguration von Firewalls, Netz-Komponenten und –Werkzeugen für klassische Prüfungssituationen in der Ausbildung anzuwenden. Mit NetS-X (Network Security Experience) stellen wir einen laufenden Prototyp einer e-learning Plattform vor, mit der ein weiter Bereich von Sicherheitsszenarien vermittelt werden kann. Dabei wird der Lernende in einem Spielsystem mit Situationen konfrontiert, die er in einer echten, auf Linux basierenden typischen IT-Infrastruktur eines Unternehmens beherrschen muss. Die sicherheitsrelevanten Aktivitäten des Lernenden, z.B. der Einsatz von Monitor-Werkzeugen oder die Konfiguration von Netz-Komponenten werden dabei nicht simuliert, sondern real durchgeführt und durch Prozesse des Spielsystems beobachtet und bewertet. Autorenwerkzeuge ermöglichen den Lehrenden und Spielern, selber neue Spielsituationen, Sicherheitsszenarien oder Wissenskomponenten in das System zu integrieren.
Die gelungene Durchführung einer Vorlesung „Informatik I – Einführung in die Programmierung“ ist schwierig, trotz einer Vielfalt existierender Materialien und erprobter didaktischer Methoden. Gerade aufgrund dieser vielfältigen Auswahl hat sich bisher noch kein robustes Konzept durchgesetzt, das unabhängig von den Durchführenden eine hohe Erfolgsquote garantiert. An den Universitäten Tübingen und Freiburg wurde die Informatik I aus den gleichen Lehrmaterialien und unter ähnlichen Bedingungen durchgeführt, um das verwendete Konzept auf Robustheit zu überprüfen. Die Grundlage der Vorlesung bildet ein systematischer Ansatz zum Erlernen des Programmierens, der von der PLTGruppe in USA entwickelt worden ist. Hinzu kommen neue Ansätze zur Betreuung, insbesondere das Betreute Programmieren, bei dem die Studierenden eine solide Basis für ihre Programmierfähigkeiten entwickeln. Der vorliegende Bericht beschreibt hierbei gesammelte Erfahrungen, erläutert die Entwicklung der Unterrichtsmethodik und der Inhaltsauswahl im Vergleich zu vorangegangenen Vorlesungen und präsentiert Daten zum Erfolg der Vorlesung.
Biographisches Lernen betont insbesondere die Rolle individueller biographischer Erfahrungen und deren Auswirkungen auf Selbstbild, Weltbild und Verhaltensmuster. Schlagwortartig kann diese Perspektive als Unterschied zwischen ‚Informatik lernen‘ und ‚Informatiker/in werden‘ beschrieben werden. Im Artikel wird die Perspektive des Biographischen Lernens an Beispielen aus der Informatik skizziert. Biographisches Lernen ist in der Informatik zunächst aus rein pragmatischen Gründen bedeutsam. Der rasche Wandel der Informationstechnologien im Alltag verändert Erfahrungshintergründe der Studierenden (bzw. Schülerinnen und Schüler). Dementsprechend verändern sich Erwartungen, Interessen, Vorkenntnisse, generelle Einstellungen oder auch ganz banal die ‚IT-Ausstattung‘ der Lernenden.
Game-based Learning
(2009)
Game-based Learning und Edutainment sind aktuelle Schlagworte im Bereich der Hochschulausbildung. Zunächst verbindet man damit die Integration einer Spiel- und Spaßkultur in die herkömmlichen Lehrveranstaltungen wie Vorlesungen, Übungen, Praktika und Seminare. Die nachfolgenden Ausführungen gehen einer genaueren Begriffsanalyse nach und untersuchen, ob Game-based Learning und Edutainment tatsächlich neuartige Unterrichtsformen erfordern oder neue didaktische Überlegungen in bestehendes Unterrichtsgeschehen bringen – oder ob es nicht doch an einigen Stellen „alter Wein in neuen Schläuchen“ ist.
Medi@Thing
(2009)
In vielen Bildungsbereichen verschieben sich gegenwärtig die Akzente von einer qualifikationsorientierten zu einer stärker kompetenzorientierten Ausbildung. Der Begriff der Kompetenz zielt dabei darauf ab, das Aneignen von Wissen auf Vorrat zugunsten des Erwerbs allgemeiner Kompetenzen beispielsweise zur eigenständigen Aneignung von Wissen zu verschieben. Schlüsselqualifikationen geraten dabei zunehmend auch für die Ausbildung von Ingenieuren und Informatikern ins Blickfeld. Der kooperative und erwägende Umgang mit Wissensvielfalt wird in einer Informationsgesellschaft mit ihrer schnellen und verteilten Aufbereitung von Wissen zur Herausforderung. Der Beitrag skizziert die damit verbundenen Anforderungen und stellt mit dem Konzept des Medi@Thing einen Ansatz vor, der die Umsetzung solcher Anforderungen im Rahmen der universitären Informatikausbildung ermöglicht. Ein zentrales Moment dieses Ansatzes ist die ko-aktive Wissensarbeit in virtuellen Räumen. Erste Erfahrungen zeigen, dass das Konzept von Studierenden angenommen wird. Es wird jedoch auch deutlich, dass für das Gelingen bestimmte organisatorische und technische Randbedingungen zu beachten sind.
Thema des Workshops waren alle Fragen, die sich der Vermittlung von Informatikgegenständen im Hochschulbereich widmen. Dazu gehören u.a.: - fachdidaktische Konzepte der Vermittlung einzelner Informatikgegenstände - methodische Lösungen, wie spezielle Lehr- und Lernformen, Durchführungskonzepte - Studienkonzepte und Curricula, insbesondere im Zusammenhang mit Bachelor- und Masterstudiengängen - E-Learning-Ansätze, wenn sie ein erkennbares didaktisches Konzept verfolgen empirische Ergebnisse und Vergleichsstudien. Die Fachtagung widmete sich ausgewählten Fragestellungen dieses Themenkomplexes, die durch Vorträge ausgewiesener Experten, durch eingereichte Beiträge und durch eine Präsentation intensiv behandelt wurden.
Aktuelle Softwaresysteme erlauben die verteilte Authentifizierung von Benutzern über Ver-zeichnisdienste, die sowohl im Intranet als auch im Extranet liegen und die über Domänen-grenzen hinweg die Kooperation mit Partnern ermöglichen. Der nächste Schritt ist es nun, die Autorisierung ebenfalls aus der lokalen Anwendung auszulagern und diese extern durchzu-führen – vorzugsweise unter dem Einfluss der Authentifizierungspartner. Basierend auf der Analyse des State-of-the-Art wird in dieser Arbeit ein Framework vorges-tellt, das die verteilte Autorisierung von ADFS (Active Directory Federation Services) authenti-fizierten Benutzern auf Basis ihrer Gruppen oder ihrer persönlichen Identität ermöglicht. Es wird eine prototypische Implementation mit Diensten entwickelt, die für authentifizierte Be-nutzer Autorisierungsanfragen extern delegieren, sowie ein Dienst, der diese Autorisierungs-anfragen verarbeitet. Zusätzlich zeigt die Arbeit eine Integration dieses Autorisierungs-Frameworks in das .NET Framework, um die praxistaugliche Verwendbarkeit in einer aktuel-len Entwicklungsumgebung zu demonstrieren. Abschließend wird ein Ausblick auf weitere Fragestellungen und Folgearbeiten gegeben.