terça-feira, 23 de junho de 2009

Que postura deve adotar o professor da área de TI?

Não só os professores da área de TI, mas todos, devem ter a conciência de que não se concebe mais, nos dias atuais, uma educação "bancária", na qual o professor deposita (ou pensa que pode depositar) o conhecimento na mente do aluno. O aluno é sujeito ativo de sua aprendizagem. O professor deve atuar como um mediador. Alguém que, pela experiência que possui, sabe indicar os melhores caminhos, os que podem propiciar resultados mais rápidos. Assim, ele dirá ao aluno qual a melhor bibliografia, o melhor jeito de estudar, estará disposto a interagir com o conhecimento que o aluno possui ...

segunda-feira, 1 de junho de 2009

Linguagens de programação

PHP

PHP é um acrônimo recursivo para Preprocessador de Hipertexto. Foi desenvolvida por volta de 1994 por Rasmus Lerdof para substituir um conjunto de scripts (código de linguagem interpretada) Perl que ele usava no desenvolvimento de sua página pessoal.

É uma linguagem de programação interpretada, livre e muito utilizada para gerar conteúdo dinâmico na web, como por exemplo a Wikipédia. As páginas são ditas dinâmicas, pois são geradas dinâmicamente no servidor web conforme solicitações feitas no cliente (browser). Para entender isso, basta verificar que seria impossível para o google ter uma página criada para cada pesquisa feita. O PHP-GTK permite produzir aplicações desktop.

Após a página ser gerada no servidor, é enviado para o navegador somente HTML puro. Essa característica permite a interação com bancos de dados e aplicações existentes no servidor, sem expor o código fonte para o cliente. Isso é útil, evidentemente, quando o programa trabalha com senhas ou dados críticos.

É multiplataforma (roda em qualquer sistema operacional), estruturada e orientada a objetos (a partir do PHP 3), interage com uma gama muito grande de SGDBs e é fracamente tipada.

Um bom IDE para se começar a programar com PHP é o PHP Editor, que além de possuir um editor de scripts PHP e de tags HTML, permite a interação rápida dessa linguagem de programação com MySQL.


Java

É uma linguagem de programação orientada a objetos desenvolvida pela Sun Microsystems, em maio de 1995, por uma equipe de programadors chefiada por James Gosling.

Programas em Java não são traduzidos para código de máquina, como outras linguagens estáticamente compiladas, mas para uma representação intermediária (pré-compilação) chamada bytecodes. Esses são interpretados pela máquina virtual java. Portanto, Java é uma linguagem interpretada.

Java é orientada a objetos, é independente de plataforma, possui extensa biblioteca de rotinas que facilita a cooperação com protocolos TCP/IP, é distribuída com um vasto conjunto de APIs, a maior parte das distribuições são disponibilizadas gratuitamente, entre outras características da linguagem.

Mas possui pontos negativos, a saber, a pré-compilação exige tempo, o que faz com que programas Java demorem um tempo significativamente maior para começarem a funcionar. Além disso, há o tempo de carregamento da máquina virtual. Outro ponto negativo é verificado em programas que usam muito processamento numérico. Pois o padrão Java tem uma especificação rígida de como devem funcionar os tipos numéricos. Essa especificação não condiz com a implementação de pontos flutuantes na maioria dos processadores o que faz com que o Java seja significativamente mais lento para essas aplicações quando comparado a outras linguagens. Apesar disso, no Brasil, por exemplo, a maioria dos bancos utiliza a tecnologia Java para construir seus home banks, que são acessados por milhares de usuários diariamente.

Alguns frameworks:
  • Log4J: ferramenta utilizada para facilitar a criação de logs;
  • Junit: ferramenta utilizada para auxiliar na criação de testes unitários.
Alguns IDEs:
  • jEdit (para iniciantes);
  • JCreator (para iniciantes);
  • BlueJ (para iniciantes);
  • Eclipse (para profissionais, free, projeto iniciado pela IBM);
  • NetBeans (para profissionais, free, criado pela Sun).

Bibliografia:

JAVA. Disponível em: http://pt.wikipedia.org/wiki/Java_(linguagem_de_programa%C3%A7%C3%A3o). Acesso: 2 jun 2009.
PHP. Disponível em: http://pt.wikipedia.org/wiki/Php. Acesso: 2 jun 2009.

terça-feira, 12 de maio de 2009

Core i7

A presente descrição foi retirada de http://www.clubedohardware.com.br/artigos/1651 e pode ser lido na íntegra lá.
O Core i7 é o primeiro processador da Intel com controlador de memória integrado, recurso já existente em processadores AMD desde o Athlon 64. Esse processador é baseado na arquitetura Core, mas com vários aprimoramentos para aumento do desempenho e usa um novo soquete, LGA 1366.

Todos os demais processadores da Intel utilizam um controlador de memória externo ao processador, localizado no chip ponte-norte do chipset da placa-mãe. Isso implica que, com esses processadores, é o chipset da placa-mãe que determina qual a tecnologia e a quantidade de memória que se deve instalar no computador. Com o Core i7, que possui controlador de memória embutido, é o processador que determina a tecnologia e a quantidade de memória que será instalada no computador.

