Die Taschenrechnerproblematik

Liebe Leute,
es wurde zwar bereits unzählige Male in den diversen Studienbriefen und so weiter erläutert, aber man kann es wohl nicht oft genug sagen: Ihr solltet euch auf die Taschenrechner beschränken, welche von der Fernuni bzw. der Fakultät Wiwi vorgegeben werden, am besten sogar einer der drei explizit genannten Rechner (Casio fx86,Texas Instruments TI 30 X II,Sharp EL 531)

Im Studienservice liest man zahlreiche Beiträge zum Thema, wo die Studenten trotz Beendigung der Klausur durchgefallen sind, weil ein Buchstabe an der Modellbezeichnung falsch war. Zwar hageln diesbezüglich Widersprüche beim Prüfungsamt ein (sogar ein Rechtsanwalt kämpft mittlerweile für die Ansprüche der Stundenten), allerdings brauch man sich ja gar nicht erst in Schwierigkeiten bringen.

Für das Statistikmodul soll laut Aussage eines Kommilitonen der Casio fx86 der beste Rechner sein. Auf Amazon hat er 4,5 von 5 Punkte.

Nicht vergessen: Rechnung für die Steuer aufbewahren

statistisch gesehen ist Statistik nichts für mich

Ich mag Statistik nicht, dies habe ich ja schon mehrfach hier im Blog bekannt gegeben.  Ich hatte in der Schuhe auch nie wirklich etwas damit zu tun, deswegen musste ich mir das Thema von der Pike auf selber näher bringen.

Dank Markus Kommentar bin ich auf das Buch „keine Panik vor Statistik“ aufmerksam geworden, welches mir die Thematik ein wenig besser näher gebracht hat. Die Fußnoten kann man sich getrost sparen, hier stehen meist nur pseudolustige Chauvi-Sprüche der beiden (Dres(!)) Autoren. Ansonsten ist es aber verständlich geschrieben, allerdings schrecken mich die ganzen Formeln ab. Ich denke, um die Grundlagen zu verstehen war es aber perfekt. Nun werde ich noch das Fernuni-Repetitorium Skript durchackern, da hier der Stoff nochmal speziell für unsere Bildungseinrichtung zugeschnitten ist. Danach hilft wohl nur noch „üben, üben, üben“. Die Klausurvorbereitungen für Mathe und Statistik starten allerdings frühestens erst am 23. Februar, da ich am 22. erstmal Einführung OOP hinter mich bringe. Hier läuft es erfreulicherweise sehr gut (ich berichtete).

Sofern ihr noch Lerntipps für Statistik habt, immer her damit. Falls ihr noch Altklausuren zum Lernen benötigt, habe ich mal wieder was für euch vorbereitet: https://www.dropbox.com/sh/uy2jxzsqbd31qns/–ihi4RbXN

Java

Ich bin mit dem Lernen für die objektorientierte Programmierung durch. Ich glaube, weil ich mich immer schon für Software Entwicklung begeistert habe, fiel mir das Fach auch sehr einfach. Meine Kenntnisse rühren zwar aus einem alten C Buch von Data Becker, welches ich mir mal in den 90ern geholt habe, sie waren aber erstaunlich schnell wieder präsent.

Ich habe glaube ich auch aus diesem Grund überhaupt mit dem Studium angefangen. Viele werden sich nun fragen, warum es dann Wirtschaftsinformatik statt der „normalen“ geworden ist. Die Gründe hierfür sind relativ einfach: ich arbeite aktuell in einem kaufmännischen Beruf und bringe somit schon hier Vorwissen mit. Als Quereinsteiger in die IT hat man es dann sicherlich leichter, als wenn ich dann als frisch gebackener Informatik-Bachelor mit 33 Jahren und 0 Berufserfahrung von vorne anfangen muss. Der zweite Grund hat auch etwas mit Zeit zu tun und zwar sind für Wirtschaftsinformatik im Teilzeitstundenplan nur neun statt 12 Semester vorgesehen. 4,5 Jahre sehen von Beginn an weitaus schaffbarer aus als 6 Jahre, allerdings werde ich auch aufgrund der ersten vergeigten Klausur mindestens 5 Jahre benötigen. Aber immerhin ist das dritte Semester bald vorbei 😉

