quarta-feira, 3 de junho de 2009

Sistemas lineares, método de Gauss, e internet desacreditada

Tudo bem com os sistemas lineares. Eles são uma forma de demonstrar matematicamente um problema que, em nosso caso, envolve três equações e três variáveis. Tudo bem também em utilizar o método de Gauss para solucioná-los, separando o contexto em uma matriz dominante e um vetor de termos independentes (a solução), daí aplicando operações de soma e multiplicação de vetores. O que não está tudo bem é quantidade de material duvidoso encontrado na internet a respeito desse tema.

Não sei se fomos nós que não soubemos procurar, ou as fontes que recorremos (incluindo-se aí sites de conhecidas universidades brasileiras) eram vagas demais. O fato é que, depois de três ou quatro algoritmos totalmente implementados, isto é, não apenas copiados com ctrl+c mas sim interpretados e até convertidos de pseudo-linguagem para o nosso C, simplesmente nenhum deles prestou um resultado coerente.

Então por quê pesquisar na internet? Estamos em ciência da computação; mais do que ninguém, sabemos que a tecnologia avança muito rápido. Sei que a pesquisa em livros (não em todos os casos, certamente) torna-se obsoleta em um curto espaço de tempo; e os professores nos disseram que este algoritmo (o Gauss-Jordan) seria de fácil acesso na web. Sua implementação do zero não seria a questão, mas sim entender seu funcionamento.

Fica como lição deste problema 4 do labinter que: Apesar de trabalharmos em equipe, e incentivados à colaboração, tem horas que, se quiser algo bem feito, faça você mesmo.

O lado bom: Ainda bem que bater tanto a cabeça em busca da solução - que não era nosso objetivo principal-, nos fez compreender como manipular os sistemas lineares, o que fazer para encontrar os determinantes, o pivoteamento, e, ainda, receber uma solidária contribuição do professor de Álgebra Linear (o algoritmo para resolver uma matriz triangular superior, que publicarei no próximo post) para consolar nossos esforços.

terça-feira, 2 de junho de 2009

Um microcontrolador sai do papel

Literalmente, nos foi apresentado um problema de proporções geométricas. Dois quadrados e um retângulo, todos em um círculo, precisavam ser dispostos de forma a obter o melhor aproveitamento possível do espaço, disponível dentro do dispositivo onde seria empregado; no caso, uma boneca de brinquedo.

O círculo, com raio de 6mm e representando o tamanho projetado no brinquedo para receber o circuito eletrônico, precisava ser preenchido com formas quadradas, onde o retângulo teria como altura a metade da medida de sua própria largura.

Pensamos, discutimos usamos várias (e duvidosas) fórmulas para tentar colocar um quadrado no meio, dividí-lo para que se tornasse um retângulo, e outras suposições a mais. Numa boa teoria, nos baseamos no princípio do círculo trigonométrico, onde o número PI poderia nos ajudar a delimitar o espaço total, para então usar de integrais e chegar na área desejada.

A conferência da professora Valéria mostrou que o tamanho mínimo de cada um dos componentes, por facilitar o cálculo do da área preenchida, deveria ter sido observado ou até especificado no problema. Foram enfocados conceitos da matemática e geometria fundamental, como utilizar compassos, traçar ângulos, tangentes e usar a famosa hipotenusa. Certamente são coisas que, se um dia achei que poderia esquecer, seria bom rever isso agora.

(Em off: Nossa, como esse círculo trigonométrico me ajudou a entender questões de seno e cosseno nesse período! obrigado labinter, professora Valéria e professor Zani.)

A beleza da modelagem funcional

O contexto anterior sugeria que o produto - na verdade, a pesquisa de um novo microcontrolador - seria apresentado a um grupo de investidores, altamente especializados em finanças, e, na mesma proporção, leigos em microinformática. Então, a proposta deste segundo problema seria apresentar o projeto de pesquisa aos executivos, aguardando deles a aprovação para fomento. A sugestão seria utilizar a modelagem funcional.

Decidimos oferecer aos acionistas um projeto multimídia, com redução de termos técnicos e aprofundamento em questões inovadoras, tornando assim o produto 'comprável'. Faltava agora definir a melhor ideia para isso, como mostrar uma modelagem funcional do 8051.

Nessa hora então aprendi que a modelagem funcional não serve apenas para formatar problemas, ou ainda questões envolvendo software. A modelagem funcional serve para tudo; tudo que pode ser explicado, com exemplos e desenhos, pode ser modelado utilizando estes padrões. No diagrama de contexto, até nos confundimos, pois as entradas e saídas podem sim ser questões (digamos) abstratas, mas que se autoexplicam ao desmembrarmos em diagramas menores. Com o auxílio do diagrama zero e sua hierarquia, permite-se um detalhamento inimaginável ao funcionamento e objetivos do microcontrolador (e de qualquer outra coisa).

