Como posso ensinar ciência da computação sem usar computadores?

21

Em alguns lugares do mundo, as pessoas geralmente não têm acesso (e, portanto, pouco conhecimento) a computadores e, mesmo que tenham, hardware e software estão desatualizados e o uso é afetado por quedas de energia e outras coisas. O acesso a (bons) livros também costuma faltar. Como posso ensinar ciência da computação em tais circunstâncias?

Estou preocupado que, sem poder fazer experimentos e aplicar o que aprendem, eles não aprenderão (bem) de maneira alguma, mesmo que sejam incrivelmente motivados e dediquem a maior parte do tempo a esse hobby. É possível ensinar CS apenas teoricamente?

Abhimanyu
fonte
13
As pessoas são fascinadas pela matemática há milhares de anos. Ninguém tinha acesso a um computador digital naquela época. De fato, normalmente em cursos teóricos você não precisa de computadores.
Juho
3
Gostaria de salientar que o primeiro programa de computador foi escrito cerca de 100 anos antes de o primeiro computador ser construído.
Gabe
2
Dê uma olhada na história . Provavelmente, esses caras precisam apenas de papel e caneta, e isso pode ser o mais alto da ciência da computação (não tenho idéia do que eles falam na maioria das vezes).
Trylks
1
Provavelmente ajudaria se você realçasse as áreas do CompSci que pretende cobrir. Coisas como matemática discreta e até estruturas ou algoritmos de dados podem ser abordados apenas em papel e caneta. Por outro lado, a engenharia de software provavelmente será problemática.
NotMe
1
@abhimanyu Ótimo, a pergunta foi "protegida" antes que eu pudesse postar minha resposta; Coloquei aqui agora: pastebin.com/6tbMtVM8 (Esta é uma resposta longa , pois as possibilidades devem ser óbvias, mas parecem não ser. Há muitas idéias lá e espero que você encontre algo útil ...)
ninguém

Respostas:

24

Perguntar como você pode estudar ciência da computação sem computadores é como perguntar como você pode estudar cosmologia sem telescópios. Claro, é bom poder observar as coisas que você está estudando e muitas vezes é muito útil poder brincar com as coisas. Mas há muita coisa que você pode fazer sem acessar um computador: in extremis , você provavelmente poderia fazer quase todo o curso de graduação sem computadores.

Em termos práticos, o acesso a computadores ajuda a reforçar muito do que você aprende em um curso de ciência da computação. Os cursos de programação são, obviamente, muito mais naturais com o acesso a um computador. Por outro lado, ser forçado a escrever código no papel incentiva as pessoas a pensarem em seu código e garantir que ele realmente funcione, em vez de executá-lo repetidamente em um compilador até compilar e executar casos de teste triviais repetidamente até os erros óbvios desaparecerem.

Os tópicos que seriam mais naturais sem computadores seriam os mais matemáticos. Toda a matemática de base, como combinatória e probabilidade. Computabilidade, linguagens formais, lógica, teoria da complexidade, projeto e análise de algoritmos, teoria da informação e da codificação. Qualquer coisa a ver com computação quântica!

David Richerby
fonte
11
+1 essa distinção entre CS e programação é fundamental! Meu curso de graduação em ciências da computação tinha requisitos mínimos para usar um computador, além de acessar o material de leitura on-line que eu poderia facilmente ter pesquisado em árvore morta em uma biblioteca.
Ossifrage cósmico
4
@CosmicOssifrage Concordo, mas, embora o CS não esteja programando, a programação é uma ferramenta muito útil para os cientistas da computação terem à sua disposição. E é por isso que ensinamos.
precisa saber é o seguinte
2
@Abhimanyu Isso dependeria da sua própria qualificação. Se você possui conhecimentos e habilidades, eles ficam a apenas um quadro das mentes dos seus alunos.
Raphael
2
@vzn Não, grande parte da programação está aprendendo a arte da depuração. Isso é muito importante. Mas não é ciência da computação .
precisa saber é o seguinte
2
@vzn Se você citar o homem, faça o que é certo. Ele está falando sobre experimentos em tempo de execução com o objetivo de verificar / refutar hipóteses (científicas), e não de depuração. Acho que Sedgewick nunca afirma que testar / depurar suas implementações experimentais era ciência .
Raphael
10