Nun zurück zum eigentlichen Thema: Wisst ihr, ob dass mit der Softwareentwicklung bzw. Programmierung sich weiter im Studium fortsetzt bzw. ob man im Wahlpflichtbereich hier seine Schwerpunkte setzen kann? Ich würde die Thematik gerne vertiefen (bevorzugt natürlich mit Anrechnung als Creditpoints :))

aktuelle Lerntipps zum Thema Programmierung:
Reddit Beitrag
http://www.codingbat.org/java

PS. Ich scheine die Java Antwortmaschine zu sein, die aktuelle Selbsttestaufgabe habe ich mit 92 % geschafft, wobei ich die Implementierungsaufgaben mit voller Punktzahl gerockt habe.

Die Java Antwortmaschine

Ihr habt die Seite sicherlich schon gefunden, da diese in Google bei Suche nach Lösungen von für Programmierprobleme in Java (und anderen Sprachen) als erste erscheint: stackoverflow.com Falls nicht: Seht euch mal dort um, viele hilfreiche Tipps und Erklärungen, warum man etwas wie programmiert. Statusupdate zum anderen Modul: Es läuft schleppend, aber es läuft. Lineare […]

Lösung zur aktuellen Selbsttestaufgabe *Update*

Ein und Ausgabebeispiel (leider schlägt ein JUnit-Test fehlen, warum ka)

import java.io.*;
import java.util.*;

public class DateiSortierer {
public StringListe einlesen(String dateiname) throws DateiNichtGefundenAusnahme,IOException {
StringListe liste=new StringListe(); // Liste, welcher sp?ter Daten aus Datei aufnimmt
try {
BufferedReader br=new BufferedReader(new FileReader(dateiname));
try {
String line=br.readLine(); //Hilfsvaribale, welche erste Zeile ausliest
while(line!=null) {
liste.add(line); //solange Zeilen da, Liste zeilenweise verl?ngern
line=br.readLine();
}
return liste;
}

finally {
br.close();
}
}
catch (FileNotFoundException e) {
throw new DateiNichtGefundenAusnahme(dateiname);
}

catch (Exception e) {
}

return null;
}

public StringListe sortiere(StringListe unsortierteListe) throws IllegalArgumentException,NullPointerException {
String t;
try {
for(int i=0; i<unsortierteListe.size(); i++) { //stinknormaler Bubblesort
for(int j=0; j<unsortierteListe.size()-1-i; j++) { if(unsortierteListe.get(j).compareTo(unsortierteListe.get(j+1))>0) {
t=unsortierteListe.get(j);
unsortierteListe.set(j,unsortierteListe.get(j+1));
unsortierteListe.set(j+1,t);
}
}
}
}
catch (NullPointerException ex) {
throw new IllegalArgumentException(„null ist ein ungueltiges Argument.“);
}
return unsortierteListe;
}

public void gebeAus(OutputStream out, StringListe zeilen) {
String br = „n“; //Steuerzeichen f?r Zeilenumbruch
try {
while(!zeilen.isEmpty()) {
out.write(zeilen.getFirst().getBytes()); //Zeile in Outputstream schreiben
zeilen.removeFirst(); // anschlie?end l?schen
out.write(br.getBytes()); //Zeilenumbruch
}
}
catch (Exception e) {
System.out.println(„Fehler.“);
}
}

public void sortiereDatei(String dateiname) {
DateiSortierer d=new DateiSortierer();
try {
StringListe input=d.sortiere(d.einlesen(dateiname));
for(int i=0;i<input.size();i++) {
System.out.println(input.get(i));
}
}
catch (DateiNichtGefundenAusnahme e) {
System.err.println(„Die Datei „+dateiname+“ konnte nicht gefunden werden.“);
}
catch (IOException e) {
System.err.println(dateiname.trim()); // nach 30 Minuten testen wollte JUnit immernoch nicht das gew?nschte
} // Ergebnis anzeigen, also hab ich es nun so gelassen

}

}

