sebadorn.de

Onlinetest in C

Der war heute. Eine abschließende Bestätigung, dass wir die Programmier­sprache C in ihren Grundzügen beherrschen. Beginn war die erste Stunde, wo alle normalerweise erst zur zweiten hätten. Aber die Rechnerräume mussten eben frei sein. Es gab drei Aufgaben. Der zu verwendene Editor war Emacs und man durfte in den PDFs der Vorlesung lesen. 90 Minuten Zeit.

Aufgaben

  1. Ein Lehrer gibt Noten ein. Die Ausgabe soll die Anzahl jeder Note angeben.
    Schwierigkeit: Leicht | Punkte: 9
  2. Zahlen in einer einfachen Liste speichern; jede Zahl nur einmal. Danach ausgeben und jedes weitere Auftreten einer Zahl in eckige Klammern setzen. Speicher musste selbst verwaltet werden – malloc() und free().
    Schwierigkeit: Mittel | Punkte: 9
  3. Ein Satz wird von der Eingabe gelesen, in dem einige Hauptwörter spiegelverkehrt geschrieben sind. Nun, gib den Satz richtig aus!
    Schwierigkeit: Mittel/Schwer | Punkte: 9

Beispiele

  1. Eingabe: 4 6 2 2 3 1 3
    Ausgabe: Eins: 1 mal. Zwei: 2 mal. Drei: 2 mal …
  2. Eingabe: 2 0 1 1 2 120
    Ausgabe: 2 0 1 [1] [2] 120
  3. Eingabe: Ich heiße nelutoN und habe tsruD.
    Ausgabe: Ich heiße Notulen und habe Durst.

Das lief auch ganz wunderbar für mich. Das Thema C ist damit abgeschlossen und wir winken dem unbequemen Emacs Aufwiedersehen. Ab Freitag ist Python der neue Hype in Proggen3. Onlinetest und Gruppenprojekt inbegriffen.



Es gab auf alle drei Aufgaben gleich viele Punkte …


Klausurenphase – 1/6

Auch Fetthenne genannt. Als vorhin ein Vogel vorbeihüpfte, haben die Tentakel ihn sich gekrallt. Später muss ich noch die Knochenreste wegräumen.
Picture unrelated (Tentakel-Pflanze from Outer Space)

Letzte Woche Montag war der sogenannte Onlinetest in Proggen2 (die faule Abkürzung für „Programmieren 2“). Dabei hat jeder Teilnehmer 90 Minuten Zeit die gegebenen Aufgaben zu bearbeiten – will heißen: Am Rechner in Java zu coden. Wir sollten ein Programm mit grafischer Oberfläche schreiben, das ein bis zehn Kreise im Fenster hinundherdotzen lässt (Threads und AWT). Billardtisch von oben gesehen, zur besseren Vorstellung. War vorher sehr nervös mit leichtem Magendrücken, lief aber fast wie im Schnürchen.

Gestern ging dann die schriftliche Klausur in Proggen2 über die Bühne. Dicker Aufgabenkatalog, Fehler gemacht und zwei Aufgaben nicht beantworten können. A-B-E-R das macht ja nichts, weil es einen 10-Punkte-Puffer gibt und es so viele Aufgaben waren. Bestanden, behaupte ich.

Blog posts sind in nächster Zeit wohl eher eine Rarität. Obwohl ich noch mindestens drei Serien, einen Film und eine Software habe, zu denen ich etwas schreiben möchte. Dummerweise habe ich mir auch in den Kopf gesetzt, mein CMS endlich wieder in Angriff zu nehmen.


Mittendrin

Zum Studium ein kleiner Zwischenstand. Für all jene, die meinen Blog besuchen, obwohl sie sich nicht wirklich für Anime interessieren.

In Gestaltung bin ich Mitglied einer dreiköpfigen Gruppe mit dem Ziel, für das Modehaus Cromartie einen Webauftritt zu gestalten, nebenher ein CD festzulegen und unabhängig vom Modehaus das überladene Interface eines umfangreichen Onlineservices benutzerfreundlich neuzugestalten. Mit allem sind wir etwas hintendran. Die Szenarien sind fiktiv, die Arbeiten wird es nie in freier Wildbahn zu bestaunen geben. Theoretisch macht es auch Spaß.