Existe o uso óbvio de papel e lápis. Quando me ensinaram o processamento de sinais, o processador de sinais especial não estava disponível diretamente para nós e acabamos de entregar relatórios em papel.

Observe que o grande cientista da computação Dijkstra aparentemente não usou muito os computadores:

Quase todos os artigos desta série que aparecem após 1972 são manuscritos. Tendo inventado grande parte da tecnologia do software, Dijkstra evitou o uso de computadores em seu próprio trabalho por muitas décadas. Mesmo depois de sucumbir ao incentivo de seus colegas da UT e adquirir um computador Macintosh, ele o usou apenas para e-mail e para navegar na Internet.

Citado do Memorial de Disjkstra

Isso mostra que você pode fazer ótimas ciências da computação sem um computador!

Além do papel e do lápis, os problemas da ciência da computação também podem ser resolvidos "no mundo real", por exemplo, demonstração de algoritmos de classificação com cartões ou - mais incomum - com a dança, feita pela Universidade Sapientia .

Finn Årup Nielsen
fonte
Algum conselho sobre como efetivamente fazer isso? O professor pode não ter tido os benefícios de uma aula de lousa em uma grande universidade.
Raphael
3
Muita matemática é ensinada na lousa de giz. Suponho que você faça o mesmo com a ciência da computação.
Finn Årup Nielsen
Como exemplo, aqui está uma bela palestra sobre árvores
espalhadas
2
Pessoalmente, apliquei meu conhecimento de estruturas de dados e algoritmos no trabalho de escritório em um emprego de verão. Usei uma espécie de radix em caixas de cheques e fui de uma a duas ordens de magnitude mais rapidamente do que qualquer um que fizesse essa tarefa, a ponto de descrer. Usei uma classificação de mesclagem natural em cartões impressos que precisavam ser arquivados. estruturas de dados e computação existem no mundo real .
JDługosz 07/04
8

Muitas teorias da ciência da computação são puramente teóricas e podem ser resolvidas usando caneta (cil) e papel. Obter informações sobre eles e comunicá-los ao mundo exterior requer um computador.

Dave Clarke
fonte
5
Parece-me mais um comentário.
Raphael
7

Veja http://csunplugged.org/ para algumas ótimas idéias. O Google é um dos patrocinadores.

Do site:

O CS Unplugged é uma coleção de atividades de aprendizado gratuitas que ensinam Ciência da Computação por meio de jogos e quebra-cabeças envolventes que usam cartas, cordas, giz de cera e muitas corridas.

As atividades apresentam aos alunos conceitos subjacentes, como números binários, algoritmos e compactação de dados, separados das distrações e detalhes técnicos que geralmente vemos nos computadores.

O CS Unplugged é adequado para pessoas de todas as idades, do ensino fundamental ao ensino médio, e de muitos países e origens. O Unplugged é usado em todo o mundo há mais de vinte anos, em salas de aula, centros de ciências, casas e até mesmo para eventos de férias em um parque!

cdjc
fonte
As condições são complexas, mas vale a pena tentar quando os recursos permitirem.
Abhimanyu 12/09
Concordo que isso parece bom, mas para fazer desta uma resposta adequada você precisa abordar os problemas específicos apresentados na pergunta: quais recursos são necessários? Podemos esperar tê-los, por exemplo, na África (rural?)?
Raphael
3

Você pode, é bastante óbvio como você faria isso. Não tenho certeza de quão útil seria para as pessoas, mas você pode.

Mas eu nem sei como seria um professor de ciência da computação, posso perguntar como você pode ensinar ciência da computação sem um computador.

Porque se você pode ensinar ciência da computação, saberá como.

Se você sabe disso ...

-Algorithms can be written on pen and paper, and traced on pen and paper.
-Flow charts are written on paper.

O estudo da normalização, a estrutura de tabelas de dados para bancos de dados, pode ser feito em papel e caneta. (Só fiz isso em papel e caneta quando estudei bancos de dados relacionais)