class DateiNichtGefundenAusnahme extends Exception {
String dateiname=null;

public DateiNichtGefundenAusnahme(String exception) {
super(„Datei wurde nicht gefunden.“);
this.dateiname=exception;
}

public String liefereDateinamen() {
return this.dateiname;
}

}

Baumaufgabe, welche größtenteils auf die JUnit Test optimiert wurde.
public class Baum {
Knoten head;

public Baum(Knoten wurzel) {
this.head=wurzel;
}

public int werteAus() {
return liefereWurzel().werteAus();
}

public String toString() {
return this.liefereWurzel().toString();
}

Knoten liefereWurzel() {
return this.head;
}

static Baum erzeugeBeispielBaum(int a,int b,int c,int d,int e) {
Knoten zahl1=new IntKnoten(a);
Knoten zahl2=new IntKnoten(b);
Knoten zahl3=new IntKnoten(c);
Knoten zahl4=new IntKnoten(d);
Knoten zahl5=new IntKnoten(e);

Knoten erg=new AddKnoten(new MultKnoten(zahl1, zahl2), new DivKnoten(zahl3, new SubKnoten(zahl4,zahl5)));

Baum ergebnis=new Baum(erg);

return ergebnis;
}

}

interface Knoten {
int werteAus();
String toString();

}

// Die restlichen Klassen:
// (Diese Klassen duerfen nicht public als Sichtbarkeit haben!)

class IntKnoten implements Knoten {
int zahl;

IntKnoten(int wert) {
zahl=wert;
}

public int werteAus() {
return zahl;
}

public String toString() {
return Integer.toString(zahl);
}

}

class AddKnoten extends BinaerOperatorKnoten{

AddKnoten(Knoten erster, Knoten zweiter) {
super(erster,zweiter);
}

int berechne() {
return erster.werteAus()+zweiter.werteAus();
}
public String toString() {
return „(„+this.liefereErstenOperand().toString()+“ + „+this.liefereZweitenOperand()+“)“;
}

}

class SubKnoten extends BinaerOperatorKnoten {

SubKnoten(Knoten erster, Knoten zweiter) {
super(erster,zweiter);
}
int berechne() {
return erster.werteAus()-zweiter.werteAus();
}
public String toString() {
return „(„+this.liefereErstenOperand().toString()+“ – „+this.liefereZweitenOperand()+“)“;
}
}

class MultKnoten extends BinaerOperatorKnoten{

MultKnoten(Knoten erster, Knoten zweiter) {
super(erster,zweiter);

}
int berechne() {
return erster.werteAus()*zweiter.werteAus();
}
public String toString() {
return „(„+this.liefereErstenOperand().toString()+“ * „+this.liefereZweitenOperand()+“)“;
}
}

class DivKnoten extends BinaerOperatorKnoten {

DivKnoten(Knoten erster, Knoten zweiter) {
super(erster,zweiter);
}

int berechne() {
try {
return erster.werteAus()/zweiter.werteAus();
}
catch(ArithmeticException e) {
throw new ArithmeticException(„Division durch 0!“);
}
}

public String toString() {
return „(„+this.liefereErstenOperand().toString()+“ / „+this.liefereZweitenOperand()+“)“;
}
}

