Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

Markus

the one and only Unterstrich!

  • "Markus" started this thread

Posts: 2,571

Date of registration: Oct 9th 2003

1

Wednesday, November 5th 2003, 1:09am

informathematik

hey, wenn wir hier fertig sind, sind wir alle informathematiker!!!! Iss doch goil, ne!!!

Nee, will mich ja gar nid so über den Matheanteil aufregen, ist ja auch ok, ich finde es nur scheisse, dass die Vorraussetzen, dass man mit f((x,y))=(1,x+y) rechnen kann, weil so wie ich mich umgehört habe, hatte das nich keiner, nicht in irgendwelchen vorkursen noch sonst wo.
Keiner heißt evt. auch die wenigsten!
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

This post has been edited 1 times, last edit by "Markus" (Nov 5th 2003, 1:10am)


Lucky

Erfahrener Schreiberling

  • "Lucky" is male

Posts: 449

Date of registration: Oct 17th 2003

Location: Dresden

Occupation: Um ein bißchen mehr Ahnung zu haben als andere

2

Wednesday, November 5th 2003, 1:37am

aber da gibt es n Gegenbeispiel. wenn du 2,-2 einsetzt bekommt du das gleche, als wenn man -2,2 einsetzt. Also zwei unterschiedliche Werte aus der Menge A durch die Funktion gejagt ergeben jeweils das gleiche in B. Also ist es NICHT bijektiv und somit nicht umkehrbar!
no risk no fun, no brain no pain nor gain

denial

Erfahrener Schreiberling

  • "denial" is male

Posts: 394

Date of registration: Feb 18th 2003

Location: Göttingen

Occupation: Linux Coder (ex Mathe SR Inf Student)

3

Wednesday, November 5th 2003, 8:50am

RE: informathematik

Quoted

Original von Markus
hey, wenn wir hier fertig sind, sind wir alle informathematiker!!!! Iss doch goil, ne!!!


Nee, dazu hättest du Mathematik Studienrichtung oder Nebenfach Informatik auf Diplom wählen müssen.
Dann hättest du auch 8V+4Ü SWS Mathe im ersten Semester zzgl. Inf I, Prog I und ETec I.

Zu f((x,y)):=(1,x+y):
Was will man da groß erklären? Es wird kurz erklärt was ein Tupel und was eine Abbildung ist und dann ist gut. Das Ding ist etwas wo du zwei Zahlen reinsteckst und wo dann zwei Zahlen rauskommen, wobei die erste Zahl immer 1 ist und die Zweite die Summe der beiden übergebenen.
Wenn man im ersten Semester etwas beweisen soll, nimmt man sich die Definition und rechnet durch bis man sieht, daß sie stimmt.
Wenn man etwas widerleden soll, sucht man ein Gegenbeispiel.
(Es kann natürlich auch sein, daß du das wirklich ohne : gemeint hast und daß das dann zwei Gleichungen in zwei Unbekannten darstellt)

Markus

the one and only Unterstrich!

  • "Markus" started this thread

Posts: 2,571

Date of registration: Oct 9th 2003

4

Wednesday, November 5th 2003, 9:19am

Das war auch nur Scherzhaft gem,eint, dass ich dazu besser Mathe-Inf studiert haette ist mir klar ^^

Wie ich zeige, dass etwas nicht injektiv ist, ist klar, andersherum, wie ich zeige, dass es injektiv ist, angenommen ich habe eine bijektive Funktion, kannich nicht (kann ja nicht für jedes x-y-tupel testen). Ebenso nciht die surjektivität. Im rep. der höheren Mathematik macht man es auch nur mit Vorstellung, aber diese Tupe kann man sich ja nicht mehr so leicht abstrahieren.

@denial: Hm, das hilft mit sogar ein wenig bei der Vorstellung, thx ^^

Die Aufgaben sind f2,f3: R^2 -> R^2
f2((x,y))=(1,x+y) und f3((x,y))=(x+y,2x+3y)
untersuche nach bijektivität und surjektivität
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

cyber

Praktikant

  • "cyber" is male

Posts: 8

Date of registration: Oct 7th 2003

5

Wednesday, November 5th 2003, 9:58am

