int main(void) { printf("olá, Mundo!\n"); return 0; } Luis Silva 35296 Tiago Varum 35577 Ruben Gonçalves 35736

Documentos relacionados
MC-102 Aula 01. Instituto de Computação Unicamp

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

A formação do licenciado em matemática

Roteiro. MC-102 Aula 01. Hardware e dispositivos. O que é um computador? Primeiro Semestre de A linguagem C

REFORÇO DE PROGRAMAÇÃO ESTRUTURADA EM LINGUAGEM C PARA GRADUAÇÃO EM ENGENHARIA ELÉTRICA

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

PROJETO DE VIDA O PAPEL DA ESCOLA NA VIDA DOS JOVENS

Engenharia de Software

COMO INVESTIR PARA GANHAR DINHEIRO

LINGUAGEM C UMA INTRODUÇÃO

Aplicações Estatísticas em EXCEL Básico

Introdução à Programação

Processos de Desenvolvimento de Software

IIH Introdução à Informática e Hardware

Bate-papo: Uso do Scratch, uma nova linguagem de programação, no ensino fundamental - Web Currículo (25/05/2010)

Aplicações Estatísticas em EXCEL Avançado

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO

ENGENHARIA DE SOFTWARE

Introdução à. Modelagem de Software

ENGENHARIA DA COMPUTAÇÃO

FERRAMENTAS E SOLUÇÕES DE APOIO À GESTÃO E MANUTENÇÃO DE ATIVOS

SERVIÇO DE PSICOLOGIA E ORIENTAÇÃO. Modalidades de Educação e Formação Ensino Secundário

ENGENHARIA DA COMPUTAÇÃO

GRADUAÇÃO APRESENTAÇÃO E GRADE CURRICULAR DOS CURSOS PROCESSOS GERENCIAIS HORAS

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Introdução à Programação 2006/07. Computadores e Programação

UTILIZANDO PROGRAMAS EDUCACIONAIS

TECNOLOGIAS NO COTIDIANO: DESAFIOS À INCLUSÃO DIGITAL

Articulação das Estratégias Regionais e Nacional

INTRODUÇÃO À PROGRAMAÇÃO

Prognos SMART OPTIMIZATION

Plataforma de Gestão de Actualizações de Software Descrição do Problema

A APRENDIZAGEM DO ALUNO NO PROCESSO DE INCLUSÃO DIGITAL: UM ESTUDO DE CASO

Curso de Educação Profissional Técnica de Nível Médio Subseqüente ao Ensino Médio, na modalidade a distância, para:

SÚMULA DA 53ª REUNIÃO DA CÂMARA DE PESQUISA E PÓS-GRADUAÇÃO, REALIZADA EM INÍCIO: 08:30 hs. - ENCERRAMENTO: 12:00 hs.

JVM s Livres. Paloma Costa. javawoman@portaljava.com.br

AULA 01 CONCEITOS BÁSICOS DE PROGRAMAÇÃO. Eduardo Camargo de Siqueira INFORMÁTICA APLICADA TÉCNICO EM ELETRÔNICA

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Projeto de Sistemas I

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

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

Habilitação, qualificações e especializações:

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS (TDS)

INTRODUÇÃO AO DESENVOLVIMENTO DE SISTEMAS COM MICROCONTROLADORES

Sistemas de Gestão Integrada. Felipe Fernandes, nº Luís Marques, nº Nuno Correia, nº Paulo Monteiro, nº 57307

A importância do Software Livre no mundo de hoje

Metodologia de Desenvolvimento de Sistemas

Especialização, Mestrado e Doutorado

CC Montagem e manutenção de hardware Docente: Nataniel Vieira 1 sem Técnico em Informática Roteiro 06: Atividade sobre o Documentário RevolutionOS

AS CONTRIBUIÇÕES DAS VÍDEO AULAS NA FORMAÇÃO DO EDUCANDO.

O PROCESSO DE ALFABETIZAÇÃO DE JOVENS E ADULTOS DA CONSTRUÇÃO CIVIL NO PROGRAMA ESCOLA ZÉ PEÃO

Curso Técnico em Redes

Linguagem de Montagem

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS KARINE LETÍCIA NOWAK RELATÓRIO DE ESTÁGIO

Formando Desenvolvedores Efetivos. Fernando Lozano Arquiteto de Soluções 4Linux

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

REFLEXÕES SOBRE A EFICIÊNCIA DO USO DE UM AMBIENTE VIRTUAL NO ENSINO DE PADRÕES E SEQUÊNCIAS: UMA EXPERIÊNCIA A PARTIR DO PIBID

3º. Seminário de Pesquisa em EAD 3º SePEAD A UAB e seus reflexos no ensino superior brasileiro Efeitos da EaD no presencial

Figura 1 - O computador

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Design 3D. Formação em Web WEB DESIGN 3D 1

TIC Domicílios 2007 Habilidades com o Computador e a Internet

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Licenciatura Integrada em Educação em Ciências Matemática e Linguagens

CEFET/RJ UnED Petrópolis. Introdução à Engenharia de Computação Prof. Felipe Henriques. Capítulo 1: Introdução

Professor Antonio Benedito Coimbra Sampaio Jr

A Tecnologia e Seus Benefícios Para a Educação Infantil

Apesar de colocar-se no campo das Engenharias, profissional destaca-se, também, pelo aprimoramento das relações pessoais

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.

Linguagem de Programação I. Aula 05 Linguagem C

Indicie. 1.Introdução Como Surgiu Para que serve Instalação Oque ele permite fazer Primeiro Cenário...

O estudante de Pedagogia deve gostar muito de ler e possuir boa capacidade de concentração porque receberá muitos textos teóricos para estudar.

