Introdução à Programação Aula 1 Apresentação

Documentos relacionados
Estes apontamentos das aulas teóricas são da autoria de Pedro Vasconcelos (2007) tendo sido adaptados e modificados por Armando Matos (2010)

Nesta aula... 1 Funcionamento da disciplina, objectivos e avaliação. 2 Introdução aos computadores


COMPETÊNCIAS A DESENVOLVER CONTEÚDOS. Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO. Unidade de Ensino/Aprendizagem 1 O SISTEMA OPERATIVO UNIX/LINUX

MATRIZ DE EXAME DE EQUIVALÊNCIA À FREQUÊNCIA

Informática. Aula 04/12. Prof. Márcio Hollweg. Visite o Portal dos Concursos Públicos

CET GRSI Sistema Operativo de Rede. António Paulo Santos

Sistema Operativo Linux

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

Aula 02. Introdução ao Linux

PLANO DE AULA. Ambiente Operacional Unix Profa. Morganna

Introdução ao Linux: Parte I

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Sistema Operacional LINUX

Planeamento. Introdução ao Sistema Operativo UNIX. Java: Ferramentas, Entradas/Saídas, Excepções. Threads e Semáforos. Problemas de Sincronização

PROVA DE EQUIVALÊNCIA À FREQUÊNCIA MATRIZ

Introdução à Informática

UNIX & Linux. Histórico, distribuição licença, características. Taisy Weber

Curso Tecnológico de Informática Matriz de Exame de Equivalência de Tecnologias Informáticas Prova Prática - Código 259

Sistemas Operacionais. Professor Leslier Soares Corrêa

1.5. Computador Digital --Software. INFormática Tipos de Software. Software. Hardware. Software do Sistema. Software de Aplicação.

MF = (M1 * 0,4) + (M2 * 0,6) MF < 6 MF = (MF * 0,6) + (EXA * 0,4)

Introdução à Computação. Conceitos básicos sobre computadores. ISEP DEI, Angelo Martins 2006 Conceitos básicos sobre computadores - 1

Práticas de Desenvolvimento de Software

2-Introdução e Conceitos Básicos das TIC

Sistemas Operacionais

Introdução aos Sistemas da InformaçãoAula 4 p. 1

GNU/Linux/Bash. Aula 2

Martin Vincent Bloedorn. GNU/Linux

1. Introdução - contextos de aplicações

SISTEMA OPERACIONAL & SOFTWARE LIVRE

26/09/2015. Windows Linux Mac OS/X IBM OS/2 Sun Solaris Google Android. MS-DOS Outros... O QUE É? SISTEMAS OPERACIONAIS

Estudo de Caso II: LINUX

Introdução à Computação: Sistemas de Computação

Roteiro 3: Sistemas Linux arquivos e diretórios

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva /msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.

16:21:50. Introdução à Informática com Software Livre

Conceitos Básicos sobre Sistemas Operacionais

Planificação de. Aplicações Informáticas B

Professor: Roberto Franciscatto. Curso: Engenharia de Alimentos 01/2010 Aula 3 Sistemas Operacionais

CONCEITOS BÁSICOS DE SISTEMAS OPERACIONAIS. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

CURSO EFA DE TÉCNICO DE INFORMÁTICA E SISTEMAS. Módulo 788- Administração de Servidores Web. Ano letivo Docente: Ana Batista

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

Introdução aos Computadores

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

Curso: Linux Fundamentos

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

13/10/11 TIPOS DE UTILITÁRIOS UTILITÁRIOS 0798 INTRODUÇÃO À PROGRAMAÇÃO TIPOS DE UTILITÁRIOS TIPOS DE UTILITÁRIOS

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

QL-500 QL-560 QL-570 QL-650TD QL-1050

Classificação Quanto. Sistemas de Lotes (2) Sistemas de Lotes (3)

Objetivos: -Dar uma visão integrada do que é a Informática -Refletir sobre as motivações e problemas que envolvem o uso de ferramentas computacionais

