Discorsi ispiratori per gli studenti delle scuole superiori dell'ultimo anno


38

Il mio dipartimento mi chiede spesso di tenere discorsi con gli alunni delle scuole superiori sugli elementi più matematici dell'informatica. Faccio del mio meglio per scegliere argomenti da TCS che potrebbero ispirare il loro interesse (che coinvolge principalmente qualcosa a che fare con il problema di Halting) ma mi piacerebbe sentire le idee / i successi / i fallimenti di altre persone.

Il compito è che si tratta di alunni che stanno valutando la possibilità di candidarsi per un corso di laurea in un'università decente, ma che potrebbero essere più attratti dalla matematica o da un'altra delle scienze. Trovo che i soliti argomenti degli algoritmi del percorso più breve o dei metodi di ordinamento più veloci non funzionino più per suscitare il loro interesse.


11
Sto pensando che dovrebbe essere CW?
Suresh Venkat,

Questa è davvero una domanda a livello di ricerca TCS ?!
Mohammad Al-Turkistany,

18
@turkistany: Sì. Vendere l'importanza della ricerca è una parte essenziale del fare quella ricerca. È anche una parte in cui molti teorici sono deboli. Per parafrasare Feynman, non capiamo davvero TCS a meno che non possiamo spiegare agli studenti delle scuole superiori brillanti.
Aaron Sterling,

9
@turkistany: Sì, sì, mille volte sì.
Jeffε,

1
@JeffE, Ok, Ok, ..., un numero infinito di volte OK. Ora capisco :)
Mohammad Al-Turkistany,

Risposte:


40

Esiste un modo preciso per presentare agli studenti prove a conoscenza zero, che penso sia originariamente dovuto a Oded Goldreich (per favore correggimi se sbaglio).

Hai una palla rossa e una palla verde, che il povero daltonico Charlie crede siano dello stesso colore. Vuoi convincere Charlie che puoi dire la differenza tra la palla rossa e la palla verde e vuoi farlo in un modo in cui Charlie non impara chi è rosso e quale è verde. (Vuoi dimostrare che qualcosa è vero, in modo tale che nessun altro possa girarsi e rivendicare una prova di quel qualcosa come suo.) Come puoi farlo? O è impossibile?

Un protocollo è il seguente. Charlie mette una palla in ogni mano, quindi sceglie di scambiare le due palle dietro di lui, oppure no. Quindi presenta di nuovo le due palle. Se riesci sempre a capire se ha cambiato le due palle o no, Charlie è sempre più convinto di poter distinguere tra loro. Se Charlie fa questo riordino a caso e davvero non si può dire la differenza tra i colori, allora si avrà solo immaginare correttamente con probabilità . Dopo k prove, Charlie deve essere convinto che si può dire la differenza con probabilità di almeno 1 - 1 / 2 k .1/2k11/2k

Ora, mentre Charlie diventa sempre più convinto di poter distinguere, frustrantemente non impara mai quale palla è rossa e quale è verde.


2
Presentare le prove ZK è un'ottima scelta. Un altro esempio che ritengo comprensibile per gli studenti è la colorazione dei grafici.
Kaveh,

2
C'è una bella demo di sudoku ZK dalla pagina di Moni Naor.
Suresh Venkat,

Mentre Goldreich ha contribuito molto in questo campo, le prove ZK sono originariamente dovute a Goldwasser, Micali e Rackoff . PS: Il protocollo convincente daltonico è in realtà dovuto a Goldreich (vedi http://www.wisdom.weizmann.ac.il/~oded/poster03.html ).
MS Dousti,

1
@Sadeq: Sono sicuro che Ryan intendesse dire che ZKP per il colore della palla con un prover cieco è dovuto a Goldreich :)
Sasho Nikolov,

23

Una fonte bene per scopi educativi in generale è CS scollegato , che ha un sacco di idee pulite CS tradotti in scuole superiori e delle scuole medie attività .


Questo è un ottimo collegamento, grazie. La cosa più notevole al riguardo è che è rivolto ai bambini delle scuole medie. Dubito che ci sia una sola scuola media nel Regno Unito che insegna qualcosa di simile, purtroppo.
Raffaello,

Il libro della Teacher's Edition sembra più adatto ai bambini delle scuole elementari e medie, piuttosto che agli studenti delle scuole superiori.
Alessandro Cosentino,

16

Uno degli aspetti più interessanti di TCS è il modo in cui utilizza idee matematiche astratte per applicazioni pratiche quotidiane. Una presentazione può concentrarsi sulle idee astratte che stanno dietro un passo dietro ciò che vedono quotidianamente su Internet: i percorsi più brevi diventano eccitanti una volta inseriti nel contesto degli amici degli amici su Facebook. Più algoritmi grafici possono essere utilizzati su Pagerank; Le raccomandazioni di Amazon sollevano la sfida dell'apprendimento automatico; e l'acquisto di roba su Internet è sicuramente un buon vantaggio per la crittografia a chiave pubblica.


