Olá, pessoal.
A pedidos de alguns amigos, o blog "Estudar Computação" está lançando uma pesquisa sobre a média salarial dos professores de Computação no Brasil. Se você é professor em algum curso de graduação ou pós, seja em Computação ou áreas afins (como Sistemas de Informação, Análise de Sistemas, Engenharia da Computação, etc.), por favor responda nossa pesquisa. E divulgue! ;-)
Em breve colocaremos os resultados parciais aqui no blog.
Estudar Computação
Blog sobre o estudo da Ciência da Computação, pra quem gosta de pesquisar e aprender por conta própria.
segunda-feira, 15 de outubro de 2012
terça-feira, 2 de outubro de 2012
Poscomp 2012 - Prova e gabarito
No último domingo, dia 30 de setembro, ocorreu em todo o Brasil mais um Poscomp.
Aqui está o link da prova: http://www.cops.uel.br/concursos/130_poscomp_2012/13001.PDF
O que vocês acharam?
* Se souberem de mais discussões, por favor coloquem aqui.
quinta-feira, 19 de julho de 2012
Plotando gráficos na web com rApache
Oi pessoal!
Hoje vou dar uma dica de como usar a linguagem R para criar uma aplicação web simples, com upload e um plot de um gráfico. Com essa aplicação, o usuário pode enviar um arquivo texto comum, selecionar o separador dos campos do arquivo, digitar os rótulos dos eixos e depois criar o gráfico, que é então mostrado na página.
Primeiramente, você deve instalar e configurar o rApache na sua máquina.
Agora, segue o nosso programa:
Arquivo plot.txt
1 1
2 4
3 9
4 16
5 25
Hoje vou dar uma dica de como usar a linguagem R para criar uma aplicação web simples, com upload e um plot de um gráfico. Com essa aplicação, o usuário pode enviar um arquivo texto comum, selecionar o separador dos campos do arquivo, digitar os rótulos dos eixos e depois criar o gráfico, que é então mostrado na página.
Primeiramente, você deve instalar e configurar o rApache na sua máquina.
Agora, segue o nosso programa:
# simples_rApache.R # script para criar gráficos simples usando rApache # 19/07/2012 # Leandro Lima - @lelimat setContentType("text/html") cat('<html><head><title>Simple plot</title></head>\n') cat('<body><H1>Simple plot</H1>\n') cat('<form enctype=multipart/form-data method=POST action="">\n') cat('Arquivo: <input type=file name=arquivo><br />\n') cat('<select name=separador>\n') cat('<option value=" ">Separador</option>\n') cat('<option value=",">vírgula (,)</option>\n') cat('<option value=";">ponto-e-vírgula (;)</option>\n') cat('<option value=" ">espaço ( )</option>\n') cat('</select><br />') cat('Rotulo eixo x: <input type=text name=rotulo_eixo_x value="">') cat('Rotulo eixo y: <input type=text name=rotulo_eixo_y value="">') cat('<input type=submit name=Plotar>') cat("<hr>\n") # Verificando se algum arquivo foi enviado if (!is.null(FILES)){ separador <- POST$separador # Lendo o arquivo temporário criado durante o upload arquivo <- read.table(FILES$arquivo$tmp_name, sep=separador) # Rótulos dos eixos x e y rotulo_eixo_x <- try(as.character(POST$rotulo_eixo_x)) rotulo_eixo_y <- try(as.character(POST$rotulo_eixo_y)) # Criação do plot, na mesma pasta do script png("/var/www/tmp/plot.png") plot(arquivo, xlab=rotulo_eixo_x, ylab=rotulo_eixo_y) dev.off(); # Mostrando imagem cat(paste("<img src=\"/tmp/plot.png\">\n",sep='')) } cat("</body></html>\n") DONE
![]() |
| A página vai ser mostrada assim. |
![]() |
| E esse é um exemplo de gráfico gerado para o arquivo de entrada abaixo (separado por espaços). |
Arquivo plot.txt
1 1
2 4
3 9
4 16
5 25
terça-feira, 3 de julho de 2012
Criando arquivo do Excel (xls) com Python
Oi pessoal!
Hoje venho com uma dica legal para criar arquivos do Excel (extensão xls) a partir do Python. De forma parecida, você poderia criar arquivos do LibreOffice (extensão odt) ou mesmo tabelas em html.
Um dia desses me pediram para gerar um arquivo Excel com cores a partir de um arquivo de texto com sequências de DNA (um monte de bases A, T, C e G). Uma das alternativas é usar uma biblioteca do Python que permite fazer isso facilmente. Então hoje apresento a vocês a xlwt.
xlwt - http://pypi.python.org/pypi/xlwt/ | http://www.python-excel.org/
A partir de um conjunto de sequência (que podem vir de um arquivo texto), criei um arquivo Excel em que, dependendo da base (A, C, T ou G) a célula estaria em uma cor diferente. A biblioteca permite definir várias coisas como: número de planilhas, cor do texto e do fundo de células específicas, largura, altura, fórmulas matemáticas, entre outras coisas.
Veja o código abaixo para resolver o meu problema.
O arquivo final vai sair com essa cara. Assim fica mais fácil saber se as sequências estão alinhadas em algum ponto.
Hoje venho com uma dica legal para criar arquivos do Excel (extensão xls) a partir do Python. De forma parecida, você poderia criar arquivos do LibreOffice (extensão odt) ou mesmo tabelas em html.
Um dia desses me pediram para gerar um arquivo Excel com cores a partir de um arquivo de texto com sequências de DNA (um monte de bases A, T, C e G). Uma das alternativas é usar uma biblioteca do Python que permite fazer isso facilmente. Então hoje apresento a vocês a xlwt.
xlwt - http://pypi.python.org/pypi/xlwt/ | http://www.python-excel.org/
A partir de um conjunto de sequência (que podem vir de um arquivo texto), criei um arquivo Excel em que, dependendo da base (A, C, T ou G) a célula estaria em uma cor diferente. A biblioteca permite definir várias coisas como: número de planilhas, cor do texto e do fundo de células específicas, largura, altura, fórmulas matemáticas, entre outras coisas.
Veja o código abaixo para resolver o meu problema.
# -*- encoding: utf-8 -*- # seq2xls.py - script para transformar sequências de nucleotídeos # (DNA) em arquivos de Excel (xls) com cores
# Criado em: 15/05/2012 # Última modificação: 03/07/2012 # Leandro Lima# Essa é a biblioteca a ser importada import xlwt # Aqui você define um estilo a ser usado
# (em quantas células você desejar). # Iremos definir as seguintes cores (para o fundo da célula): # A -> vermelho styleA = xlwt.easyxf('pattern: pattern solid, fore_colour red;') # C -> verde styleC = xlwt.easyxf('pattern: pattern solid, fore_colour green;') # G -> amarelo styleG = xlwt.easyxf('pattern: pattern solid, fore_colour yellow;') # T -> azul styleT = xlwt.easyxf('pattern: pattern solid, fore_colour blue;') # Definindo as sequências sequencias = {'sequencia 1':'ACTGATCATGACATAGTAACCATGACATAGAA', 'sequencia 2':'CTAGCATGCATGACTAGCATGACTGACTGACT', 'sequencia 3':'CATCGACTCGACTCGACATCAGCAGCAGCATG', 'sequencia 4':'CTGACTAGCAGATCAGCATACGACTAGCCACA', 'sequencia 5':'CTAGCAGGACGACAGATTGACAGCAGAGCACA', 'sequencia 6':'AATCACATCACGGCATACGACGACTAGCAGTA', } # Definindo planilha wb = xlwt.Workbook() ws = wb.add_sheet('Sequencias') # Títulos das colunas titles = ['identificador','sequencia'] # Escrevendo títulos na primeira linha do arquivo for i in range(len(titles)): ws.write(0, i, titles[i]) # Definindo largura das células das sequência for i in range(1,50): ws.col(i).width = 512 i = 1 for id_sequencia in sequencias.keys(): # Obtendo a sequência do dicionário sequencia = sequencias[id_sequencia] # Escrevendo o identificar na 1ª coluna da linha i ws.write(i, 0, id_sequencia) for j in range(len(sequencia)): if j < len(sequencia): if sequencia[j]=='A': ws.write(i, 1+j, sequencia[j], styleA) elif sequencia[j]=='C': ws.write(i, 1+j, sequencia[j], styleC) elif sequencia[j]=='G': ws.write(i, 1+j, sequencia[j], styleG) elif sequencia[j]=='T': ws.write(i, 1+j, sequencia[j], styleT) else: ws.write(i, 1+j, sequencia[j]) else: ws.write(i, 1+j, '') i += 1 # Salvando wb.save('sequencias.xls')
O arquivo final vai sair com essa cara. Assim fica mais fácil saber se as sequências estão alinhadas em algum ponto.
![]() |
| Clique na imagem para ampliar |
sexta-feira, 20 de abril de 2012
Systems Biology Lectures
Systems Biology (Biologia de Sistemas, ou Biologia Sistêmica) é o nome que se dá à maneira de estudar e compreender os fenômenos biológicos não como fatos isolados, mas como a interação de vários fatores. Apesar de parecer um curso puramente biológico, a disciplina envolve muito de estatística e computação.
Aqui estão os links dos videos de um curso de Systems Biology, pelo Prof. Uri Alon, do Weizmann Institute of Science. Clique no video abaixo para ver a aula 1.
Aula 2: http://www.youtube.com/watch?v=w7oaCxaKfcA
Aula 3: http://www.youtube.com/watch?v=7AS4mW4Qwl0
Aula 4: http://www.youtube.com/watch?v=3pPgPyS5ceQ
Aula 5: http://www.youtube.com/watch?v=YGB0OblGQ00
Aula 6: http://www.youtube.com/watch?v=GoE-k3-8W1E
Aula 7: http://www.youtube.com/watch?v=nJLu6GuCE0Q
Aula 8: http://www.youtube.com/watch?v=PxjibEIs3MY
Aula 9: http://www.youtube.com/watch?v=yzQdxNSJXik
Aqui estão os links dos videos de um curso de Systems Biology, pelo Prof. Uri Alon, do Weizmann Institute of Science. Clique no video abaixo para ver a aula 1.
Aula 2: http://www.youtube.com/watch?v=w7oaCxaKfcA
Aula 3: http://www.youtube.com/watch?v=7AS4mW4Qwl0
Aula 4: http://www.youtube.com/watch?v=3pPgPyS5ceQ
Aula 5: http://www.youtube.com/watch?v=YGB0OblGQ00
Aula 6: http://www.youtube.com/watch?v=GoE-k3-8W1E
Aula 7: http://www.youtube.com/watch?v=nJLu6GuCE0Q
Aula 8: http://www.youtube.com/watch?v=PxjibEIs3MY
Aula 9: http://www.youtube.com/watch?v=yzQdxNSJXik
sexta-feira, 13 de abril de 2012
Aulas de Computação na Udacity
| PETER NORVIG |
Inscrições para todas as turmas estão disponíveis em http://www.udacity.com
Disciplinas novas
CS212: The Design of Computer Programs
Peter Norvig vai ajudar os alunos a desenvolver um bom gosto como programadores aprendendo como identificar soluções elegantes para os problemas.
| STEVE HUFFMAN |
Ministrado por Steve Huffman, co-fundador do Reddit.com e Hipmunk.com, este curso irá abranger as coisas que ele gostaria de ter aprendido ao iniciar seus sites, enquanto ele ensina os alunos a construir um blog.
CS262: Programming Languages
Wes Weimer, professor da Universidade de Virgínia, vai ensinar os alunos sobre linguagens de programação no contexto da construção de um navegador web. Os alunos vão aprender a entender de HTML e javascript de dentro para fora, escrevendo um programa que os compreenda.
CS387: Applied Cryptography
O professor da Udacity David Evans vai ensinar aos alunos os fundamentos matemáticos por trás da criptografia e ver como ela é usado para resolver problemas de computação. É tudo sobre como fazer e quebrar quebra-cabeças!
quarta-feira, 4 de abril de 2012
ENADE Computação 2011 (prova, gabarito e padrão de respostas)
Olá pessoal!
É possível baixar a prova do ENADE (Exame Nacional de Desempenho dos Estudantes) 2011 junto com o gabarito e os padrões de respostas.
Basta clicar nos links abaixo.
Prova: http://download.inep.gov.br/educacao_superior/enade/provas/2011/COMPUTACAO.pdf
Gabarito: http://download.inep.gov.br/educacao_superior/enade/gabaritos/2011/Enade2011_Gab_Def_Computacao.pdf
Padrões de respostas: http://download.inep.gov.br/educacao_superior/enade/padrao_resposta/2011/COMPUTACAO.pdf
O ENADE é uma prova elaborada pelo Ministério da Educação para avaliar as Instituições de Ensino Superior no Brasil. Para saber mais sobre o ENADE, clique aqui.
É possível baixar provas de outras áreas aqui: http://portal.inep.gov.br/provas-e-gabaritos
É possível baixar a prova do ENADE (Exame Nacional de Desempenho dos Estudantes) 2011 junto com o gabarito e os padrões de respostas.
Basta clicar nos links abaixo.
Prova: http://download.inep.gov.br/educacao_superior/enade/provas/2011/COMPUTACAO.pdf
Gabarito: http://download.inep.gov.br/educacao_superior/enade/gabaritos/2011/Enade2011_Gab_Def_Computacao.pdf
Padrões de respostas: http://download.inep.gov.br/educacao_superior/enade/padrao_resposta/2011/COMPUTACAO.pdf
O ENADE é uma prova elaborada pelo Ministério da Educação para avaliar as Instituições de Ensino Superior no Brasil. Para saber mais sobre o ENADE, clique aqui.
É possível baixar provas de outras áreas aqui: http://portal.inep.gov.br/provas-e-gabaritos
Assinar:
Postagens (Atom)





