U.S. colleges retool programming classes

Ένα ενδιαφέρον thread από το Interesting-People. Γράφει εκεί λοιπόν ο Gene Spafford*:

“[…] My job is not to prepare students to graduate and immediately take up
job X that someone wants. It is to provide them with a broad
education in the science and engineering of computing so that they
are in a position to quickly learn new concepts and keep current in
the field — enable breadth and lifelong learning. The students
aren’t a finished product, and if we do our job correctly, never are
.

We don’t produce programmers. Anyone can learn programming — all
they need to do is buy “C for Dummies” and they can learn to
program. But that isn’t learning fundamentals
. For instance, ask
people who know how to program to write a sort routine and they can
do it, although the results may not be pretty — or efficient. But
task people with a good CS education — who have had some background
in algorithms, big “O” complexity, and data structures — and they
should ask about input data set sizes, whether identical key sorting
needs to be non-destructive, whether the set is pre-ordered, and
whether the sort needs to be inplace or not. That may be obvious to
you, but non-obvious to someone who hasn’t been exposed to the
*science* in computer science. […]”

Οι επισημάνσεις δικές μου.


[*] – Θυμάστε το COAST archive και το Practical Unix Security?

4 thoughts on “U.S. colleges retool programming classes

  1. Σ’ ένα βαθμό, πιστεύω ότι το Ε.Μ.Π. (τουλάχιστον της εποχής μας – δεν ξέρω τώρα) το κατάφερε αυτό (αναφέρομαι για το “learning fundamentals και όχι programming”). Συμμετείχα πολλές φορές σε συζητήσεις για πολυπλοκότητα και δομών δεδομένων με τεχνικούς αλλά και μή τεχνικούς απόφοιτους πολυτεχνικών σχολών.

    Επίσης όλα αυτά είναι απαραίτητα και σ’ εμένα που δεν είμαι hands-on πληροφορικάριος πλέον. Π.χ. το sizing συστημάτων μου είναι πολύ εύκολο και οικονομικότερο ;)

  2. Το ΕΜΠ τα κατάφερνε σχετικά καλά ΑΝ έπαιρνες τα σωστά μαθήματα. Αλλά επειδή μπορούσες να μην τα πάρεις, μπορούσες εύκολα να βγείς απο το ΕΜΠ με γνώσεις C for dummies, και μετά να το παίζεις προγραμματισταράς. Φυσικά και η ανωριμώτητα της ελληνικής αγοράς βοηθούσε(θάει).

    Το καλύτερο σύστημα προγραμματιστικής/CS εκπαίδευσης, χωρίς αντίπαλο, είναι αυτό του ΜΙΤ. Αν μάθεις scheme από την αρχή (σε αντίθεση με Java), μπορείς μετά να μάθεις/κάνεις τα πάντα, με μόνο λίγες εβδομάδες εκπαίδευσης στις ιδιοτροπίες της κάθε γλώσσας. Αλλά η βασική γνώση υπάρχει (βασική γνώση: recursion, non-determinism, complexity, scoping). Μετά μαθαίνεις και C για να ξέρεις τι σημαίνει pointer και είσαι complete.

    Το σύστημα του ΜΙΤ το χρησιμοποιούσαν και άλλα πανεπιστήμια όπως το Penn. Από τότε που το Penn το γύρισε σε Java για εισαγωγή στον προγραμματισμό, το επίπεδο των αποφοίτων του έπεσε αρκετά.

    Α και κάτι τελευταίο. Σε σοβαρές εταιρείες πλήροφορικής (πχ Google που έχω και ιδία πείρα), ΔΕ ΝΟΕΙΤΑΙ να σε προσλάβουν ως software engineer χωρίς να κατέχεις την παραπάνω γνώση. Στις συνεντεύξεις (screenings) σε ρωτάνε για αλγορίθμους, πολυπλοκότητα, βασικές αρχές του CS δηλαδή. Το να ξέρεις java/c++/ δεν τους πολυνοιάζει αρχικά. Το να μην μπορείς να απαντήσεις στην ερώτηση “Is P equal to NP” όμως είναι κόκκινη κάρτα.

Leave a reply to Unique Fish Cancel reply