Bases Teóricas para Redação Científica ... por que seu artigo foi negado?

Comecei a ler ontem "Bases Teóricas para Redação Científica... por que seu artigo foi negado?", de Gilson Volpato

Cheguei à página 27, de um total de 125.
Abaixo vão algumas anotações, que fiz para meu próprio uso.
Espero que sirvam para alguém se convencer a comprar este excelente livro.

Obs.:
O que coloquei entre aspas são palavras de Gilson Volpato, exceto quando cito outro autor.
O que não está entre aspas é o que entendi do que o prof. Gilson escreveu.

Anotações

Belo prefácio de Verônica Coelho mostrando como escrever ciência faz parte do fazer ciência.

Hipótese: Erros na RC decorrem de equívocos teóricos mais gerais sobre a Ciência.

"A atividade de redação é uma fase de síntese de todo o processo científico."

Hoje em dia não mais buscamos artigos mas sim selecionamos entre os tantos que nos chegam.

Daí a importância de publicar em periódicos com alto fator de impacto (são os mais lidos) e em nos preocuparmos com a quantidade de citações a nossos artigos.

É da busca, mais do que da geração de mistérios, que aparece a Ciência.
p.18

"Um artigo científico deve solucionar um mistério. De preferência, um mistério interessante!"
p.19

Distinção entre Ciência Natural e Ciência Formal.
p.19-20

A base empírica é o que distingue a Ciência de Filosofia, Religião e Arte.
p.20
ver Tabela 2 (p.21) http://picplz.com/user/adolfont/pic/kv7pt/

"O cientista sabe que, embora um resultado possa ser concreto, duradouro, ou mesmo eterno, as conclusões científicas são sempre provisórias."
p.20

 
Por conta da relevância da base empírica:
1) temos que ter um item Resultados em nossos artigos
2) temos que apresentar como os Resultados foram obtidos no item Material e Métodos

Em Discussão e Conclusões apresentamos nossas interpretações dos resultados, explicamos algum mistério, alguma indagação.

Ideia -> Experimentos + literatura -> Conclusões
Esquema geral da estrutura de um artigo científico
Figura 1 - p. 23 http://picplz.com/user/adolfont/pic/kv70r/
Explicação: p.21-23

Mesmo revisões críticas seguem esta estrutura.
Revisões críticas são também chamadas de revisões sistemáticas.
"A inclusão destas revisões como tópico destacado na Introdução de Dissertações e Teses fere a lógica mais estrita de um texto científico. Mostra apenas que o aluno foi aplicado e fez a lição de casa!"
p.22
 
Revisões podem indicar lacunas a serem investigadas.
p. 22-23

Revisões podem responder a perguntas específicas de pesquisa.
p.24

"Considerando os dados que Darwin possuía, o alcance de sua teoria foi um salto extremamente alto."
p.24

"Uma forma mais objetiva de revisão crítica é a realizada pela Metanálise."
"Baseia-se em métodos estatísticos que são incorporados à revisão crítica, analisando estatisticamente dados apresentados nos artigos selecionados. Esse embasamento estatístico dá maior força às conclusões."
p. 24

Sobre metanálise veja
Curso de Revisão Sistemática e Metanálise
http://www.virtual.epm.br/cursos/metanalise
p.24

"Para se construir Ciência temos que construir generalizações a partir dos dados."
É no salto entre o observado e as conclusões que o caráter subjetivo atua.
"Por receio a este elemento subjetivo, alguns cientistas evitam avançar seus comentários para além dos dados."
Os bons cientistas ficam entre dois extremos: (i) não comentar os dados; (ii) alterar ou inventar dados para sustentar suas ideias.
"Teoria sem dados é fantasia, mas dados sem teoria é caos." Lawler
p.27

Resumo do Artigo “Fatores Limitantes da Adoção Industrial de TDD: Uma Revisão Sistemática [1]”

Autor: Vagner Carlos Marcolino Lima (aluno do Mestrado Profissional em Computação Aplicada da UTFPR)

 

O principal objetivo do artigo é investigar os potenciais fatores que podem limitar a adoção industrial de TDD. Os autores buscaram contribuir com: (a) uma análise qualitativa dos efeitos de um conjunto de fatores sobre TDD com base nos estudos primários selecionados na revisão; (b) uma identificação do conjunto de fatores limitantes; e por fim, (c) uma discussão das implicações para pesquisa e indústria desses fatores.

 

