Pesquisar aqui

sábado, 14 de abril de 2018

Storyboards. O que são e como fazer!

Com a introdução de Storyboards na aula passada, decidi fazer um pouco de pesquisa e encontrei alguns sites que nos permitem criar a nossa própria Storyboard de graça mais para experimentação do que utilidade. Para quem ainda não procurou, Storyboards são um conjunto de imagens ou ilustrações organizados de modo a pré-visualizar uma animação ou um filme. Devido à sua idade, pode ser comparado a uma folha de banda desenhada.




Sites:

Espero que estes sites sejam úteis para o proximo PT. Obrigado por lerem e uma boa semana! 
Boa tarde colegas hoje venho partilhar-vos um óptimo livro que me foi recomendado por alguns estudantes de ensino superior que de momento trabalham em programação em diversas linguagens.
Estes estudantes recomendaram me o livro pois é uma fonte de informação muito detalhada sobre a criação e compreensão de algoritmos em programação.
O livro na Fnac custa 107 euros mas a versão pdf é totalmente grátis!
Deixo-vos aqui o pdf do livro para quem quiser ler e começar a aprender mais sobre os algoritmos!


Obrigado e boa semana colegas!

Algoritmos e como os seus básicos


 Agora que estamos a realizar o PT 06 relacionado com a programação, achei conveniente sabermos as bases da criação de um algoritmo para começarmos a programar como deve de ser!
Um bom algoritmo deve ter as seguintes 5 características:

• Finitude: um algoritmo deve sempre terminar após um número finito de passos.

• Definição: cada passo de um algoritmo deve ser precisamente definido. As
acções devem ser definidas rigorosamente e sem ambiguidades.
• Entradas: um algoritmo deve ter zero ou mais entradas, isto é quantidades que lhe
são fornecidas antes do algoritmo iniciar.
• Saídas: um algoritmo deve ter uma ou mais saídas, isto é quantidades que tem uma relação específica com as entradas.
• Eficiência: Um algoritmo deve ser eficiente. Isto significa que todas as operações
devem ser suficientemente básicas de modo que possam ser em princípio executadas com precisão em um tempo finito por um ser humano usando papel e lápis.


Baseei me num artigo que link no seguinte link
Com estas pequenas características poderemos começar a programar melhor e todos tirar uma boa note no próximo trabalho!
Obrigado e até para a semana!

Algoritmos de ordenação

É importante para um programador conhecer vários algoritmos de ordenação, porque não existe o algoritmo "perfeito". Todos os algoritmos tem vantagens e desvantagens, alguns fazem demasiadas comparações, outros usam demasiada memória e existem alguns que não são estáveis. Dependendo das propriedades do objeto que se pretende ordenar e também do ambiente em que vai ser executado o programa, existem algoritmos melhores e outros piores para esta tarefa, este pequeno vídeo compara a eficiência dos principais algoritmos de ordenação em vários casos.


 

Logótipo original da Apple

A Apple assim como qualquer outra sociedade anonima tem um proprio logotipo, talvez este seja uma das imagens de marca mais conheciadas em todo o mundo. A simples figura de uma maçã trincada:

Resultado de imagem para apple logo

O que grande parte de nos não sabia é que isto não fora sempre assim, pois é a Apple já teve outro logo, bem menos sofisticado que o actual. Nesse logo pode-se ver um estudioso, a escrever debaixo de uma macieira, nesta árvore podemos encontrar uma única maçã, a qual está pendurada mesmo acima da cabeça deste. Crê-se que este estudioso seja Newton.

7

Siri assistente pessoal da Apple

Como já sabemos em 2010 a Apple lança uma nova aplicação do estilo assistente pessoal, sobre a qual poderíamos pedir diversas informações bem como ajudas. No entanto o que provavelmente vocês não sabiam era que passado dois anos, isto é, em 2012 nasceram no mundo 17 meninas que receberam o nome de Siri.