Os livros de ciência da computação não precisam de um computador.

Se você já pegou um livro de ciências da computação e o estudou em uma biblioteca, saberia que não precisava de um computador para entendê-lo.

Mas você deve estar ciente de que qualquer pessoa que tenha participado de uma aula de ciência da computação pode ver que a maioria das pessoas não pode programar, está além delas. Muito abstrato para as pessoas. Isso é verdade até no nível universitário.

http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

Uma minoria substancial de estudantes falha em todos os cursos de programação introdutória em todas as universidades do Reino Unido. Apesar do heróico esforço acadêmico, a proporção aumentou em vez de diminuir ao longo dos anos. Apesar de muita pesquisa sobre métodos de ensino e respostas dos alunos, não temos idéia da causa.

Eu acrescentaria que chamá-lo de minoria substancial é um eufemismo. É uma pequena minoria que pode programar.

Eu observaria, porém, a causa do declínio que ele testemunhou. À medida que os computadores se tornaram mais populares, por exemplo, entre 2000 e 2010 (ele escreveu isso no meio da década), mais espertos estavam interessados ​​em estudar 'ciência da computação'. Antes disso, apenas as pessoas mais fanáticas estavam interessadas. E antes, o uso de computadores era mais técnico, mas à medida que os computadores ficavam mais fáceis de usar e mais poderosos nos aplicativos que eles podiam executar, mais wollies os usavam e mais pessoas que estavam interessadas apenas no que podiam fazer. ao invés de como eles fazem e como fazê-lo.

barlop
fonte
2
O que diabos são "wollies"?
Nate Eldredge
1
@NateEldredge Urban dictionary : «Termo jovial para alguém que diz ou faz algo bobo / Alguém que adiciona 2 e 2 e obtém 5." What wolly "»
Paul A. Clayton
@NateEldredge Normalmente escrito "wally".
precisa saber é o seguinte
2
Repreender o OP não é uma resposta.
Raphael
2

Seria possível ensinar os conceitos de Ciência da Computação sem um computador. Obviamente, sem acesso a um computador, de que serve realmente a aprendizagem da Ciência da Computação?

Quando eu estava aprendendo Ciência da Computação no ensino médio, nossas primeiras aulas não envolviam computadores. Em vez disso, trabalhamos a partir de um livro chamado Karel ++ , que ensinava conceitos orientados a objetos. O idioma inventado pode ser "executado" em um quadro branco ou quadro-negro com muita facilidade, porque todo o código executa ações em um gráfico. Nossas primeiras tarefas foram todas manuscritas e o professor demonstraria a solução correta no quadro no início da próxima aula.

Quando começamos a discutir algoritmos, nosso professor nos chamou para a frente da sala e nos disse para ficar em uma fila. Ele começou a demonstrar alguns algoritmos de classificação diferentes - começando com algo tolo que ele chamou de "classificação de macacos", onde trocaria aleatoriamente dois de nós e depois verificaria se estávamos classificados em todas as iterações, mas depois executando a classificação por bolhas e a classificação por shell - por "executando" eles em nós.

Ele desenhou diagramas no quadro, explicando o básico de como a memória do computador e a pilha funcionam. Ele demonstrou variáveis ​​e ponteiros (era uma classe C ++) e daí para listas e árvores vinculadas ...

Provavelmente eu poderia acrescentar isso se revisasse as anotações que mantinha naquela aula, mas é tudo o que me lembro agora. Se essas sugestões forem interessantes, posso expandir esta resposta.

