Praktikum - Programmierung

Hallo,
ich bin im Moment dabei mir für meine Ausbildung als Informationstechnischen Assistenten eine Praktikumsstelle in Köln zu suchen. Dabei bin ich aber über einige Probleme gestolpert wo ich mich freuen würde wenn jemand ein paar Tipps hätte.

Ich würde gerne etwas im Bereich Programmierung machen da ich dort meine stärken habe. In meiner schulischen Ausbildung haben wir C/C++ gelernt aber ich hatte schon lange vorher mich mit Programmieren beschäftigt so das es für mich kein großen Problem sein sollte mich in eine neue Sprache ein zu arbeiten zu dem ich mit mit Java und PHP auch schon beschäftigt habe.

Das Problem ist das ich so überhaupt gar nicht meine Fähigkeiten einschätzen kann. In Praktikumsauschreibungen ist immer von guten C++/Java/PHP Kenntnisse die Rede. Was soll das heißen? Ich denke ich kann in Java Programmieren aber am Anfang würde ich halt ein bisschen brauchen weil ich da einfach noch nicht soviel Erfahrung haben.

Außerdem würden gute Kenntnisse heißen das ich mich in der Java Bibliothek sehr gut auskenne? Ich kenne ein paar Klassen aber ich würde immer wieder nach gucken - ich denke das ist auch normal.

In PHP würde mir sofort gar nicht einfallen wie ich eine Klasse schreibe aber ich müsste es mir nur kurz angucken und noch 2-3 Tagen Programmieren würde ich das alles ohne Probleme schreiben.

Mein Problem ist mein Perfektionismus im Programmieren...

Kann mir jemand sagen wie das durchschnittliche Niveau ist? Wobei das wahrscheinlich schwer messbar ist...
 
Gute Programmierkenntnisse heisst, dass du z.b. weisst, welche Funktionalität einer Sprache du wo am besten einsetzen kannst. In Java hast du z.b. die diversen Listenarten, mit denen du diverse Bäume aufbauen kannst, welche dir als Speicherstrukturen nützlich sein können (Zugriffsgeschwindigkeit, Speicherauslastung, ...). Je besser du also eine Sprache kennst, desdo besser kannst du auch mit ihr umgehen. Mit Arrays hantieren kann schliesslich jeder, aber genau das ist bei den verschiedensten Problemen einfach fehl am Platz (z.b. bei großen Matrizen, Wegeproblemen in Graphen, usw usf.).
 
Zuletzt bearbeitet von einem Moderator:
Wenn man in einer Hochsprache programmieren kann, kann man das bald mit jeder anderen Hochsprache. Wichtig ist, dass man denken kann wie ein Programmierer. Die Programmiersprache C würde ich als Mediumlevellanguage einstufen, da man dort auch noch einige Fehler machen, die woanders per Definition nicht möglich sind. Und C++ hat auch noch so seine Gemeinheiten...
 
Original von mauralix
Die Programmiersprache C würde ich als Mediumlevellanguage einstufen, da man dort auch noch einige Fehler machen, die woanders per Definition nicht möglich sind. Und C++ hat auch noch so seine Gemeinheiten...

Bjarne Stroustrup
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off
 
@.doc
das ist ein recht guter Anhaltspunkt in C++ helfen einen die Standard Klassen list,vector,map usw schon sehr. Wobei das eigentliche ja nur Informatik-Gebilde sind wenn man die einmal kennt muss man nur für die jeweilige Sprache das passende Gegenstück finden.

Wichtig ist, dass man denken kann wie ein Programmierer

Und wie denkt ein Programmierer? Abstrakt? Oder doch gleich in der jeweiligen Sprache? Oder denkt ein Programmierer in UML? Heißt denken wie ein Programmierer das man das Problem nicht sieht sondern die Lösung?

und zu C und C++:
Mir ist schon klar das die Sprachen ein bisschen mehr Selbstdisziplin erfordern als manch andere. Aber auch die schönste Sprache der Welt kann man als Programmierer vermurksen.
 
In Uml denkt wohl kaum in UML, aber möglich ist alles...

Verdammt! Auch in der dritten Ebene bekomme ich nicht genau heraus was mit diesen Konstrukt ausgedrückt werden sollte. Ich tippe mal ein traumatisches UML Erlebnis in die frühen Kindheit.
 
Und wie denkt ein Programmierer? Abstrakt? Oder doch gleich in der jeweiligen Sprache? Oder denkt ein Programmierer in UML? Heißt denken wie ein Programmierer das man das Problem nicht sieht sondern die Lösung?
Ich glaube er denkt so, dass er ein Problem in einzelne ausführbare Schritte fasst und dabei immer ein optimales Datenformat verwendet. Oder so. :)

Ist ganz lustig, wenn ich an die anderen in der 11 Klasse zurückdenke. Die hatten teils Schwierigkeiten sich den Ablauf von for-Schleifen vorzustellen. ^^
Da fehlt das Vorstellungsvermögen noch komplett...
 