Para realizar tal investigação eles utilizaram o método de Revisão Sistemática da Literatura, o qual busca responder uma questão ou uma hipótese (Quais fatores podem limitar a adoção industrial de TDD?) a partir da composição e agregação de evidências de estudos primários, sendo eles selecionados a partir de um protocolo especifico. Os autores utilizaram como base o protocolo proposto por Kitchenham e Charters (2007). Os passos que os autores seguiram são apresentados abaixo:

  1. Processo de busca:
    1. Começa com o desenvolvimento do protocolo de revisão, ele descreve o proposito da revisão, questão de pesquisa, critérios preliminares de inclusão e exclusão dos artigos, detalhes da string de busca e bases de dados;
    2. A partir da string de busca definida, a busca foi realizada na língua inglesa, e foi uma busca completa (full-length), o resultado foi coletado pela ferramenta EndNote;
    3. Foram excluídos "short papers" (menos de seis páginas), tutoriais, trabalhos em andamento, palestras e lições apreendidas industriais puras.
  2. Processo de exclusão de artigo: foram removidos artigos
    1. Primeiro estágio, duplicados, com base no critério citado no item 1 e no titulo (off-topic);
    2. Segundo estágio, baseados no abstract;
    3. Terceiro estágio, baseados no texto completo. Neste estágio cada artigo foi lido por pelo menos dois pesquisadores, e para avaliar a qualidade dos artigos eles utilizaram questões semelhantes às utilizadas por Dyba e Dyngsoyr (2009). Aqui, especificamente, os autores investigaram: 1) se o artigo foi um artigo de pesquisa; 2) se foi uma avaliação da TDD; 3) se o objetivo de pesquisa estava claramente definido; 4) se o artigo tinha uma descrição adequada do contexto/configuração. Por fim, os artigos passavam por esse estagio se a seguinte expressão boleana fosse verdadeira: (1 AND 2 AND (3 OR 4)).
  3. Processo de extração de dados:
    1. Primeiro passo: extração dos dados gerais e efeitos declarados explicitamente de TDD sobre requisitos para uma adoção bem sucedida de TDD; b) segundo passo: a matriz resultante (efeitos x estudos primários) foi revista.
  4. Síntese dos dados: os fatores limitantes foram definidos com base nas 18 áreas de efeito, seguindo as seguintes regras:
    1. A área de efeito continha pelo menos dois estudos com observações de efeitos negativos de ou sobre TDD;
    2. A área de efeito continha mais estudos negativos do que positivos de ou sobre TDD;
    3. Efeitos negativos na área de efeitos foram observados em pelo menos um estudo executado em ambiente industrial.

 

A partir da revisão sistemática os autores levantaram 18 áreas de efeitos de TDD. E, com base nessas áreas eles identificaram os 7 fatores limitantes, a saber.

 

FL1 – Tempo de Desenvolvimento

(ou aumento no tempo de desenvolvimento)

 

Para esse fator houve 9 estudos com menção negativa, sendo 6 da indústria com profissionais (5 estudos de caso e 1 experimento) e 3 acadêmicos com estudantes (2 experimentos e 1 estudo de caso), entretanto, 5 estudos com menção positiva, mas isso na maioria deles considerando tempo geral do projeto.

O tempo de desenvolvimento pode ser considerado um fator crítico para o negocio, por isso ele deve ser um limitante. Entretanto, dependendo da maturidade da organização a perda inicial (aumento no tempo de desenvolvimento) pode sobrepor o ganho em longo prazo com os outros benefícios do TDD.

 

FL2 - Experiência/conhecimento

(ou experiência/conhecimento de TDD insuficiente).

 

Para esse fator houve 2 estudos com profissionais com menção negativa (atribuíram problemas de implementação de TDD por falta de treinamento/experiência em TDD) e mais 2 estudos que apontaram diferenças significantes na forma de aplicar TDD quando realizada por desenvolvedores experientes ou novatos.

Notou-se que os participantes na maioria dos experimentos receberam algum tipo de treinamento. A experiência/conhecimento sobre TDD é quase que um pré-requisito.

 

FL3 – Projeto

(ou falta de projeto inicial – “upfront”).

 

Para esse fator houve 3 estudos com menção negativa (2 experimentos acadêmicos e 1 estudo de caso com profissionais), alegam problemas arquiteturais quando usa-se TDD.

