segunda-feira, 22 de junho de 2009

Estrutura Institucional do Curso [correção]

Existem várias instituições que compõem a estrutura do curso de Ciência da Computação, são elas: a Softeam, empresa júnior de informática; o CALICOMP, Centro Acadêmico Livre de Computação; o CCET, Centro de Ciências Exatas e Tecnologia; o DCOMP, Departamento de Computação; a reitoria; e o DAA, Departamento de Administração Acadêmica.

A Softeam, ou Software Team, é a empresa júnior mais antiga da UFS, sua gestão e composição é feita apenas por alunos do curso de Ciência da Computação. Seu objetivo é levar aos alunos a vivência do mercado de trabalho antes de os mesmos saírem da universidade, procurando envolver o maior número possível de pessoas em tal experiência.

O CALICOMP é formado por uma associação dos alunos do curso. Cada centro acadêmico é responsável pela representação legal dos estudantes perante aos departamentos, reitoria, administração acadêmica ou qualquer outro órgão dentro da universidade. É um instrumento de interface entre aluno e universidade.

O CCET corresponde a uma instituição à qual cabe a administração e representação de todos os cursos da área de exatas. O CCET possui uma estrutura que engloba, além de sua própria administração, os departamentos de grande parte dos cursos de exatas, como por exemplo, o DCOMP.

O DCOMP é o departamento responsável por oferecer as disciplinas aos cursos do departamento, e a outros cursos de fora que por ventura venham a precisar de alguma das matérias ofertadas. A contratação de pessoal para ministrar as aulas também é feita pelo departamento. Existem 5 laboratórios utilizados para aulas práticas que totalizam 68 computadores. Há um projeto já aprovado de construção de um prédio fora do CCET apenas para o DCOMP.

A reitoria afeta o curso de Ciência da Computação do mesmo modo que a qualquer outro curso, com a administração do campus de um modo geral. Sendo tal órgão o de maior instância em toda a universidade.

O DAA é onde fica todo o histórico de cada aluno, média geral, freqüência de aulas, disciplinas cursadas, matrículas, etc. Ele administra toda a vivência do aluno com a universidade.

Leia Mais…

sábado, 30 de maio de 2009

Linguagens de Programação

Lua

A linguagem de programação Lua nasceu aqui mesmo no Brasil, no ano de 1993 por desenvolvedores do laboratório Tecgraf do departamento de informática da PUC-Rio. Sua criação ocorreu devido à necessidade da Petrobrás de maiores auxílios em alguns projetos de escavações. Atualmente, Lua é uma das 20 linguagens mais usadas no mundo, segundo índices do TIOBE, sendo a única linguagem nesta lista que tenha sido criada fora do chamado “primeiro mundo”.

Lua é uma linguagem de programação de extensão, ou seja, trabalho junto a outras linguagens, normalmente coordenando-as; é uma linguagem de scripts, possuindo uma velocidade de execução invejada por outras linguagens deste tipo; é uma linguagem imperativa de alto nível, com uma API que é demasiadamente simples, garantindo velocidade, e foi construída com o objetivo principal de associá-la à outras linguagens; Lua foi criada com uma pequena influência de outras linguagens no desenvolvimento da sua estrutura de dados, como Scheme e Lisp. Parece em muito com as linguagens Icon, Python e Ruby; Os ambientes de desenvolvimento mais comums para Lua são o “LuaEclipse” e o próprio “Lua”, o qual já está em sua quinta versão.

Mas porque o nome Lua? O projeto inicial era para a criação de uma linguagem maior denominada SOL (Simple Object Language), porém, durante o desenvolvimento, a Tecgraf decidiu que seria criada uma linguagem menor. Como esta nova linguagem seria menor que a antiga SOL, veio então o nome Lua.

