Pesquisar aqui

Mostrar mensagens com a etiqueta FA. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta FA. Mostrar todas as mensagens

domingo, 31 de março de 2019

Teste de Conhecimentos de Programação

Como Proposta de Trabalho, foi-nos pedido para criarmos um teste de 10 perguntas que incidisse sobre as matérias de HTML, CSS e JavaScript. 
A partir deste teste serão escolhidas as melhores perguntas de cada formulário de forma a criar um único teste cujo resultado se irá depois traduzir numa percentagem da nossa nota final. 
Aqui está a minha contribuição (disponível para quem quer que esteja interessado, integrado no domínio do Agrupamento de Escolas de Benfica ou não), bom proveito. 



domingo, 10 de março de 2019

Tutorial de JavaScript: Variáveis Locais e Globais, Loop While e Mini-Aplicação

Estás interessado em JavaScript? 

Queres aprender como funcionam variáveis globais e locais e onde utilizar quais destas? Gostavas de aprender a desenvolver uma mini-aplicação e fazê-la correr na web? Então temos o tutorial ideal para ti. 

Neste projeto eu, Filipa Costa, e o meu colega Tomás Philippart criámos um vídeo tutorial que explica tudo isto e um pouco mais (como while loop e boas práticas de programação em JavaScript). Incluímos no vídeo um mini-projeto, a criação de uma aplicação que nos canta a famosa música "99 Bottles of Beer".

Não te preocupes mais em ser o novato da programação no teu bootcamp ou sequer penses que esta linguagem é difícil. Neste vídeo sintetizamos tudo o que precisas para teres um começo ideal na programação em JavaScript e esperamos que te dê as ferramentas que precisas para seres o melhor programador que sabes ser. Clica no vídeo abaixo e visita o nosso site para mais informação. Boa sorte!




Ao longo do vídeo baseamo-nos no livro Head First: JavaScript Programming.
No desenvolvimento deste vídeo utilizámos também outras ferramentas:
Screencastify (plugin do Chrome, que permite a gravação de ecrã); 
Audacity (sistema de gravação e edição de som); 
PhotoShop (edição de imagem, criação dos slides explicativos); 
OpenShot (programa de edição de vídeo, gratuito); 
Google Sites (permitiu a criação do site de apoio ao tutorial);
Google Docs (planeamento do vídeo e conteúdos a abordar).

Esta atividade foi desenvolvida em resposta a uma proposta de trabalho para a disciplina de AIB com o professor Luís Pitta, na Escola Secundária José Gomes Ferreira.

quinta-feira, 14 de fevereiro de 2019

Robots Sociais

O que são? 

Resultado de imagem para robots sociaisOs robots sociais são feitos para comunicar com os seres humanos naturalmente, ajudando-os numa variedade de tarefas. O uso efetivo de gestos pode aumentar consideravelmente as interações entre robôs e humanos, permitindo que os robots comuniquem verbalmente e não verbalmente.

O design da maioria dos robots sociais é inspirado no corpo humano, pois isso facilita a imitação de gestos e comportamentos semelhantes aos humanos. No entanto, diferentes robots podem ter diferentes morfologias, o que lhes permite lidar melhor com as tarefas que foram projetadas para serem concluídas.

Desenvolvimentos

Pesquisadores da Vrije Universiteit Brussel, na Bélgica, introduziram recentemente uma nova abordagem baseada num método genérico de gestos para estudar a influência de diferentes aspectos do projeto. O artigo, publicado no International Journal of Social Robotics da Springer, apresenta uma estrutura que gera rapidamente gestos que correspondem a uma configuração específica do robot.

"Neste artigo, nós propomos uma nova metodologia para estudar a influência de diferentes aspectos do design baseados num método genérico de gestos", escreveram os pesquisadores no artigo. "O método do gesto foi desenvolvido para superar as dificuldades na transferência de gestos para diferentes robots, fornecendo uma solução para o problema de correspondência."

O método desenvolvido por esta equipe de pesquisadores poderia superar as dificuldades na transferência de gestos para robots de diferentes formas e configurações. Os utilizadores podem inserir informações morfológicas de um robot e a ferramenta usará esses dados para calcular os gestos desse robot.