As evidências empíricas, os estudos primários avaliados, não suportam que a falta de projeto no inicio pode ser considerado um fator limitante para adoção de TDD. Da mesma forma que não há evidências que suportam que somente o "projeto TDD" é bom.

 

FL4 – Habilidades em teste

(ou falta de habilidade do desenvolvedor em escrever casos de teste)

 

Para esse fator houve 2 estudos com menção negativa (1 experimento acadêmico com estudantes e 1 estudo de caso com "mix" de profissionais e estudantes).

Se TDD baseia-se na criação de casos de teste no inicio de cada ciclo, logo, seria interessante que o desenvolvedor tivesse a habilidade/conhecimento em projeto de casos de testes. E mais, pensamos que não há investigações explicitas da qualidade dos casos de testes produzidos pelos desenvolvedores TDD.

 

FL5 – Aderência TDD

(ou aderência insuficiente ao protocolo TDD)

 

Para esse fator houve 3 estudos de casos com profissionais com menção negativa, na realidade, por vários motivos, acabavam abandonando o protocolo TDD, e mais, 2 estudos de caso com profissionais que reportaram correlação entre baixa aderência ao protocolo e baixa qualidade.

A combinação dos cinco estudos que motiva a inclusão deste fator. No entanto, é longe de ser certo que há uma relação bem delineada de causa-efeito entre baixa adesão ao protocolo TDD e baixa qualidade. Não improvável que fatores de confusão (por exemplo, prazos de desenvolvimento apertados) podem levar tanto a baixa adesão TDD baixo quanto a má qualidade.

 

FL6 – Questões específicas de ferramenta e domínio

 

Para esse fator houve 9 estudos com menção negativa (5 estudos de caso com profissionais, 1 pesquisa (survey) na indústria com profissionais e estudante e 3 experimentos acadêmicos.

Ferramentas de suporte são vitais para o TDD. Com a quantidade razoável de "negativas" (9 estudos) dificilmente esse fator seria ignorado. As situações mais problemáticas são ferramentas para suportar a aplicação de TDD em (a) aplicações GUI e (b) aplicações em rede.

 

FL7 – Código Legado:

 

Para esse fator houve 2 estudos de caso com profissionais mencionaram problemas com o manuseio (tratamento) de bases de código legado.

TDD, na sua forma original, não discute como manter código legado. Ao invés disso ela parte do princípio que o código será escrito desde o início usando TDD. Em grandes organizações isso é raro, logo, adotar TDD pode ser problemático. Sem os suítes de regressão adequados para tal situação os desenvolvedores ficam ansiosos ou até temerários em manter código legado.

 

E mais, os autores delinearam pesquisas futuras na perspectiva da comunidade de teste de software, por exemplo, em linhas gerais, como integrar as perspectivas dos testadores TDD e testadores tradicionais.

 

Por fim, o processo de busca e exclusão dos artigos foi abrangente e os delineamentos para trabalhos futuros – ainda que com certo viés – não são triviais, porém o critério de definição dos fatores limitantes foi um pouco incipiente, seria razoável, por exemplo, definir pesos para os tipos de estudos, e com isso, possivelmente a quantidade – que foi pequena – e os tipos de fatores limitantes mudariam.

 

 

 

Referência

 

[1] CAUSEVIC, A. SUNDMARK D. PUNNEKKAT, S. Factors Limiting Industrial Adoption of Test Driven Development: A Systematic Review Disponível em: <http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5770623&tag=1>

Acessado em: 09 nov. 2010.

 

Perfis dos profissionais da área de Computação

Como parte dos documentos relativos ao ENADE 2011, o INEP divulgou a Portaria INEP no.239, de 04 de agosto de 2011 que contém as Diretrizes para a Área de Computação (ver http://portal.inep.gov.br/legislacao-2011). 

Neste documento são descritos os perfis dos profissionais da área de Computação que serão tomados como referência para o ENADE 2011. 

Listo abaixo os perfis profissionais dos três únicos cursos de Computação que acho que devem existir (particularmente não vejo necessidade da existência da Licenciatura em Computação/Informática). Os grifos são meus.

Os egressos dos cursos de Bacharelado em Sistemas de Informação:

a) Possuem uma sólida formação em Ciência da Computação, Matemática e Administração visando o desenvolvimento e a gestão de soluções baseadas em tecnologia da informação para os processos de negócio das organizações de forma que elas atinjam efetivamente seus objetivos estratégicos de negócio;

b) São capazes de determinar os requisitos, desenvolver, evoluir e administrar os sistemas de informação das organizações, assegurando que elas tenham as informações e os sistemas de que necessitam para prover suporte as suas operações e obter vantagem competitiva;