O controlador de memória do Core i7 aceita apenas memórias DDR3 e suporta a nova arquitetura de três canais de memória. Essa arquitetura permite ao processador acessar três módulos de memória ao mesmo tempo para gravar e ler dados, aumentando a quantidade de bits transferidos por pulso de clock de 128 (arquitetura de dois canais) para 192.

O processador comunica-se com o restante do sistema por meio de um novo barramento chamado QPI (Quick Path Interconnect). Esse trabalha a 2,4 GHz no Core i7 e a 3,2 GHz no Core i7 Extreme.

Esse processador tem suporte a tecnologia HyperThreading, que simula dois processadores lógicos para cada núcleo de processamento (já presente no Core 2 Duo). Assim, como ele tem quatro núcleos "reais", o sistema operacional detecta oito núcleos "virtuais" (threads), ou seja, oito processadores.

O Core i7 possui duas versões: Extreme (versão mais poderosa e cara) e o Core i7. As principais diferenças do primeiro em relação ao segundo são o multiplicador destravado, além de velocidades do clock do processador e do barramento mais altas.

segunda-feira, 4 de maio de 2009

Regulamentação das profissões na área de informática

O projeto de lei n° 1561 de 2003 traz como consequência um aumento da concorrência e da qualidade de produtos e serviços e uma possível diminuição dos salários, em comporação ao que poderiam ganhar os profissionais da área de informática num cenário de reserva de mercado de trabalho.

O projeto de lei n° 815 de 1995 e o projeto de lei n° 607 de 2207 prevêem, entre outras coisas, a reserva de mercado de trabalho para profissionais com qualificação formal. Isso beneficiaria esses profissionais no que toca à oferta de empregos e à remuneração. Mas faria mal para a sociedade, pois implicaria num aumento no preço final de produtos e serviços. Além do mal que traria à própria informática, haja vista ela não só fornecer subsídios aos profissionais de outras área do conhecimento, como também se beneficiar dos conhecimentos dos profissionais dessas outras áreas, pois é uma área do conhecimento humano multidisciplinar em sua essência, em sua origem.

Minha opinião pessoal segue a da SBC. Deve-se regulamentar a profissão para se evitar que outras profissões já regulamentadas queiram avançar sobre a área de atuação da informática. Na regulamentação, não se deve criar empecilhos para o livre exercício da profissão na área de informática. Diploma deve ser apenas um diferenciador a favor de quem o possui. Deve-se criar algo que regule as atividades de infomática no país, para proteger a sociedade contra a falta de profissionalismo. Nesse caso não vejo como a criação de conselhos de informática poderia contribuir. Talvez se consiga algo mais eficaz com a criação de uma entidade auto-reguladora.

domingo, 19 de abril de 2009

Configurando meu computador


Minha placa-mãe é: ASUS P5VD2-VM


Configurações relativas ao processador:

Delay Prior Thermal: sem informações na ajuda do setup;

Limit CPUID MaxVal: deve ser desabilitado para WinXp;

Enhanced C1 (C1E): informações na ajuda com muitas siglas; impossível compreeder;

Execute Disable Bit: quando desabilitado força o flog XD a sempre retornar 0;

Enhanced Intel SpeedStep(Tm) Tech: habilitar esta função ajusta a velocidade da CPU de acordo com o workload;

CPU L1 & L2 Cache: Disabled/Enabled;

CPU Frequency Ratio: configura a taxa de frequência da CPU;

CPU L1 & L2 Cache: sem informação na ajuda;

Async CPU/PCIE Clock: sem informação na ajuda;

CPU Clock: configura a frequência de clock da CPU;

CPU Fan Speed Warning: coloca o recurso de alerta da velocidade de rotação da ventoinha da CPU.

Configurações relativas à memória secundária:

Legacy Diskette A [1.44 M, 3.5 M]: configura o tipo de unidade de disquete instalada;

Primary IDE Master/Slave e Secondary IDE Master/Slave: permite detectar dispositivos IDE automaticamente [AUTO] ou não [MANUAL]. Se manual deve-se configurar:
  1. Access Mode: o padrão AUTO permite a detecção automática de uma unidade de disco rígido; CHS deve ser escolhido se IDE PRIMARY MASTER/SLAVE for configurado como MANUAL;
  2. PIO Mode: configura o modo PIO para o dsipositivo IDE;
  3. UDMA Mode: desbilita ou configura o modo UDMA.

SATA 1/2:

  1. Extended IDE Drive: seleciona o tipo de disco fixo conectado ao sistema;
  2. Access Mode: coloca o modo de endereçamento do setor;

HDD SMART Monitoring: permite habilitar/desabilitar o recurso HDD Self-Monitoring Analysis e Reporting Technology (SMART)

Boot Device Priority: seleciona a sequência de boot.