Falcão
fonte
1
Você parece confundir programação (o ofício) com ciência da computação .
Raphael
@Raphael Eu entendo que a mecânica da programação em um idioma específico pode não ser importante para a parte da ciência , mas quanto você pode realmente separar a ciência da computação da programação antes de se tornar tão teórica que seja incompreensível para estudantes que possivelmente não estão familiarizados como operar um computador? Eu poderia alterar minha resposta para separar as duas, mas a imagem que me vem à mente com base nas perguntas do OP não é de adultos que procuram aprender sobre os fundamentos matemáticos da teoria da complexidade, mas de alunos do ensino fundamental que precisam de uma introdução às aplicações do CS.
Blackhawk
@DavidRicherby Pedi ao OP esclarecimentos sobre quem (idade / experiência com computadores) será o grupo-alvo de estudantes e que material ele pretende ensinar. Ajustarei minha resposta de acordo. Se eu puder, sugiro que uma analogia mais direta seja a escrita criativa versus saber como usar alfabetos e vocabulários. Só que essa analogia é insuficiente porque o estudo das linguagens de programação é realmente abrangido pela ciência da computação.
Blackhawk
@ Blackhawk Claro, nenhuma analogia é perfeita (quase por definição). Mas, enquanto o design das linguagens de programação é CS, simplesmente não é possível usá-las.
precisa saber é o seguinte
1
@DavidRicherby Acabei de ler a página da turnê do CS e, especificamente, "perguntar sobre ..." e "NÃO perguntar sobre ..." e tenho a impressão de que muitas pessoas fazem / respondem perguntas neste site que seria muito melhor no SO ... então peço desculpas se contribuí para isso. Você pode me indicar as coisas específicas que eu poderia mudar sobre esta resposta para alinhá-la com os objetivos do site? Eu suspeito que eu deveria, no mínimo, remover as referências a "ponto-e-vírgula" e "C ++", mas e o uso do Karel ++ como uma ferramenta de ensino para o conceito de linguagens orientadas a objetos? Ou memória de computador?
Blackhawk
2

Eu fiz um diploma em ciência da computação e pensei que aprendíamos muita programação (em várias línguas) e também muitos aspectos matemáticos (e também alguns hardwares).

As partes da matemática foram mais importantes para o primeiro ano - pense na matemática matricial, essencial para os gráficos 3D (como você calcula uma superfície normal para iluminar um vértice? ). Fizemos muitas estatísticas - pense na análise da taxa de transferência de trabalho, qual taxa de trabalho você pode passar para um sistema antes de entupir? Isso é muito importante para muitos sistemas centralizados e redes.

Você pode ensinar muitos algoritmos, um dos pôsteres aqui mencionado fornece aos alunos um número cada e, em seguida, faz com que eles se classifiquem usando vários algoritmos (ativo e informativo). De fato, qualquer algoritmo que possa ser descrito em uma imagem animada na internet pode ser ensinado dessa maneira. Da mesma forma, os fundamentos da computação - contador, acumulador e registrador de programaspode ser ensinado da mesma maneira ou no papel. Que tal multithreading baseado no aluno - defina um grupo de estudantes para um jogo de cartas com uma pilha entre cada um deles em um exercício clássico de multithreading (ou o problema de 1 colher compartilhada). Ou padrões de design, acho que a arquitetura do quadro-negro é perfeita para os alunos aprenderem como a comunicação de processos múltiplos pode ser implementada, ou uma arquitetura de n camadas descrita como uma espécie de jogo de sussurros chineses ou máquinas de estado finito serviriam para os alunos agindo como módulos em um 'computador vivo'. Você pode ensinar matemática binária ou execução baseada em pilha (ou seja, polimento reverso).

Obviamente, se você tiver acesso à eletrônica, poderá criar um computador analógico com amplificadores operacionais. Eles são legais.

Infelizmente, tudo isso parece mais matemática do que computação, mas grande parte disso permanecerá e um dia eles entenderão por que foram ensinados (assumindo que vão para o setor de computação). Lembre-se de que qualquer coisa que um computador possa fazer, uma pessoa pode fazer - levará muito mais tempo e tédio para alcançar o mesmo resultado. Você só precisa usar exemplos simples para demonstrar o que o computador faria e a imaginação para descrever os fundamentos da computação de uma maneira menos seca que eu fui ensinado, lá atrás :)

gbjbaanb
fonte
1

Perguntar como você pode estudar ciência da computação sem computadores é como perguntar como você pode estudar cosmologia sem telescópios.

Estou respondendo principalmente apenas para reagir a essa afirmação e porque discordo totalmente de outras respostas. A comparação correta seria, na minha opinião,

Perguntar como você pode estudar ciência da computação sem computadores é como perguntar como você pode estudar cosmologia sem um cosmos .