"Um pequeno conjunto de informações morfológicas, introduzidas pelo utilizador, é usado para avaliar a estrutura genérica do software em tempo de execução", explicaram os pesquisadores. "Portanto, os gestos podem ser calculados rápida e facilmente para uma configuração desejada do robot. Ao gerar um conjunto de gestos para diferentes morfologias, a importância de articulações específicas e sua influência numa série de posturas e gestos pode ser estudada."

Para garantir que seu método fosse aplicável a diferentes tipos de robots, os pesquisadores inspiraram-se num modelo básico humano. Este modelo consiste em diferentes cadeias e blocos, que são usados ​​para modelar as várias possibilidades rotacionais dos seres humanos. Os pesquisadores atribuíram um referencial a cada bloco comum usando o modelo base humano como referência para construir a estrutura geral por trás do seu método.

**A new method to generate gestures for different social robots
"Para gerar gestos para um determinado modelo de robô, o método usa os parâmetros Denavit-Hartenberg (DH) da configuração como entrada, onde as diferentes articulações do robô são agrupadas em cadeias e blocos do modelo básico humano", explicaram os pesquisadores. em seu papel. "Em tempo de execução, o framework genérico do método é avaliado usando esta informação e, como tal, adaptado ao robô em consideração."

Como diferentes características são importantes para diferentes tipos de gestos, o método desenvolvido pelos pesquisadores é projetado para trabalhar em dois modos diferentes, a saber, o modo de bloqueio e o modo de efetivo final. O modo de bloqueio é usado para calcular gestos, como expressões emocionais, em instâncias em que o posicionamento geral do braço é crucial. O modo efetivo final, por outro lado, calcula gestos em situações em que a posição do efetor final é importante, como durante a manipulação ou apontamento de objeto.

"O método de gestos comprova sua utilidade no processo de design de robôs sociais, fornecendo uma impressão da quantidade necessária de complexidade necessária para uma tarefa específica, e pode fornecer informações interessantes na faixa de ângulo articular necessária", disseram os pesquisadores.

No seu estudo, os pesquisadores aplicaram seu método ao modelo virtual de um robô chamado Probo. Eles usaram esse exemplo para ilustrar como seu método poderia ajudar a estudar a colocação de diferentes articulações e intervalos de ângulo articular em gestos. No futuro, a sua abordagem poderia auxiliar o desenvolvimento de robôs sociais que possam executar gestos naturais adequados à sua morfologia e aplicação.

quinta-feira, 7 de fevereiro de 2019

FrameWork7

Framework7

Resultado de imagem para framework7Framework7 é uma estrutura de código aberto e livre para HTML móvel. É usado para desenvolver aplicações móveis híbridas ou aplicações da Web para dispositivos iOS e Android. Foi introduzido no ano de 2014. A última versão 1.4.2 foi lançada em fevereiro de 2016 e licenciada pelo MIT.

Por quê usar o Framework7?

É mais fácil desenvolver aplicações para iOS e Android.
Tem muitos widgets/componentes pre-styled.
Tem bibliotecas auxiliares incorporadas.



Características

- é um open source e livre para usar framework.

- tem uma sintaxe fácil e parecida ao jQuery para iniciar sem qualquer atraso.

Para controlar o atraso de clique para as UIs de toque, o Framework7 possui a biblioteca incorporada do FastClick.

- carrega dinamicamente páginas de modelos por meio de uma API de router flexível.


Vantagens

- não é dependente de qualquer biblioteca de terceiros, mesmo para manipulação de DOM. Em vez disso, Framework7 possui seu próprio DOM7 personalizado.

- também pode ser usado com estruturas Angular e React.

Você pode começar a criar aplicações depois de conhecer HTML, CSS e algum JavaScript básico.

- é fácil desenvolver aplicações para iOS e Android sem aprendê-lo.


Desvantagens

O Framework7 suporta apenas plataformas como iOS e Android.

O suporte da comunidade online para o framework Framework7 é menos comparado ao iOS e ao Andriod.

domingo, 3 de fevereiro de 2019

Machine Learning no Youtube: Controlar as Fake News


Resultado de imagem para youtube


O YouTube anunciou que vai começar a reduzir as recomendações a "conteúdo que possa desinformar os utilizadores de formas prejudiciais", como vídeos que promovem uma milagrosa cura para uma doença grave, alegando que a Terra é plana ou fazendo descaradamente afirmações falsas sobre eventos históricos como o 11 de setembro."

O algoritmo do YouTube seleciona vídeos com base nos seus históricos de visualização e pesquisa num modo de reprodução automática, com sugestões de outros vídeos para assistir também.

Esta não é a primeira vez que o YouTube tenta resolver o problema de conspiração. Em março de 2018, a companhia afirmou que colocaria links para a Wikipedia sobre eventos em caixas de texto em redor de "eventos amplamente aceitos, como a chegada à lua (1969)".

O YouTube estava a responder ao public backlash depois da sua guia de vídeos de tendências oferecer uma ampla plataforma para clips que partilhavam informações falsas ou enganosas sobre a divulgação de notícias nacionais, como o tiroteio escolar em Parkland, Flórida, ou o tiroteio em massa de 2017 em Las Vegas.

O YouTube diz que essa mudança de algoritmo aplicar-se-à a menos de 1% do conteúdo do YouTube, mas que "limitar a recomendação desses tipos de vídeos significará uma melhor experiência para a comunidade".

A rede sublinhou que a alteração afetará as recomendações de quais vídeos assistir, não se um vídeo está disponível no YouTube.

"Como sempre, as pessoas ainda podem aceder a todos os vídeos que estão em conformidade com nossas Community Guidelines e, quando relevante, esses vídeos podem aparecer nas recomendações dos inscritos e nos resultados de pesquisa."

O YouTube recebe mais de 400 horas de vídeos enviados para o site a cada minuto, por isso muitos vídeos questionáveis ​​passam despercebidos. Críticos há muito que pedem por mais supervisão humana, e o YouTube respondeu dizendo que contrataria 10 mil pessoas para procurar vídeos ofensivos. Além disso, a rede divulgou o seu uso de machine learning para obter um melhor controle sobre os vídeos publicados.

Os vídeos permanecem até que sejam "sinalizados" pelos membros da comunidade por não aderirem às diretrizes do YouTube, como mostrar violência, conteúdo sexual ou, no caso de recentes tiroteios no ensino médio na Flórida, informações falsas.

Um exemplo do problema de conspiração. 

Resultado de imagem para youtube not available

Em fevereiro de 2018, quando estudantes sobreviventes de um tiroteio na Flórida começaram a falar, um vídeo que sugeriu que os estudantes eram "atores de crise", contratados por democratas e defensores do controle de armas, subiu para o topo da secção Trending do YouTube, atraindo 200.000 visualizações. Assim que a Internet se apecebeu, o Youtube removeu o vídeo.


Essa mudança na política depende de uma combinação de machine learning e pessoas reais, diz o YouTube. "Trabalhamos com avaliadores humanos e especialistas de todos os Estados Unidos para ajudar a treinar os sistemas de machine learning que geram recomendações. Esses avaliadores são treinados usando diretrizes públicas e fornecem informações críticas sobre a qualidade de um vídeo."

O YouTube resistiu a fazer mudanças no seu algoritmo por causa da preocupação com a liberdade de expressão. A rede disse que a mudança "estabelece um equilíbrio entre manter uma plataforma para a liberdade de expressão e cumprir nossa responsabilidade com os usuários".

sábado, 2 de fevereiro de 2019

Finais Mundiais do Concurso Internacional de Programação Colegial

O Concurso Internacional de Programação Colegial é um concurso de programação algorítmica para estudantes universitários. Equipas de três pessoas, representando a sua universidade, trabalham para resolver problemas, estimulando a colaboração, a criatividade, a inovação e a capacidade de agir sob pressão. Através de treino e competição, as equipas desafiam-se para elevar o nível de dificuldade o máximo possível. É o mais antigo, maior e mais prestigiado concurso de programação do mundo.


Resultado de imagem para icpcO ICPC tem raízes em 1970, quando a primeira competição foi organizada por pioneiros do Alpha Chapter of the UPE Computer Science Honor Society. A iniciativa espalhou-se rapidamente nos Estados Unidos e no Canadá como um programa inovador para aumentar a ambição, a capacidade de resolver problemas e as oportunidades dos estudantes mais fortes no campo da computação.

