Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie bringe ich jemandem Softwareentwicklung bei?
dragi
myCSharp.de - Member



Dabei seit:
Beiträge: 368
Herkunft: Moers

Themenstarter:

Wie bringe ich jemandem Softwareentwicklung bei?

beantworten | zitieren | melden

Hallo zusammen,

blöde Frage, aber wie bringe ich jemandem am besten Softwareentwicklung bei? :)
Der jenige ist Webdesigner mit ein wenig grundlagen Kenntniss in PHP und SQL. Aber er weiß nichts über OOP, UML, Entwicklungsmethoden, Patterns, C# oder Java. Nun denke ich, es macht keinen Sinn ihm einfach C# zu eklären und denke ich würde erstmal allgemein über OOP reden. Dann das gelernet in C# umsetzen und wenn die Sprache und die Konzpte sitzen über Patterns und zum Schluss über Entwicklungsmethoden reden. Denkt ihr, die Reiehenfolge amcht Sinn? Hat schon jemand erfahrung im Schulen eines solchen Themas? Nur eine Sprache vermitteln finde ich einfacher...aber gleich das Gesamtpaket Softwaeentwicklung muss man ja schon in einer guten Reihenfolge abarbeiten, denke ich.

Würde mich über ein paar Tips von erfahrenen "Lehrmeistern" freuen.

Gruß

Dragi
private Nachricht | Beiträge des Benutzers
TheBrainiac
myCSharp.de - Member

Avatar #avatar-3152.png


Dabei seit:
Beiträge: 795
Herkunft: /dev/null

beantworten | zitieren | melden

Hi, dragi.
Zitat
Der jenige ist Webdesigner mit ein wenig grundlagen Kenntniss in PHP und SQL.

Da würde ich ansetzen und ihm OOP anhand von PHP beibringen. Dann kann man immernoch auf C#/Java umsteigen, wie du schon gesagt hast und ihm dann Patterns usw. zeigen.

Gruß, Christian.
There are 10 types of people in the world:
Those, who think they understand the binary system
Those who don't even have heard about it
And those who understand "Every base is base 10"
private Nachricht | Beiträge des Benutzers
Femaref
myCSharp.de - Member



Dabei seit:
Beiträge: 240

beantworten | zitieren | melden

Ich halte PHP nicht füe eine Sprache, worüber man OOP lernen sollte... Das programmieren von Klassen ist, gelinde gesagt, grausam. Okay, vieleicht ist das ganze jetzt auch subjektiv, da ich Klassendesign mit C# gelernt (selbst beigebracht) habe, und von den Features einfach nur verwöhnt bin. (In php musst du overloads selbst kennzeichnen, hast keine Typensicherheit und damit auch keine bestimmten Signaturen... Wahrscheinlich bin ich tatsächlich einfach nur beeinflusst :))
private Nachricht | Beiträge des Benutzers
Golo Roden
myCSharp.de - Member

Avatar #avatar-2167.png


Dabei seit:
Beiträge: 4.207
Herkunft: Riegel am Kaiserstuhl

beantworten | zitieren | melden

Ich halte es für schwierig, mit dem ganz theoretischen Zeugs wie OOP zu beginnen, und erst danach eine Sprache einzuführen - zumal die korrekte Anwendung von OOP viel, viel Übung bedeutet, und man das nicht einfach mal eben so lernt.

Dann kennt man zwar die Regeln, denkt aber nicht in der OOP.

Ich würde mit C# anfangen, damit er die Syntax kennenlernt, und ihn dann Schritt für Schritt an Klassen, Interfaces, Vererbung und das ganze Zeugs bringen. Dabei lernt er auch gleich schon VS kennen.

Danach dann die für ihn relevanten APIs, wie zB ASP.NET, LINQ, EF, ... Dann kann er nämlich überhaupt schon mal produktiv arbeiten auf Basis von .NET - vielleicht schreibt er nicht den schönsten Code, aber er hat zumindest etwas greifbares in der Hand.

Danach dann Patterns, Codingrichtlinien, ... das ganze Zeug.

Und schließlich die Vorgehensweise mit Tests, Code Reviews, ...

Zu allererst würde ich aber die Frage stellen: Will *er* das, oder willst *Du* das?
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 5.940
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Hallo dragi

Ich stimme Golo voll zu. Vorallem der letzte Satz ist auch entscheidend.
Du darfst auf jeden Fall nicht zuviel erwarten.


Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
dragi
myCSharp.de - Member



Dabei seit:
Beiträge: 368
Herkunft: Moers

Themenstarter:

beantworten | zitieren | melden

Vielen Dank für eure großartigen Antworten!

