sexta-feira, 8 de março de 2019

Por que aprender programação de computadores?

Devo fazer um curso de programação?

Por que devo aprender programação?

Por que aprender programação?


Simplesmente pela mesma razão que devemos aprender a ler e escrever.

Se você vive em uma cultura dominada pela escrita, você se torna um cidadão menor, um cidadão achatado se não puder participar disso.

Da mesma forma, se você vive em uma cultura onde é mediada por computadores e softwares, você precisa ser “alfabetizado” nas formas pelas quais a tecnologia funcionam para não se tornar um analfabeto digital e ser explorado por aqueles que a entendem.

Isso não significa necessariamente que você precise se tornar um programador expert.

Mas significa que todos devem aprender o “pensamento computacional” básico e entender a anatomia dos computadores e da internet.

Tenha uma ideia de como seria escrever um programa de computador e saber quais são as oportunidades de escrever programas para ajudar em outras partes de suas vidas.

Em todos os lugares que você olha, você vê um computador, um telefone, um laptop, um carro, uma geladeira, etc.

Tudo é um computador hoje em dia


O que todos eles têm em comum? A língua que falam.

É a linguagem do código de computador.

Não importa o quão simples ou complexo seja um dispositivo digital, suas funcionalidades e recursos são baseados em código executado internamente.

Então, por que estou divagando de novo?

Bem, todos esses dispositivos precisam ser programados para executar suas várias tarefas.

Então, entender código de computador é a melhor habilidade possível que você pode aprender hoje em dia em termos de impulsionar sua carreira.

Se você quer impulsionar sua carreira, gosta de tecnologia, gosta de ficar antenado e quer aprender mais sobre programação, acesse o blog:
https://www.codigofluente.com.br

Tem um material bastante completo e gratuito.

O mundo da tecnologia está repleto de oportunidades de emprego e renda, além de ser muito divertido aprender codificação. 😉

Não é todo dia que temos a oportunidade de começar em uma área com o pé
direito.

Se for um completo iniciante, poderá começar pelas aulas em C para aprender
conceitos importantes.

C é uma linguagem mais baixo nível, mais próximo da linguagem de máquina.
As aulas de javascript e python também trabalham com lógicas de programação além da sintaxe da linguagem.

Enfim, explorem a vontade, as aulas são totalmente gratuitas, só peço a vocês
que se gostarem divulguem, curtam a página no facebook, o canal no youtube,
google+ e principalmente o blog https://www.codigofluente.com.br.

Espero ter ajudado.
Abraço \o/.
Toti Cavalcanti

Quer aprender e ter informações práticas sobre tecnologia, programação, ciência de dados, etc.

Acesse:
http://www.codigofluente.com.br

sábado, 19 de janeiro de 2019

Cérebro de mosca artificial pode dizer quem é quem

A) Uma entrada de mosca de fruta ideal. B) visão tradicional. C) visão atualizada.
Pesquisadores construíram uma rede neural que imita o sistema visual da mosca da fruta e pode distinguir e re-identificar as moscas. Isso fornece evidências de que a visão da mosca da fruta é mais clara do que se pensava anteriormente.
Apesar da simplicidade de seu sistema visual, as moscas-das-frutas são capazes de distinguir entre indivíduos com base apenas na visão. Esta é uma tarefa que até os humanos que passam a vida inteira estudando a Drosophila melanogaster lutam contra. Os pesquisadores agora construíram uma rede neural que imita o sistema visual da mosca da fruta e pode distinguir e reidentificar as moscas. Isso pode permitir que milhares de laboratórios em todo o mundo usem moscas de frutas como um organismo modelo para fazer um trabalho mais longitudinal, observando como as moscas individuais mudam com o tempo. Também fornece evidências de que a visão da mosca da fruta é mais clara do que se pensava anteriormente.

Em um projeto interdisciplinar patrocinado por um instituto canadense de pesquisa avançada (CIFAR), pesquisadores da Universidade de Guelph e da Universidade de Toronto, Mississauga, combinaram experiência em biologia de moscas-das-frutas com aprendizado de máquina para construir um algoritmo baseado na biologia que produz vídeos de baixa resolução de moscas-das-frutas, a fim de testar se é fisicamente possível para um sistema com tais restrições realizar uma tarefa tão difícil.

As moscas da fruta têm pequenos olhos compostos que absorvem uma quantidade limitada de informação visual, cerca de 29 unidades ao quadrado. A visão tradicional é a de que, uma vez que a imagem é processada por uma mosca-das-frutas, só é capaz de distinguir características muito amplas. Mas uma recente descoberta de que as moscas da fruta podem aumentar sua resolução efetiva com sutis truques biológicos levou os pesquisadores a acreditar que a visão poderia contribuir significativamente para a vida social das moscas. Isso, combinado com a descoberta de que a estrutura de seu sistema visual se parece muito com uma Deep Convolutional Network (DCN), levou a equipe a perguntar: "podemos modelar um cérebro de mosca que possa identificar indivíduos?"

Seu programa de computador tem o mesmo conhecimento teórico e capacidade de processamento de uma mosca da fruta e foi treinado em vídeo de uma mosca ao longo de dois dias. Depois disso, foi então capaz de identificar com segurança a mesma mosca no terceiro dia com uma pontuação F1 (uma medida que combina precisão e recuperação) de 0,75. Impressionantemente, isso é apenas um pouco pior do que as pontuações de 0,85 e 0,83 para algoritmos sem as limitações da biologia da mosca-cérebro. Para comparação, quando dada a tarefa mais fácil de combinar o "mugshot" de uma mosca a um campo de 20 outros, experientes biólogos de moscas humanas só conseguiram uma pontuação de 0,08. A chance aleatória seria de 0,05.

De acordo com Jon Schneider, o primeiro autor do artigo a ser publicado no PLOS ONE esta semana, este estudo aponta para "a possibilidade tentadora de que, em vez de apenas reconhecer categorias amplas, as moscas da fruta sejam capazes de distinguir os indivíduos.

Graham Taylor, especialista em aprendizado de máquina e CIFAR Azrieli Global Scholar no programa de Aprendizagem em Máquinas e Cérebros, estava animado com a perspectiva de derrotar seres humanos em uma tarefa visual. "Muitos aplicativos Deep Neural Network tentam replicar e automatizar habilidades humanas, como reconhecimento facial, processamento de linguagem natural ou identificação de músicas. Mas raramente eles vão além da capacidade humana. Por isso, é empolgante encontrar um problema em que os algoritmos superem os humanos."

Os experimentos foram realizados no laboratório da Universidade de Toronto em Mississauga, Joel Levine, pesquisador sênior do programa CIFAR Child & Brain Development. Ele tem grandes esperanças para o futuro de pesquisas como essa. "A abordagem de combinar modelos de aprendizagem profunda com sistemas nervosos é incrivelmente rica. Ela pode nos falar sobre os modelos, sobre como os neurônios se comunicam entre si e pode nos falar sobre o animal inteiro. Isso é surpreendente. E é um territorio ainda pouco explorado."

Schneider resumiu como era trabalhar entre as disciplinas: "Projetos como este é uma arena perfeita para neurobiólogos e pesquisadores de aprendizado de máquina trabalharem juntos para descobrir os fundamentos de como qualquer sistema - biológico ou não - aprende e processa informações".

Fonte:

Materiais fornecidos pelo Instituto Canadense de Pesquisa Avançada.

Referência:

Jonathan Schneider, Nihal Murali, Graham W. Taylor, Joel D. Levine. Can Drosophila melanogaster tell who’s who?PLOS ONE, 2018; 13 (10): e0205043 DOI: 10.1371/journal.pone.0205043

sexta-feira, 18 de janeiro de 2019

Design de DNA que qualquer um pode fazer

programa de computador que traduz desenhos de formas arbitrárias
em estruturas bidimensionais feitas de DNA.
Pesquisadores do MIT e da Arizona State University projetaram um programa de computador que permite aos usuários traduzir qualquer desenho de forma livre em uma estrutura em nanoescala bidimensional feita de DNA.

Até agora, projetar tais estruturas exigia conhecimentos técnicos que colocam o processo fora do alcance da maioria das pessoas. Usando o novo programa, qualquer um pode criar uma nanoestrutura de DNA de qualquer formato, para aplicações em biologia celular, fotônica, sensoriamento quântico e computação, entre muitos outros.

"O que este trabalho faz é permitir que qualquer pessoa desenhe literalmente qualquer forma 2D e a converta automaticamente em origami de DNA", diz Mark Bathe, professor associado de engenharia biológica do MIT e principal autor do estudo.

Os pesquisadores publicaram suas descobertas na edição de 4 de janeiro de 2019 da revista Science Advances, e o programa, chamado PERDIX, está disponível online. Os autores principais do artigo são: Hyungmin Jun, um pós-doutorado do MIT, e Fei Zhang, professor assistente de pesquisa na Universidade Estadual do Arizona. Outros autores são o pesquisador associado do MIT, Tyson Shepherd, o recém-doutorado do MIT, Sakul Ratanalert, o cientista assistente de pesquisa da ASU, Xiaodong Qi, e o professor da ASU, Hao Yan.

Projeto automatizado


O origami de DNA, a ciência de dobrar o DNA em minúsculas estruturas, originou-se no início dos anos 80, quando Ned Seeman, da Universidade de Nova York, propôs aproveitar as habilidades de emparelhamento de bases do DNA para criar arranjos moleculares arbitrários. Em 2006, Paul Rothemund, da Caltech, criou as primeiras estruturas de DNA bidimensionais e do esqueleto, tecendo uma longa fita única de DNA (o andaime, digamos assim) através da forma que os fios de DNA conhecidos como "grampos" se hibridizariam para ajudar a estrutura a manter sua forma.

Outros, mais tarde, usaram uma abordagem semelhante para criar estruturas de DNA tridimensionais complexas. No entanto, todos estes esforços requeriam um desenho manual complicado para encaminhar a forma através de toda a estrutura e para gerar as sequências cabos de grampo. Em 2016, Bathe e seus colegas desenvolveram uma maneira de automatizar o processo de geração de uma estrutura de DNA poliédrico 3-D, e neste novo estudo, eles se propuseram a automatizar o projeto de estruturas arbitrárias de DNA 2-D.

Para conseguir isso, eles desenvolveram uma nova abordagem matemática para o processo de roteamento do andaime de fita simples através de toda a estrutura para formar a estrutura correta. O programa de computador resultante pode pegar qualquer desenho de forma livre e traduzi-lo na sequência de DNA para criar essa forma e as seqüências para os fios de grampos.

A forma pode ser esboçada em qualquer programa de desenho de computador e depois convertida em um arquivo CAD (computer-aided design), que é inserido no programa de design de DNA. "Depois de ter esse arquivo, tudo é automático, muito parecido com a impressão, mas aqui a tinta é DNA", diz Bathe.

Depois que as seqüências são geradas, o usuário pode ordenar que elas facilmente façam a forma especificada. Neste artigo, os pesquisadores criaram formas nas quais todas as bordas consistem em dois duplexes de DNA, mas também possuem um programa funcional que pode utilizar seis duplexes por borda, que são mais rígidos. A ferramenta de software correspondente para poliedros 3-D, chamada TALOS, está disponível online e será publicada em breve na revista ACS Nano. As formas, que variam de 10 a 100 nanômetros de tamanho, podem permanecer estáveis por semanas ou meses, suspensas em uma solução buffer.

"O fato de podermos projetar e fabricar esses materiais de maneira muito simples ajuda a resolver um grande gargalo em nosso campo", diz Bathe. "Agora o campo pode fazer a transição para grupos muito mais amplos de pessoas na indústria e na academia, capazes de funcionalizar estruturas de DNA e implementá-las para diversas aplicações."

Padrões em nanoescala


Como os pesquisadores têm um controle tão preciso sobre a estrutura das partículas de DNA sintético, eles podem anexar uma variedade de outras moléculas em locais específicos. Isso poderia ser útil para modelar antígenos em padrões de nanoescala para esclarecer como as células imunes reconhecem e são ativadas por arranjos específicos de antígenos encontrados em vírus e bactérias.

"Como os padrões de antígenos em nanoescala são reconhecidos pelas células do sistema imunológico é uma área de imunologia pouco compreendida", diz Bathe. "Anexar antígenos a superfícies de DNA estruturadas para exibi-las em padrões organizados é uma maneira poderosa de investigar essa biologia."

Outra aplicação importante é projetar circuitos de coleta de luz que imitam os complexos fotossintéticos encontrados nas plantas. Para conseguir isso, os pesquisadores estão anexando corantes sensíveis à luz, conhecidos como cromóforos, a esqueletos de DNA. Além de coletar luz, esses circuitos também podem ser usados para realizar a detecção quântica e cálculos rudimentares. Se bem-sucedidos, esses seriam os primeiros circuitos de computação quântica que podem operar à temperatura ambiente, diz Bathe.

Quer aprender e ter informações práticas sobre tecnologia, programação, ciência de dados, etc.
Acesse:
http://www.codigofluente.com.br

Fonte:

Materiais fornecidos pelo Massachusetts Institute of Technology. Original escrito por Anne Trafton.

Referência:

Massachusetts Institute of Technology. "DNA design that anyone can do: Computer program can translate a free-form 2-D drawing into a DNA structure." ScienceDaily. ScienceDaily, 3 January 2019. <www.sciencedaily.com/releases/2019/01/190103142244.htm>.




quinta-feira, 17 de janeiro de 2019

Robôs "ambidestros" poderiam acelerar drasticamente o comércio eletrônico

Robô pegando objetos em uma caixa
O comércio eletrônico continua a se expandir e atingiu novos patamares ainda maiores durante a recente temporada de festas. Para atender rapidamente ao enorme volume e variedade de pedidos, empresas como Amazon, Walmart e Alibaba estão investindo pesadamente em novos armazéns. Para resolver a escassez de trabalhadores, muitas empresas estão considerando usar robôs. No entanto, pegar objetos com confiabilidade em uma gama diversificada de produtos, continua a ser um grande desafio para a robótica.

Em um artigo publicado na quarta-feira, 16 de janeiro de 2019, na Science Robotics, engenheiros da Universidade da Califórnia, em Berkeley, apresentam uma nova abordagem "ambidestra" para que o robô consiga pegar uma variedade de formas de objetos diferentes, sem treinamento.

"Uma garra única não pode lidar com todos os tipos de objetos", disse Jeff Mahler, pesquisador de pós-doutorado da UC Berkeley e principal autor do estudo. "Por exemplo, uma ventosa não pode criar uma vedação em objetos porosos, como roupas, e garras de garras paralelas podem não alcançar os dois lados de algumas ferramentas e brinquedos."

Mahler trabalha no laboratório de Ken Goldberg, um professor da UC Berkeley com nomeações conjuntas no Departamento de Engenharia Elétrica e Ciências da Computação e no Departamento de Engenharia Industrial e Pesquisa Operacional.

Os sistemas robóticos usados ​​na maioria dos centros de atendimento ao comércio eletrônico contam com garras de sucção que podem limitar o alcance de objetos que podem ser pegos. O artigo da Universidade de Berkeley apresenta uma abordagem "ambidestra" que é compatível com uma variedade de tipos de garras. A abordagem é baseada em uma "função de recompensa" comum para cada tipo de garra que quantifica a probabilidade de cada garra ter sucesso. Isso permite que o sistema decida rapidamente qual pinça usar para cada situação. Para computar efetivamente uma função de recompensa para cada tipo de pinça, o artigo descreve um processo para aprender funções de recompensa por treinamento em grandes conjuntos de dados sintéticos gerados rapidamente usando randomização de domínio estruturado e modelos analíticos de sensores e a física e geometria de cada pinça.

Quando os pesquisadores treinaram funções de recompensa para uma pinça de mandíbula paralela e uma garra de ventosa em um robô de dois braços, descobriram que seu sistema pegou as caixas com até 25 objetos inéditos para ele, a uma taxa de mais de 300 escolhas por hora, com 95 por cento de confiabilidade.

"Quando você está em um armazém juntando pacotes para entrega, os objetos variam consideravelmente", disse Goldberg. "Precisamos de uma variedade de garras para lidar com uma variedade de objetos."

A pesquisa para este trabalho foi realizada no Laboratório de Ciência e Engenharia de Automação da AUT (Autolab) em afiliação com o Laboratório de Pesquisa de IA de Berkeley (BAIR), o Laboratório de Execução Segura Inteligente em Tempo Real (RISE) e o CITRIS "Pessoas e Robôs". "Iniciativa (CPAR).

Quer aprender e ter informações práticas sobre tecnologia, programação, ciência de dados, etc.
Acesse:
http://www.codigofluente.com.br

Fonte da notícia:

Materiais fornecidos pela Universidade da Califórnia - Berkeley. 

Jornal de eferência:

Jeffrey Mahler, Matthew Matl, Vishal Satish, Michael Danielczuk, Bill DeRose, Stephen McKinley e Ken Goldberg. Aprender políticas ambiciosas de apreensão de robôs. Science Robotics, 16 de janeiro de 2019; DOI: 10.1126 / scirobotics.aau4984

Operações lógicas - a base da computação - com dispositivo químico usando campos elétricos e luz ultravioleta.


A amostra de CLCs muda seu estado em um segundo, mas pode durar horas.
Pela primeira vez, os pesquisadores realizaram operações lógicas - a base da computação - com um dispositivo químico usando campos elétricos e luz ultravioleta. O dispositivo e os métodos pioneiros utilizados abrem possibilidades de pesquisa, incluindo chips de computador de baixo consumo e alto desempenho.

Computadores precisam de um upgrade. De relógios inteligentes a data centers, todos os computadores apresentam tipos similares de componentes, incluindo processadores e memória. Esses chips semicondutores incluem minúsculos transistores eletrônicos em camadas de silício. Tais dispositivos não podem ser muito menores devido à forma como a matéria se comporta na escala quântica. Por esta razão, os engenheiros planejam novas formas e materiais para executar funções lógicas e de memória.

O estudante de doutorado Keiichi Yano, o professor Yoshimitsu Itoh e o professor Takuzo Aida, do Departamento de Química e Biotecnologia da Universidade de Tóquio, desenvolveram um dispositivo que demonstra funções úteis para a computação. Computadores convencionais usam carga elétrica para representar dígitos binários (1 e 0), mas o dispositivo dos engenheiros usa campos elétricos e luz UV. Estes permitem menor operação de energia e criam menos calor do que a lógica baseada na carga elétrica.

O dispositivo também é muito diferente dos chips semicondutores atuais, pois é de natureza química, e é essa propriedade que dá origem a sua potencial utilidade no futuro da computação. Não é apenas o benefício de energia e calor; este dispositivo pode ser fabricado de forma barata e fácil também. O dispositivo apresenta moléculas em forma de disco e haste que se auto-montam em formas de escada em espiral chamadas cristais líquidos colunares (CLC) nas condições certas.

"Uma coisa que eu adoro em criar um dispositivo usando química é que é menos sobre 'construir' alguma coisa e mais parecido com 'crescer' alguma coisa", diz Itoh. "Com uma precisão delicada, persuadimos nossos compostos a formar diferentes formas com diferentes funções. Pense nisso como programação com química."

Antes de uma operação lógica começar, os pesquisadores colocam uma amostra de CLCs entre duas placas de vidro cobertas por eletrodos. A luz polarizada sempre vibra em um único plano e passa pela amostra até um detector do outro lado.

No estado padrão da amostra, os CLCs existem em um estado orientado aleatoriamente que permite que a luz alcance o detector. Quando o campo elétrico ou a luz UV é ligada e desligada individualmente, a saída detectada permanece a mesma. Mas quando o campo elétrico e a luz ultravioleta são ligados e desligados após cerca de um segundo, os CLCs alinham-se de uma maneira que bloqueia o detector da luz.

Se os estados de "saída" de luz e escuridão, e os estados de "entrada" do campo elétrico e luz ultravioleta forem atribuídos a dígitos binários para identificá-los, então o processo executou efetivamente o que é chamado de função lógica AND, todas as entradas para a função deve ser "1" para a saída ser "1".

"A função AND é uma das várias funções lógicas fundamentais, mas a mais importante para o cálculo é a função NOT-AND ou NAND. Esta é uma das várias áreas para pesquisas futuras", explica Yano. "Também desejamos aumentar a velocidade e a densidade dos CLCs para torná-los mais práticos para o uso. Sou fascinado por como moléculas auto-organizáveis ​​como as que usamos para fazer os CLCs dão origem a fenômenos como funções lógicas."

Quer aprender e ter informações práticas sobre tecnologia, programação, ciência de dados, etc.
Acesse:
http://www.codigofluente.com.br

Informações fornecidas pela Universidade de Tóquio.

Referência do Journal:
Keiichi Yano, Yoshimitsu Itoh, Fumito Araoka, Vai Watanabe, Takaaki Hikima, Takuzo Aida. Transição mesofase nemático-colunar por polimerização supramolecular in situ. Science, 2019; 363 (6423): 161 DOI: 10.1126 / science.aan1019