Original von Extinction
Ich glaube er denkt so, dass er ein Problem in einzelne ausführbare Schritte fasst und dabei immer ein optimales Datenformat verwendet. Oder so. :)

Es gibt viele Möglichkeiten, an ein Problem heran zu gehen. Meist sind das einfache, wie z.b. Divide-and-Conquer-Algorithmen. Soetwas solltest du beherrschen, das hat jedoch nichts mit der Sprache zu tun. Das ist abstraktives Denken.

Nur wahrscheinlich wird von dir dieses Denken ersteinmal nicht verlangt. Eher wird man dir die Lösung vorlegen, die du unter Berücksichtigung der Vorgaben des Auftraggebers implementieren sollst (also z.b. mit Blick auf Performance, Speicherauslastung, ...). Auf jeden Fall solltest du dich mit den typischen Algorithmen zur Sortierung und Suche auskennen, das ist ein oft genutztes Problem.

Und nebenbei ist es immer von Vorteil, wenn man das jdk kennt. Dies zeugt aber eher von spezieller Erfahrung, nicht von Kenntnissen im Bereich der Programmierung.
 
In der Praxis ist es oft viel wichtiger sich in einer großen Menge Code zurechtzufinden und richtig debuggen zu können. Weil man soll meist Problem XY im bestehenden System lösen und wird von 3 Mio Zeilen Code erschlagen, da verliert man als Anfänger schnell die Nerven...
 
Vielleicht sollte man auch mal bedenken, dass eine Stellenausschreibung zumeist die Optimal-Skills beschreibt, die aber keiner wirklich erwartet. Man versucht halt so nah wie möglich ranzukommen und niemand wird erwarten, dass ein Praktikant codet wie ein alter Hase mit >10 Jahren Erfahrung. Trau dich einfach und bewirb dich und dann wirst du spätestens im Bewerbungsgespräch erfahren worum es genau geht. Dann kannst du immernoch entscheiden, ob das was für dich ist oder nicht. Etwas Selsbtvertrauen ist dabei natürlich auch gefragt. Wenn du dich weiterentwickeln willst, dann nimm eine Stelle, die du selbst als Herausforderung ansiehst.
 
@mauralix
falsch debuggen ist wohl den halben Quelltext mit Status Meldungen zu versehen? ;)

@bitmuncher
Ich hoffe das man nicht alles erwartet :) Oft habe ich aber auch das Gefühl, das ein Praktikant quasi als günstige Arbeitskraft eingesetzt wird. Klar, ich will ja auch arbeiten, aber ich habe halt noch überhaupt keine professionelle Erfahrung.

Danke für die Antworten mal schauen was die nächsten Wochen so bringen.
 
falsch debuggen ist wohl den halben Quelltext mit Status Meldungen zu versehen? Augenzwinkern
Naja, solche Logmeldungen sind enorm wichtig. Aber es braucht wie gesagt gewisse Erfahrung auch zielführend debuggen zu können, sonst geht da recht viel Zeit drauf und man kommt selten zur Lösung.
 
Original von IAsh
@bitmuncher
Ich hoffe das man nicht alles erwartet :) Oft habe ich aber auch das Gefühl, das ein Praktikant quasi als günstige Arbeitskraft eingesetzt wird. Klar, ich will ja auch arbeiten, aber ich habe halt noch überhaupt keine professionelle Erfahrung.

Praktikanten als billige Arbeitskraft zu nutzen ist in Deutschland verboten. Das Ausbildungsverhältnis muss bei einem Praktikum im Vordergrund stehen, sonst liegt ein Arbeitsverhältnis vor, das entsprechend entlohnt werden muss. Siehe dazu auch http://www.praktikumsfuehrer.de/a2009/07/21/sich-erfolgreich-gegen-ausbeutung-wehren/ oder http://www.focus.de/karriere/arbeitsrecht/praktikum-die-rache-der-geknechteten_aid_414809.html
 
Gut zu wissen vielleicht kann ich das ja mal zu einem gegebenen Zeitpunkt anbringen.

@bitmuncher
Ich fühle mich immer recht unprofessionell wenn ich meinen Quelltext mit cout<<start/ende/hier/methode xy<<endl; voll packe. Wobei ich damit immer zu einer Lösung komme ;) Aber so zwei Stundenoder mehr kann es bei einem komplizierten Fehler schon mal dauern.
 
Und wie denkt ein Programmierer? Abstrakt? Oder doch gleich in der jeweiligen Sprache? Oder denkt ein Programmierer in UML? Heißt denken wie ein Programmierer das man das Problem nicht sieht sondern die Lösung?
Unsere Programmierer denken meisens in deutsch. Und waehrend sie programmieren vermutlich an Pizza und Schokolade (so wie die Arbeitsplaetze aussehen).

Praktikanten als billige Arbeitskraft zu nutzen ist in Deutschland verboten.
Wie süss :)



@IAsh

Gaehn.
 
Zurück
Oben