4
Inoltre, ogni giocatore di StarCraft è consapevole dell'importanza di un buon algoritmo di percorso più breve. E immagino che gli studenti delle scuole superiori stiano ancora giocando ai videogiochi (vero?).
Sylvain Peyronnet,

1
Stanno sicuramente giocando ai videogiochi.
Daniel Apon,

15

Penso che quasi tutti gli argomenti dell'informatica possano essere utilizzati per tenere un discorso interessante, ma alcuni sono più adatti, la parte più importante è la presentazione.

Fun Side of Computer Science

Ho usato vari giochi della Combinatorial Games Theory, principalmente da "Fair Games" di Richard Guy e Elwyn R. Berlekamp, ​​John H. Conway e "Winning Ways for your Mathematical Plays" di Richard K. Guy ( wiki ).

Sono divertenti , e si possono svolgere in classe con loro e far loro trovare il modo giusto di giocare, dare alcuni suggerimenti così alla fine si trovano il modo per vincere la partita. Questi giochi sono probabilmente più adatti agli studenti più giovani.

Ci sono altri argomenti divertenti in Informatica in cui puoi scegliere un problema più adatto al tuo pubblico e usarlo per coinvolgerli.

Lato filosofico dell'informatica

Ci sono molti argomenti in informatica teorica che sono legati alla filosofia e alle grandi domande . Dal teorema di incompletezza di Gödel alle prove a conoscenza zero, sicurezza, privacy, teoria dei giochi algoritmica, P vs NP, apprendimento automatico, ... Non vorrei entrare nei dettagli, solo dimostrare che i problemi sono interessanti, sono più che semplici scienze informatiche , sono legati a grandi domande. (Dai un'occhiata al Quantum Computing di Scott Aaronson Since Democritus e alle grandi idee nelle lezioni teoriche di informatica ). Non farli sentire come se l'argomento fosse morto (ovvero tutte le domande avranno una risposta), fagli sentire che l'area è viva, ci sono stati progressi ma ci sono ancora grandi sfide da affrontare, ed è un viaggio verso una terra da scoprire.

Lato tecnologico dell'informatica

Parla dell'informatica dietro le tecnologie. Ci sono così tanti argomenti che si possono scegliere qui, tecnologie familiari dai videogiochi alla ricerca su Google, traduzione automatica, visione, ... tecnologie che tutti usano ogni giorno, o persino sconosciute. Parla dei progressi e delle tecnologie della prossima generazione, dell'impatto che hanno avuto sulla nostra vita e di come l'hanno migliorata. Parla della ricerca in corso in grandi aziende famose (come Google, Microsoft, Apple, IBM, ...) e dei prodotti che sviluppano. Parla dei grandi problemi del nostro tempo e dell'effetto che l'informatica ha su di loro.

Lato matematico dell'informatica

Questo è utile per gli studenti che sono già interessati alla matematica, quelli interessati al lato puro ed esatto , ma senza combinarlo con altri temi sopra menzionati non sarà altrettanto efficace per gli altri studenti. Vorrei fare una grande domanda e ad un certo punto menzionare iniziare a parlare dei problemi matematici coinvolti.

Lato interdisciplinare dell'informatica

L'informatica è probabilmente una delle materie più interdisciplinari , ci sono alcune connessioni con quasi ogni altra materia, umanistica (sociologia, linguistica, economia, filosofia, ...), scienze naturali (matematica, fisica, ...), biologia, scienze mediche, arte, ingegneria (elettronica, meccanica, ...), ... qualsiasi cosa! Qualunque argomento tu sia interessato, c'è qualcosa nell'informatica che è collegato ad esso! Come ha detto Scott, ogni altro grande succhia al confronto :).

Tutti loro

Puoi anche provare a menzionare tutti i temi che ho menzionato sopra. Non ho provato questo, e non sono sicuro di quanto sarebbe efficace. Devi trasferire la sensazione e fare il punto, e ci vuole un po 'di tempo. Un'altra opzione è quella di menzionarle brevemente all'inizio (o alla fine), quindi proseguire con una di esse e dire loro che possono contattarvi per ottenere maggiori informazioni sulle altre se sono interessate.

alcuni commenti

Qualunque cosa tu abbia intenzione di parlare, dovresti esserne entusiasta . Sarà molto più difficile interessarli a un argomento che non è davvero interessante per te. Racconta loro le tue ragioni per selezionare l'informatica. E non essere noioso .


14

Ho usato due discorsi abbastanza con successo sia con gli studenti delle scuole superiori che con le matricole.

  1. Origami. Comincio con il problema della stella a 5 punti (funziona bene in contesti americani, a causa della connessione con la bandiera americana) e permetto agli studenti di provare a capire come realizzare una stella a cinque punti con piegatura + 1 taglio. Parlo della "risorsa" (taglio) e di come la progettazione dell'algoritmo riguarda il lavoro con risorse limitate. Poi parlo di altre domande e applicazioni di origami nel mondo reale (valvole cardiache, telescopi della NASA, zone di sgualcimento in auto).

  2. Ordinamento dei pancake: esiste una bellissima connessione tra l'ordinamento dei pancake e il riarrangiamento del genoma, e in realtà ho creato pile di pancake dalla schiuma per far giocare gli studenti. Funziona benissimo e mi permette di parlare di algoritmi, sequenziamento genico, Bill Gates (!) E altre cose divertenti.


10

La crittografia è sempre qualcosa che cattura la mente di individui più giovani (e spero personalmente più anziani). Avevo amici che volevano essere assistenti di infermiere, giocatori di hockey, uomini d'affari, politici e amici (che nonostante i loro obiettivi più alti) lavoravano come borsoni della spesa e spacciatori, operai edili e assistenti di canile - tutti che si inventavano e si rompevano l'un l'altro ” (certamente ingenuo e semplice) codici. In particolare, l'esistenza della crittografia a chiave pubblica è di solito abbastanza facile da spiegare se si prende la strada di RSA. Si potrebbe anche elencare alcuni dei risultati importanti senza prove o costruzioni: le prove Zero-Knowledge e la crittografia omomorfa sono destinate a spremere il fattore geek per quello che vale.

Anche i codici Forward Error Correction e Error Detection sono molto interessanti e, se fatti bene, possono essere insegnati a un pubblico curioso. Per renderli più facili da digerire, potresti menzionare l '"universalità" dell'indice di coincidenza - che tutta la nostra lingua parlata e la nostra scrittura hanno piccole ridondanze ed esagerazioni che ci aiutano a comunicare nel canale rumoroso di una stanza che contiene borse, piedi e condizionatori d'aria ronzanti.

Infine, suggerirei anche di fare una semplice introduzione alla teoria della complessità - qualcosa sulla falsariga della mia risposta alla descrizione di Theoretical Computer Science .


10

Il nuovo Turing Omnibus di AK Dewey ha 66 cosiddette escursioni nell'informatica. Copre argomenti come analisi di algoritmi, intelligenza artificiale, teoria della complessità, teoria del calcolo, crittografia, computer grafica e così via. Ogni argomento è scritto in una forma piuttosto condensata, catturando alcuni risultati fondamentali nell'informatica. Questo libro potrebbe fornire qualche ispirazione.

Un'altra possibilità è quella di consentire agli studenti di sporcarsi le mani tramite qualcosa come il programma Code-in di Google . È un po 'come l'estate del codice di Google , ma, sai, per i bambini. Forse mostrare alcuni dei meravigliosi progetti di codifica in cui gli studenti possono essere coinvolti è un possibile modo per suscitare interesse.


Certo, il libro è del 1993 (penso) e quindi un po 'vecchia scuola.
Dave Clarke,

2
Sì, c'è un problema nel cercare di eccitarli per il futuro se ci si riferisce a un libro scritto prima che nascessero :)
Raphael

6

Secondo me, per essere sexy per gli studenti delle scuole superiori devi essere una specie di mago. Ecco perché penso che gli algoritmi randomizzati siano molto buoni come attrattore per studenti. Ad esempio, il testing delle proprietà è davvero qualcosa di intrigante, e anche qualcosa che può essere spiegato (non i tecnicismi, ma l'idea) a chiunque.

Anche il PCP è magico, ma immagino che questo sia fuori portata ...


Una volta avevo parlato del PCP a studenti di talento delle scuole superiori, ovviamente senza dimostrarlo, ma mostrando le sue applicazioni alla durezza di approssimazione e dando la "sensazione" generale del teorema. Penso che gli sia piaciuto, quindi non è molto fuori portata (ma avevano già ascoltato alcuni discorsi sugli algoritmi di approssimazione, senza questo penso che non afferrerebbero la motivazione del teorema).
Karolina Sołtys,

4

Ecco un bellissimo articolo sulla teoria dei codici rivolto agli studenti delle scuole superiori di Michael Mitzenmacher:

http://www.eecs.harvard.edu/~michaelm/FUTUREOFCS/codes-mitzenmacher.pdf


2
questo è un sondaggio eccellente
Suresh Venkat,

2
Questo sembra parte di un libro che è un work-in-progress. Il post sul blog di Michael Mitzenmacher ( mybiasedcoin.blogspot.com/2008/04/theorycs-book.html ) ha un link a quello, che ha anche un bellissimo capitolo espositivo ( cs.princeton.edu/~chazelle/pubs/algorithm.html ) su algoritmi di Bernard Chazelle. Quel capitolo non è di per sé matematica, ma è ricco di idee matematiche.
Cong Han,

4

La mia risposta non è direttamente connessa con TCS, ma può mostrare che la matematica può essere bella e utile.

Potresti fare un discorso su come ottenere dati affidabili su quanti studenti tradiscono l'esame. Se glielo chiedessi direttamente, non otterrai dati affidabili. L'idea di come ottenere dati affidabili è molto semplice. Prima dici a ogni studente di pensare a un numero intero, poi dici:
- Se era un numero dispari annota se ti piace il colore verde o meno. Puoi scegliere qualsiasi altra semplice domanda, ma devi sapere, da qualche altro sondaggio, quale percentuale di persone risponde sì a questa domanda.
- Se fosse un numero pari, annota se stavi tradendo o meno.

Circa il 50% degli studenti risponderà alla prima domanda e l'altro 50% risponderà alla seconda domanda. Ora è molto facile stimare quanti studenti stessero tradendo. Esempio: se il 40% delle risposte era sì, e sai che al 30% delle persone piace il colore verde, allora sai che circa il 50% degli studenti ha tradito.


2

Penso che questo sia strettamente correlato alla descrizione da tavola teorica dell'informatica teorica?

Come ho pubblicato lì, sento che gli algoritmi mettono in relazione il meglio con i problemi quotidiani e possono quindi motivare TCS molto bene. ("Quanto tempo impiegherebbe una ricerca su Google se cercassero nello stesso modo in cui si cercano i numeri di telefono")


1
Ciao Raffaele! La differenza principale che sento è che questi sono tutti studenti matematicamente inclini a fare una scelta attiva su cosa fare del loro futuro. Il problema che abbiamo avuto nel reclutamento, che potrebbe essere peculiare nel Regno Unito, è che il liceo insegna loro che CS non è né per grandi intellettuali né per persone che vogliono cambiare il mondo. Ho 20 minuti per rimediare a questo malinteso :)
Raphael

Esatto (anche in Germania) e potrebbero esserci alcune differenze nell'atteggiamento, ma la quantità di conoscenza specifica di CS presente potrebbe essere più o meno la stessa della gente del tavolo da pranzo. Concordo sul fatto che tu abbia spostato il pacchetto in modo diverso per l'altro pubblico ma sceglierei lo stesso contenuto.
Raffaello,

2

Secondo me, "informatica" è la "scienza di tutte le scienze" :)

Che cos'è la "scienza"? Otteniamo dati dalla natura e proviamo a costruire un modello che spieghi i dati. Inoltre, assumiamo implicitamente che la natura non è arbitraria. Le leggi della natura devono avere un'espressione concisa, i dati devono soddisfare alcune simmetrie, ecc.

Ma questo è esattamente un problema di apprendimento! I dati sono generati da un processo che si prospetta di "bassa complessità" e il nostro compito è quello di ricostruire una descrizione del processo.

La nostra comprensione di tali problemi è a un livello così primitivo che è tuo dovere lavorare su di essi! :) Anche la nostra comprensione del problema apparentemente più semplice del fatto che l'output di un processo black-box sia equivalente ad alcuni risolti funzione è tutt'altro che completa. Ad esempio, supponiamo che ci venga promesso che la scatola nera sta valutando una funzione che può essere calcolata da un circuito aritmetico di piccola profondità (questo è facile da spiegare ai liceali), e vogliamo scoprire se la scatola è calcolo della funzione zero. Non sappiamo se ciò può essere fatto nella vita dell'universo per funzioni su domini di dimensioni ragionevoli!

Indizio per iniziare a parlare della teoria della complessità aritmetica, dell'abisso alla profondità 4, del ruolo della casualità nel calcolo, di ciò che è noto se riduciamo il numero di porte di moltiplicazione, ecc. Ecc. ...


2

Nel workshop Algorithms in the Field un mese fa in DIMACS, Graham Cormode stava discutendo a favore dell'insegnamento delle tecniche di sketch dagli algoritmi di streaming agli studenti universitari. Moses Charikar ha detto che insegnano loro a Princeton, penso che @Suresh Venkat abbia anche menzionato che insegna cose come l'algoritmo Misra-Gries per i battitori pesanti. Penso che alcuni risultati di streaming di base sarebbero grandi anche per gli studenti delle scuole superiori: si basano su trucchi matematici di base ma importanti, le formulazioni dei problemi sono come enigmi e le soluzioni sembrano magiche e la magia è un ottimo modo per ispirare gli studenti delle scuole superiori. Puoi assicurarti di enfatizzare la notevole differenza tra l'entità del problema e la quantità di risorse che puoi utilizzare. Un esempio sciocco: supponi di poter chiedere a ogni persona che entra o esce dall'aeroporto JFK il suo codice postale.


Sì. questo è un buon esempio
Suresh Venkat,
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.