Resultado de imagem para siri


Resultado de imagem para bebes com iphone































sexta-feira, 13 de abril de 2018

Maratona de programação informática decorre 48 horas sem parar em Faro

Nos dias 23 a 25 março decorreu uma maratona de programação sem parar, no Campus da Penha da Universidade do Algarve (UAlg), em Faro. A esta maratona chamou-se Shift Faro ou "Hackathon"

Esta iniciativa teve como objetivo  “fortalecer iniciativas tecnológicas a sul do Tejo, bem como debater o «estado da arte» da inovação no Algarve”.


Durante essas 48 horas centenas de profissionais ligados às áreas de tecnologia e inovação reuniram-se para desenvolver softwares, aplicações e outros projetos que possam ser postos ao serviço da comunidade.

Neste evento os participantes puderam concorrer a prémios e conhecer outros profissionais e outras atividades também. Houve vários workshops, palestras e um debate sobre o estado de inovação do Algarve.

FONTES:






quinta-feira, 12 de abril de 2018

Condições If



    Como estamos a desenvolver a PT06, em que usamos HTML, CSS e JavaScript, foi nos proposto realizar um pequeno trabalho de grupo sobre as condições e os ciclos (elementos de programação).
    Eu e os meus colegas de grupo estamos a trabalhar sobre as condições. Por isso, fui pesquisar e encontrei este pequeno video em que Bill Gates, o fundador da Microsoft, explica como funciona um "If Statement".


    Fontes (consultadas no dia 12/04/2018):

Mark Zuckerberg e o Escândalo do Facebook




        Nas últimas semanas temos sido constantemente bombardeados com noticias sobre este escândalo que envolve um dos gigantes do Silicon Valley.
Como muitos de vós já sabem, a Cambridge Analytica acedeu a mais de 87 milhões de perfis no Facebook, sem autorização. Apesar de a maior parte dos perfis invadidos ter sido de indivíduos americanos, o mundo parece que parou e agora questiona-se sobre a segurança da informação pessoal que cada um de nós decide partilhar, pensando que estaria a ser protegida de terceiros.
Este caso fez com que muitos abrissem os olhos e, desapontados com esta falta de compromisso, apagaram as suas páginas.
Mas não podemos ser ingénuos e pensar que isto só aconteceu ou irá acontecer com o Facebook… Já outras organizações sofreram com invasão de privacidade e assim… O melhor que temos a fazer é ter cuidado com o que partilhamos e com que o fazemos.

Os videos que estão a seguir explicam bem o que aconteceu e abrem nos os olhos para os perigos da web. 







      Fontes (consultadas no dia 12/04/2018):



quarta-feira, 11 de abril de 2018

Debugging Unspotted Bugs: Boas Práticas para um Código Limpo, webcast gratuito sobre programação

No dia 3 de abril entre as 17h00 e as 19h00, a Rumos Formação organiza um webcast gratuito sobre programação: Debugging Unspotted Bugs: Boas Práticas para um Código Limpo.  Este webcast destinou-se aos programadores e a todas as pessoas que estavam interessadas em aprender sobre o tema.

Na programação os erros são inevitáveis e por vezes é bastante difícil de identificá-los.

A formadora Cristina Dias abordou algumas técnicas de fácil e rápida remoção de erros, onde informou sobre alguns conceitos  devem ser considerados quando se trabalha no processo de remoção de um bug.


FONTES:

Tutorial HTML

Aqui esta um bom tutorial que me ajudou a perceber melhor como programar!!