A conferência ministrada pela professora Lívia nos indicou que um projeto grande - como a capilaridade de uma rede de transmissão de energia elétrica - pode ser (e foi) demonstrado utilizando o poderoso modelo funcional.

O microcontrolador 8051

Entendemos - através deste primeiro problema do laboratório interdisciplinar - a diferença entre um microcontrolador e um microprocessador. O modelo 8051, microcontrolador lançado inicialmente pela Intel, e hoje facilmente fabricado por pequenas empresas da área, demonstra a força de um circuito integrado em uma única pastilha, frente à plataforma exigida para abrigar um microprocessador. Largamente utilizado, o 8051 e seus descendentes podem ser encontrados em áreas como automação industrial, brinquedos, celulares e muitos outros produtos que necessitem de um completo e funcional computador, dentro de um diminuto micro chip.

Saber como diferenciar um microprocessador de um microcontrolador foi meu aprendizado neste problema. Enquanto o primeiro permite aplicações genéricas e poderosas, o segundo é bem mais aplicado e específico. Com um processador é possível trabalhar instruções ainda não conhecidas, enquanto o controlador apenas executa as sentenças já gravadas em seu pequeno circuito. Com um microcontrolador posso reduzir o tamanho e custo de um produto; por outro lado um processador um tanto mais caro e maior pode assumir funções tantas quantas lhe forem atribuídas.

quarta-feira, 1 de abril de 2009

Aprendendo com seus erros

Assim eu posso definir - de forma um pouco simplista, admito - o Problem Based Learning, metodologia que valoriza o aprendizado através de exemplos, e o desenvolvimento de habilidades - tais como o trabalho em grupo e o estudo individual de acordo com seus interesses - , respeitando o ritmo de cada estudante. Ao invés de apenas ouvir, o aluno passa a participar de sua própria instrução: Ele é responsável por manter o conteúdo a ser discutido com seus colegas. Do professor, apenas recebe as orientações necessárias para facilitar o entendimento e discussão com os demais discentes, dispostos em pequenos grupos.

Uma primeira sessão (aula) faz um levantamento do conhecimento prévio do estudante sobre o assunto definido (caso de estudo). É apresentado um contexto, de onde são identificados e enumerados os objetios de aprendizado. Cada um relaciona seus pontos de interesse, ou expressões do texto que desconhece seu significado. Após a anotação dos tópicos considerados úteis, uma etapa de pesquisa independente é iniciada, onde deve existir uma coleta de material em variadas fontes (contato com outros professores, livros e periódicos, etc) para uma próxima sessão presencial, em que as informações trazidas por todos são discutidas e inseridas no contexto em debate.

O Aprendizado Baseado em Problemas é fundamentado em 7 passos, abaixo listados:
1. Esclarecimento dos termos desconhecidos
2. Definição dos problemas a serem entendidos e explicados
3. Análise dos problemas. Dar as possíveis explicações, de acordo com os conhecimentos prévios – o famoso Brainstorm
4. Resumir o contexto
5. Formular os objetivos de aprendizado
6. Estudo individual baseado nos objetivos de aprendizado definidos
7. Relatar ao grupo e discutir as propostas.


/* Informações técnicas coletadas das fontes:
(Problem-Based Learning - PBL) Aprendizado Baseado em Problemas
UNIFESP/EPM - PBL: os sete passos
*/

segunda-feira, 2 de março de 2009

Relargada

Estamos em março, ficam para trás as férias e o carnaval. Bem, acho que isso representa o início do ano no Brasil, certo? rsrs, pois então. O ano letivo também, apesar de ter começado há poucas semanas, a partir de agora engrena de vez. O blog que vos fala passa a contar com atividade novamente, as aulas do Laboratório Interdisciplinar (II a partir de agora) voltam a nos trazer temas atuais, relacionados ao conteúdo de nossas disciplinas e ao cotidiano de um profissional da tecnologia da informação.

Nem parece, mas já passamos pelo primeiro período. A experiência da faculdade é uma novidade assimilada. Muito ainda está em fase de adaptação, contudo percebemos que o universo acadêmico é fascinante. É assustador. É um caminho sem volta.

A partir do momento que ingressou aqui, você não pode mais dar-se ao luxo de usar o computador para outra finalidade que não seja trabalho ou pesquisa acadêmica. E isso é muito bom. Até porque, nossa trajetória universitária, do início do curso até agora, nos mostra que esse é o caminho. A biblioteca da faculdade não é apenas um centro de convivência de primeiro mundo, com comunicação sem fio e porta automática. Ela está recheada com impressos de puro conhecimento, e para não ficar pra trás nessa corrida, é melhor pegar um ou dois desses exemplares pra devorar no fim de semana.

Esse blog, coitado, quase órfão, merece também maior cuidado. Com a promessa de uma melhor atualização no decorrer desse e dos próximos períodos, damos o pontapé para o segundo tempo dessa aventura..