c) São capazes de inovar, planejar e gerenciar a infraestrutura de tecnologia da informação em organizações, bem como desenvolver e evoluir sistemas de informação para uso em processos organizacionais, departamentais e/ou individuais;

d) São capazes de escolher e configurar equipamentos, sistemas e programas para a solução de problemas que envolvam a coleta, processamento e disseminação de informações;

e) Entendem o contexto, envolvendo as implicações organizacionais e sociais, no qual as soluções de sistemas de informação são desenvolvidas e implantadas;

f) Entendem os modelos e as áreas de negócios, atuando como agentes de mudança no contexto organizacional;

g) São capazes de desenvolver um pensamento sistêmico que os permitam analisar e entender os problemas organizacionais.

Os egressos dos cursos de Bacharelado em Engenharia de Computação:

a) possuem uma sólida formação em Ciência da Computação, Matemática e Eletrônica visando a análise de projeto de sistemas de computação, incluindo, sistemas embarcados e de computação voltados a processos industriais envolvendo automação industrial, controle de processos, telecomunicações e instrumentação eletrônica;

b) Conhecem a estrutura dos sistemas de computação e os processos envolvidos na sua construção e análise;

c) São reflexivos na construção de sistemas de computação por entender que eles atingem direta ou indiretamente as pessoas;

d) Entendem o contexto social no qual a Engenharia é praticada, bem como os efeitos dos projetos de Engenharia na Sociedade;

e) Consideram os aspectos econômicos, financeiros, de gestão e de qualidade, associados a novos produtos e organizações;

f) Consideram fundamental a inovação e a criatividade e entendam de perspectivas de negócios e oportunidades relevantes.


Os egressos dos cursos de Bacharelado em Ciência da Computação:

a) Possuem uma sólida formação em Ciência da Computação e Matemática que os capacitem a projetar e construir aplicativos de propósito geral, ferramentas e infraestrutura de software de sistemas de computação e de sistemas embarcados, gerar conhecimento científico e inovação e que os incentivem a estender suas competências à medida que a área se desenvolve;

b) Possuem visão global e interdisciplinar de sistemas e entendem que esta visão transcende os detalhes de implementação dos vários componentes e os conhecimentos dos domínios de aplicação;

c) Conhecem a estrutura dos sistemas de computação e os processos envolvidos na sua construção e análise;

d) Conhecem os fundamentos teóricos da área de Computação e como esses fundamentos influenciam a prática profissional;

e) São reflexivos na construção de sistemas de computação por entender que eles atingem direta ou indiretamente as pessoas e a sociedade;

f) Possuem a capacidade de criar soluções para problemas complexos que têm muitas relações entre domínios de conhecimento e de aplicação;

g) Reconhecem que é fundamental a inovação e a criatividade e entendam as perspectivas de negócios e oportunidades relevantes. 

"Dicas" do podcast Carreira na Área de TI, com Fabio Akita

Escutei hoje o podcast "Carreira na Área de TI", com Fabio Akita.

Ao longo das três partes do podcast Akita dá algumas dicas sobre o que alguém que está começando na área de computação deve ser/fazer para tornar-se um bom profissional:

  • Ser fuçador (isto é, ser um verdadeiro hacker).
  • Ler livros. Isto é, não ler apenas blogs e páginas na internet. E ler não apenas livros técnicos da área de informática, mas também livros de outras áreas (economia, administração, psicologia, etc.) e livros de literatura.
  • Aprender com projetos de código livre (open source).
  • Aprender inglês. Inglês, pelo menos a leitura em inglês, é fundamental na nossa área.
  • Aprender a comunicar-se.
  • Conhecer a história da computação.
  • Ser burro e preguiçoso.
  • Treinar deliberadamente. Como se faz nos Coding Dojos. Aqui ele citou o livro Talent is Overrated.
  • Procurar ser avaliado por gente melhor do que você. Como acontece quando se participa ativamente de um projeto Open Source.
  • Não se preocupar com regulamentação e certificação. Certificação leva a sucateamento e corrupção.
  • Não ter medo de errar.