Como seria programar sem ciclos?

    Agora que começámos a entrar verdadeiramente em programação, com a aprendizagem de ciclos e outras estruturas um pouco mais complexas, penso relevante pensar um pouco sobre as funções destas e quais as vantagens em utilizá-las. Em particular, os ciclos de iteração.
    Não seria de todo descabido perguntar: "Mas porquê dar-me ao trabalho de aprender mais comandos para fazer iterações?". E, de facto, até agora temos feito construído algumas coisas sem necessitar destes ciclos. Contudo, há uma enorme panóplia de vantagens em utilizar ciclos, quaisquer que eles sejam (while, do while, for...). Primeiro, os projetos que realizámos até agora eram extremamente pequenos, pelo menos de um ponto de vista mais avançado. Aliás, um programa relativamente simples chega facilmente aos milhares de linhas, e isto é COM ciclos. E acreditem quando digo que se não utilizássemos estas estruturas o número de linhas aumentaria exponencialmente! Resumidamente, o que ciclos iterativos nos permitem fazer é correr um certo conjunto de dados e analisá-los ou filtrá-los ou tratá-los de acordo com um critério por nós definido. Quando os dados são poucos, ainda é exequível escrever linha a linha para cada um. Agora, se tivermos um conjunto com 5000 entradas e precisarmos de ordená-las, por exemplo, seria impraticável tratar um a um. Esta é a principal vantagem de ciclos. Eles permitem analisar grandes quantidades de dados de uma forma rápida e eficaz (e rápido e eficaz é algo que qualquer programador procura). No entanto, ainda há mais vantagens para além da quantidade. Enquanto se nós próprios fôssemos analisar tudo individualmente, as hipóteses de acontecerem erros ou enganos aumentariam bastante com a quantidade. Contudo, para um computador é indiferente tratar de 1 entrada ou de 1000000, ele faz exatamente o que estiver escrito no código. Se houver algum erro, ele irá  fazê-lo em todas as entradas. Se não houver, não haverá em nenhum. Portanto, ciclos não melhoram somente a quantidade do trabalho mas também a qualidade. Como se isto não chegasse, a presença de ciclos, em vez de linhas isoladas, melhora a legibilidade do código e, numa nota mais pessoal, torna-o esteticamente mais apelativo.
    Ora, estas não são as únicas vantagens associadas a usar ciclos mas do meu ponto de vista são os mais significativos. Mas eu penso que estas mostram claramente que programar sem utilizá-las seria redutor e incrivelmente entediante pelo que isto as torna numa das bases de qualquer linguagem de programação e uma ferramenta a ser dominada por qualquer programador, amador ou profissional.




Consultei os seguintes sites:  

Dicas para programar

Dica #1: Pratique pelo menos 25 minutos todos os dias
Mesmo que você seja um mega empresário como o Flávio Augusto, definitivamente você consegue separar 25 minutos para escrever código todos os dias.
Pode ser antes de sair de casa para o trabalho, depois do almoço ou antes de dormir, mas tem que ser todos os dias.
Você não vai se tornar um programador profissional escrevendo código só nos finais de semana. Programar precisa virar um hábito.

Dica #2: Estude com conteúdo estruturado

Pare de assistir apenas vídeos aleatórios no Youtube e achar que algum dia vai se tornar um programador.
Além da prática diária da programação, é importante que você tenha um bom conteúdo para acompanhar, seja um livro, curso ou faculdade.

Dica #3: Não tenha medo de errar

Errar faz parte do dia a dia do programador. Eu sou programador há mais de 10 anos, e todos os dias cometo erros.
Só cometo erros porque estou programando, e a cada dia aprendo algo novo com esses erros.
Se você não está errando, provavelmente não está programando.

Dica #4: Não se limite ao que é ensinado em cursos e livros

Não seja apenas um papagaio do código.
Seguir tutoriais de cursos e livros é importante, porém, mais importante do que isso, é você sair da zona de conforto e fazer alterações no código desses tutoriais, escrevendo seu próprio código.
Essa é uma boa forma de saber se entendeu os conceitos e técnicas ensinadas.

Dica #5: Converse com outros programadores