Kann da nur zustimmen. Ist ja ok dass wir Mathe können müssen, aber dass wir selbst in Programmieren 1 nur mathematische Probleme lösen finde ich doch etwas ätzend. Grade in den ersten Semestern hätte man doch etwas "normalere" Sprachen nehmen können und Scheme später wenn sonst nicht mehr soviel Mathe drankommt (quasi um im Training zu bleiben).

Zur Aufgabe 2c: Beide Teilfunktionen nach nach dem Motto "z = x+y, t = 2x+3" aufschreiben, nach y auflösen und weitersehen was man machen kann (bleibt nicht viel aber wenn ich das jetzt auch noch schreiben würde wärs ja schon ne komplette Lösung). Haben auch mit 4 Mann eine halbe Ewigkeit an der Aufgabe gesessen bis wir den Ansatz hatten...

Lucky

Erfahrener Schreiberling

  • "Lucky" is male

Posts: 449

Date of registration: Oct 17th 2003

Location: Dresden

Occupation: Um ein bißchen mehr Ahnung zu haben als andere

6

Wednesday, November 5th 2003, 10:33am

Ähm, und selbst trotz allem, dass wir eine Umkehrfunktion gefunden haben, muss das keine Funktion sein. Und ich sehe keine Möglichkeit bei r² zu beweisen, ob es extremstellen bzw Monotonieverhalten in der Originalfunktion gibt. Geschweige denn wie ich sowas ableiten soll um Extremstellen aufzuzeigen!
no risk no fun, no brain no pain nor gain

Arne

ThI

  • "Arne" is male

Posts: 1,798

Date of registration: Oct 7th 2002

Location: Hannover :)

Occupation: Lecturer ThI

7

Wednesday, November 5th 2003, 11:52am

RE: informathematik

Quoted

Original von Markus
hey, wenn wir hier fertig sind, sind wir alle informathematiker!!!! Iss doch goil, ne!!!

Korrigiere: Elektromathematiker
SCNR
"NP - The class of dashed hopes and idle dreams." Complexity Zoo

This post has been edited 1 times, last edit by "Arne" (Nov 5th 2003, 11:53am)


  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

8

Wednesday, November 5th 2003, 10:18pm

Quoted

Original von Markus
Das war auch nur Scherzhaft gem,eint, dass ich dazu besser Mathe-Inf studiert haette ist mir klar ^^

Wie ich zeige, dass etwas nicht injektiv ist, ist klar, andersherum, wie ich zeige, dass es injektiv ist, angenommen ich habe eine bijektive Funktion, kannich nicht (kann ja nicht für jedes x-y-tupel testen). Ebenso nciht die surjektivität. Im rep. der höheren Mathematik macht man es auch nur mit Vorstellung, aber diese Tupe kann man sich ja nicht mehr so leicht abstrahieren.

Die Aufgaben sind f2,f3: R^2 -> R^2
f2((x,y))=(1,x+y) und f3((x,y))=(x+y,2x+3y)
untersuche nach bijektivität und surjektivität
Bei der ersten kann man Gegenbeispiele angeben (oder auch nicht, je nachdem wie die Bildmenge der Funktion definiert ist).

Bei der zweiten ist es etwas komplizierter. Injektivität zeigt man, indem man nachweist, daß es keine x1 <> x2 und y1 <> y2 gibt mit
f_3(x1, y1) = f_3(x2, y2).

Hier würde das zu folgenden Gleichungen führen:
x1 + y1 = x2 + y2 UND
2 * x1 + 3 * y1 = 2 * x2 + 3 * y2

Das kann man nun lösen und erhält ein entsprechendes Ergebnis.

Den Nachweis von Surjektivität führt man, indem man ein beliebiges Element der Bildmenge annimmt und nachweist, daß es dazu mindestens ein Original gibt.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

9

Wednesday, November 5th 2003, 10:21pm

Quoted

Original von cyber
Kann da nur zustimmen. Ist ja ok dass wir Mathe können müssen, aber dass wir selbst in Programmieren 1 nur mathematische Probleme lösen finde ich doch etwas ätzend. Grade in den ersten Semestern hätte man doch etwas "normalere" Sprachen nehmen können und Scheme später wenn sonst nicht mehr soviel Mathe drankommt (quasi um im Training zu bleiben).
Was sind denn "normalere" (und gut für die Lehre geeignete!) Sprachen?

