Meu 2016 em livros

Olá, pessoal! Quanto tempo, né? Agora que estou oficialmente de férias, vou escrever mais por aqui para compensar a parada, pois conheci e aprendi coisas novas bem legais esse ano e queria compartilhar com vocês 😀

No início do ano, eu tinha estabelecido uma meta de ler 30 livros esse ano, porém mal sabia eu o quão corrido seria esse segundo semestre, por isso baixei a meta para 20. Resultado? Já li 20 e estou terminando mais 3, então, não foi tão longe do que pensei no início do ano.

Quero agora indicar os livros que mais gostei, claro. Esse ano decidi ler coisas mais diversificadas do que costumava ler e isso foi muito bom, pois me mostrou a importância de sair da zona de conforto. Acabei lendo mais sobre motivação, pensamento positivo e organização financeira. O restante vocês podem conferir na imagem:

Meu 2016 em livros

Os que mais gostei foram:

1 – How to Bake Pi – Eugenia Cheng

Ainda não terminei de ler, mas é muito legal! Já falei da Eugenia Cheng por aqui e comprovo que ela é realmente sensacional: Matemática é linda e infelizmente a escola nos faz odiá-la, mas compreendê-la hoje é fundamental. Cheng junta duas coisas que aparentemente não têm nada de comum: raciocínio lógico e culinária. Recomendo para quem queira dar uma segunda chance para a Matemática ou para quem curte cozinhar (:

2 – A Arte de pedir – Amanda Palmer

Esse livro foi indicação da minha querida amiga Amanda e adorei! Livro sensacional que mostra o quão frágil nossa vida é, mas o quão leve ela se torna quando temos pessoas especiais ao nosso lado, além de lutar pelo que acreditamos.

3 – Trabalhe 4h por semana – Tim Ferris

Se você não leu esse livro até agora, VÁ AGORA e me agradeça depois.

4 – Girlboss – Sophia Amoruso

Fazia tempo que queria ler e achei na promoção, então comprei. Livro muito inspirador, apenas! E nos faz refletir sobre o poder de ir em busca do que gostamos, independente do que vão pensar de nós.

5 – Adeus, aposentadoria – Gustavo Cerbasi

Na metade do ano pra cá, minha amiga Amanda (isso que é amiga, hein, aprendam!) me recomendou o canal da Nathália Arcuri, o Me poupe! um canal de informações e entretenimento financeiros. Minha vida mudou desde então e estou sempre indo atrás de aprender mais sobre investimentos, tesouro direto, metas, objetivos e por aí vai! Recomendo muito e tenho certeza de que, se colocar em prática pelo menos metade do que ela fala, seu 2017 vai ser bem melhor do que 2016! =D Ela indicou alguns livros e entre eles é o Adeus, aposentadoria, do Gustavo Cerbasi. Livro mais do que fundamental para o cenário econômico do nosso país.

A maioria desses livros estão disponíveis para baixar, por isso, não tem desculpa para não ler xD E você, o que leu de legal esse ano? É isso, espero que vocês curtam alguns e leiam os que indiquei. Com tudo que li esse ano com certeza em 2017 terá muito mais.
Até mais!

Compreendendo Recursão

Muito bem, semestre começou com tudo e estou aprendendo muita coisa nova! Uma delas que estou vendo agora é Recursão. Se você já ouvi falar de Algoritmos, provavelmente já deve ter ouvido falar de Recursão também. De acordo com o material da nossa aula

um processo recursivo é um processo que implementa uma relação de recorrência. Uma relação de recorrência é uma expressão matemática utilizada para expressar uma equação de recorrência.

Wait, what? Vamos por partes, pois esse é um conceito muito difícil de ser compreendido, mas vale a pena, prometo. O mais legal de se aprender recursão é criar algoritmos menores e mais bonitos (embora nem sempre seja o mais eficiente!). Resumindo, uma função recursiva vai chamar a si mesma e retornando os valores de cada chamada, até chegar no caso base.

Calma, não é mágica! Acredito que uma das maiores dificuldades seja compreender os passos para escrever uma função recursiva para que esta não caia num loop infinito. Por isso é preciso ter atenção às duas partes essenciais de uma chamada deste tipo e verificar com números inteiros o problema até que você entenda o que será o caso base e a chamada recursiva a partir do exemplo a seguir:

Considere um vetor de inteiros de tamanho n. Uma função recursiva que calcule o produto dos elementos estritamente positivos de um vetor de inteiros v [0..n-1].

 int produto (int v[], int n) {
     if(n == 1){
   	 return v[0];
     }
     if(v[n-1] > 0){
   	 return v[n-1] * produto(v, n-1);
    }
	return produto(v,n-1);
 }

O caso base – Essa é a parte que você sabe o resultado e deve se aproximar na próxima etapa. No exemplo abaixo, vemos que o caso base é a condição if (n == 1) return v[0];, pois quando o vetor chegar até o primeiro elemento, não há mais necessidade de se calcular o produto, certo?

A chamada recursiva – Esta deve ser quebrada em pedaços menores até atingir o caso base. No nosso exemplo, fazemos duas chamadas distintas. Caso o elemento da posição v[n-1] a ser testada seja positiva, então retornamos return v[n-1] * produto(v, n-1); , caso contrário, chamamos a função para continuar a descrescer o valor de n até atingir o valor de 1, nosso caso base.

O que a função faz é o seguinte. Vamos supor que o nosso vetor v[4] = {1, 2, 3, 4} e o tamanho do vetor seja n = 4.

produto(v, 4)

v[3] * produto(v, 3)
v[3] * v[2] * produto(v, 2)
v[3] * v[2] * v[1] * produto(v, 1)
v[3] * v[2] * v[1] * v[0]
>> 4 * 3 * 2 * 1 = 24

Esse exemplo foi retirado desse material e está disponívelneste link. Veja também outras formas de usar a recursividade para resolver o mesmo problema (:

Vá fazendo com calma cada passo para não se perder (o que é muito fácil) e compreender como o computador entende essas chamadas (vale printar todas as entradas para ver o valor de retorno a cada chamada). Dá um trabalho e sua cabeça buga por um momento (ou dias xD), mas seu código fica mais bonito e te deixa com uma sensação maravilhosa de finalmente aprender Recursão 🙂

Como aprender a programar

Olá, pessoas queridas! Este post é uma compilação que resolvi fazer com mais links  e dicas para ajudar a galera que quer aprender a programar. Vale lembrar que, assim como tudo que aprendemos na vida, não se trata de mágica, mas de um processo, então, anime-se para começar a ver as coisas de outro jeito! Abaixo algumas dicas e links para vocês 🙂

1 – Programar se aprende programando

Sei que parece loucura, mas é como aprender outa língua: você tem que praticar para aprender. Neste sentido, sinta-se feliz porque existem muitos sites legais com este propósito!! Acredito que o mais importante é não se preocupar em entender TUDO, ir com calma e paciência.

Embora sejam muitas opções de links e de cursos e parece que você saber disso tudo em 1 dia, não se desespere. Veja cada um e escolha o que melhor você sentir afinidade. Alguns sites que eu usei e recomendo são:

Code.org – um jeito divertido de aprender Algoritmos! Recomendo fortemente, pois é muito importante dominar Lógica de Programação e além disso, é uma proposta bem legal (tem até tutorial com tema de Star Wars!).

Codecademy – tutoriais com várias opções bem legais.

Code School – Gosto muito deles e as aulas são em vídeo. Alguns são pagos, mas dá para fazer uns gratuitos.

Udacity – Também possuem aulas em vídeo e acho mais dinâmico que o CodeCademy, por exemplo.

Made with Code – um projeto muito legal para atrais meninas para programar 🙂

2 – Tenha um projeto que você queira fazer

Sabe aquele app que você sempre quis fazer? Ou um sistema que vai ajudar alguém da sua família? Uma das melhores e mais eficientes formas de se aprender a programar é ter um projeto pessoal, assim você vai se sentir mais motivad@ e confiante. Nessas horas, ajuda muito também pegar um código de qualidade por aí e modificar algumas coisas.

Por que aprender a programar? Ora, tudo que gostamos é feito de código!

3 – Tenha um(a) mentor(a)

Sério, isso é MUITO importante. Já falei isso aqui várias vezes e acho que nunca é suficiente: procure alguém que já tenha experiência para ajudar com suas dúvidas (não é para ficar perguntando tudo, hein). Sabe quando você tentou e mesmo assim não entendeu, ou quer entender mais sobre algo? Não tenha medo de perguntar.

4 – Divirta-se!

Isso é o mais importante e necessário ter em mente. Com isso, sinta-se bem vind@ ao mundo mágico da Programação!

 

Você não precisa ser um gênio para cursar Exatas

Faz algum tempo que queria discutir esse assunto e recentemente me deparei com a matéria abaixo e me senti mais motivada para escrever. Durante muito tempo evitei entrar para a área de “Exatas” porque durante minha vida, encontrei pessoas extremamente arrogantes nessa área e acreditava ser um pré-requisito para entrar nesse mundo mágico de gênios. De forma alguma queria ficar no meio dessas pessoas.

Ainda bem que conheci pessoas maravilhosas que me mostraram haver uma luz no fim do túnel e hoje entendo o que acontece de fato. Não vou entrar na discussão sobre Humanas x Exatas porque não é o foco e acredito que isso não leva a lugar algum. No entanto, queria abordar mais o que significa ser cientista e como propiciar uma formação de profissionais voltada à resolução de problemas, não havendo espaço para ego nem show de talentos.

Hoje tenho vários amigos de Computação que fazem Pós-Graduação e me sinto motivada para seguir esse caminho também. No entanto, fico um pouco triste quando discutimos o lado não tão bonito dessa etapa acadêmica. A matéria da Carta Capital Precisamos falar sobre a vaidade na vida acadêmica resume bem esse problema nas universidades:

“A formação de um acadêmico passa por uma verdadeira batalha interna em que ele precisa ser um gênio. As consequências dessa postura podem ser trágicas, desdobrando-se em dois possíveis cenários igualmente predadores: a destruição do colega e a destruição de si próprio. […] Hoje, como professora, tenho preocupações mais sérias como estes alunos que acreditam que os colegas são brilhantes. Muitos deles desenvolvem depressão, acreditam em sua inferioridade, abandonam o curso e não é raro a tentativa de suicídio como resultado de um ego anulado e destruído em um ambiente de pressão, que deveria ser construtivo e não destrutivo. […] É preciso barrar imediatamente este sistema. A função da universidade não é anular egos, mas construí-los. ”

Além disso, o fato de que cada vez mais entram pessoas que já sabem programar nos cursos de Computação faz com que o nível de exigência aumente e apenas os experientes ou os gênios concluem os cursos. O problema é que quem entrou para aprender (o quê, aprender na universidade? que mundo você vive?) fica achando que não deve estar ali e bom, qual o significado mesmo de “universidade”?

Um outro problema que advém disso é a constante arrogância de quem já sabe. Seu coleguinha é gênio? Seu outr@ coleguinha sempre sabe de tudo? Toque aqui! Acontece que Exatas não é um caminho linear. Foi isso que mais adorei nessa matéria aqui Mathematicians are chronically lost and confused (and that’s how it’s supposed to be). Eles falam sobre o processo de aprender Matemática e a lindeza de ser humilde, além de ser absolutamente normal e humano não saber de tudo.

Não esqueça de nunca se desesperar xD

Esse post se trata mais de escrever sobre algo que me incomoda e de motivação para futuros cientistas. Se tem algo que aprendi nessa vida foi: não devo me comparar à ninguém. Meu caminho é único e sei das minhas qualidades e das minhas limitações. Mas, para não ficar só na discussão, aqui vai um post motivacional de pessoas fodonas da programação¹ (são essas pessoas que você deve seguir como inspiração). E lembre-se: os verdadeiros cientistas não têm muita certeza sobre muita coisa (:

¹ http://www.infoworld.com/article/3085150/application-development/dont-just-code-career-advice-from-the-programming-masters.html

 

Fita de Möbius e Escher

Este ano na Semana Unificada de Apresentações do Senac tivemos uma atividade bem legal com a profa. Danielle dos Santos Mingatos (Dani para os conhecidos xD). Foi uma atividade de integração entre os cursos de Ciência da Computação e Engenharia de Computação.

A Dani falou do Escher (já tem post aqui sobre a oficina do ano passado) e fizemos algo beeeem legal: a fita de Möbius! August Ferdinand Möbius foi um matemático alemão do século XIX e ficou bem conhecido com a fita que levou seu nome. Mas não se engane, não é qualquer fita não: trata-se de uma superfície bidimensional não orientada com um lado passando a ser tridimensional no espaço euclidiano quando uma das pontas é torcida (ufa!).

Escher captou bem esse conceito e criou várias obras com essa temática, inclusive se chamam Fita de Möbius. Fica aí a dica de pesquisa para você se divertir nas férias =D

No canal do Numberphile tem dois vídeos muuuito legais com o Tadashi brincando com isso! À medida que você for vendo, tenho certeza de que você terá essa reação:

Adoro este canal, pois eles sempre fazem coisas interessantes e explicam numa linguagem possível de ser compreendida por qualquer um. Como o Tadashi fala, Matemática quando apresentada com uma postura divertida e envolvente É MUITO LEGAL, já o contrário, bom, relembre suas aulas de Matemática :/ (eu foi só trauma, espero que com você não xD).

Escher e seus loops infinitos

Já falei também da professora Eugenia Cheng e ela também postou um vídeo sobre Möbius, mas com…. bagels!

É isso, espero que curtam os vídeos! Tentem fazer em casa também, tenho certeza que vai ser divertido:)

 

Manual de sobrevivência do 1º semestre

Como eu transferi minha matrícula do tecnólogo para Computação, acabei aproveitando 4 disciplinas, por isso estava inscrita em Geometria Analítica, Introdução à Computação e Projeto Integrador I. Neste post vou falar um pouco de materiais e links para você se divertir (porque nem só de estudo vivemos!).

Geometria Analítica

Uma das matérias que mais me desesperei. Jurava que não ia passar, mas nada que sentar bunda e estudar pra valer não resolva. Eu não tive aulas de Geometria na escola, portanto, foi algo bem novo pra mim e tive muita dificuldade em entender os conceitos, ainda mais com essa abordagem super abstrata. Isso me deu até umas ideias para o Projeto Integrador do semestre q vem :), que será um jogo educacional usando a biblioteca Allegro, em C.

Quem me ajudou muito foram as aulas desse professor baiano que você pode ver no canal de GA. Ele segue a abordagem vetorial que a minha professora segue também. Esse material aqui aqui também ajudou muito! Quanto ao aprendizado, desculpa relembrar amiguinh@s, mas não existe segredo! É praticar muito e tentar sempre compreender o que acontece, tirando dúvidas e fazer exercícios extras, se possível.

Algoritmos e Programação I

O livro Elementos de Programação em C é gratuito para estudantes Senac e foi passado como leitura obrigatória. Para mim, C é algo bem diferente e desafiador, pois eu tive contato apenas com linguagens de alto nível (Ruby e Python <3). Também curti muito esse canal sobre Introdução à Programação em C e Ponteiros. Fizemos muitos exercícios do URI e esse foi o diferencial: é programando que se aprende a programar.

Pré-Cálculo

Eu estudei muito pelo canal do Grings e Khan Academy. Encontrei também este material aqui em inglês. Sem mistério também, tem que estudar e fazer as listas! (:

Introdução à Computação

Quando eu tiver muito dinheiro, vou doar para esse cara aqui, Titio Trevas. Também existem vários PDF’s disponíveis que apresentam mais a teoria. Pensa numa aula em que eu saía em entender nada do que o professor falava! Mas comecei a assistir os vídeos e fazer os exercícios que passei de boa. Não se desespere! É normal seu cérebro não entender tudo, ainda mais para quem não está acostumado a pensar como um computador. 

Projeto Integrador I

Esse eu comecei a ficar realmente preocupada. A proposta era fazer uma figura usando a biblioteca tikZ, em Latex. Foi bem difícil no começo, mas with a little help from my friends (aka Gabriel), deu tudo certo. O que me ajudou bastante foi começar a ligar os pontos usando um plano cartesiano. Eu fiz o relatório e vocês podem baixá-lo clicando aqui para saber mais. O resultado foi essa coisa fofa que vocês veem aí e minha inspiração foi essa animação da Chibird:

nhom nhom :3

PARTE 2

Pixar in a Box <333

pixar_in_A_box

O Khan Academy fez uma parceria muito legal com a Pixar: Pixar in a box! Eles mostram toda a Matemática e a prepração por trás ds animações. Estou fazendo e pretendo finalizar nas férias, para me divertir um pouco. Viu que fofo o monstrinho? 😀

How to Bake a Pi

Descobri essa professora de Matemática fenomenal e me apaixonei. Ela mostra como a Matemática está no nosso dia a dia e nem percebemos e o quanto perdemos por não ver isso. Ela tem um canal no Youtube e um livro que está na minha lista de compras! Eu adoro ver pessoas assim que tentam atrair as pessoas para Matemática, em vez de julgar quem não curte (ainda mais considerando o péssimo ensino que temos, né).

A complexidade sensível: um paralelo entre videogames e arte

Esse curso gratuito no Coursera é uma parceria com a Unicamp e discute jogos sob uma abordagem mais cultural. Achei bem legal, fica aí a dica para quem sempre algo a mais além do fato de jogar 🙂

Concluindo…

Este semestre foi bem intenso e algo que aprendi que fez toda a diferença foi entender a distribuir meu tempo de estudos de acordo com minhas necessidades. Isso é algo só você saberá, então não há fórmula mágica. Lembre-se de sempre respeitar seu ritmo de estudos e de pedir ajuda sempre que precisar (vou falar mais sobre isso em próximos posts, prometo). Isso não é fraqueza, é humano e pedindo ajuda você chega mais longe.

É isso, espero que curtam!

 

Um pouco da história das mulheres na computação

Programming requires patience and the ability to handle detail. Women are ‘naturals’ at computer programming – Grace Hopper

Desde mesmo antes de mudar para TI, eu queria compreender mais sobre como a área de Computação, antes tão receptiva para as mulheres, hoje se tornou uma área masculina, estereotipada e violenta (veja isso e isso).

Na matéria de Introdução à Computação, estamos desenvolvendo uma pesquisa relacionada à evolução da Computação e decidi estudar mais sobre a participação das mulheres no desenvolvimento dessa ciência. Assim que o trabalho estiver pronto, posto aqui (também faremos um vídeo e acho que vocês vão curtir).

Nathan Ensmenger (2010) fala que historiadores da computação só começaram a reconhecer a contribuição crucial das mulheres para a área no começo dos anos 90. Isso justifica o pouco material publicado sobre o assunto. Estou aprendendo coisas muito legais e daqui a pouco compartilho com vocês.

Para terminar, essa foto de uma matéria da Cosmopolitan, de 1967. que espero servir de inspiração para vocês <3

Computer Girls

Programar é como… dançar

Há um tempo eu li uma post da Alina Rainsford sobre a experiência dela com o balé e a programação. Achei tão legal que resolvi compartilhar aqui. Olha que incrível esse sentimento que ela fala:

You have to do a ballet step a thousand times before your muscles have really learned it. Learning to code is like brain muscle memory.

Eu faço Pole Dance, para quem não sabe ainda, e mês que vem completo 2 anos. Passou muito rápido e lembro até hoje do primeiro dia, da música que a professora usou para passar uma coreografia e claro, do sentimento que me acompanha até hoje: não existe nenhum movimento que eu não possa fazer, o que eu preciso é de treino e persistência .

Como tudo que começamos a fazer, nosso corpo estranha, mas ele se acostuma. Você é quem define os limites dele. Já viu aquela frase do Aristóteles (ou não) de que o que te torna excelente são seus hábitos? Dançar é a prova viva disso.

 

A vida de toda dançarina xD

O seu corpo aprende a reagir ao novo e você se torna cada vez mais confiante e capaz de vencer os desafios. Alguns movimentos você pega de primeira, outros você demora um tempo e isso é normal. Ninguém aprende no mesmo ritmo, por isso, você aprende a ouvir seu corpo e respeitar os sinais dele. A melhor sensação é a de conseguir, principalmente aqueles que demoraram a sair!

Estudar Computação está sendo uma experiência semelhante para mim e todo dia é um desafio. Eu entendo meus limites, mas não me contento com o mínimo. Tenho meu tempo para aprender e estou aprendendo a respeitar isso. Eu posso não saber muito ainda, mas estou trabalhando nisso. Meus amigos, professores, tutores e tudo mais, serão cruciais nesse processo infinito, o que torna a caminhada mais divertida e desafiadora.

Nunca esqueça que pedir ajuda é essencial. Quem nunca precisou de uma mãozinha para resolver um problema, né? 🙂

 

Quando eu quero conquistar algo, sei que o primeiro passo é imaginar, depois trabalhar até conseguir. Sabe como é, eu tenho síndrome de Beyoncé:

I see it, I want it
I stunt, yellow-bone it
I dream it, I work hard
I grind ‘til I own it

Espero que vocês tenham curtido. Depois da semana de provas, estou de volta! E você, como se sente ao aprender a programar?

Grace Hopper Conference 2016 – inscrições para bolsas!

A Grace Hopper Conference, a maior reunião e celebração de mulheres na computação, estendeu o prazo de inscrições para se inscrever como estudante ou como parte de uma turma para ganhar bolsas para participar do evento.

Este ano vai acontecer em Houston, Texas (será que vou ser selecionada? é a cidade natal da Beyoncé! <33). Se você sempre quis participar ou conheceu agora e curtiu a ideia, inscreva-se também. Quem for selecionada, vai ganhar auxílio viagem, hospedagem, alimentação e muita coisa legal para vivenciar.

Até quando pode se inscrever?

4 de Abril de 2016.

O que precisa?

Você vai precisar redigir um texto de até 500 palavras falando porque você merece ganhar a bolsa, do seu currículo em inglês e de um ‘histórico’ escolar não oficial, ou seja, descrever as disciplinas que você já fez, as que está cursando no momento, etc. Elas também pedem o contato de alguém para escrever uma carta de recomendação sobre você. Você pode conferir mais sobre esses detalhes aqui.

Não deixe para última hora, pois pode ocorrer imprevistos na hora de enviarem a sua carta de recomendação, que deve ser feita até o prazo de 4 de Abril. Fora isso… Boa sorte!

#cruzandoosdedos

Tutorial de Arduino: Semáforo

Desde que fiz meu primeiro LED acender, me apaixonei por Arduino <3 Veja como é fácil brincar com ele e já comece a pensar nas milhares de coisas que você pode fazer!

Para este tutorial, você vai precisar de:

1 Placa Arduino
1 Protoboard
3 LEDS’s
3 resistores 1KΩ
Cabinhos coloridos o/

WP_20160312_16_52_35_Pro[1]

Preparação

Conecte os resistores no lado negativo da Protoboard e ligue um fio ao GND (ground) da Arduino. Depois conecte o lado positivo dos LED’s nas entradas digitais.

Depois de selecionar a Placa e a Porta, carregue o código e se divirta! Caso queria ver o meu funcionando, clique aqui.


int red = 12; // variáveis para ficar mais bonitinho
int yellow = 8;
int green = 7;

void setup() { // inicialização
  pinMode(red, OUTPUT); // define pino 12 como saída
  pinMode(yellow, OUTPUT); // define pino 8 como saída
  pinMode(green, OUTPUT); // define pino 7 como saída
}

void changeLights(int color, int timer) { //função do semáforo com a cor e o delay como parâmetros
  digitalWrite(color, HIGH);
  delay(timer);
  digitalWrite(color, LOW);
}

void loop(){ // aqui eu chamo a função com a ordem das cores e o delay de cada uma
  changeLights(green, 3000);
  changeLights(yellow, 2000);
  changeLights(red, 5000);
}

Fácil, não? Até a próxima!