Frage

Der akzeptierte Abschluss, ein Softwareentwickler zu werden, war jahrzehntelang "Compter Science".
Wir hatten ein paar Fragen Bereits darüber, ob dieser Abschluss die Schüler wirklich darauf vorbereitet, Software zu entwickeln.

Einige Schulen haben in den letzten 8 Jahren angefangen, mehrere unterschiedliche Majors für Programme anzubieten. Verwenden des Lehrplans von meiner Schule:

  • Informatik, Das beginnt im ersten Jahr mit einigen Intro -Programmierkursen und konzentriert sich dann auf theoretische Informatik, Algorithmen und ein bisschen OS -Sachen. Die meisten Klassen umfassen mehrere kleinere Projekte und Heimarbeit, solo oder paarweise.
  • Softwareentwicklung, die mit denselben Intro -Programmierkursen beginnt, einige Theorieklassen durchführt und dann in Softwareentwicklungspraktiken (Tests, Prozessmethoden, Sofware -Metriken, Anforderungen sammeln) und Softwaredesign (verteiltes Systemdesign, Info -System -Design, Real -Time/eingebettetes Design, Subsystemdesign usw.)

Verschiedene Schulen machen es anders, also ist das oben genannte Beispiel nur ein Beispiel in der realen Welt, mit dem ich vertraut bin. Was ich frage, ist: Gibt es einen Bedarf für verschiedene Majors im Programmieren?

War es hilfreich?

Lösung

Ja, sie sollten es sein.

Die Beziehung zwischen Informatik und Software -Engineering entspricht der Beziehung zwischen Physik und Maschinenbau. Einer bietet den theoretischen Hintergrund, während der andere diese Theorien zusammen mit guten technischen Prinzipien nimmt und sie auf die Gestaltung und Implementierung von Software anwendet.

Sie benötigen beide, um eine neue und bessere Software zu produzieren. Eine gute Informatikausbildung schult Menschen, neue und bessere Algorithmen, Datenstrukturen, Programmiersprachen und Paradigmen, Compiler und eine Reihe anderer Dinge zu produzieren, mit denen Softwaresysteme verbessert werden können. Eine gute Software -Engineering -Ausbildung schult Sie dagegen dazu, diese Tools und Wissenswissenschaften durch eine wissenschaftliche Studie zur Berechnung sowie das Wissen über den Lebenszyklus- und Prozessmodellen der Softwareentwicklung zu ermitteln, um das System zu erstellen, das ein Kunde wünscht und benötigt .

Andere Tipps

Es ist bekannt, dass ein typischer CS -Lehrplan nicht auf die Branche vorbereitet, nicht so sehr, wie Sie es sowieso vorbereitet haben möchten. Ja, es besteht ein Bedarf an einem Software -Engineering -Major, und die beiden sollten unterschiedlich sein, wenn auch definitiv in derselben Fakultät.

Sie sollten unterschiedliche Disziplinen sein, aber nicht auf Grundstudienebene. Ich sehe einfach nicht, wie sie alles, was für Software -Engineering benötigt wird, in einem Grundstudium für das Software -Engineering benötigt. Genauso wie Bachelor -Abschlüsse in Systemtechnik (bei dem Menschen nach einem Abschluss in EE, CE, Mechanical ENG oder CS einen MS in einen ähnlichen Fall bei Software Engineering erhalten.

Es ist ein multidisziplinärer Ansatz, der stark auf Informatik und/oder MIS basiert. Menschen werden in der Praxis (und nicht nur im Titel), nachdem sie fortgeschrittene Kursarbeit und/oder Berufserfahrung in diesem Bereich verfolgt werden, wirklich Software -Ingenieure.

Die meisten Menschen haben Titel zum Software -Engineering, sind aber nicht über die Codierung hinaus fortgeschritten. Dies ist keine Dis für sie, sondern eine Beobachtung - sie waren nicht ausreichend der Art der Arbeit ausgesetzt, die ihnen helfen würde, Arbeitserfahrung über die Codierung hinaus zu sammeln. Schlimmer noch, die meisten Jobs und Organisationen werden grausam ausgeführt und sind nicht leitend, die ordnungsgemäße Software -Engineering zu erledigen.

Darüber hinaus fliegen Software -Engineering -Material ohne Arbeit oder schulische Reife einfach über die Köpfe der meisten Studenten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
scroll top