Ciência da Computação é sobre computadores, não apenas usá-los. É verdade que muita Ciência da Computação é baseada em matemática, então as partes matemáticas podem ser estudadas sem computadores (portanto, você está ensinando matemática), assim como, em vez de cosmologia, você pode estudar física que será útil quando houver um cosmos (ou tenha acesso a telescópios), mas no final o que você está estudando ainda é física.

Agora, o que todo mundo está fazendo nas respostas aqui é observar como a ciência da computação em nível de bacharel é basicamente teórica e não requer computadores, o que essas pessoas estão esquecendo IMHO é que as mesmas pessoas usaram computadores extensivamente até esse ponto. Sem uma compreensão natural, investigar diretamente o material teórico apenas fará com que muitos estudantes desistam ou tenham uma visão terrivelmente incompatível da ciência da computação. Portanto, ensine alguma programação, entendendo o que os computadores são primeiro e somente depois entrem no material teórico.

Como se eu estivesse ensinando estudantes na África que não têm conhecimento de computador além do conhecimento geral, mas que desejam aprender ciência da computação avançada e dedicar a maior parte do tempo a esse hobby?

Depende do orçamento:

  • Quase sem orçamento Se você tiver dinheiro para viajar para a África, pegue um monte de clones do arduino (existem clones de arduino funcionais por US $ 13, verifique esta lista por exemplo ), alguns componentes de saída (como LEDs) e um laptop. Comece com alguma programação básica, ensine-a no papel e precise inseri-la no laptop. Não é a maneira mais eficiente, mas ensinará a eles pelo menos uma compreensão básica básica do que os computadores são praticamente.
  • Baixo orçamento Compre US $ 750 em smartphones e teclados com Android $ 50 (teclados microusb ou bluetooth, consulte ebay.com ou aliexpress.com para smartphones e teclados). Sim, eles são ruins de milhões de maneiras, nem me fale sobre isso. Ainda assim, você pode inserir dados neles (embora nem considere usar os teclados na tela) e existem aplicativos de codificação simples para o Android. Tenha vários alunos por smartphone e isso pode funcionar muito bem.

Então, deixe-me esclarecer, não estou dizendo que a Ciência da Computação não pode ser ensinada sem computadores, apenas que você precisa se acostumar com os computadores e conhecê-los bastante bem antes de começar a considerar uma coisa dessas.

David Mulder
fonte
Entendi mal sua discordância com a minha resposta ou discordo dela. Se soubéssemos que não havia cosmos, a cosmologia seria uma fabricação total. Se acreditássemos genuinamente na existência do cosmos, a cosmologia seria, na pior das hipóteses, um desperdício bem intencionado de recursos. Mas, na verdade, sabemos que existe. A cosmologia sem telescópios está dizendo: "Ei, eu não posso observar o cosmos nesta semana, mas definitivamente está lá. Eu posso aprender sobre isso agora e ver a próxima semana". O CS sem computadores está dizendo: "Ei, os computadores definitivamente existem para que eu possa estudá-los agora e experimentá-los fisicamente mais tarde".
precisa saber é o seguinte
E ensinar alguém a ciência da computação sem que eles usem ou praticamente entendam o que é um computador é tanto dessa fabricação. Você não interage diretamente com o cosmos através de um telescópio, é apenas uma das muitas maneiras de observá-lo. À noite, ele ainda pode ser visto e pode ser facilmente entendido em um nível básico. O mesmo simplesmente não se aplica aos computadores.
David Mulder
Eu discordo completamente que é fabricado ensinar alguém sobre algo que realmente existe, mas que eles não experimentaram.
precisa saber é o seguinte
2
@DavidRicherby: Você e outras pessoas aqui estão tão arraigadas por estarem acostumadas a computadores que é difícil compreender o que realmente significa tentar ensinar alguém a ciência da computação sem ter computadores com base em primeiro lugar ... Eu conheço alguém que realmente deu cursos para jovens que nunca usaram computadores com computadores reais ... ele nem tentou ensinar programação ou ciência da computação e apenas chegar ao nível básico de compreensão do que é um computador é uma tarefa própria, se você não cresceu com computadores. (continuação)
David Mulder
2
Hoje em dia é relativamente mais fácil, pois mais jovens têm pelo menos alguma experiência, mas a pergunta era sobre os casos em que eles não têm nenhuma experiência. Esse mesmo indivíduo me contou como no país em que lecionava havia um período em que os alunos do ensino médio chegavam a cursos de informática na universidade sem nunca terem tocado em um computador antes ... depois de aprenderem apenas algumas teorias no ensino médio e como a maioria (de longe nem todos) dos casos que termina mal. O problema / ideia é que os trabalhos de computador pagam bem, então eles só querem ter aqueles não importa o que ...
David Mulder
1