Zum Thema Scheme kann ich nur mal wieder ein ganz altes (aber IMHO absolut treffendes) Zitat von Phil aus der Mottenkiste holen:

Quoted

Original von PhilRM
Wichtig ist bei Scheme vor allem, sich vor Augen zu führen, dass diese Sprache nicht mit Sprache á la C, Java und Pascal konkurriert.

Mit Scheme (bzw. LISP) löste bzw. löst man einfach ganz andere Probleme - dafür (und für Rekursionen der dritten Art :D) ein Gefühl zu bekommen macht den Unterschied. :)

Finding the right tool for the right purpose - Aufgabe des Informatikers.


Btw: Den hohen Matheanteil finde ich vollkommen in Ordnung, ja sogar nötig. Informatik ist nun einmal traditionell ein Teilgebiet der Mathematik. Mathematische Methoden sind das Handwerkszeug eines Informatikers.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

This post has been edited 2 times, last edit by "Joachim" (Nov 5th 2003, 10:25pm)


denial

Erfahrener Schreiberling

  • "denial" is male

Posts: 394

Date of registration: Feb 18th 2003

Location: Göttingen

Occupation: Linux Coder (ex Mathe SR Inf Student)

10

Thursday, November 6th 2003, 12:34am

Quoted

Original von Joachim
Was sind denn "normalere" (und gut für die Lehre geeignete!) Sprachen?


Es soll ja noch Leute geben die meinen HTML sei eine leicht zu erlernende Programmiersprache ;)

Ich persönlich bin ja für Assembler als Einsteigersprache. Da lernt man am besten kennen was ein Computer kann und was alles "syntaktischer Zucker" ist. Man lernt auch die Zusammenhänge zwischen Daten und den sie repräsentierenden Bytes im Speicher viel schneller. Z.Zt favorisiere ich in dieser Hinsicht den ARM.

Wenn man darauf aus ist eine Sprache zu wählen die fast keiner kann, könnte man Postscript nehmen. Ich wette die wenigsten haben schonmal in einer stackbasierenden Sprache programmiert. Schwer ist die auch nicht und bunte Bilder schafft man in einer Zeile Code.

Daß ab Prog 2 fast nur noch Java in der Vorlesungen verwandt wird, finde ich nicht so toll. OOP wird zwar immer bedeutender, aber Java hat mir zu viele Nachteile (Hat schonmal jemand die Destruktoren gesucht? Und die Performance...). Da wäre C++ besser.

Zu den Mathe Aufgaben:
Mein 2. LinA I Übungsblatt enthielt den Hinweis

Quoted

Es gilt (Vorlesung)
f injektiv <=> es gibt g : Y -> X mit g o f = id_X,
f surjektiv <=> es gibt g : Y -> X mit f o g = id_Y,
f bijektiv <=> es gibt g : Y -> X mit g o f = id_X und f o g = id_Y.

Davon sollte man die zweite Aussage aber noch beweisen.

Wenn man LinA I durch hat macht man diese Aufgaben indem man sich die Determinante der Matrizen dieser beiden Homomorphismen anguckt, also Ablesen und Kopfrechnen.

@Lucky: das ist Stoff von Analysis II

This post has been edited 1 times, last edit by "denial" (Nov 6th 2003, 12:40am)


  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

11

Thursday, November 6th 2003, 1:39am

Quoted

Original von denial

Quoted

Original von Joachim
Was sind denn "normalere" (und gut für die Lehre geeignete!) Sprachen?
Ich persönlich bin ja für Assembler als Einsteigersprache. Da lernt man am besten kennen was ein Computer kann und was alles "syntaktischer Zucker" ist. Man lernt auch die Zusammenhänge zwischen Daten und den sie repräsentierenden Bytes im Speicher viel schneller. Z.Zt favorisiere ich in dieser Hinsicht den ARM.
Das geht IMHO schon wieder zu stark in Richtung Technische Informatik. Die Zeiten der maschinennahen Programmierung sind nun einmal vorbei (bis auf einige Ausnahmen selbstverständlich) -- solche Relikte gehören zu Recht nicht in Anfängervorlesungen. Als vertiefenden Kurs (also als Wahlfach) finde ich das hingegen sinnvoll, da es genau wie Du sagst, sehr gute Einblicke in die Arbeitsweise von Computern vermittelt.

