Come programmatore, quali percorsi dovrei intraprendere per quanto riguarda l'istruzione? [chiuso]

0

Dopo un'esplosione di discorsi sui compiti, l'applicabilità dei corsi che sto prendendo e il mio insegnante di informatica, ho alcune domande sull'educazione per il mio percorso di carriera come sviluppatore.

Mi sono insegnato tutto quello che so sulla programmazione. Ultimamente ho pensato ai vantaggi di insegnare a me stesso rispetto all'apprendimento da un insegnante. Sento che potrei perdere alcune cose che normalmente imparerei. Potrei imparare alcuni concetti sbagliati, o qualcosa del genere. Dopo tutto, l'educazione informatica è stata più lunga di me.

Il problema è che non sto imparando nulla di nuovo sull'informatica nella mia classe di programmazione. Ho messo il corso di programmazione del computer sul mio programma (era etichettato come Computer Science quando mi sono iscritto). Si scopre che sta solo imparando C ++ e ovviamente OOP. Di fatto, gli studenti CP2 si trovano nella stessa classe contemporaneamente agli studenti CP2, tranne che il corso CP1 è di classe semestrale anziché intero. Pensavo che avremmo fatto qualcosa di simile a strutture dati (diverse dagli array), o qualcosa in cui ho meno esperienza. L'insegnante mi ha fatto cambiare il mio programma in CP1, ma mi "lascia libero" per lavorare su progetti con gli studenti CP2 mentre insegna gli studenti del CP1.

Di solito finisco per aiutare gli studenti CP2 con errori di compilazione e cose del genere dopo che ho finito. Di certo non mi dispiace aiutarli, ma non sto imparando nulla di nuovo, e probabilmente non lo farò, visto che le liste collegate AFAIK saranno il concetto più avanzato insegnato (per gli studenti CP2; La classe termina questo semestre per CP1 , incluso me). Francamente, non sono interessato a copiare il codice sorgente dalla carta allo schermo, che è il 90% di quello che fanno gli studenti CP2.

Voglio imparare qualcosa di relativo all'informatica. Odio stare seduto ad aspettare che le mie opzioni tornino. Voglio prendere lezioni non offerte dal mio liceo, come matematica discreta, algoritmi e strutture dati, o qualcosa del genere.

Quindi la mia domanda è: dove posso prendere lezioni che non sono offerte dalla mia scuola superiore? Posso prendere lezioni universitarie? (tieni presente che non esistono corsi simultanei, AP o a distanza relativi all'informatica offerti dalla mia scuola superiore oltre alla classe CP1 / CP2 in cui mi trovo). Conosci qualche lezione online che potrei prendere?

Grazie, Danny Shields

P.S: parlo della mia esperienza di programmazione sul mio profilo StackExchange se aiuta.

    
posta vedosity 09.12.2010 - 02:56
fonte

3 risposte

2

The problem is, I'm not learning anything new about computer science in my programming class.

Anche in Germania, non si ottiene il materiale "CS" (strutture dati, algoritmi, modello di turing, automi, prove, complessità, ecc.) fino al grado 11. In realtà, solo poche scuole selezionate offrono CS a livello 11 (-13). Se sei sfortunato, l'università (in pratica "grado 14+" nel nostro sistema) è la prima istituzione da cui riceverai CS reali.

Prima di ciò, ciò che le scuole fanno è solo pratica applicata. Tecnologie Internet come HTML e Javascript per creare la tua pagina web. Programmazione con QBASIC per pilotare alcuni LED collegati alla porta LPT. Roba che puoi fare senza la teoria di CS.

Questo è per dove prendere lezioni. Ma di solito non è il luogo da cui emergono i programmatori più abili. I B.Sc.s hanno una teoria, ma i programmi che scrivono di solito fanno schifo perché mancano di familiarità con praticamente tutte le lingue. Anche le persone che si sono appena trasferite da M.Sc. per dottorato avere il problema, meno, ma notevole.

Pochi, se del caso, approfondire ciò che è essenziale per la programmazione: paradigmi selezionati, o forse chiamati modelli. Non sto parlando di VS OOP procedurale o imperativo vs dichiarativo. Il corso qualsiasi ha mai parlato del modello di Builder? Il modello di fabbrica? No? (Raccomando link )

Ciò che i programmatori dovrebbero nel migliore dei casi è l'esperienza, e molto altro. Ciò non significa che non dovrebbero anche avere una comprensione dei concetti CS (più sono e meglio è), ma in contrasto con gli esami universitari, non è strettamente necessario comprendere tutto.

E a quanto vedo, i programmatori che riescono a sfogliare il codice hanno un peso più pratico (industriale) di quello che uno scienziato è in grado di sfornare la teoria. (Al contrario, un business intelligente che ha a che fare con internals di algoritmi impiega uno di ciascun tipo di persona e utilizza una programmazione gemella, un paio di programmi di programmazione.)

    
risposta data 09.12.2010 - 03:54
fonte
4

Leggendo la tua domanda pensavo fossi uno studente universitario. Quindi sono entusiasta che il tuo liceo offra tanto quanto fa. I miei bambini sono stati in grado di prendere uno o due corsi dal college della comunità locale. La roba Opencourseware è abbastanza decente, anche se un po 'macchiata. Provai per imparare il paradigma chimico Kinetics in questo modo (per lavoro), ma avevo paura che potessi esserlo mancano alcuni fondamenti, quindi ho raccomandato al mio datore di lavoro di assumere qualcuno con una laurea in materia, piuttosto che rischiare di programmare le cose in modo errato, a causa della mancanza di qualcosa di fondamentale. Quindi non avere un insegnante / mentore esperto ha i suoi problemi. E non so come ottenere crediti ufficiali per l'apprendimento. Ma penso che possa almeno farti imparare una gamba per imparare.    ecco l'URL per le note del corso CS del MIT: link

Personalmente, penso che la matematica sarebbe un ottimo background. La vera roba di CS contiene molto. Sono sempre stato bravo nel settore analitico, ma non ho mai ottenuto la teoria dei grafi, che può essere importante per alcuni rami di CS. Inoltre, se riesci a organizzare una sorta di progetto di programmazione a pagamento, sarebbe fantastico. All'università mi offrii volontario per un lavoro di programmazione a pagamento, uno dei professori offerti, quindi Ho entrambi imparato e guadagnato allo stesso tempo.

Se avessi il college da fare di nuovo, passerei cinque anni e prendo il più possibile la matematica applicata. In effetti, i crediti AP ci hanno lasciato sfrecciare in tre, ma ero entrambi sottoposta e bruciata per la scuola elementare.

    
risposta data 09.12.2010 - 04:33
fonte
1

Conosco esattamente come ti senti

I want to be learning something computer science related. I'd hate to sit around waiting for my options to catch up. I want to take classes not offered by my high school, like discrete mathematics, algorithms and data structures, or something like that.

Certo! Un sacco di scuole superiori hanno programmi per pagare per i corsi universitari o per corrispondenza che la scuola non offre. Anche se non è così, non è possibile utilizzare alcuni dei molti tutorial online online, white paper, guide alle specifiche e codice per aumentare le tue conoscenze al di fuori di una classe. Ora hai esperienza pratica applicabile per quando finisci di seguire i corsi.

So my question is, where can I take classes which aren't offered by my high school? Can I take college classes? (keep in mind there isn't any concurrent, AP, or distance-ed classes concerning computer science offered by my high school besides the CP1/CP2 class I'm in). Do you know any online classes I could take?

La mia scuola superiore ha introdotto Intro to Computer Science (Visual Basic) e AP Computer Science (Java). Considerando che ho preso AP Comp. Sci in 8 ° grado non è stato di grande aiuto per prendere entrambi. Questo non ti limita . Cosa ti impedisce di imparare fuori dalla classe? Sono stato brutalmente efficiente nel completare i corsi per aumentare la quantità di tempo che potevo dedicare all'apprendimento per conto mio. Quando rimani bloccato hai un istruttore che è probabilmente annoiato quanto stai insegnando su Arrays e Linked Lists. Loro (normalmente) amano vedere gli studenti eccellere al di fuori dei parametri del corso.

    
risposta data 09.12.2010 - 03:12
fonte

Leggi altre domande sui tag