Noções básicas de Informática: Software

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Introdução a Informática. Prof.: Roberto Franciscatto

Trilha Agile TDD e 20 coisas que você precisa saber

Algoritmos e Programação I

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Programação de Computadores. Turma CI-180-B. Josiney de Souza.

Linguagens de. Aula 01. Profa Cristiane Koehler

OS CONHECIMENTOS DE ACADÊMICOS DE EDUCAÇÃO FÍSICA E SUA IMPLICAÇÃO PARA A PRÁTICA DOCENTE

Trabalho 3 Scratch na Escola

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

Relatorio de Estágio

UMA ANÁLISE DA MATRIZ CURRICULAR DO CURSO DE LICENCIATURA EM MATEMÁTICA DA UFPB

HABILITAÇÃO COMPONENTE TITULAÇÃO

APÊNDICE 1. Plano de Aula: Luz e Cor

CartilhaEscola_Final.qxp:escola 9/16/08 6:23 PM Page 1

Os IDE s (Ambientes de Desenvolvimento Integrado) como ferramentas de trabalho em informática

5. Métodos ágeis de desenvolvimento de software

TEMA TECNOLOGIA DA INFORMAÇÃO -Tipos de SI e Recursos de Software parte2. AULA DE SISTEMAS DE INFORMAÇÃO PROFa. ROSA MOTTA

Transcrição:

int main(void) { printf("olá, Mundo!\n"); return 0; } Luis Silva 35296 Tiago Varum 35577 Ruben Gonçalves 35736 EMPSE - 2009 1

Linguagens usadas em software para sistemas embutidos Uso e a importância da linguagem de programação C em sistemas embutidos Utilização crescente destes mesmos sistemas no dia-a-dia Formação de pessoal especializado e futuro dos sistemas embutidos EMPSE - 2009 2

Existe alguma discussão e polémica hoje em dia acerca de qual a melhor linguagem para programação em sistemas embutidos A discussão é feita principalmente em torno de 5 linguagens : Java C C++ Assembly Ada A discussão nesta apresentação será maioritariamente em torno da linguagem C Estará o futuro de C ameaçado?? EMPSE - 2009 3

Hoje em dia, para os alunos de ciências de informática, aprender C é como frequentar uma aula de Latim (devido principalmente à crescente aderência à linguagem Java) Este facto poderá induzir o pensamento de que o uso de C em sistemas embutidos estará a diminuir mas será assim? EMPSE - 2009 4

Sondagem realizada pelos publicadores de Embedded Systems Design EMPSE - 2009 5

C não é história e não é de todo uma linguagem morta Durante os últimos 13 anos C foi a linguagem dominante no campo (em crescimento) do desenvolvimento de software para sistemas embutidos Existem razões para crer que não vai parar de ser usado tão cedo!!!! EMPSE - 2009 6

Principais motivos para a sua dominância: Existe uma vasta gama de compiladores de C para a grande maioria dos CPUs de 8-, 16- e 32-bit C oferece a mistura certa de recursos de linguagem de programação de baixo e alto nível para programação ao nível de drivers e processador No entanto C não poderá sobreviver como uma linguagem de programação importante se for utilizado por um grupo cada vez menor de programadores Para C continuar a ser importante, o número de desenvolvedores de software para sistemas embutidos não deve diminuir EMPSE - 2009 7

Dados recolhidos pelos publicadores de Embedded Systems Design EMPSE - 2009 8

Cerca de 98% dos novos CPUs produzidos em cada ano são embutidos (o número de CPUs novos por ano é em longo prazo, uma tendência ascendente) Pode-se concluir que o uso de sistemas embutidos em produtos está a aumentar bem como o número de pessoas que desenvolvem software embutido É de notar que as vendas de processadores 8-bit são um segmento grande e crescente, e que estes tendem a exigir equipas de programação de apenas uma a duas pessoas EMPSE - 2009 9

À medida que os processadores se tornam mais baratos, novas aplicações surgem A utilização de sistemas embutidos não irá decrescer e com ela o número de programadores Um dos requisitos para que C continue importante parece assegurado... Será que a educação e formação de novos programadores em sistemas embutidos é suficiente para alimentar esta crescente fome mundial? EMPSE - 2009 10

Diagrama criado pelos publicadores de Embedded Systems Design EMPSE - 2009 11

Apenas um pouco do que é estudado em cursos de engenharia eléctrica é aplicável ao desenvolvimento de software embutido, e nas ciências de computação pouco mais é aprofundado Infelizmente, a aprendizagem em postos de trabalho também é mal organizada em software embutido (é comum um graduado em EE começar a escrever firmware, cometer erros de principiante, haver pouca ou nenhuma revisão do código, e o produto com bugs ser lançado para o mercado) São precisas soluções para estes problemas!!! EMPSE - 2009 12

C continuará a ser importante no futuro bem como o software para sistemas embutidos e o seu uso nos produtos do dia-a-dia No entanto alguém tem de desenvolver o software, e embora hajam jovens talentosos, eles não sabem como programar competentemente em C Novas linguagens poderiam ajudar, mas o software nunca será adaptado para todas as décadas de antigas arquitecturas de CPU que vão continuar a ser utilizadas nas próximas décadas Como o aumento do volume de negócios é inevitável, este campo precisa de atrair uma nova geração de programadores C Qual a solução? O que irá acontecer se estas tendências continuarem a divergir? EMPSE - 2009 13

O desenvolvimento desta apresentação teve como base o artigo : http://www.embedded.com/design/218600142;jsessionid=ph NZREVELXXCTQE1GHRSKHWATMY32JVN?pgno=1 EMPSE - 2009 14