Configurações relativas à memória primária:

DRAM Frequency: frequência suportada pela RAM;

DRAM TIMING SELECTABLE: [MANUAL] ou [By SPD]. Se MANUAL, pode-se confugurar:
  1. CAS Latency Time;
  2. Bank Interleave;
  3. Precharge to Active (TRP);
  4. Active to Precharge(TRAS);
  5. Active to CMD (TRCD);
  6. REF to ACT/REF(TRFC);
  7. Act(o) to ACT(1) (TRRD).

Todos sem informações na ajuda.

Configurações relativas aos dispositivos de I/O:

Plug & Play O/S: permite a detecção de todos os dispositivos plug and play pelo BIOS, ou dos não necessários parao o boot, pelo SO;

VGA Share Memor Size: permite selecionar a quantidade de memória compartilhada pelo vídeo integrado;

SATA Controller: permite habilitar/desabilitar o SATA onchip;

SATA Controller Mode: IDE ou RAID.

Configurações relativas aos barramnetos:

USB Controller: habilita/desabilita o controlador USB;

USB 2.0 Controller: habilita/desabilita o controlador USB 2.0;

USB Legacy Support: permite habilitar/desabilitar o suporte para dispositivos USB em sistemas operacionais legacy.

terça-feira, 7 de abril de 2009

Sobre a Sociedade Brasileira de Computação


O conteúdo que segue foi extraído de palestra ministrada pelo Prof. Dr. Rogério P. C. do Nascimento, professor do Departamento de Computação da Universidade Federal de Sergipe.

A SBC, fundada em 1978, funciona como se fosse uma entidade de classe para o pessoal da área de computação.

A UFS faz parte, juntamente com Bahia e Alagoas, da Secretaria Regional Nordeste 3. Há 15 dessas secretarias.

Sua missão é promover e defender o desenvolvimento científico e tecnológico da computação no país.

Podem ser sócios: professores, alunos, profissionais da área e pesquisadores do estado da arte na área de computação.

Sua atuação abrange enventos científicos, publicações, na área de educação e politicamente.

Sua estrutura hierárquica é a seguinte: presidência e vice-presidência, diretorias e conselho.

A SBC promove o Congresso Brasileiro de Computação e eventos regionais, como o ERBASE (Escola Regional de Computação Bahia - Alagoas - Sergipe).

Publicações:
  • Anais;
  • Biblioteca Digital;
  • Journal of The Brasilian Computer Society;
  • Revista de Iniciação Científica;
  • Ediões SBC;
  • Revista Computação Brasil.
Grandes desafios no período de 2006 - 2016:
  1. Gestão da informação;
  2. Modelagem computacional de sistemas complexos;
  3. Impactos para a área da computação da transição do silício para as novas tecnologias;
  4. Inclusão digital;
  5. Desenvolvimento tecnológico de qualidade.

sábado, 28 de março de 2009

Alguns teóricos da lógica


Aristóteles (384 - 322 a.C)

Foi discipulo de Platão e mestre de Alexandre, o Grande. Era antes de tudo um filósofo e biólogo, mas estava completamente a par das atividades dos matemáticos. Fundou a lógica.

Seus principais escritos sobre lógica foram reunidos pelos seus continuadores após a sua morte, em uma obra a que deram o nome de Organun, que significa "Instrumento da Ciência".

Essa lógica de Aristóteles usava a linguagem corrente, isto é, não usava símbolos. Daí ser imprecisa.


Boole (1815 - 1864)

George Boole nasceu em Lincon, Inglaterra. Recebeu educação escolar comum. Aprendeu por conta própria grego e latim. Quando já era professor de escola primária, aprendeu matemática lendo os trabalhos de Laplace e Lagrange e, por intermédio de De Morgan, interessou-se por lógica formal. Em 1847, publicou um pequeno livro intitulado The Mathematical Analysis of Logic. As idéias desse trabalho inicial foram aclaradas em Investigation of the Laws of Thought, publicada por Boole em 1854. Segundo Bertrand Russell, essa obra marca a descoberta da matemática pura.


Frege (1848 - 1925)

Enquanto que Boole queria mostrar que a lógica era uma parte da matemática, Frege pretendeu mostrar que a aritmética era idêntica à lógica. Buscava uma fundamentação mais sólida para a matemática. São marcos da obra de Frege Begriffss Chrift (1879) e Grundgesetze der Arithmetik, em dois volumes (1893 e 1903).


Todos esses sábios contribuíram para a lógica matemática ou simbólica. Todos eles obedecem a lei do terceiro excluído de Aristóteles, a qual diz que uma proposição psó possui dois valores lógicos: V ou F. Por isso ela é denominada lógica bivalente.

No entanto, existem lógicas m-valentes. Em 1932, H. Reichenbach ampliou os sitemas m-valentes, criando uma lógica infinito-valente em que uma proposição p pode assumir um qualquer de infinitos valores lógicos possíveis. Essas são chamadas lógicas não aristotélicas.