Assino embaixo de todos estes itens. Alguma coisa não ficou clara? Vá lá escutar:

Não concorda com algum ponto? Comente abaixo.

As linguagens de minha vida (até agora)

No sábado, 02/03/2011, motivado por um podcast sobre Scala, uma linguagem que não conheço (isto é, em que nunca programei nem um programa de 100 linhas), tuitei a seguinte seqüência de tweets sobre as linguagens de programação em que já programei:
Algumas observações adicionais:

Linguagens em que programei: Basic foi a primeira, no Ringo R-470 http://bit.ly/bIMTDW

  >> Bem, eu não tinha escolha. Na época era Basic ou Basic... Algumas coisas horríveis do Basic a gente não esquece, como a numeração de linhas e os comandos GO TO.

Depois programei em Basic no TK-2000 http://bit.ly/eorkW6
  >> Não havia muita diferença entre um Basic e outro...

Ainda no TK-2000, programei em Assembler http://bit.ly/eorkW6
  >> Todo mundo deveria experimentar programar em algum Assembler. Ajuda e muito a entender como um computador funciona.

Na graduação (CC-UFAL) "programei" na linguagem do livro ALGORITMOS ESTRUTURADOS (1a. ed) - de Harry Farrer e outros http://bit.ly/hsCkBK
  >> Escrevi "programei" porque era só no papel mesmo. Não tinha Visualg ou Portugol IDE. Como eu já tinha experiência de programação, tirei de letra. Fui aprovado na disciplina com ótima nota. Mas não sei o que teria acontecido se não tivesse essa experiência prévia com programação e tivesse uma disciplina de algoritmos em que o computador não fosse usado. Talvez seja até melhor...
  Uma coisa muito boa do livro de Farrer e outros é a ideia de Refinamentos Sucessivos. A ideia é escrever o programa em português e ir aos poucos "traduzindo" para uma linguagem de programação.

Em 1990 na UFAL aprendi Pascal http://bit.ly/eTeQZN
 >> Pascal na época era o padrão. Hoje não temos mais uma linguagem padrão para ser a primeira linguagem de programação...

Depois foi a vez de C (programming language) em 1991 http://bit.ly/eOpGwt
  >> Não tenho boas lembranças de C. Talvez tenha sido o professor, de quem ninguém na turma gostava. Tínhamos excelentes professores no curso de Ciência da Computação na UFAL: Evandro, Paraguaçu, Cid, Jaime, entre outros. Mas o meu professor de C não deixou boas lembranças.

Acho que no mesmo ano (1991) aprendi Lisp http://bit.ly/hBIJ35
  >> Foi na disciplina de Teoria de Computação, com o professor Fabio Paraguaçu. Comentei isto num post anterior sobre Clojure. Gostei muito de LISP. Cheguei até a fazer alguns trabalhos da disciplina Computação Gráfica em LISP, algo não muito recomendável...

Lembro de ter programado algo em COBOL também: http://bit.ly/gAfUmD
  >> Também não gostei de COBOL. A motivação para aprender COBOL era muito fraca. Era a linguagem que algumas empresas bem atrasadas de Alagoas usavam. Devo ter escrito um ou dois programas para passar na disciplina "Linguagem de Programação Comercial" e depois fiz questão de esquecer a linguagem...
Lembrei agora que também escrevi alguns programas em Clipper e em PAL (Paradox Application Language), a linguagem de banco de dados Paradox. A primeira era horrível. A segunda até que era bem interessante, pois havia um gerador de sistemas. Isto é, o gerador fazia a maior parte do trabalho: gerava telas, bancos de dados, etc. A linguagem era só para os comportamentos adicionais. Algo parecido com o que Delphi e Visual Basic (nas quais também programei algo) fizeram bem melhor tempos depois.

Ainda na graduação lembro de ter visto C++ e orientação a objetos http://bit.ly/eyhHAs
>> Foi a única linguagem OO da época que conheci na UFAL. Cheguei a conhecer Smalltalk na UFPE. Mas programar mesmo em Smalltalk só anos depois, quando estava no IME-USP.

Em C++ quem programava bem mesmo eram o Arnaldo Melo (@acmel) e o Alessandro Jatobá, meus colegas de curso. Eles chegaram até a programar uma espécie de clone do Windows: o Visões. Eu só vim fazer algo minimamente significativo em C++ durante o Doutorado.