Programação de. Programa. Bibliografia. Páginas electrónicas de PM. Regras das aulas de laboratório. Métodos de Ensino - Aulas

Sistemas Operativos 10º Ano 2009/2010 Módulo 1 Módulo 1 -- Introdu Introdução aos Sistemas Sistemas Operativos Aula 5 e e 6 Professor:

EVOLUÇÃO DOS SIST. DE COMPUTAÇÃO DÉC. DE 50 E 60

Introdução a Computação

Nível do Sistema Operacional

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

ICC - Aula 15 Sistemas Operacionais e Redes

Introdução Software Livre Projeto GNU/Linux Software Livre vs Software Proprietário Liberdade para todos. Software Livre. Grupo 5

7. Gestão de ficheiros em X Window O Konqueror

INFORMÁTICA PARA GESTÃO I Curso Superior de Gestão de Marketing

Introdução a Sistemas Operacionais Aula 04. Prof. Msc. Ubirajara Junior biraifba@gmail.com

ESTRATÉGIAS /ACTIVIDADES. Fazer uma abordagem teórica e simples

9º Ano. 1º Período. . Conhecer os conceitos básicos relacionados com a Tecnologias Da Informação e Comunicação (TIC);

Edeyson Andrade Gomes.

Curso Técnico de Informática de Sistemas

Informática. Professor: Diego Oliveira. Conteúdo 03: Sistemas Operacionais

PLANIFICAÇÃO ANUAL ANO LETIVO DE 2013/2014 Curso de Educação e Formação Tipo 3 Nível 2

Computação Instrumental

História dos SOs. Tópicos

2ºCiclo (5º e 6º Anos de escolaridade) 3ºCiclo (7º e 8º Anos de escolaridade)

A Internet, ou apenas Net, é uma rede mundial de computadores ligados, entre si, através de linhas telefónicas comuns, linhas de comunicação

SOFTWARE. A parte lógica do Computador. Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Novembro de 2006

INFORMÁTICA PARA GESTÃO I Curso Superior de Gestão de Marketing

O Windows é um software de sistema, que permite ao utilizador interagir com o computador e com os seus periféricos.

Curso Introdução ao Linux. Desmistificando o Software Livre. Nícholas André nicholas@iotecnologia.com.

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL

UNIDADE 1 TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Sistema Operacional Unidade 5 - Iniciando o modo texto. QI ESCOLAS E FACULDADES Curso Técnico em Informática

INTRODUÇÃO À LINGUAGEM C/C++

Introdução a. Shell Script. Clésio Matos

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

Aula 01. Introdução ao Linux

Unidade 1: Sistema Operativo Linux

Introdução ao Sistema UNIX

Generated by Foxit PDF Creator Foxit Software For evaluation only. Capitulo 1

Windows NT 4.0. Centro de Computação

Apontamentos do livro de AI Linux. 1.5 Modo texto e modo gráfico

Seu manual do usuário EPSON LQ-630

Administração de Sistemas Operacionais de Rede Linux. Prof. Michel Moron Munhoz

DISCIPLINA: Tecnologias da Informação e Comunicação ANO: 9º. Windows 7 Office 2010 Internet Explorer. Cd-roms COMPETÊNCIAS A DESENVOLVER

Sistemas Operacionais Introdução

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Transcrição:

Introdução à Programação Aula 1 Apresentação Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 1 / 32

Nesta aula 1 Objetivos, funcionamento e avaliação 2 Introdução aos computadores Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 2 / 32

Conteúdo e objetivos Introdução ao uso de computadores com sistema operativo GNU/Linux Introdução à programação usando a linguagem Python No fim deste curso deverá ser capaz de: 1 simular a execução de programas simples passo-a-passo; 2 aprendar algumas estruturas de dados e algoritmos fundamentais; 3 codificar algoritmos simples em Python; 4 decompor problemas em subrotinas e funções re-utilizáveis; 5 testar e corrigir erros dos seus programas. Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 3 / 32

Funcionamento Teóricas: exposição de conceitos 2 1 h por semana Teórico-práticas: exposição e resolução de exercícios 1 h por semana Práticas: resolução individual de exercícios (nos laboratórios) 2 h por semana Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 4 / 32

Avaliação Por exame final, parcialmente com avaliação contínua. Condições de frequência: 1 Presença em 2/3 (dois terços) das aulas práticas 2 Resolução de 1/2 (metade) dos exercícios das folhas práticas com correção automática Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 5 / 32

Bibiografia recomendada 1 How to Think Like a Computer Scientist Learning with Python 3 (RLE), 3rd Edition (Using Python 3.x). P. Wentworth, J. Elkner, A. B. Downey, and C. Meyers. http://thinkcspy.appspot.com/ 2 Learning with Python: Interactive Edition. B. Miller and D. Ranum. http: //openbookproject.net/thinkcs/python/english3e 3 Think Python. A. B. Downey. http://www.greenteapress.com/thinkpython/ thinkpython.html Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 6 / 32

Bibliografia complementar Python: How to Program. H. M. Deitel, P. J. Deitel, J. P. Liperi, B. A. Wiedermann. (Apenas para quem quiser explorar tópicos mais avançados.) Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 7 / 32

Outros recursos Página web slides de aulas, folhas de exercícios http://www.dcc.fc.up.pt/~pbv/aulas/ipm Página de submissão de exercícios para avaliação automática https://ipminor.dcc.fc.up.pt/ Fórum de discussão perguntas sobre aulas, folhas de exercícios e submissões https: //piazza.com/fc.up.pt/fall2015/cc101/home Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 8 / 32

Introdução aos computadores Computador um processador de informação (dados); segundo um programa (lista de instruções). Efectua rapidamente muitas operações aritméticas: humano: aproximadamente 1 operação/segundo computador actual: >1 milhão de operações/segundo Processa informação matematizável (ex: números, textos, sons, imagens... ) Utilizável para diversos fins com diferentes programas Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 9 / 32

Breve cronologia dos computadores 1940s Computadores eletro-mecânicos e a válvulas: Colossus, Harvard Mk I, ENIAC ENIAC, U.S. Army photo Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 10 / 32

Breve cronologia dos computadores (cont.) 1950s Primeiros computadores comerciais: UNIVAC I 1960s Mainframes : IBM System/360 IBM System/360 exposto no Deutsches Museum in Munich Germany Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 11 / 32

Breve cronologia dos computadores (cont.) 1970s Mini-computadores: DEC VAX, PDP-11, UNIX PDP-11, 1972 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 12 / 32

Breve cronologia dos computadores (cont.) 1977 1982: Primeiros computadores pessoais Apple II IBM PC Sinclair ZX Spectrum Acorn BBC Micro Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 13 / 32

Breve cronologia dos computadores (cont.) 1984 1986: Computadores pessoais com interfaces gráficas Apple Macintosh Commodore Amiga Atari ST Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 14 / 32

Breve cronologia dos computadores (cont.) 1985 1990: IBM PC clones e a arquitetura Wintel Windows 1.0 Windows 3.0 Windows 95 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 15 / 32

Breve cronologia dos computadores (cont.) 1991: World Wide Web Primeiro servidor web (CERN) NCSA Mosaic 1.0 web browser Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 16 / 32

Breve cronologia dos computadores (cont.) 1991: GNU/Linux Richard Stallman (fundador da Free Software Foundation e do projeto GNU) Linus Torvalds (criador do kernel Linux) Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 17 / 32

Breve cronologia dos computadores (cont.) 2007 2008: Plataformas móveis Apple iphone Apple ipad Gloogle Android Nexus Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 18 / 32

Níveis conceptuais de um computador Hardware: CPU, memória, unidades de disco, ecrã, teclado, rato... Software: sistema operativo, aplicações, jogos, ficheiros (imagens, músicas, filmes, folhas de cálculo, bases de dados... ) Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 19 / 32

Níveis conceptuais de um computador (cont.) Tendências: hardware mais barato software mais complexo e caro importância do desenvolvimento de software: utilização de linguagens de alto nível re-utilização de componentes (bibliotecas) Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 20 / 32