Vá a eventos e conheça outros programadores.
É uma forma de fazer networking e ficar por dentro do mercado. Sempre que vou a eventos, descubro oportunidades de emprego em 3, 4 empresas diferentes.

Dica #6: Tenha um mentor

Ter um programador experiente para dar dicas e ajudar você nas dificuldades é sem dúvidas uma das coisas mais importantes para programadores iniciantes.
É um grande atalho para o aprendizado de técnicas e macetes que você não encontra em nenhum livro ou faculdade.
Eu particularmente tive vários mentores no início de carreira e hoje tenho orgulho de ser mentor de várias pessoas no Playcode Makers.

Dica #7: Crie um projeto que você tenha orgulho

Já falei muito lá no Youtube sobre a importância de ter um side project, mas não custa repetir: a melhor forma de aprender a programar é desenvolvendo projetos!
Se não tem estágio ou emprego para desenvolver projetos para outras empresas, comece a desenvolver os próprios projetos.
É um ótima forma de testar técnicas e ao mesmo tempo, criar um portfólio.

Dica #8: Não tenha medo de mudar de caminho

Algumas pessoas acham que só porque aprenderam C++ na faculdade, elas obrigatoriamente precisam arrumar um emprego de C++, trabalhar a vida inteira com C++ e se aposentar programando em C++.
Não é bem assim que funciona.
Você precisa estar aberto a mudanças.
Mudança de linguagem de programação, área de atuação e até mesmo mudança de cidade ou país.

Dica #9: Seja pago para continuar aprendendo

Depois que você já está programando todos os dias e já desenvolveu seus side projects, é importante que comece a ser pago pelos seus trabalhos de programador, mesmo que seja um valor baixo no início, como estagiário ou freelancer.
O que diferencia um programador profissional de um hobbysta, é estar sendo pago para programar.

Dica #10: Não dê ouvidos aos programadores frustrados

Já convivi com muitos programadores apaixonados pelo trabalho e também com programadores frustrados, que só escolheram a profissão para arrumar um emprego.
E veja você, todos os programadores de sucesso que conheço, que ganham excelentes salários, são exatamente os apaixonados, e não os frustrados.
E você, já aprendeu a programar? Tem alguma dica adicional para quem está começando?
Se ainda não aprendeu, ou ainda não se sente seguro para desenvolver projetos reais. Lá você vai receber mentoria de um programador experiente, criar seu portefólio, desenvolver dezenas de projetos de software e ficar preparado para o mercado de trabalho ou para criar o próprio negócio.

segunda-feira, 9 de abril de 2018

Algoritmos de ordenação - o que são e quando usá-los

    Algoritmos de ordenação muitas vezes já vêm incorporados com a maioria das linguagens. No entanto, mesmo já os tendo acessíveis, é saber útil diversas técnicas de ordenação, não só para poder usar sempre que for preciso mas também porque a ferramenta de ordenação genérica fornecida pela linguagem para não ser a melhor para algum caso específico.
    Ora, o que é então um algoritmo de ordenação? Bem, como o nome indica, perante um conjunto de dados aleatórios, não necessariamente numéricos, um algoritmo deste género altera a ordem em que eles se encontram de forma a corresponder a um certo critério por nós fornecido (para números pode ser crescente/decrescente; para palavras pode ser alfabético;...). Para fazer isto, existem diversos métodos de ordenação, cada um especializado numa tarefa em particular. Portanto, saber só um algoritmo de ordenação não chegam, convém saber vários e as situações em que cada um é melhor. Características destas dão versatilidade a um programador. Os principais algoritmos de ordenação são: Insertion sort, Selection sort, Bubble sort, Comb sort, Quick sort, Merge sort, Heap sort e Shell sort, sendo que os primeiros dois são os mais simples e os mais utilizados.
    Para uma explicação detalhada dos algoritmos, e quais as situações em que cada um se especializa, encontra-se aqui o site consultado para a escrita desta entrada:  



Consultei os seguintes sites: