Devo imparare un linguaggio di programmazione prima di frequentare il college per Ingegneria Informatica? [chiuso]


14

Ho immerso le dita dei piedi nella programmazione C ++ ma in realtà non ho approfondito. Voglio sapere se ho davvero bisogno di impararlo o di qualsiasi altra lingua prima di andare al college per Ingegneria Informatica o lo imparerò comunque a scuola?


Direi che sicuramente non è necessario, ma non farebbe del male. Prima di iniziare le mie lezioni in CS non avevo mai scritto alcun codice e non sapevo nemmeno cosa fosse il C ++ e la classe fosse in C ++.
visita il

3
... Anche se lo impari lì, ciò significa solo una lezione facile. Quindi non c'è motivo di non impararlo ora ...
Izkata,

Potrebbe aiutarti a scoprire se hai l'atteggiamento e / o l'interesse per la programmazione.
JeffO,

Hai posto questa domanda a programmers.stackexchange.com. Ti aspettavi davvero un'altra risposta oltre a "sì, impara il C ++ prima di andare al college"?
Martin Thoma,

@moose, quindi chiudere come duplicato.

Risposte:


48

Sì, per diversi motivi.

  1. Prima inizi a fare esperienza con il campo, prima sarai in grado di capire se questo è il campo in cui dovresti specializzarti. Se non ti piace la programmazione, l'Ingegneria del Computer probabilmente non è un buon campo per i maggiori Anche se sei interessato principalmente alla progettazione di CPU, farai MOLTA programmazione.
  2. Molte persone trovano che il livello e la quantità di lavoro che si aspettano da loro al college supera di gran lunga quelli a cui sono abituati nella scuola secondaria. A meno che tu non abbia un talento eccezionale, ti ritroverai martellato con il lavoro. Fatti un favore: scopri quale lingua viene utilizzata per insegnare il corso del primo anno e inizia a impararla ora. Nel peggiore dei casi, ti annoierai un po 'in classe, ma sarai in grado di svolgere il lavoro più velocemente e di utilizzare il tempo risparmiato per le altre classi.
  3. Molte classi sono classificate su una curva. L'aspetto negativo di questo è che competerai con i tuoi compagni di classe per i voti. Molti dei tuoi compagni studenti di ingegneria informatica avranno già fatto molta programmazione, quindi potresti essere già dietro la curva. Questo è un buon momento per iniziare a recuperare.
  4. L'unico modo per diventare bravi a programmare è fare molto. Più tempo passerai a programmare nei prossimi anni, meglio ci sarai. Più esperienza hai, migliori sono le possibilità che hai di fare stage e lavori.

7
+1 Per iniziare ora per renderlo più semplice in futuro
Andy Hunt,

Si può anche saltare due classi (in genere introduzione alla programmazione e introduzione alle strutture di dati) mentre al college, se questi sono stati presi in HS. Avere meno lezioni da prendere significa forse meno soldi da spendere, o almeno più tempo di buffer. I programmi CSE possono essere molto rigidi - ad es. Saltare una lezione significa rimanere indietro di un anno. Avere un buffer sarebbe di aiuto. Si può sempre prendere lezioni extra o prendere un minore.
Giobbe

Se finisci per essere eccezionalmente fluente nel linguaggio di programmazione che viene insegnato quando segui una lezione introduttiva di programmazione, considera se il tuo istituto ha una politica di "Credit by Exam" che puoi utilizzare per testarlo. Può farti risparmiare un bel po 'di tempo (ma solo se hai una padronanza eccezionale della lingua).
In silico,

7

Come laureato CS (BS, MS, PhD), consiglierei di bagnarti i piedi il prima possibile. Avrai abbastanza altre cose da fare nel tuo primo anno di college. In particolare per la programmazione:

  • Controlla il sito web della tua università di destinazione e consulta il catalogo delle classi di divisione inferiore o la pagina web del programma degli istruttori per le lezioni introduttive di programmazione. Cerca il linguaggio di programmazione che viene insegnato e vedi che tipo di cose sono coperte nella prima classe. Prova a leggere su quel materiale prima di iniziare.

  • Ancora una volta, guardando la pagina del programma della classe, guarda i compiti di programmazione precedenti e vedi che tipo di strumenti di programmazione software e ambiente vengono utilizzati. È vi e gcc (questo è ciò che usano i veri uomini)? Microsoft Visual Studio? Eclisse? Prova a utilizzare questi strumenti prima di iniziare.

  • La programmazione del software è solo una delle cose insegnate in un curriculum CS. Altri sono algoritmi (ad esempio QuickSort), strutture di dati (alberi, elenchi collegati, tabelle hash) e teoria pura (completezza NP e logica degli insiemi). Direi che questi sono importanti almeno quanto il linguaggio di programmazione che impari.


+1 per non leggere solo sui linguaggi di programmazione
Andy Hunt il

4

Dipende dal college. Quando ho studiato ciò che chiamano "Informatica" alla California State University, (giustamente, secondo me) si sono concentrati sull'aspetto scientifico di esso, e si aspettavano che tutti (anche le matricole) sapessero già come usare i sistemi operativi e come scrivere il codice in una lingua popolare. Non accettarono di trasferire alcuni crediti che avevo guadagnato durante i corsi di lingua presso una State University of Ohio. (È stato un peccato per me, ma di nuovo, lo capisco.) Anche questo ha avuto un vantaggio: ho completato un compito una volta, scrivendo il mio codice in C; il professore non sapeva leggere C, quindi mi chiese di riscriverlo in Pascal. Ho chiesto al capo del dipartimento la legittimità di questa richiesta e mi ha detto che, poiché non insegnano le lingue, inoltre, non possono aspettarsi che qualcuno completi un compito in una lingua specifica. Quindi il mio professore ha dovuto convivere con il mio incarico scritto in C. Quindi, la linea di fondo è, verificare con l'università in cui andrai. Ma se vuoi il mio consiglio, non fa mai male imparare il più possibile in anticipo.


2
E il C ++ è una buona scelta per cominciare con una lingua, se stai seguendo una delle discipline ingegneristiche, perché con il C ++ puoi imparare a programmare vicino alla macchina e allo stesso tempo puoi iniziare ad imparare OOP.
Mike Nakis,

Grazie ho chiamato la scuola (Università dell'Illinois) e mi hanno detto che di solito gli studenti hanno una leggera comprensione della lingua e che dovrei imparare il più possibile prima di andare a scuola. Grazie per il vostro consiglio.
Matt,

Grande. Se possibile, prova anche a familiarizzare con la riga di comando di Linux; tale conoscenza di solito è utile in ambienti universitari. È meglio essere colui che mostra agli altri nel laboratorio informatico come vengono fatte le cose, piuttosto che essere il tipo che chiede sempre agli altri.
Mike Nakis,

4

Se devi prima domandarti se dovresti imparare un linguaggio di programmazione, chiediti se è davvero quello che vuoi fare. La maggior parte dei primi anni di informatica sono già dannatamente bravi a programmare prima ancora che inizino, quindi sarai in competizione con quei tipi che tendono naturalmente verso il geek. O saltaci dentro prima o fai qualcos'altro che ami. Non essere sul recinto. Amo quello che fai. Non ho bisogno o voglio un voto per questo, voglio solo parlare direttamente con te.


1
Modificherei questo per dire "la maggior parte degli studenti di informatica di SUCCESSO, nel loro primo anno". Quando ero al college (e più tardi alla scuola elementare) c'era un numero allarmante di studenti CS che non sapevano la prima cosa sull'uso dei computer, ma hanno appena sentito che CS era dove erano tutti i soldi. La maggior parte di loro ha cambiato major, dopo essersi molto arrabbiati con gli istruttori che non dicevano loro cosa scrivere.
soffice

Ero uno di quei cantini e ho avuto molto successo. Tuttavia, ho dovuto davvero impegnarmi così tanto per farcela con quei atleti geek a partire dal nulla. Se non fossi in una situazione in cui avrei dovuto fare soldi per mio figlio, non mi sarei spinto tanto. Ho finito per amarlo perché l'ho capito di più.
Jason Sebring,

3

Non ti penso debba impararlo prima di frequentare il college. Comunque credo come la maggior parte delle cose nella vita, se sei pre-preparato prima di partecipare ad un evento ecc., Allora è molto probabile che tu sia in grado di prendere decisioni informate su quali informazioni assorbire e quali informazioni scartare.

Più in particolare, almeno immergendo le dita dei piedi, potresti essere in grado di ascoltare ciò che dicono i tuoi docenti piuttosto che copiare semplicemente ciò che dicono alla lettera ma non assorbire effettivamente i concetti che stanno cercando di comunicare, che secondo me è il più importante parte dell'università (non la parte della sintassi di apprendimento di una lingua, ecc.).

Per quanto riguarda quale linguaggio di programmazione imparare. Probabilmente non importa, ma potrebbe essere utile iniziare a leggere quelli che probabilmente coprirai nel tuo primo anno.

Tuttavia, il rovescio della medaglia del pre-apprendimento è che quando arrivi ai tuoi primi mesi potresti trovare le lezioni noiose ed elementari. Ciò potrebbe indurti a non frequentare le lezioni o a scartare ciò che i docenti stanno cercando di ottenere, perdendo quindi alcune informazioni vitali come la consapevolezza del modo in cui hai effettivamente imparato qualcosa, non è il modo giusto, cioè hai imparato una cattiva abitudine prima di frequentare il college.

Esaminando già questi tipi di siti, probabilmente sei già parte del modo di essere un passo avanti e quindi aiutare il tuo apprendimento durante il college. In ogni caso, ciò che pre-apprendi sarà probabilmente solo la punta dell'iceberg. Dovrai portare avanti questa curva di apprendimento dentro e fuori il materiale del college se vuoi portare avanti i benefici che può fornire.


2

Sì, ma non iniziare con il linguaggio più complicato, ci sarà molto tempo per farlo in seguito.

Inizia con qualcosa di semplice per bagnare i piedi. È molto più facile avvolgere la testa intorno ai concetti di programmazione quando non sei gravato dal linguaggio stesso. Allo stesso modo, alcune lingue fanno le cose meglio di altre.

Scopri Python per la programmazione dinamica, semplici tecniche di programmazione orientate agli oggetti e rientro corretto. Scopri javascript + JQuery o Lua per conoscere le chiusure. Informazioni su Java o C # per informazioni sulla digitazione statica. Impara le espressioni regolari per l'analisi delle stringhe. E impara un po 'di SQL poiché ogni programmatore deve toccare un database ad un certo punto. Quindi impara PHP in modo da poter identificare il codice spaghetti.

Questo elenco può variare, ma fondamentalmente scegli alcune lingue divertenti e usale per imparare i concetti . Successivamente, imparerai ad essere adattivo, piuttosto che ristagnare in una lingua per il resto della tua vita e cercare rabbiosamente di difenderla su Internet tutto il tempo.


1

Sto per dire che non penso che importerà troppo quale lingua conosci quando inizi, ma probabilmente ti darà un vantaggio, nel senso che quando ricevi il tuo primo incarico di programmazione, non hai lottare con il problema di pensare in termini di codice - avrai già qualche esperienza lì. Una curva di apprendimento in meno da superare è una buona cosa. Bonus se impari la lingua che insegnano nel tuo primo anno, ma non è necessario.


1

Non saprai se l'Ingegneria Informatica è davvero il programma di laurea appropriato per te fino a quando non scoprirai quanto sia difficile o facile trovare la programmazione, oltre a quanto sei bravo a farlo. L'unico modo per sapere davvero è provare e imparare almeno un linguaggio di programmazione e fare un sacco di codice, al più presto.


1

Alcune cose che potresti essere interessato a imparare prima di andare all'università (scegli tra queste):

  1. Qualche altro in matematica (non posso essere più specifico, perché sono francese e non ho idea delle abilità matematiche che ci si aspetta che tu abbia)
  2. Alcuni altri linguaggi di programmazione, come Ocaml, Scheme, Haskell, Lua ... Apriranno la tua mente a nuovi modi di pensare.
  3. Un libro di algoritmi
  4. Migliori competenze in inglese e scritte (e una lingua straniera non è mai male)
  5. Uso e codifica sotto GNU / Linux e software libero in generale. La capacità di studiare software libero (e contribuire ad esso) ti imparerà molto.
  6. Autonomia lavorativa, essere in grado di definirsi un piano di lavoro e attenersi ad esso
  7. Il SICP

Non consiglierò di concentrarmi in modo ristretto sul C ++; altre lingue, libri, abilità ti porteranno molto di più. Non spendere tutti i tuoi sforzi in C ++.

Goditi il ​​tuo apprendimento.


1

Onestamente, se hai tempo, fallo. L'IT avrà più senso mentre l'insegnante insegna. Ne trarrai il massimo dagli studenti che non hanno mai programmato.


1

Decisamente! Se non hai programmato prima, l'apprendimento di C ++ o C o Java o C # ti farà iniziare nel modo giusto. Tutte queste lingue sono basate sull'Algol (approssimativamente) - una volta che hai imparato una di esse, impara Lisp o Haskell. Il fantastico cambio di paradigma tra le due famiglie ti aiuterà a prescindere da ciò che i tuoi corsi comportano.


0

Personalmente lo consiglierei. Questo non vale per tutte le scuole, ma sono andato in quella che è considerata un'ottima scuola di ingegneria e le lezioni introduttive di programmazione erano orribili. Conoscere le basi ti aiuterà ad evitare molte delle cattive pratiche / conoscenze errate che potrebbero esserti insegnate. E come menzionato in un'altra risposta, passerai attraverso quelle facili lezioni di introduzione alla programmazione mentre altri lottano. E se sei come me, questo ti dà più opportunità di aiutare i tuoi amici che stanno lottando da soli.


0

Penso che dovresti. Oltre alle ragioni fornite da altri qui, aggiungerei che molti professori universitari non sono molto bravi a insegnare e quindi non puoi fare affidamento su di loro per insegnare ciò che stai imparando molto bene. Capirai molto meglio quello che stanno dicendo se hai già una conoscenza di base.

Inoltre, il rapporto tra materiale del corso e tempo di lezione è spesso troppo elevato nelle università, quindi anche quando il professore è un insegnante decente, non può insegnarti in modo efficace nel tempo di lezione disponibile. Quindi qualsiasi conoscenza acquisita in anticipo ti aiuterà a tenere il passo con il ritmo veloce della classe.

C ++ IMO è una delle peggiori lingue per i principianti. Vai avanti e studia C ++ se non lo trovi troppo difficile, ma altri linguaggi come C #, VB, Ruby o Python sono un po 'più facili.


0

Sarebbe una mossa molto intelligente conoscere un po 'di lingua prima di entrare al college. L'istruzione universitaria in Informatica è spesso di una qualità lugubre, impartita da TA che non sono addestrati o che non parlano inglese. I corsi introduttivi non sono una priorità e la cattiva istruzione è la regola. Le università guadagnano con le spese generali delle sovvenzioni; ottenere borse di studio è la priorità della maggior parte delle facoltà del college, non insegnare agli studenti universitari. Questa è una triste regola con poche eccezioni.

Tuttavia, anche la qualità dei programmi nelle scuole superiori può essere scarsa. Molte amministrazioni scolastiche pensano che la formazione nell'uso di Micosoft Word sia informatica. Ah, l'assurdità che emana dalle scuole di ed!

Vorrei poter essere più ottimista. Se hai un buon programma compsci nel tuo liceo, attacca. Vai oltre i limiti e sii aggressivo nell'apprendimento. Se sei abbastanza intraprendente, non è difficile insegnare a te stesso Python e acquisire qualche abilità. Una volta che lo impari, imparare altre lingue non è difficile. La semplice grammatica di Python rende l'apprendimento relativamente semplice.


0

Sì.

Quello che dovresti imparare dipende dal significato di "Ingegneria Informatica". È un termine piuttosto non standard. Dove ho studiato, era una combinazione di elettronica e informatica.

Se ti aspetti di lavorare principalmente con l'hardware del computer, suggerirei di imparare C e Forth. Se prima di tutto farai ciò che considererei "informatica", suggerirei di imparare qualcosa come Python o Smalltalk per provare il "vero lavoro" e un linguaggio di programmazione funzionale a tua scelta (suggerirei una variante di lisp o schema, ma scegli ciò che è più semplice e cool).


0

Condividerò la mia esperienza.

Ho iniziato a programmare circa 10-11 mesi fa. La mia prima vera esposizione è stata con PHP, ma in seguito mi sono ritrovato a studiare C # in un corso introduttivo (CS 140) presso il mio college della comunità locale. Dopo aver appreso le basi, ho praticamente volato con esso e da allora non mi sono più fermato. Dopo C #, ho deciso di iniziare ad imparare la meccanica di livello inferiore su come funzionavano i computer. Sto lavorando a un'applicazione che dovrebbe essere multipiattaforma e dovrebbe aiutare i motori di videogiochi a interagire tra loro (simile a SDL, ma forse a un livello più basso di quello, con un focus rigoroso su GUI, matematica e altre funzioni di supporto).

Fondamentalmente, se non fosse stato per quella classe, non avrei trovato ciò che amavo fino a molto, molto più tardi. Non sai davvero che ti piace programmare fino a quando non capisci davvero i concetti alla base. Se vuoi scoprirlo, ti consiglio di prendere un'introduzione al libro di programmazione e iniziare con C / C ++ poiché devi capire cosa stai facendo, piuttosto che usare un linguaggio che ti terrà la mano come Java o C # o solo un po 'di linguaggio di scripting - intendiamoci, questi hanno il loro posto e sono buoni strumenti da usare, ma è anche molto importante comprendere i concetti di livello inferiore all'inizio. Questo è stato un errore che ho fatto all'inizio.

Dopodiché, continua a programmare se ti piace. In caso contrario, impara qualcos'altro. Qualunque cosa tu decida di fare, dovresti passare più tempo possibile su di esso prima di frequentare l'università per 2-4 anni per impararlo, in quanto ti manterrà DAVVERO all'avanguardia. Mostrerà anche motivazione a qualsiasi datore di lavoro che potenzialmente potrebbe assumerti.

Posso dirti che le discipline dell'informatica / ingegneria elettrica sono di gran lunga le più veloci in termini di tassi di evoluzione (che continuano ad aumentare di anno in anno), e dovrai continuare a imparare nuove tecnologie per stare al passo con ciò che è l'ultimo e il più grande (che dovresti trovare almeno in qualche modo interessante, anche se dipende in realtà dall'area di competenza in cui sei specializzato. Ad esempio, odio la programmazione Web e non mi interessa affatto le tecnologie esistenti per questo, ma alcune persone lo apprezzano davvero e SONO interessati a questo). Nonostante ciò, C / C ++ sono ottime lingue da imparare poiché, mentre molte altre lingue (ad esempio C #, Java), hanno le loro API predefinite per "semplificare la vita", non imparerai nulla di ciò che sta realmente accadendo sotto il cofano fino a quando "

Fondamentalmente, ho programmato per 10-11 mesi e non ho frequentato l'università un po '. Ho seguito un corso C # in un college della comunità (la mia prima lezione di programmazione, che mi ha insegnato i fondamenti), e almeno il 95% del resto ho imparato da solo. Questo perché, dopo aver preso quella lezione, sapevo che volevo diventare un programmatore. Lo saprai una volta che sarai arrivato a capirlo. In entrambi i casi, dovresti studiarlo indipendentemente se vuoi davvero avere successo, perché aumenta la tua attitudine per la motivazione e l'impegno. Un programmatore haessere motivato per avere successo. Hanno a che fare con molto, più che semplicemente "scrivere codice". Un'applicazione deve essere costantemente testata, sottoposta a debug e compresa da zero. In genere, piccolo o grande, imparerai quasi qualcosa di nuovo per ogni progetto che intraprendi. Questa è una buona cosa, perché devi mantenere attivo quel cervello.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.