BWL bringt mich um. Langsam und von innen heraus. Mir graut es beim Gedanken, für die Klausur den Kram nochmal durchgehen zu müssen.

Dafür ist Recht sehr entspannt. Unsere Dozentin, selbst praktizierende Anwältin, erzählt von ihren Fällen und erklärt die Themen ohne große Paragraphenreiterei. Aber es schimmert durch (na, „strahlt hell“ wäre passender), dass man als Anwalt lernen muss sein Gewissen abzuschalten.

Nach dem 1. Semester ist Proggen 2 plötzlich einfacher; wobei OOP auch erst verstanden sein will. Das neue Aussiebfach heißt ADS – Algorithmen und Datenstrukturen. Und da sind wir schon wieder an einer bewerteten Abgabe dran. Die haben diesen süßlichen Verzweiflungsfaktor.


7/7 – Programmieren

Yeeha, letzte Klausur geschafft! Jetzt kann ich den Rest der vorlesungsfreien Zeit genießen. Bis Montag, wenn es mit dem 2. Semester weitergeht.

Zur Prüfung bleibt zu sagen, dass sie schwer war und die Zeit nur knapp bemessen. Ich hab die ersten Aufgaben erledigt und dann hieß es, ich solle ein Programm für dies-und-jenes schreiben. Gut, dachte ich mir, das machste am Schluss und hakst erst einmal schnell die weniger aufwendigen Aufgaben ab. Also weitergeblättert und geblättert und bemerkt, dass alle Aufgaben nur noch so waren.

Nachtrag 13/03/09:
Kai hat die Klausur noch einmal rekonstruiert inklusive den meisten Lösungen.


Programmieren

Hausaufgaben

Wir werden Hausaufgaben erhalten – haben die erste bereits erhalten – die es innerhalb einer Woche zu erledigen gilt.

Wunderbar gelöst: +2 Punkte.
So lala: +1 Punkt.
Nicht abgegeben: -1 Punkt.
Bestmögliches Ergebnis: 20 Punkte.

Die ersten Aufgaben drehen sich um das Umrechnen von Zahlensystemen. Also z.B. vom alltagsbekannten Dezimalsystem ins Binärsystem. Dann gibt es noch Besonderheiten zu beachten bei Vorzeichen und die etwas umständlicheren Gleitkommazahlen.

Geben Sie die Darstellung der Zahlen 2,718 und 0,1 als 32 Bit IEEE Floating Point Zahl an.

Am Anfang habe ich nichts davon verstanden. Zettel in der Hand und: „Hä?“ ^^ Das Skript der Vorlesung konnte mir nicht wirklich helfen. Aber Wikipedia weiß Rat! Schritt-für-Schritt-Anleitung mit Beispiel. Dazu noch Onlinetools anderer Seiten zum Überprüfen der Lösung.

Links

Wikipedia: Gleitkommazahlen
Umrechner für beliebige Zahlensysteme: http://www.arndt-bruenner.de
Umrechner für IEEE 754 (Floating Point): http://www.h-schmidt.net

Arbeiten am Rechner

Im Programmierenkurs werden wir auschließlich mit dem Betriebssystem Fedora arbeiten. Nicht groß mit Terminal und solche Geschichten. Einfach nur auf dieser (KDE-)Oberfläche. Also keine Linux-Kenntnisse von Nöten. Zum genaueren Anschauen lasse ich Fedora zu Hause auch mal laufen. Aber nur in einer virtuellen Maschine. Den Stress mache ich mir nicht. Ôo

Zum Schluss bleibt noch zu sagen:

public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello World!");
  }
}

Unser Einstieg in Java. Zu Beginn noch mit Texteditor und Konsole. Später mit Eclipse. Das erste Programm war: „Hello World!“ Was auch sonst. ^^

Links

Fedora: http://fedoraproject.org
VirtualBox: http://www.virtualbox.de
Java Development Kit: http://java.sun.com/javase/downloads/
Eclipse: http://www.eclipse.org