Lua é uma linguagem ideal para automação, quando comparada a outras linguagens do gênero, por ser uma linguagem extremamente simples e ainda assim rápida. Isto faz com que ela seja muito utilizada hoje em dia, entre outras áreas, na área de desenvolvimento de jogos, exemplos de sua utilização são “World of Warcraft”, “Escape from Monkey Island” e “Grim Fandango”. Apesar disto, Lua é uma linguagem que pode ser utilizada para qualquer finalidade, seja comercial ou não.

http://www.htmlstaff.org/ver.php?id=12282
http://pt.wikipedia.org/wiki/Lua_(linguagem_de_programa%C3%A7%C3%A3o)
http://www.lua.org/portugues.html



Algol

A linguagem Algol (Algorithmic Language) foi lançada primeiramente em 1958, na Europa, recebendo o nome de “Internacional Algorithmic Language”, ou Algol 58, somente a partir de 1960, após o lançamento do Algol 60, passou a ser chamada pelo nome o qual é conhecida até hoje. A Algol é uma linguagem de alto nível e foi a primeira linguagem de programação estruturada. No âmbito de seu lançamento, chegou a ser dita pela crítica como não somente a melhor linguagem dentre suas predecessoras, mas bem como entre muitas de suas sucessoras.

A Algol foi também a primeira linguagem a implementar a programação com procedimentos, instruções para controle de loops (como while, por exemplo), passagem de parâmetros por valor ou por referência e, principalmente, as estruturas de blocos de comandos, as quais viriam a se tornar padrão em muitas das linguagens de programação posteriores. Apesar de que o Algol original tenha sido criado para ser especificamente utilizado no desenvolvimento de programas científicos, esta linguagem foi por várias vezes atualizada e estendida, estas linguagens derivadas podiam ser utilizadas para diversas aplicações, que vão desde sistemas operacionais a softwares de comunicação de dados.

A Algol influenciou a criação de uma série de outras linguagens, como Jovial, Simula , CPL ou PL/1. Mas, a mais importante e conhecida linguagem inspirada pela Algol foi a Pascal, criada em 1972 pelo cientista Niklaus Wirth é utilizada ainda hoje para ensino acadêmico, mas que mesmo assim, foi dita como uma linguagem simples e que não apresentava nada de novo. De um modo geral, após o Algol, todas as linguagens foram de algum modo influenciadas, de tal forma que eram conhecidas como "parecidas com Algol".

Tantas inovações trazidas pelo Algol deram muito trabalho às empresas de desenvolvimento de compiladores, porem, este feito trouxe à tona uma gama de novas linguagens criadas durante a década de 60, acontecimento que ficou conhecido como “explosão de linguagens”. Nesta década foram criadas linguagens tais como Pascal, APL, Basic, BCPL, SNOLBOL ou CORAL.

http://pt.wikipedia.org/wiki/ALGOL
http://www.engin.umd.umich.edu/CIS/course.des/cis400/algol/algol.html
http://www2.mat.ua.pt/lap/General/A0708/Acetatos/ACETLP02.pdf

Leia Mais…

domingo, 24 de maio de 2009

Disciplinas da UFS e suas relações com os desafios da SBC

Estrutura de Dados
Esta disciplina é voltada para noção e desenvolvimento de algoritmos de alta complexidade. Um algoritmo computacional trabalha diretamente com dados, a depender da forma como tais dados estão organizados, eles podem formar uma estrutura, denominada estrutura de dados. Os desafios 1 ("Gestão da Informação em grandes volumes de dados multimídia distribuídos"), 2 ("Modelagem computacional de sistemas complexos artificiais, naturais e socioculturais e da interação homem-natureza") e 5 ("Desenvolvimento tecnológico de qualidade: sistemas disponíveis, corretos, seguros, escaláveis, persistentes e ubíquos") da SBC lidam diretamente com estruturas de dados.