Wenn Du Wert auf Assember-ähnliche Sprachen legst, könnte man auch eine Vorlesung auf MIX aufbauen. Aber auch das ist nicht wirklich leicht verständlich. Wer schon einmal einen Blick in "The Art of Computer Programming" geworfen hat, wird nachvollziehen können, was ich meine.

Der große Vorteil von Scheme ist einfach, daß die Syntax wirklich minimal ist und auch sonst nur wenige verschiedene Sprachkonzepte verwendet werden. Und da es in Programmieren I viel mehr auf das Verstehen des Codes und weniger auf das Auswendiglernen von Befehlen und sonstigen Sprachkonstrukten ankommt, ist Scheme dafür IMHO eine recht gute Wahl. Natürlich ist es gewöhnungsbedürftig, aber eine gewisse Eleganz ist dieser Sprache nicht abzusprechen.

Quoted

Wenn man darauf aus ist eine Sprache zu wählen die fast keiner kann, könnte man Postscript nehmen. Ich wette die wenigsten haben schonmal in einer stackbasierenden Sprache programmiert. Schwer ist die auch nicht und bunte Bilder schafft man in einer Zeile Code.
Auch nicht wirklich praxisnah und ziemlich kompliziert. Zum einen ist Postscript nicht als Programmiersprache konzipert und zum anderen mangelt es einfach an der praktischen Relevanz. Zudem findet man zu Postscript auch nicht wirklich gute Literatur -- die Spezifikation ist zwar frei erhältlich (hab ich hier sogar als Buch im Regal stehen, weil ich damit vor dem Studium mal kurz zu tun hatte), aber eignet sich zum Lernen ganz und gar nicht. Mit TeX kann man prinzipiell auch programmieren. Aber man läßt es lieber.

Quoted

Daß ab Prog 2 fast nur noch Java in der Vorlesungen verwandt wird, finde ich nicht so toll. OOP wird zwar immer bedeutender, aber Java hat mir zu viele Nachteile (Hat schonmal jemand die Destruktoren gesucht? Und die Performance...). Da wäre C++ besser.
Es ist ja gerade ein Design Goal, daß so etwas wie Destruktoren nicht benötigt werden. Auf diese Weise lassen sich Speicherlecks (die in C++ schon fast zum Alltag gehören) fast völlig vermeiden. Auch das Fehlen von Zeigern ist eine recht angenehme Sache. Natürlich lassen sich daher in Java einige "Optimierungstricks" nicht anwenden, aber auch die Zeiten derartiger Optimierungen neigen sich dem Ende. Die Hardware ist heutzutage einfach leistungsfähig genug. Daher kann man bei der Wahl der für ein bestimmtes Problem geeigneten Programmiersprache ohne Bauchschmerzen auch mal gegen Performance und für gute Konzepte entscheiden.

Und über die Performance von Java kann man so pauschal auch nicht urteilen. Für GUI-Anwendungen mag das stimmen, aber der ganze "Unterbau" von Programmen läßt sich in Java ähnlich schnell wie in anderen Programmiersprachen implementieren. Aber genaue Studien zu diesem Thema würden mich sehr interessieren. Die Artikel neulich in der c't waren ja nur ein grober Anfang.
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

denial

Erfahrener Schreiberling

  • "denial" is male

Posts: 394

Date of registration: Feb 18th 2003

Location: Göttingen

Occupation: Linux Coder (ex Mathe SR Inf Student)

12

Thursday, November 6th 2003, 8:29am

Quoted

Original von Joachim
Es ist ja gerade ein Design Goal, daß so etwas wie Destruktoren nicht benötigt werden. Auf diese Weise lassen sich Speicherlecks (die in C++ schon fast zum Alltag gehören) fast völlig vermeiden.


Ich möchte hiermit nochmal an die Aufgabe aus Proggen 2 letztes Semester erinnern, wo wir eine Datei nach jeder Änderung flushen mußten, nur um sicher zu gehen, daß Sie am Ende den richtigen Inhalt hat.

Markus

the one and only Unterstrich!

  • "Markus" started this thread

Posts: 2,571

Date of registration: Oct 9th 2003

13

Thursday, November 6th 2003, 9:55am

Quoted

Original von denial