A Ciência da Computação trata de algoritmos e não (estritamente) de computadores (e eletrônicos).

Como tal, o estudo de algoritmos (mesmo da aritmética elementar) pode trazer entendimento da ciência da computação e da programação. Lembre-se de que mesmo o termo "algoritmo" é uma paráfrase do autor de um livro de aritmética ( al-Khwārizmī , por volta do nono século. CE).

O estudo de algoritmos pode ser feito usando meios elementares, mas deve fornecer uma cobertura do porquê o algoritmo funciona, como surgiu e como se pode realmente demonstrar que funciona corretamente.

A história por trás da evolução da ciência da computação, algoritmos e programação não deve ser subestimada. Por exemplo, a calculadora de Babbage / Ada, a máquina Enigma, a prancha de Konrad Zuse , a ENIAC etc.

Então, pode-se introduzir a programação (e linguagens de programação) como uma maneira de formalizar algoritmos. Isso também pode ser feito (em grande parte) usando meios elementares.

Observe que alguns estudos mostraram que a programação de aprendizagem de pessoas tem duas principais dificuldades de entendimento (relacionadas à sobrecarga de símbolos, por exemplo, teste de atribuição versus igualdade e operação de uma máquina de RAM).

  1. Construções de loop (por exemplo, para, enquanto etc.) parecem difíceis
  2. Atribuição versus teste de igualdade também parece difícil.

Assim, pode-se garantir que estas sejam claramente compreendidas e compreendidas pelas pessoas.

Além disso, se qualquer computador puder ser acessado (mesmo uma calculadora que possa ser programada), isso poderá ser usado para fornecer exemplos de aplicativos e experiência prática. Caso contrário, pode-se usar um computador simulado. Isso pode ser feito de várias maneiras, por exemplo, um grupo de pessoas pode simular partes de um computador e a classe pode projetar algoritmos para resolver vários problemas desse computador simulado e ver como ele funciona. Isso também pode ser visto como um jogo, seja criativo e faça as pazes.

Em seguida, alguns modelos de computação (abstratos) (por exemplo, Máquinas de Turing ) podem ser introduzidos e relacionados ao material anterior sobre algoritmos e formalização em uma linguagem (de programação).

Se alguém quiser introduzir a eletrônica de um computador real, isso também pode ser feito em duas partes.

Lembre-se de que, mesmo nas universidades, alguns cursos de eletrônica e arquitetura de computadores são teóricos (na verdade, não se entra em contato com uma CPU ou uma de design).

Portanto, alguns princípios de operação da eletrônica (e a física subjacente) relacionados à arquitetura de computadores podem ser introduzidos ( semicondutores , zonas de energia de estado sólido, portas p-np, etc.).

Em seguida, pode-se aproveitar o material anterior sobre programação e algoritmos e introduzir técnicas (modernas) de design (e descrição) de CPU que são usadas na indústria ( portas lógicas , flip-flops , FPGA , VHDL , circuitos CMOS etc.).

Isso pode ser levado em consideração em questões de arquitetura de design da CPU, como paralelismo, pipelining, memória cache, endereçamento vetorial, microprogramação, DMA, etc.

Bem, ok, talvez isso possa ser demais, mas foi adicionado para tornar a resposta independente.

Nikos M.
fonte
-1

Você quer ensinar programação?

Quando eu era criança, íamos de férias no acampamento e levei o manual do computador comigo. Consegui escrever um jogo simples usando caneta e papel.

