Anda di halaman 1dari 3

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Nesta aula. . .

Funcionamento da disciplina

Docente: Joo Pedro Pedroso http://www.dcc.fc.up.pt/~jpp Pgina da disciplina: http://www.dcc.fc.up.pt/~jpp/ip Bibliograa recomendada:
1

Funcionamento da disciplina, objectivos e avaliao

Introduo aos computadores


3 4

How to Think Like a Computer Scientist Learning with Python 3 (RLE), 3rd Edition (Using Python 3.x). Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers. Disponvel na Internet em: http://thinkcspy.appspot.com/ Learning with Python: Interactive Edition. Brad Miller and David Ranum. Based on [1]. Disponvel na Internet em: http://openbookproject.net/thinkcs/python/english3e Think Python. Allen B. Downey. Disponvel na Internet em: http: //www.greenteapress.com/thinkpython/thinkpython.html Python: How to Program. H. M. Deitel, P. J. Deitel, J. P. Liperi, B. A. Wiedermann; (Recomendado para estudo de tpicos mais avanados).

Joo Pedro PEDROSO

Introduo Programao - minor

Joo Pedro PEDROSO

Introduo Programao - minor

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Objetivos

Programa

Breve introduo aos computadores. Variveis, expresses, instrues. Ferramentas essenciais; utilizao de bibliotecas. Mdulos e documentao. Funes. Condies, decises e seleo. Iterao. Sequncias de carateres (strings). Listas. Dicionrios. Recurso. Classes e objetos.

Pretende-se que o aluno:


1

2 3 4 5 6 7 8 9 10 11 12

Se familiarize com a utilizao de computadores pessoais com sistema operativo da famlia GNU/Linux; Adquira competncia para codicar algoritmos elementares numa linguagem de programao; Adquira bons hbitos de programao e de estruturao dos programas; Apreenda algumas estruturas de dados e algoritmos fundamentais; Adquira competncias para testar e corrigir erros dos seus programas.

3 4 5

Resoluo de problemas utilizando o computador.

Joo Pedro PEDROSO

Introduo Programao - minor

Joo Pedro PEDROSO

Introduo Programao - minor

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Funcionamento

Avaliao

Aulas tericas (apresentao de conceitos) Aulas teorico-prticas (anlise de programas, resoluo de exerccios) Aulas prticas (em laboratrio)

Por exame nal, parcialmente com avaliao contnua. Condies de frequncia:


1 2

Presena nas aulas prticas (conforme o regulamento da Universidade do Porto). Resoluo correta de pelo menos metade dos exerccios prticos propostos

Joo Pedro PEDROSO

Introduo Programao - minor

Joo Pedro PEDROSO

Introduo Programao - minor

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Introduo aos computadores

Breve cronologia dos computadores

Computador: processador de informao (dados) segundo uma lista de instrues (programa) efectua operaes simples (aritmticas/lgicas) depressa: humano: aproximadamente 1 operao/segundo computador actual: >1 milho de operaes/segundo qualquer tipo de dados quanticveis (e.g. nmeros, textos, sons, imagens. . . ) universal: utilizvel para diversos ns com diferentes programas

1940s 1950s 1960s 1970s 1977 1981 1984 1986 1990 1991 1993 1995 2001 2007 2008

Colossus, Harvard Mk I, ENIAC 2a Guerra Mundial UNIVAC I computadores comerciais IBM System/360 PDP-11, DEC VAX, VMS, UNIX Apple II computadores pessoais IBM PC Apple Mac interfaces grcas Intel 386, Windows 1.0 Windows 3.0 WWW, GNU/Linux internet, open-source Intel Pentium Windows 95 Windows XP, MacOS X iOS (iPhone OS) Android

Joo Pedro PEDROSO

Introduo Programao - minor

Joo Pedro PEDROSO

Introduo Programao - minor

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Nveis conceptuais de um computador

Sistemas de operao

Hardware: CPU, memria, unidades de disco, ecr, teclado, rato. . . Software: sistema operativo, aplicaes, jogos, cheiros de dados (imagens, msicas, lmes, folhas de clculo, bases de dados. . . ) Tendncias: hardware mais barato software mais complexo e caro importncia do desenvolvimento de software:
utilizao de linguagens de alto nvel re-utilizao de componentes (bibliotecas)

Conjunto de software de base para gerir recursos do computador Proporciona funcionalidades para as aplicaes:
gesto de utilizadores gesto de memria gesto de cheiros gesto de input/output (I/O): terminais, impressoras, interfaces grcas, ligaes de rede

Joo Pedro PEDROSO

Introduo Programao - minor

Joo Pedro PEDROSO

Introduo Programao - minor

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Cronologia do sistemas de operao (1)

Cronologia dos sistemas de operao (2)

Primeiros sistemas de operao (1950s): um trabalho de cada vez (batch) apenas supervisiona as transies entre trabalhos Mainframes (1960-1970s) caros: necessrio partilhar recursos multi-utilizador: vrios utilizadores em terminais multi-tarefa: diviso o tempo de processamento entre os vrios trabalhos (time-sharing)

Mini-computadores: sistema UNIX (1970s) multi-utilizador, multi-tarefa portvel para diferentes modelos de computadores cdigo-fonte em linguagem C distribudo com o sistema popular na comunidade acadmica (Universidade de Berkeley) variantes comerciais: Ultrix, System V, IRIX, Solaris

Joo Pedro PEDROSO

Introduo Programao - minor

Joo Pedro PEDROSO

Introduo Programao - minor

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Cronologia dos sistemas de operao (3)

Cronologia dos sistemas de operao (4)

Primeira gerao de computadores pessoais (19701980) recursos escassos: um utilizador, uma tarefa interface textual (e.g. interpretador de comandos MS-DOS) combinado com uma linguagem de programao (BASIC) especcos de cada modelo de computador e.g. Apple II, IBM PC

Primeiras interfaces grcas (19841990) aplicaes associadas a janelas separadas apresentao de programas e cheiros usando cones seleco visual usando o rato facilita o acesso aos utilizadores um utilizador, multi-tarefa associadas a um modelo de hardware especco

Joo Pedro PEDROSO

Introduo Programao - minor

Joo Pedro PEDROSO

Introduo Programao - minor

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Cronologia dos sistemas de operao (5)

O sistema UNIX

Actualmente: computadores pessoais com mais recursos do que os antigos mainframes ligados em redes locais e globais (internet) sistemas multi-utilizador, multi-tarefa maior independncia do hardware separao entre o ncleo e a interface grca UNIX em PCs: GNU/Linux, Free BSD, MacOS X

organizado num ncleo (kernel) e vrios processos ncleo: tem acesso directo ao hardware processos: pedem recursos ao ncleo (e.g. consultar cheiros) cada utilizador:
identicado por um login e.g. pbv autenticado por uma palavra-passe (secreta) rea pessoal para cheiros: home directory

um utilizador especial: root


nico que pode alterar conguraes de sistema nico que pode acrescentar/remover utilizadores

Joo Pedro PEDROSO

Introduo Programao - minor

Joo Pedro PEDROSO

Introduo Programao - minor

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Organizao de cheiros

Processos

cheiros: textos, imagens, programas. . . identicados por nomes estruturados em directrios hierrquicos e.g. /home/pbv/aulas/teorica-01.tex permisses associadas a cada cheiro: leitura, escrita, execuo

processo: execuo dum programa num determinado contexto (utilizador e dados) aparncia de vrios processos a correr em simultneo processos de utilizadores comuns: aplicaes, editores, compiladores, interpretadores, etc. processos de sistema: interface grca, servidores (WWW, email, ssh), etc. losoa UNIX: ncleo simples, tudo o resto so processos!

Joo Pedro PEDROSO

Introduo Programao - minor

Joo Pedro PEDROSO

Introduo Programao - minor

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Interpretador de comandos UNIX

Alguns comandos teis

shell: interface textual para executar comandos UNIX cada comando (normalmente) um programa em /bin ou /usr/bin sintaxe tpica: comando [opes] [arg1 arg2 . . . ] cada comando executado com um novo processo associado ao directrio corrente (working directory)

ls pwd cd mkdir rmdir cp mv rm less ps man

listar cheiros no directrio actual imprime o directrio actual mudar o directrio actual criar um novo directorio remover um directrio (vazio) copiar cheiro mover/mudar nome de um cheiro remover um cheiro mostrar um cheiro de texto pgina-a-pgina listar processos (do utilizador ou do sistema) mostrar manual de um comando

Joo Pedro PEDROSO

Introduo Programao - minor

Joo Pedro PEDROSO

Introduo Programao - minor

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Caminhos absolutos e relativos

Nesta aula. . .

. ..

directrio actual directrio pai directrio casa

Introduo aos computadores; Sistemas de operao; Organizao de cheiros; Terminal do UNIX (shell); alguns comandos teis.

absoluto: /home/pbv/aulas/docs/thinkCSpy.pdf relativo: ../docs/thinkCSpy.pdf relativo casa: /docs/thinkCSpy.pdf

Joo Pedro PEDROSO

Introduo Programao - minor

Joo Pedro PEDROSO

Introduo Programao - minor

Funcionamento da disciplina, objectivos e avaliao Introduo aos computadores

Prxima aula

Primeira introduo ao Python.

Joo Pedro PEDROSO

Introduo Programao - minor

Anda mungkin juga menyukai