abstract class BinaerOperatorKnoten implements Knoten {
Knoten erster,zweiter;

BinaerOperatorKnoten(Knoten erster, Knoten zweiter) {
try {
this.erster=erster;
this.zweiter=zweiter;
if(this.erster==null || this.zweiter==null) {
throw new IllegalArgumentException();
}
}
catch (IllegalArgumentException e) {
throw new IllegalArgumentException(„Mindestens ein Knoten ist null.“);
}

}

Knoten liefereErstenOperand() {
return this.erster;
}

Knoten liefereZweitenOperand() {
return this.zweiter;
}

public int werteAus() {
return this.berechne();
}

int berechne (){return 0;} //Helfermethode, welche in den abgeleiteten Klasse ?berschrieben wird

}

*Update* habe mal die Projekte an diesen Beitrag angehangen. Bitte vergesst nicht, in Eclipse die JUnit zu den Projekte hinzuzufügen 😉

https://www.dropbox.com/s/ieluki2pzupl752/Baum.zip
https://www.dropbox.com/s/xvrjd1z68js03vf/Sortierer.zip

Design

Ich hoffe, ihr habt das neue Theme bemerkt. Das andere hatte mir nach der Wiederbelebung nicht gefallen. Ich denke, ich konnte es auf das notwendigste reduzieren. Viel Spaß dann auch weiterhin. Feedback gern als Kommentar Der nächste Beitrag ist garantiert auch wieder nicht mehr „Meta“ und geht über das Studium 😉

Procrastination my ass

Inspiriert von meinem Kollegen, dem netten Herrn Nebenbeistudent, wurde ich zum Schreiben eines neues Eintrags animiert (übrigens ist die Inspiration an mehreren Stellen in diesem Blog wie z.B. im Titel zu finden  :D).Es geht um den schon etwas betagteren Artikel „Die Unlust des Beginnens“.

Das selbe Phänomen beobachte ich an mir: Ich nehme mir grundsätzlich immer mindestens eine Stunde Zeit zum lernen. In den ersten 10 Minuten besuche ich erstmal so meine Lieblingswebsites und bleibe dann doch wieder 20 Minuten dabei, dann wird Kaffee gemacht und dann möchte man eigentlich anfangen. Aber man könnte ja auch noch ein Eintrag im Blog über die Prokrastination schreiben.  So wird aus einer veranschlagten Lernstunde meist 15 Minuten und weniger, in welcher man effektiv etwas für die Fernuni macht.

Auf der anderen Seite denke ich mir aber: Es sind bis zur ersten Klausur dieses Semester noch 1,5 Monate und es sitzt schon fast alles für dieses Modul.  Also darf ich ruhig auch ein wenig den „ausserschulischen“ Aktivitäten frönen.

Warum ich das nun geschrieben habe? Damit ich für heute endlich mit dem chillen aufhören und die letzte Einsendeaufgabe objektorientierte Programmierung beginnen/fertigstellen kann. Falls nichts dazwischen kommt:)

 

 

Das(!) Blog bräuchte auch mal ein ordentliches Design… Aber dafür ist dann nach den Klausuren Zeit.

 

Wie ich für die Fernuni lerne

Da ich hier so lange nichts mehr geschrieben hatte und sich seit meinem ersten Post sich einiges geändert hat, kommt nun ein etwas längeres Update:

Natürlich ist der erste Schritt beim Lernen die erste Sichtung des Materials aus Hagen. Dazu lese ich meist pro Modul die erste Kurseinheit. Hier kristallisiert sich meist schon raus, ob der Inhalt für mich ordentlich aufbereitet ist und ich mir sekundäre Lernhilfen sparen kann oder nicht. Dies funktionierte bisher bei mir nur bei den Grundzügen der Wirtschaftsinformatik, externes Rechnungswesen und Einführung in die objektorientierte Programmierung. 

Sofern mir die erste KE schon nicht gefällt, schau ich mich am doch sehr reichhaltigen Markt im Bereich Fernstudium um, wo ich noch alternative Quellen anzapfen kann. Meist bleiben dann die Unterlagen aus Hagen komplett auf der Strecke. Die BWL Unterlagen liegen komplett unberührt in meinem Archiv/Keller :).