Acho que esse foi o meu primeiro programa real, então muito aprendizado foi envolvido. Eu sabia o que queria fazer, mas houve muitas tentativas falsas enquanto eu descobria. Mas, eventualmente, consegui escrever todo o código.

Acho que o que estou dizendo é começar com pseudo-código e \ ou fluxogramas para planejar o projeto e depois traduzir em código. Consegui depurar muito do meu código apenas lendo-o. Você também pode usar avaliações de colegas aqui.

Ricky
fonte
Definitivamente, eu usaria pseudocódigo em vez de fluxogramas.
precisa saber é o seguinte
Essa pergunta merece mais de um ponto de dados de experiência por resposta.
Raphael
-2

Para ecoar nas respostas anteriores: há muito a ser aprendido apenas com a leitura e a realização de exercícios com caneta e papel. Se você puder resolver o problema no papel, terá a parte mais difícil. No entanto, também quero mencionar a existência de maneiras razoavelmente baratas de expor os alunos ao CS. Você está familiarizado com o Raspberry Pi Project ? Mesmo que várias pessoas tenham que compartilhar ou você só possa adquirir 1 ou 2 unidades, pode valer a pena considerar como uma maneira de expor seus alunos à tecnologia.

liko
fonte
Isso não adiciona nada sobre as respostas existentes.
Raphael
1
@ Rafael True, no entanto, observe que as outras respostas que mencionam dispositivos de computação baratos foram postadas após esta.
precisa saber é o seguinte
-3

vou tentar mexer um pouco nisso e "pensar fora da caixa". computadores completos são realmente caros, às vezes exigem recursos e são difíceis de manter. mas existem muitos sistemas eletrônicos baratos que imitam computadores completos, por exemplo, com telas de LCD etc. e que muitos princípios básicos de programação podem ser aplicados, muitos alimentados por bateria. existe também uma estreita conexão dos princípios de EE com a computação, como a construção de circuitos lógicos binários etc .; Hoje em dia, alguns brinquedos também têm capacidade de programação.

  • calculadoras programáveis . alguns têm linguagens de programação inteiras (não de nível tão alto, mas mais como linguagens de montagem) incorporadas a elas. alguns suportariam programas avançados.

  • O minicomputador / microcontrolador Raspberry pi foi desenvolvido para esse fim e executa o linux. menos de US $ 40 em muitos casos.

  • O microcontrolador do kit STAMP paralaxax requer uma conexão USB, mas talvez um Raspberry pi seja suficiente. veja também microcontrolador PIC

  • sistemas de robótica. existem muitos baratos que possuem alguma lógica programável. Lego robotics mindstorms / nxt é um dos melhores e existem modelos mais baratos.

  • alguns jogos de console têm princípios de programação embutidos. por exemplo, Little Big Planet possui incríveis recursos de programação embutidos. existem algumas versões portáteis de jogos programáveis. existem muitos vídeos do youtube de construções complexas para inspiração.

  • smartphones são o novo mundo da programação. eles têm navegadores que executam javascript e existem muitos aplicativos relacionados à programação, e pode-se até navegar em sites de programação com conexão à Internet (incluindo wifi).

sugerir também, como nos comentários, a criação de programas de TM, por exemplo, para adição, etc., e a tentativa de segui-los manualmente.

vzn
fonte
2
Suspeito que pessoas que não têm acesso a computadores também não tenham acesso a Lego Mindstorms, sistemas de jogos para console, smartphones ou wifi.
precisa saber é o seguinte
um ponto justo / óbvio / antecipado, mas nada mencionado foi explicitamente descartado nos critérios da pergunta. não se sabe da questão de saber se os alunos não têm material porque é caro, e tudo listado acima é mais barato que os computadores de mesa como referência. alunos ou escolas que podem pagar livros didáticos podem pagar o que precede (talvez o compartilhe). e se os livros didáticos não são acessíveis, o que mais resta?
precisa saber é
(fyi âmbito questão foi chged significativamente pelo mod uma vez que esta resposta escrita,-me que editar questão faz suposições principais não nec destinados pelo escritor original & preferem a ambigüidade original como um recurso e não um bug)
vzn