Ja, er will das...er möchte weg vom Webdeign zum Webdeveloper und das ganze professionell....das ist nicht auf meinen Mist gewachsen :)

Gruß

dragi
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.649
Herkunft: Leipzig

beantworten | zitieren | melden

Ich finde das ein sehr schwieriges Thema. Ich persönlich kenne keinen, der Programmierung bzw. Software-Entwicklung gelernt hat, ohne es selbst immer wieder auszuprobieren. Weder die Informatiklehrer in der Schule noch die Professoren an der Hochschule waren in der Lage, das so rüberzubringen, daß jemand es verstehen konnte, der vorher keine Ahnung davon hatte.

Es ist genauso wie jemanden beizubringen, ein Instrument zu spielen oder zu Malen. Man kann ihm zwar die Theorie und das Handwerkliche mitgeben, aber lernen kann man es nur durch viel Übung.

Christian
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1.433
Herkunft: Schweiz

beantworten | zitieren | melden

@Golo:
danke Golo, werde dass von Dir geschriebene als meinen persönlichen Lehrplan aufnehmen
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
private Nachricht | Beiträge des Benutzers
Golo Roden
myCSharp.de - Member

Avatar #avatar-2167.png


Dabei seit:
Beiträge: 4.207
Herkunft: Riegel am Kaiserstuhl

beantworten | zitieren | melden

Danke für die Blumen :-)

Ergänzend dazu vielleicht noch: http://www.des-eisbaeren-blog.de/post/2008/11/27/Architektur-lernen.aspx
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Golo Roden am .
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de
private Nachricht | Beiträge des Benutzers
spike24
myCSharp.de - Member



Dabei seit:
Beiträge: 443
Herkunft: Steiermark Österreich

beantworten | zitieren | melden

ich hab mal an einem Tag einem Werksarbeiter das programmieren "beigebracht"
also er hat an diesem Tag 2 Forms mit Datenbankanbindung und die Datenbank geschrieben. Ich habe mich damals für eine Adressenverwaltung entschieden da dieser jeder kennt und man dann nicht mehr lange das Programm selbst erklären muss. Begonnenhabe ich mich mit der MessageBox, dann habe ich ihm ein Spielchen gegeben, wenn er mit der Maus auf einen Button fährt, soll dieser woanders hin. (von links oben nach rechts oben dann rechts unten dann links unten dann wieder links oben) nur um ihm mal ein Gefühl zu geben (auswirkung des geschriebenen)
Und dann habe ich schon mit der Datenbank angefangen, bis am Abend wusste er wie man eine Verbindung aufbaut und wie man ein SQL-Statement absetzt.
Ich habe mich kaum mit dem Theorie Zeugs aufgehalten es ihm zu erklären, ich habs einfach angewendet um ihm nachher erklärt warum.
So vielleicht eine Hilfestellung für die ersten 3 Stunden. danach sieht mans eh wie es weiter geht
mbg
Rossegger Robert
mehr fragen mehr wissen

Montag morgen ist die beste Zeit um eine erfolgreiche Woche zu beginnen
private Nachricht | Beiträge des Benutzers
frankhammer
myCSharp.de - Member

Avatar #avatar-2901.jpg


Dabei seit:
Beiträge: 42

beantworten | zitieren | melden

Ich bin selbst Azubi Fachinformatiker Anwendungsentwicklung und derzeit im Praktikum.

Meine Meinung dazu ist: Früh programmieren und wie spike schon sagte erst einmal machen lassen und hinterher erklären warum das so ist. Die Theorie darf aber nicht fehlen! Sonst lassen sich Fehler hinterher die man in seinem Code macht nicht erkennen, da man ja bei manchen Sachen vllt. nicht weiß was passiert da eigentlich. Beispielsweise, dass die Variablen Referenztypen und keine Werttypen sind in C#. (Sorry wenn ich mich da programmiertechnisch nicht ganz korrekt ausgedrückt hab, ihr wisst aber denke ich was gemeint ist.)

Gruß,

frankhammer
private Nachricht | Beiträge des Benutzers
Golo Roden
myCSharp.de - Member

Avatar #avatar-2167.png


Dabei seit:
Beiträge: 4.207
Herkunft: Riegel am Kaiserstuhl

beantworten | zitieren | melden

Jo, und wie sauber der Code dann ist, steht auf einem anderen Blatt ...

Warum soll ich jemandem, der von sich aus Lernwillen zeigt, es erst mal falsch beibrigen, nur weil's schnell geht, um dann mühsam nachher die Fehler wieder rauszubügeln?

Auch Schreiben lernt man von Anfang an richtig, und nicht erst mal schnell, schnell irgendwie dahingerotzt, und dann richtig ...
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de
private Nachricht | Beiträge des Benutzers
jaensen
myCSharp.de - Experte