Sehr gut fand ich bisher die Videovorlesungen von Lecturio (hier speziell die VWL-Videos von Herrn Hellmann). Dann sind noch die Skripte in Verbindung mit den Videos von Sönke Semmelhaak von Fernuni-Repetitorium immer eine Empfehlung wert, obwohl ich es hier an der ein oder anderen Stelle etwas zu knapp finde. Die Inhalte sind hier etwas zu stark auf die Klausuren getrimmt, so dass manchmal Inhalte unerklärt und somit unverstanden bleiben. Man kann zwar Fragen per Mail stellen, allerdings dauert die Beantwortung zu lange. Im Großen und Ganzen findet man aber ein gutes Konzentrat, an welcher man die Klausurvorbereitung aufbauen kann.

Wie man schon lesen kann, bin ich begeistert von audiovisuellen Lerneinheiten, somit nutze ich natürlich als alter Applefanboy die iTunes U Inhalte. Hier kann ich aktuell ergänzend zu den KEs die Java-Kurse der RWTH Aachen empfehlen. Diese bieten den Mehrwert, dass innerhalb der Vorlesungen Studenten intelligente Fragen eingeworfen haben und diverse offene Fragen für mich klären konnten.

Ich habe während der Pendelzeiten pro Tag ca. eine Stunde Zeit, die ich aktiv für das Studium nutzen kann. Dies beschränkt sich allerdings nur auf die Informationsaufnahme (lesen ;)), da markieren mir nichts bringt und schreiben zu umständlich ist. Nur Lesezeichen setze ich bei wichtigen Stellen ab und zu. Ich schotte mich von Umweltgeräuschen durch einen endlosloop einer mp3 mit weißem bzw. braunem Rauschen ab (echter Geheimtipp).

Ich höre mir auch sehr gerne (Audio-)Podcasts an, da diese Art der Berieselung tatsächlich fast überall genutzt werden kann (Fußweg, Fitnessstudio, Hausarbeit…).  Allerdings fehlen hier noch die passenden Inhalte, die auf dieses spezielle Format konfektioniert sind: iTunes U Videovorlesungen bauen meist auf Slides auf, welche elementar für das Verständnis sind. Stimmsynthese der Kurseinheiten sowie der Sekundärliteratur nach MP3 hat noch nicht die annehmbare Qualität erreicht, um tatsächlich eine ernsthafte Alternative zu sein.

Lustigerweise nutze ich trotz meiner IT-Affinität die Angebote der Fernuni wie das moodle kaum bzw. wenn dort kein Online-Mentor unterwegs ist sogar gar nicht. An dieser Stelle möchte ich trotzdem noch ein Lob an Herrn Hassenpflug aus dem BWL I Modul loswerden, da er sich jedem Problem angenommen hat. Zusätzlich war ich auch bei ihm in den Präsenzmentoriaten in Bonn zur Klausurvorbereitung. Trotz der katastrophalen Klausur ist es bei mir noch eine 3.0 geworden 🙂

Die Onlineübungsseiten nutze ich hingegen sehr intensiv und versuche auch alle geforderten Aufgaben (Selbsttest und EA) durchzuführen. Durch Anwendung bzw. durch Transferleistung festigt sich das explizite zum impliziten Wissen. Hier muss ich allerdings auch die Meinung meines Kommilitonen Markus teilen: Die Terminierung der EAs sind echt dumm gemacht, die Fernuni sollte einfach sagen, dass man spätestens 14 Tage vor der Klausur die EA bearbeitet haben muss, statt mitten im Semester jeweils 2 Stück aus den verschiedenen Modulen gemacht zu haben. Ich kenne viele (mich inklusive), welche erst das eine Modul ganz lernen, danach das andere und die letzten 6 Wochen zur Klausurvorbereitung nutzen. Nach dem halben Semester zwei halbe Module gelernt zu haben widerstrebt mir.

So, dass war es dann erstmal für diese Woche, viel Spaß bei der Klausurvorbereitung.