Com o passar do tempo, o concurso evoluiu para uma competição de múltiplos níveis com a primeira rodada do campeonato realizada em 1977. Desde então, o concurso expandiu-se para uma colaboração mundial de universidades que recebem competições regionais que promovem equipas para a ronda anual do campeonato mundial, o ICPC World Finals.

O concurso estimula a criatividade, o trabalho em equipe e a inovação na construção de novos programas de software e permite que os alunos testem a sua capacidade de executar sob pressão. O concurso elevou as aspirações e o desempenho de gerações dos solucionadores de problemas do mundo nas ciências e engenharia da computação.

Resultado de imagem para icpcO ICPC é composto por vários níveis de competição:

  • Concursos Locais
  • Concursos Regionais
  • Campeonatos Regionais
  • As finais mundiais
As finais mundiais deste ano serão realizadas na Universidade do Porto, de 31 de março a 5 de abril.

terça-feira, 29 de janeiro de 2019

PT04 - Memória Descritiva


Neste trabalho tivemos que criar uma tabela com a pauta/planta da turma 12º2ª na disciplina de AIB com linguagem HTML e estilização CSS (opcional). Decidi criar uma pauta porque tornava o processo de arrumação na tabela significativamente mais simples e descomplicava muitas coisas que se poderiam tornar grandes dores de cabeça para pessoas inexperientes em programação (como eu).

  1. Equipamento (Software e Hardware):

  • O equipamento utilizado foi tanto o computador da escola como o PC pessoal da marca ASUS. Para poder realizar o mini-projeto foi-nos pedido que instalássemos um editor de texto HTML (Notepad++ ou Atom) e tive que utilizar uma outra aplicação para edição das fotografias mostradas na pauta (IrfanView).


     2. Passos dignos de nota:

  • Os passos mais interessantes foram definitivamente a criação e edição da tabela, fazendo várias pequenas experiências para melhor perceber o que era afetado e de que modo ao introduzir pequenas tags e elements aqui e acolá para que a pauta ficasse o mais sintética e estética possível. 
  • O que achei mais difícil e deu mais trabalho foi certamente a criação da conta no GitHub e FreeNom dado que são ambos sites que deixam muito a desejar no campo de intuitividade e facilidade de manipulação, acabando por ser aqui também onde tive que pedir ajuda a colegas sobre como/o que fazer.

     3. Resolução de problemas:

  • Os problemas que encontrei foram resolvidos rapidamente com recurso a pesquisas no motor de busca Google, consulta de colegas na mesma situação e mais versados no assunto e, claro, perguntando ao professor. 


     4. As decisões tomadas ao longo do trabalho 
  • Ao longo do trabalho fui tomando decisões mais no campo da estilização da tabela como que cores a utilizar, grossura das fronteiras e cor das legendas, já que cada uma tinha que ter uma cor diferente. De resto, o trabalho pouco dava para "inventar" mas não tenho querelas com isso pois me daria apenas mais tempo de introspeção dado o leque enorme de decisões que teriam de ser tomadas autonomamente, para as quais não teria resposta.


     5. Conclusão:
  • O que mais gostei foi de aprender um pouco da história da linguagem HTML (passo 0) pois, apesar de saber as suas origens (CERN), pouco mais sabia; outro dos passos que gostei mais foi, naturalmente, a elaboração da tabela (passo 5) porque me deu a oportunidade de andar a mexer em código e foi uma tarefa bastante autodidata.
  • Gostaria de ter tido outra oportunidade para ajeitar melhor a font das legendas mas foi algo com que tive alguns problemas e então teve que ficar com a font predefinida, que deixa muito a desejar.

Durante a realização deste projeto aprendi um pouco de tudo sobre HTML, desde a sua história até como criar páginas funcionais nessa linguagem.

Certificado de finalização do curso HMTL (SoloLearn)

quarta-feira, 23 de janeiro de 2019

Websites de Programação para Iniciantes

5 websites para facilitar a aprendizagem de programação para novatos: 

Numa era em que a aprendizagem de código é emergente e cada vez mais importante num currículo, temos várias possibilidades para onde e como aprender inúmeras linguagens de código. Aqui seguem-se algumas sugestões.


MIT Open Courseware
@MITOCW

MIT Opencourseware

O MIT Open Courseware faz cursos históricos diretamente dos professores do MIT disponíveis para qualquer pessoa com sede de conhecimento, gratuitamente. Completo com palestras em vídeo, atividades e muito mais.


Coursera
@coursera

Coursera

O Coursera faz parcerias com várias das principais universidades do mundo para oferecer cursos sobre diversas linguagens de programação, tópicos sobre computação, ciência de dados e muito mais. Embora os cursos não sejam gratuitos, a maioria é acessível e vale o custo da educação profissional para avançar na sua carreira. Pode até escolher entre especialidades como Estruturas de Dados e Algoritmos, Python para Todos, Desenvolvimento Web em Full Stack e muito mais para aceder a grupos de cursos relacionados.


Codecademy
@codecademy

Codecademy

Uma maneira gratuita e interativa de aprender a codificar várias linguagens diferentes, a Codecademy está comprometida em fornecer um ambiente de aprendizado envolvente e eficaz que reformule a experiência de aprendiz e permita que os alunos passem de iniciantes a especialistas no seu próprio ritmo, totalmente online. Mais de 25 milhões de pessoas já estão a melhorar os seus conhecimentos e habilidades com a Codecademy.

tuts+
@tutsplus

tuts+

O tuts + apresenta tutoriais sobre praticamente qualquer coisa relacionada à codificação, tornando-o um excelente site para visitar se estiver preso num projeto de codificação e precisar de um guia passo a passo para resolver um problema, instalar um plug-in específico ou até mesmo um rápido resumo dos fundamentos de uma linguagem com a qual ainda não está completamente familiarizado.

Google Developers
@googledevs

Google Developers


A principal celebridade da internet procura inspirar codificadores com tutoriais e dicas. Também se encontram muitas outras ferramentas e recursos, desde os vários consoles do Google para developers (o Google API Console, Google Play Store Developer Console e outros), treino, jogos, vídeos etc.

sexta-feira, 18 de janeiro de 2019

Qual é a diferença entre Java e JavaScript?

Javascript e JavaScript são escritos e executados de formas diferentes, e ambos divergem muito no que podem fazer.
Resultado de imagem para java


O Java é usado em vários locais, como aplicações para Android e programação de cartões de crédito.
JavaScript é geralmente usado como uma página da web interativa e pode ser usado para fazer coisas engraçadas, como criar animações em HTML.

Quando se trata de como cada linguagem é usada, Java é normalmente usado para todo o desenvolvimento do lado do servidor, enquanto o JavaScript é reservado para desenvolver scripts do lado do utilizador para funções como variação e interatividade. Existem mais algumas diferenças importantes:

Resultado de imagem para javascriptO código Java deve ser compilado e o código JavaScript é todo em texto.
Cada linguagem requer diferentes plug-ins.
JavaScript é executado apenas num navegador, enquanto o Java cria aplicações que são executadas num navegador ou máquina virtual.
Java é uma linguagem OOP (object-oriented programming) e JavaScript é especificamente uma linguagem de script OOP.
Um estudante de programação inexperiente aprenderá que Java e JavaScript são linguagens válidas para adicionar ao seu repertório de codificação. 

quinta-feira, 10 de janeiro de 2019

Apache Cordova: O quê e como?

Apache Cordova (PhoneGap) é o primeiro programa de desenvolvimento de aplicações móveis de Nitobi. A Adobe Systems Nitobi foi comprada em 2011 e nomeou-a como PhoneGap, depois lançou um software de código aberto chamado Apache Cordova. 




O Apache Cordova é uma estrutura de desenvolvimento móvel de código aberto. Permite que use tecnologias padrão da web - HTML5, CSS3 e JavaScript para desenvolvimento em várias plataformas. Os aplicativos são executados em wrappers destinados a cada plataforma e dependem de ligações de API compatíveis com os padrões para aceder aos recursos de cada dispositivo, como sensores, dados, status da rede etc.


Caminhos de Desenvolvimento:

O Cordova oferece dois fluxos de trabalho básicos para criar um aplicativo para dispositivos móveis. Embora muitas vezes se possa usar o workflow para realizar a mesma tarefa, cada um deles oferece vantagens:

  • Sistema de trabalho de plataforma cruzada (CLI): use este fluxo de trabalho se quiser que a sua aplicação seja executada em tantos sistemas operacionais móveis quanto possível, com pouca necessidade de desenvolvimento específico da plataforma. A CLI copia um conjunto comum de recursos da web em subdiretórios para cada plataforma móvel, faz as alterações de configuração necessárias para cada um, executa scripts de construção para gerar binários do aplicativo. A CLI também fornece uma interface comum para aplicar plugins ao seu aplicativo. A menos que você tenha necessidade de um plano de trabalho centrado na plataforma, o plano de trabalho entre plataformas é recomendado.

  • Sistema de trabalho centrado na plataforma: use esse sistema se quiser concentrar-se em criar uma aplicação para uma única plataforma e precisar de modificá-lo a um nível inferior. Precisa de usar essa abordagem, por exemplo, se quiser que a sua aplicação misture componentes nativos personalizados com componentes Cordova baseados na Web. Como regra geral, use esse fluxo de trabalho se precisar modificar o projeto no SDK. Esse fluxo de trabalho depende de um conjunto de scripts de shell de nível inferior que são personalizados para cada plataforma suportada e de um utilitário Plugman separado que permite aplicar plug-ins. Embora possa usar esse fluxo de trabalho para criar aplicações de plataforma cruzada, geralmente é mais difícil porque a falta de uma ferramenta de nível superior significa ciclos de compilação e modificações de plug-in separados para cada plataforma.

quinta-feira, 3 de janeiro de 2019

jQuery: O que é e como nos pode ajudar?

Resultado de imagem para JQUERYO jQuery é uma biblioteca JavaScript rápida, pequena e rica em recursos. 

JavaScript e jQuery são mencionados de forma conectada/ligada, logo pode ser confuso separar os dois. Lembrar: o JavaScript é uma linguagem de programação independente, enquanto o jQuery é uma coleção de código JavaScript (não sua própria linguagem).

Torna as coisas como passagem e manipulação de documentos HTML, manipulação de eventos, animação e Ajax muito mais simples, com uma API (application programming interface) fácil de usar que funciona em vários browsers. Com uma combinação de versatilidade e extensibilidade, a jQuery mudou a maneira como as pessoas escrevem JavaScript.

A biblioteca pode criar resultados melhores com menos codificação. Se o objetivo é criar sites e aplicações interativas, esse é o conhecimento que precisa de obter.



sexta-feira, 23 de novembro de 2018

Bridge Cameras

Bridge Cameras são faladas desde 1980 e são assim chamadas porque fazem a "ligação" entre as SLR digitais e câmaras compactas. 

Foram introduzidas no início do século XXI e representavam uma inovação no campo pois permitiram captar imagens de qualidade mais comparável às de DSLRs mas com um preço mais amigável para o consumidor comum.


FujiFilm Finepix 4900Z
FujiFilm Finepix 4900Z de 2000,
uma das primeiras máquinas Bridge
Pegue num pequeno sensor de imagem, coloque-o atrás de uma lente de zoom longa, num corpo que se pareça a uma câmara SLR, com todos os controlos manuais e atalhos, e criou um câmara que é um compromisso entre preço, tamanho e qualidade de imagem - a câmara bridge.

Qual é a diferença entre uma Bridge e uma DSLR?

A diferença mais notória entre uma verdadeira DSLR e uma Bridge, é a lente embutida. Numa Bridge, ao contrário das DSLR, a lente não muda e é impossível de trocar. Isto restringe um pouco a qualidade da imagem final mas acaba por ficar mais em conta para um fotógrafo amador ou que está no início da sua experiência (sem o compromisso de comprar uma câmara cara que não utilizará ou uma máquina compacta que não preenche os requisitos de qualidade de imagem).

Resultado de imagem para bridge cameras

A era dourada de câmaras Bridge foi curta em expansão mas ainda existe um mercado para este tipo de máquinas. Por volta de 2004, as DSLRs tornaram-se mais acessíveis e a grande vantagem das câmaras Bridge acabou por se tornar obsoleta, apesar de grandes marcas ainda as produzirem (como Canon e FujiFilm) e venderem.