Sistemas Operacionais
Um sistema operacional é feito para "intermediar" a comunicação entre o usuário e a máquina. Com o aumento da influência entre os profissionais da chamada computabilidade, as operações executadas pelo computador ficam cada vez mais "invisíveis" aos usuários, e os SOs, antes de qualquer outra coisa, tem de estar sempre à frente do desenvolvimento da computação. Esta disciplina apresenta aos alunos informações gerais sobre sistemas operacionais, tais como histórico, fundamentos, organização, gerência, processos e funções indispensáveis, de modo que o estudante ao tornar-se profissional possa atuar seguindo às tendências do mercado. Sistemas operacionais está ligado aos desafios 3 ("Impactos para a área da computação da transição do silício para novas tecnologias") e 5 ("Desenvolvimento tecnológico de qualidade: sistemas disponíveis, corretos, seguros, escaláveis, persistentes e ubíquos") da SBC.

Programação Orientada a Aspectos
As programações orientadas a objeto tem como ponto em comum a existência de blocos de comandos que são secundários ao programa principal e que podem ser utilizadas para a implementação de alguma função. A programação orientada a aspectos é caracterizada por alterar o comportamento de destes códigos secundários ajustando-os de uma melhor maneira ao programa principal, isto é o chamado "aspecto". A pesquisa em programação orientada a aspectos ajudaria a solucionar os desafios 1 ("Gestão da Informação em grandes volumes de dados multimídia distribuídos"), 2 ("Modelagem computacional de sistemas complexos artificiais, naturais e socioculturais e da interação homem-natureza") e 5 ("Desenvolvimento tecnológico de qualidade: sistemas disponíveis, corretos, seguros, escaláveis, persistentes e ubíquos") da SBC.

Leia Mais…

domingo, 10 de maio de 2009

Chips de Grafeno

Você pode facilmente encontrar fabricantes de hardware afirmando que os componentes já atingiram o seu limite, que os materiais utilizados hoje não suportarão muitos outros avanços. A saída então é sair em busca de novos materiais.

Em 2004 foi descoberto um novo composto químico, o grafeno. Este material pode ser utilizado como um multiplicador de frequências, que recebere o sinal da frequência do clock do processador, por exemplo, e o transforma em um múltiplo do sinal inicial. As frequências dos processadores atuais chegam dificilmente à frequência de 4 ou 5 Ghz, com a utilização do grafeno, elas facilmente alcançariam a marca dos 1000Ghz.

Isso acontece porque os multiplicadores existentes hoje exigem a utilização de muitos componentes eletrônicos, o que faz com que o sinal de saída tenha muitos ruídos. Para retirar esses ruídos são utilizados filtros, são estes os componentes que mais consomem energia e contribuem para o aquecimento. O grafeno, no entanto, usa somente um transistor, o que produz um sinal de saída totalmente limpo dispensando os tão dispendiosos filtros.

Estima-se que esta tecnologia chegue ao mercado nos próximos dois anos

http://info.abril.com.br/noticias/tecnologia-pessoal/chip-de-grafeno-pode-chegar-a-1-thz-diz-mit-29032009-4.shl
http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=chip-de-grafeno-podera-atingir-1-000-ghz
http://www.adrenaline.com.br/forum/cpu-s-placas-mae-memorias/249994-chip-de-grafeno-alcancar-1000ghz.html

Leia Mais…

segunda-feira, 4 de maio de 2009

As propostas de lei e a minha opinião

A proposta de lei PL 1947/2003 pede a criação de um conselho de classe que controle todos os profissionais de informática, sendo eles analistas de sistemas ou técnicos em informática. Tal regulamentação envolve o fim do livre exercício profissional, que permite que qualquer pessoa trabalhe na área de informática, mesmo que esta pessoa não possua nenhum tipo de diploma ou certificação equivalente. Caso a lei seja aprovada, só poderá trabalhar como analista de sistemas postadores de diplomas dos cursos superiores em Análise de Sistemas, Ciência da Computação ou Processamento de Dados ou pessoas que já exerceram a profissão por pelo menos 5 anos; e só poderá trabalhar como técnico em informática pessoas com diploma em um Curso Técnico de Informática ou de Programação de Computadores, ou que já exerceram a profissão por pelo menos 4 anos.

A SBC (Sociedade Brasileira de Computação), por outro lado, desenvolveu um projeto de lei antagônico ao PL 1947/2003, o PL 1561/2003. Este projeto defende que qualquer pessoa possa realizar o ofício de quaisquer que sejam as atividades relacionadas a informática, tendo ou não qualquer tipo de diploma ou certificação; proíbe a exigência do pagamento de qualquer taxa que venha a ser necessária para a permissão do exercício da profissão; proíbe a criação de qualquer entidade que venha a interferir nas exigências anteriores; proíbe a exigência de registro em qualquer entidade para participação em concursos quaisquer ou licitações na área de informática; problemas de qualquer natureza que venham a ocorrer devido a má prestação de serviços relacionados a informática serão regidos pela legislação civil.

A proposta efetuada pela SBC é sem sombra de dúvida a mais correta, pois possibilita um maior desenvolvimento da computação no país. A informática é um ramo onde o acesso a informação é muito simples, qualquer conhecimento relacionado a ela pode ser facilmente encontrado na internet. Por que então proibir as pessoas de efetivar os conhecimentos que possui? Impedir que determinado segmento da sociedade não possa incitar os conhecimentos que possui, seria atrasar ainda mais o tão lento avanço da informática no Brasil.

Leia Mais…

domingo, 26 de abril de 2009

Configurando Meu Computador

Processador

Halt On
Determina quando o sistema vai parar caso um erro seja detectado durante o boot

CPU Frequency
Ajusta a frequência do processador

CPU Warning Temperature
Seleciona se um alerta deve ser enviado devido à alta temperatura do processador

CPU Smart FAN Control
Quando esta função está habilitada, a ventoinha do processador gira a diferentes velocidades a depender da temperatura

CPU Smart FAN Mode
Seleciona se o sistema deve detectar automaticamente o tipo de ventoinha que está instalada e ajusta o melhor modo do "CPU Smart FAN Control" [Essa opção só pode ser ativada quando "CPU Smart Control" também está habilitado]

Memória Primária

ECP Mode Use DMA
Seleciona a prioridade de acesso à memória referente à porta paralela quando o modo selecionado é o ECP (modo utilizado por dispositivos mais modernos)

Memory Clock
Ajusta a frequência do clock da memória

DDR2 Voltage Control
Seleciona se a memória DDR2 receberá apenas a voltagem necessária ou se receberá uma voltagem superior

Memória Secundária

IDE Channel 0/IDE Channel 1
Opção de detecção de HDs conectados às portas IDE

IDE Channel 2/3/4/5
Opção de detecção de HDs conectados às portas SATA IDE

Drive A
Identifica qual o tipo de leitor de disquete (A ou B) conectado à placa-mãe

Hard Disk Boot Priority
Seleciona a sequência do boot nos discos rígidos

First/Second/Third Boot Device
Seleciona em que dispositivo a BIOS deve procurar por um sistema de boot

IDE DMA Transfer Access
Define se a porta IDE tem acesso direto a memória

NV SATA RAID Function
Habilita a função RAID para a porta SATA

NV Serial-ATA 1/2
Habilita ou não o suporte às portas serial ATA

Legacy USB Storage Detect
Habilita a detecção da capacidade de armazenamento de dispositivos USB no ambiente MS-DOS

Modem Ring On
Seleciona se uma chamada via modem pode ligar o sistema de qualquer estado de suspensão de energia

Power-On by Alarm
Seleciona um dia/hora para que o computador ligue

AC BACK Function
Seleciona se o computador deve ou não religar após uma queda de energia

System Warning Temperature
Seleciona se um alerta deve ser enviado devido à alta temperatura do sistema