Sistemas de operação Conjunto de software de base para gerir recursos do computador Proporciona funcionalidades para as aplicações: gestão de utilizadores gestão de memória gestão de ficheiros gestão de input/output (I/O): terminais, impressoras, interfaces gráficas, ligações de rede Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 21 / 32

Cronologia do sistemas de operação Primeiros sistemas de operação (1950s): um trabalho de cada vez (batch) apenas supervisiona as transições entre trabalhos Mainframes (1960-1970s) caros: necessário partilhar recursos multi-utilizador: vários utilizadores em terminais multi-tarefa: divisão o tempo de processamento entre os vários trabalhos (time-sharing) Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 22 / 32

Cronologia do sistemas de operação (cont.) Mini-computadores: sistema UNIX (1970s) multi-utilizador, multi-tarefa portável para diferentes modelos de computadores código-fonte em linguagem C distribuído com o sistema popular na comunidade académica (Universidade de Berkeley) variantes comerciais: Ultrix, System V, IRIX, Solaris Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 23 / 32

Cronologia do sistemas de operação (cont.) Primeira geração de computadores pessoais (1970 1982) um utilizador, uma tarefa interface textual muitas vezes combinada com um interpretador de BASIC específico para cada modelo de computador Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 24 / 32

Cronologia do sistemas de operação (cont.) Primeiras interfaces gráficas (1984 1990) um utilizador, multi-tarefa aplicações associadas a janelas independentes apresentação de programas e ficheiros usando ícones seleção usando um rato específico para cada modelo de computador Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 25 / 32

Cronologia do sistemas de operação (cont.) Actualmente: computadores pessoais com mais recursos do que os antigos super-computadores ligados em redes locais e globais (internet) sistemas multi-utilizador, multi-tarefa maior independência do hardware separação entre o núcleo e a interface gráfica UNIX em PCs: GNU/Linux, MacOS X Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 26 / 32

O sistema UNIX organizado num núcleo (kernel) e vários processos núcleo: tem acesso directo ao hardware processos: pedem recursos ao núcleo (exemplo: acesso a ficheiros em disco) cada utilizador: identificado por um utilizador (exemplo: pbv) autenticado por uma palavra-passe (secreta) área pessoal para ficheiros: home directory super-utilizador: root administrador do sistema pode alterar configurações de sistema pode acrescentar/remover utilizadores Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 27 / 32

Organização de ficheiros ficheiros: textos, imagens, programas... identificados por nomes estruturados em directórios hierárquicos, exemplo: /home/pbv/aulas/teorica-01.tex permissões associadas a cada ficheiro: leitura, escrita, execução Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 28 / 32

Processos Processo: execução dum programa num determinado contexto (utilizador e dados) Aparência de vários processos a correr em simultâneo Processos de utilizadores comuns: aplicações, editores, compiladores, interpretadores, etc. Processos de sistema: interface gráfica, servidores (WWW, email, ssh), etc. Filosofia do UNIX: núcleo simples, tudo o resto são processos Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 29 / 32

Interpretador de comandos UNIX Shell: interface textual para executar comandos UNIX Cada comando é (normalmente) um programa em /bin ou /usr/bin Sintaxe típica: comando [opções] [argumentos... ] Cada comando é executado com um novo processo Associado ao directório corrente ( working directory ) Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 30 / 32

Alguns comandos úteis ls listar ficheiros no directório actual pwd imprime o directório actual cd mudar o directório actual mkdir criar um novo directorio rmdir remover um directório (vazio) cp copiar ficheiro mv mover/mudar nome de um ficheiro rm remover um ficheiro less mostrar um ficheiro de texto página-a-página ps listar processos (do utilizador ou do sistema) man mostrar manual de um comando Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 31 / 32

Caminhos absolutos e relativos. directório actual.. directório pai directório casa absoluto: /home/pbv/docs/thinkcspy.pdf relativo:../docs/thinkcspy.pdf relativo à casa: /docs/thinkcspy.pdf Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 1 Apresentação 2015 32 / 32