Java só conheci durante o mestrado no @CinUFPE http://bit.ly/epI2U2
>> Nem fazia parte do curso. Comprei um livro na livraria Sodiler e comecei a ler. Depois lecionei Java no CEFET-AL.

E só agora recentemente conheci Python... http://bit.ly/feepuh
... Ruby ... http://bit.ly/gzacYj
>> Isto já aconteceu aqui na UTFPR. São linguagens bem elegantes e com comunidades bem apaixonadas.
Devo usar as três linguagens nos meus atuais projetos de pesquisa: KEMS2 e Logic Dojo.

Está faltando Prolog. Não lembro ao certo se vi na graduação. Acho que sim. http://bit.ly/dZLvsS
>> Devo ter visto Prolog durante a graduação, mas não lembro em que disciplina. Passei a lecioná-la na UDESC (em 2008) e voltei a lecionar (bem pouco) de Prolog aqui na UTFPR (desde 2009). Alguns pequenos exemplos de programas em Prolog estão no meu perfil no Github.
Escrevendo lembrei também que escrevi ao menos dois programinhas em Lua. Um deles está no meu Github.

Ufa! São muitas linguagens. Mas gostaria que fossem mais. Pretendo nos próximos anos escrever pelo menos alguns pequenos programas em:
- Scala
- Io
- Haskell

Para quem chegou até aqui e se interessa pela história das linguagens de programação, sugiro a leitura deste livro:
51xuCNgNYHL._SL500_AA266_PIkin3,BottomRight,-3,34_AA300_SH20_OU01_.jpg

Parece ser muito bom. A  amostra grátis que a Amazon dá vem com as entrevistas completas com os criadores de C++ e de Python.

Para terminar mesmo, alguém tem alguma sugestão de linguagem que eu deveria estudar?

Sobre o Bacharelado em Sistemas de Informação da UTFPR

Desde 2009, a UTFPR Campus Curitiba oferece o curso de Bacharelado em Sistemas de Informação (BSI). Mas acredito que muitos alunos do ensino médio não sabem do que se trata este curso.

Meu objetivo com este post é esclarecer alguns pontos sobre o BSI do DAINF-UTFPR.

Em primeiro lugar devo deixar claro que tudo o que escrevo aqui é pessoal. Sou professor da UTFPR desde 2008 mas as minhas palavras não refletem a posição oficial da Universidade ou do DAINF-UTFPR.

A coisa mais importante que deve ficar clara para quem pretende fazer o BSI é que o BSI do DAINF é um curso de computação. Aproximadamente 70% das disciplinas obrigatórias vistas no BSI do DAINF são de "computação dura": lógica matemática, algoritmos (lógica de programação), programação de computadores, estruturas de dados, bancos de dados, redes, sistemas operacionais, engenharia de software, etc. As demais disciplinas estão preocupadas com a aplicação destes conhecimentos nas organizações. Mais detalhes no Projeto de Abertura do curso ou na seção "Fundamentação do Curso" dentro da Página do BSI no site do DAINF.

Digo isto porque algumas faculdades/universidades oferecem cursos de BSI com um foco maior em Administração. Ou seja, são cursos com aproximadamente 70% do foco/esforço em administração e 30% em computação.

Talvez um nome melhor para o curso fosse "Computação Aplicada", como é o nome do mestrado oferecido no DAINF. Mas estamos seguindo as orientações da SBC.

O segundo item importante é que, por ser um curso público e gratuito, que oferece 88 vagas anuais, os professores são bastante exigentes. Acredito que todos os alunos que entram no BSI tem potencial para serem excelentes alunos. Portanto, acredito que o sucesso de cada aluno dependerá principalmente de seu tempo disponível para os estudos, esforço e dedicação.

Atualmente todas as vagas do BSI do DAINF são ocupadas via SISU. Mais detalhes na página direcionada aos Futuros Alunos da UTFPR.

Por último, deixo o espaço dos comentários abertos para quem tiver alguma dúvida sobre o BSI.

Alguns links úteis:

Há sentido em publicar livro-texto em papel?

Numa lista de que faço parte (ligada ao blog Democracia e Transparência em C&T), uma colega professora perguntou:

Ainda há sentido em publicar livro-texto em papel?


Minha resposta foi:

Para mim não. Só leio livros nos meus e-readers (tenho um Kindle) ou no computador. Muito mais nos e-readers do que no computador. A tela do computador cansa demais a minha vista.

Não tenho mais espaço em casa ou na Universidade para guardar os livros em papel, portanto nem os compro mais. Por esta razão ainda não li os livros do Gilson Volpato (não tem em versão eletrônica).


Depois ela perguntou se valia a pena publicar um livro-texto em papel, ao que respondi:

Se eu fosse você publicaria ou na Amazon ou numa editora como Gato Sabido, Lulu, etc. A escolha depende de detalhes contratuais (por quanto você quer vender, quantos % quer ganhar sobre o preço de capa, se permite promoções, etc).

Publicando na Amazon, por exemplo, automaticamente seu livro fica disponível para:
- Kindle
- iPad
- smartphones
- computadores

Tem até um sistema que permite que você solicite uma amostra (as páginas iniciais do livro). Adoro esta feature. Permite-me tomar a decisão de comprar/não-comprar um livro muito mais facilmente.

Por fim ela questionou o que precisamos fazer para não ficarmos totalmente dependentes tecnologicamente dos americanos, ao que respondi:


Nem tudo implica em dependência tecnológica. Você pode publicar seu livro na sua página, em formatos livres, como o epub, sem DRM, e não ficar amarrado a nenhuma empresa/fabricante.
 
E perguntou se deveríamos desenvolver sistemas nacionais de telefonia, softwares nacionais etc.

Acho isso desnecessário. Tem tanta coisa para fazer, pra quê ficar reinventando a roda?

Por exemplo, eu gostaria de ter algum gadget que me ajudasse a escrever/tomar notas com as mãos (e não com o teclado).

- já existe uma caneta http://www.livescribe.com/en-us/smartpen/echo/
- acabou de ser lançado um tablet: http://www.noteslate.com/

mas com certeza irão surgir outras opções. Algumas com reconhecimento de voz também. Portanto, é um exemplo de mercado em aberto.


Oportunidades existem. Quem se habilita?

Alguém discorda do que escrevi acima? Coloque sua opinão nos comentários!

Learning Clojure - part 1

I am learning Clojure. Clojure is a LISP for the JVM. I have programmed in LISP when I was a Computer Science undergraduate student at Federal University of Alagoas, back in the 1990's. I have implemented parts of a system that was used in Fabio Paraguaçu's Masters thesis. The system was called Tutur, a learning environment for Turing machines.

I enjoyed programming in LISP. I wrote several other programs in LISP, including some for the Computer Graphics discipline. I remember  having implemented the Resolution Method in LISP, but all these programs are lost in old floppy disks. At that time the LISP I had avaliable was muLISP, a LISP for the MS-DOS operating system. After I graduated (in 1993) I had not the opportunity or desire to program in LISP anymore.

Last year I read about Clojure in Uncle Bob's blog and decided to learn it. I plan to use Clojure in my currrent research project (the reengineering of a multi-strategy theorem prover).

I am reading Bruce Tate's Seven Languages in Seven Weeks (the title reminds me of this excellent film) chapter on Clojure and using the material available on Clojure.org and several other pages.

As I am using a Windows computer today (I usually use a computer with Fedora Linux), I had to install Clojure using Clojure Box. It worked perfectly.

Today I tried to learn how to do Test-Driven Development in Clojure. The first results are below: .

If you have some comment on this code (that is probably not very good), I would be glad to hear it.

Coworking em Curitiba

Citizen_Space,_San_Francisco,_CA.jpg

Gostei muito desta ideia de coworking (veja o vídeo do programa RPC Globo Comunidade em http://bit.ly/egHkl6). 

Já tinha ouvido falar disso, mas não sabia que já havia um espaço para coworking aqui em Curitiba, a Aldeia Coworking:
- Twitter: @coworkingcwb
- Flicker: http://www.flickr.com/photos/aldeiacoworking (tem até cozinha!)

Fiquei sabendo da existência da Aldeia Coworking porque teremos um Dojo de Programação (Coding Dojo) na próxima terça-feira 08/02/2011. A propósito, todos estão convidados (ver instruções sobre como participar aqui).

Pretendo fazer uma visita neste semestre. E espero que em breve alunos formados pelo DAINF-UTFPR comecem seus negócios por lá. 

About

See my web page for more information about me.

Twitter