Dispositivo de Entrada/Saída

Password Check
Aqui você pode escolher uma senha e determinar se deseja que ela seja requerida durante o boot do sistema ou apenas ao entrar no setup

Power On By Mouse
Habilita que o computador ligue com um duplo-clique de um mouse conectado à porta PS/2

Power On By Keyboard
Habilita que o computador ligue através do teclado

KB Power On Password
Quando a opção em "Power On By Keyboard" for "Password" você pode escolher a senha aqui, ela deve conter de 1 a 5 caracteres

Legacy (DOS) USB Mouse
Habilita o suporte ao mouse USB no ambiente MS-DOS

Soft-Off by Power Button
Seleciona se o computador deve ser desligado instantaneamente caso o botão liga/desliga seja pressionado, ou se ele só será desligado após o botão ser pressionado por 4 segundos

Legacy USB Keyboard/Storage
Habilita o suporte à porta USB no ambiente MS-DOS

AC97 Audio
Habilita a função de som AC'97 existente na placa-mãe

Barramentos

Init Display First
Seleciona o barramento onde se encontra a placa de vídeo a ser utilizada quando existir mais de uma

On-Chip MAC Lan
Detecta se existe ou não uma placa de rede onboard

On-Chip LAN BOOT ROM
Esta função decide se a BIOS deve procurar pelo sistema de boot pela placa de rede onboard

USB Memory Type
Seleciona o valor base de memória para a porta USB

Onboard 1394 Function
Habilita a função IEEE 1394 do barramento firewire

Onboard Serial Port 1
Seleciona se a BIOS deverá procurar automaticamente pele endereço da porta serial ou se tal procura deverá ser feita manualmente

Onboard Parallel Port
Seleciona se a porta paralela LPT deve ou não ser habilitada

Parallel Port Mode
Seleciona o modo como deve utilizada a porta paralela

On-Chip USB
Habilita as portas USB existentes na placa-mãe, e se a mesma aceitará dispositivos USB 1.1, 2.0 ou ambos

USB Resume from Suspend
Seleciona se a porta USB deve ser ligada após o sistema sair de uma suspensão de energia

Robust Graphics Booster
Esta opção pode melhorar a performance de uma placa de vídeo

Leia Mais…

segunda-feira, 13 de abril de 2009

Nenhuma área do conhecimento sobrevive sem a computação?

A computação possibilitou que as diversas ciências “construídas” pela humanidade diversificassem as suas informações, o conhecimento de um pode ser compartilhado com qualquer outro em qualquer lugar do mundo. Dizer que computadores são ferramentas de extrema importância não é nenhuma mentira, mas afirmar que nenhuma ciência sobreviveria sem eles é um certo exagero. Tomando por exemplo a física, seu primeiro cientista foi Galileu Galilei, nasceu em 1564, o primeiro computador foi o EINIAC, criado em 1946, são 382 anos desde o nascimento do primeiro físico até o desenvolvimento do primeiro computador. Se a informática fosse de tal forma essencial às ciências, nenhuma delas teria se desenvolvido sem antes haver a criação do computador.

Claro que não só de ciências é feito o mundo, existem aplicações da informática em que os computadores são indispensáveis. Uma empresa multinacional não teria forma outra de gerenciar suas centenas de filiais espalhadas pelo mundo sem os computadores, por exemplo.

Sendo ou não essencial, ele está aí, e já que ele está aí, não faz mal algum usá-lo. Pensar um mundo sem a sua existência seria desperdiçar todas as utilizações que os computadores trouxeram com a sua criação. São pouco mais que 60 anos desde o antigo EINIAC e as possibilidades já são muitas, até que a informação se desenvolva por completo, novas aplicações ,novas possibilidades e quem sabe até novas ciências ainda aparecerão graças a esta belíssima ferramenta que é o computador.

Leia Mais…