Avatar #avatar-2657.png


Dabei seit:
Beiträge: 2.760
Herkunft: München

beantworten | zitieren | melden

Zitat
Warum soll ich jemandem, der von sich aus Lernwillen zeigt, es erst mal falsch beibrigen, nur weil's schnell geht, um dann mühsam nachher die Fehler wieder rauszubügeln?
Wenn die Person lernwillig ist dann sollte das kein Problem sein es gleich richtig zu machen. Wenn dieser jemand aber schnell den Kopf in den Sand steckt dann kann es IMHO durchaus Sinn machen das man erstmal (sichtbare) Ergebnisse bekommt.

Wenn z.B. jemand daher kommen würde der vorher noch nie programmiert hat und derjenige vorher schon das Gefühl bekommt das er gleich überfordert werden wird dann kann man beispielsweise mit WinForms anfangen um zu zeigen das er damit schnell zu Ergebnissen kommen kann. Einfach so als Motivation. Dann wieder theorie und Praxis da ja noch leben in die Form gebracht werden muss.

Simple Sachen wie Instanzen erzeugen, variablen und Bedingungen reichen dann erstmal. Dann zeigt man ihm/ihr den Code den der Designer erzeugt hat und baut da vielleicht ein bisschen drin rum und evtl. kommt der Aha-Effekt dann ganz schnell.
private Nachricht | Beiträge des Benutzers
winSharp93
myCSharp.de - Experte

Avatar #avatar-2918.png


Dabei seit:
Beiträge: 5.742
Herkunft: Stuttgart

beantworten | zitieren | melden

Hallo zusammen,
Zitat von Golo Roden
Jo, und wie sauber der Code dann ist, steht auf einem anderen Blatt ...
Das würde ich nicht ganz so streng sehen.

Zwar teile ich die Ansicht von spike24, alles "von oben herab" zu erklären, auch eher nicht, weil einfach viele Grundlagen später dann doch nicht erlernt werden und fehlen.
Vieles Unbekannte - und da stimme ich Golo Roden zu - setzt sich falsch fest.

Aber gerade wenn es um Codingstyle geht, muss man eines beachten (so war es zumindest bei mir):
Solange man nicht die Nachteile eines "unsauberen" Programmierstiles erlebt hat bzw. nie den Vergleich mit "aufgeräumten" Code hatte, wird man keinen Spaß an "sauberer" Programmierung empfinden und es folglich auch anders machen.

Erst wenn man wirklich verstanden hat, wozu die Programmiersprache fähig ist, kann man die Fähigkeiten auch nutzen. Dabei stellt man dann sehr schnell fest, dass Dinge, die man anfangs als wichtig eingestuft hat, doch eher unwichtig sind und andere, denen man wenig Beachtung geschenkt hat, unverzichtbar sind.
Zitat von jaensen
Dann zeigt man ihm/ihr den Code den der Designer erzeugt hat und baut da vielleicht ein bisschen drin rum und evtl. kommt der Aha-Effekt dann ganz schnell.
Ich würde sogar noch einen Schritt weiter gehen:
Erst so hat man überhaupt etwas, was man verstehen will.
Besteht wirklich Interesse seitens des "Schülers" wird dieser sicherlich schnell anfangen, auch begreifen zu wollen, warum manche Dinge so funktionieren, wie sie es tun.
private Nachricht | Beiträge des Benutzers
spike24
myCSharp.de - Member



Dabei seit:
Beiträge: 443
Herkunft: Steiermark Österreich

beantworten | zitieren | melden

Nein, nicht machen lassen, natürlich führen und erklären, aber mein erstes Wort ist eben nicht Pattern, sondern MessageBox
CodingStyles sind natürlich wichtig und werden auch nicht ausgelassen.
Natürlich sind erklärungen dabei (Datentypen, welche gibt es, int na dann schreiben wir ein Beispiel, string und noch eines)
Aber ich fange nicht damit an das ValueTypes am Stack und refernces am Heap liegen. Ich schneide die Grundlagen an, dass alles erklärt ist was benötigt wird.
int, double, string, DateTime. Mehr brauche ich für eine Adressverwaltung nicht.

Das für jede .Net Anwendung eine AppDomain angelegt wird braucht er in der ersten Stunde noch nicht wissen.
Wenn er am 2. Tag in der Früh auch noch auf der Matte steht, kann ichs ihm ja erzählen.
mbg
Rossegger Robert
mehr fragen mehr wissen

Montag morgen ist die beste Zeit um eine erfolgreiche Woche zu beginnen
private Nachricht | Beiträge des Benutzers