Es soll ja noch Leute geben die meinen HTML sei eine leicht zu erlernende Programmiersprache ;)



Es soll ja Leute geben, die meinen html wäre eine Programmiersprache.... :D
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

thommyslaw

Junior Schreiberling

  • "thommyslaw" is male

Posts: 226

Date of registration: Oct 7th 2003

14

Thursday, November 6th 2003, 11:04am

Quoted

Original von Markus

Quoted

Original von denial

Es soll ja noch Leute geben die meinen HTML sei eine leicht zu erlernende Programmiersprache ;)



Es soll ja Leute geben, die meinen html wäre eine Programmiersprache.... :D
Es sollte ja Leute geben, die sogar in einem Forum alles nachquatschen ;).

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

15

Thursday, November 6th 2003, 4:40pm

Quoted

Original von denial

Quoted

Original von Joachim
Es ist ja gerade ein Design Goal, daß so etwas wie Destruktoren nicht benötigt werden. Auf diese Weise lassen sich Speicherlecks (die in C++ schon fast zum Alltag gehören) fast völlig vermeiden.


Ich möchte hiermit nochmal an die Aufgabe aus Proggen 2 letztes Semester erinnern, wo wir eine Datei nach jeder Änderung flushen mußten, nur um sicher zu gehen, daß Sie am Ende den richtigen Inhalt hat.
Weiß ich nichts drüber. Was war denn das für eine Aufgabe?
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

denial

Erfahrener Schreiberling

  • "denial" is male

Posts: 394

Date of registration: Feb 18th 2003

Location: Göttingen

Occupation: Linux Coder (ex Mathe SR Inf Student)

16

Thursday, November 6th 2003, 5:03pm

Es sollte eine Klasse gebastelt werden die das Interface Observer implementiert und die dadurch gemeldete Veränderungen an einem Objekt in einer Datei protokolliert.

  • "Joachim" is male

Posts: 2,863

Date of registration: Dec 11th 2001

Location: Hämelerwald

Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)

17

Thursday, November 6th 2003, 7:25pm

Quoted

Original von denial
Es sollte eine Klasse gebastelt werden die das Interface Observer implementiert und die dadurch gemeldete Veränderungen an einem Objekt in einer Datei protokolliert.
OK. Verstehe das Problem aber trotzdem noch nicht. Da Java die meisten Ausgaben (u. a. aus Performancegründen) puffert, ist ein Flush fällig, wenn man keine Pufferung wünscht. So what?
The purpose of computing is insight, not numbers.
Richard Hamming, 1962

denial

Erfahrener Schreiberling

  • "denial" is male

Posts: 394

Date of registration: Feb 18th 2003

Location: Göttingen

Occupation: Linux Coder (ex Mathe SR Inf Student)

18

Thursday, November 6th 2003, 8:26pm

Die Pufferung wurde von der Aufgabenstellung nicht verboten.
Das Problem das man mit Java dabei hatte war, daß die Aufgabenstellung keine Methode vorsah die am Ende des Programms aufgerufen worden wäre um die Datei zu flushen/schließen.
Gäbe es zuverlässige Destruktoren (bzw. in Java: "finalizer"), hätte man die Datei dort schließen können.
So mußte man die Pufferung (=Performance) opfern, weil die Macher der Sprache etwas so essentielles als deprecated bezeichnen.
Die Begründung dafür ist auch nicht gerade die beste. Von mir aus kann Java eine Exception schmeißen wenn nach dem Aufruf eines Destruktors neue, vom GC nicht löschbare Objekte im Speicher sind.

Das ist langsam ziemlich OT.

Markus

the one and only Unterstrich!

  • "Markus" started this thread

Posts: 2,571

Date of registration: Oct 9th 2003

19

Thursday, November 6th 2003, 11:04pm

um noch mal kurz vom Java weg zu gehen: Ich find Scheme ganz ok. Also, nicht ok, aber fürn Anfang wird man wohl mit Leben können (und sowieso muessen). Aber was ich nicht so doll finde ist das, was oben schon stand, mit dem Mathe in Prog I. Also, eigentlich sehe ich das genauso und finde es ok, aber es ist bislang ein wenig übertrieben, also ein wenig weniger wäre ok, aber vielleicht gibt sich das ja mit der Zeit
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...