UNIVERSIDADE ESTADUAL
DO OESTE DO PARANÁ
PRÓ-REITORIA
DE GRADUAÇÃO
ANO DO CURSO -
3º
Curso:
Informática Modalidade: Bacharelado
Turno: Integral
Centro: CCET
Campus:
Cascavel
|
Código |
Nome
|
Carga Horária |
|||
|
AT 1 |
AT
2 |
APS
3 |
Total |
||
|
1663 |
Programação de Sistemas de Computação |
34 |
102 |
|
136 |
(1)Aula Teórica; (2) Aula
Prática; (3) Atividade Prática Supervisionada.
Docente: Marcio Seiji Oyamada |
|
Estudo de linguagens de programação para implementação de programas destinados ao desenvolvimento de sistemas básicos. |
Objetivos
|
·Estudar a arquitetura de um
processador específico, a fim de permitir o desenvolvimento de programas em
sua linguagem de montagem; ·Estudar a implementação de abstrações
de controle em linguagem de montagem; ·Estudar uma linguagem alternativa à
linguagem de montagem que permita a programação de sistemas básicos; ·Estudar o interfaceamento entre
linguagens de programação. |
Conteúdo Programático
|
Parte I – Java – OOUma Introdução à Linguagem Java O Ambiente de Programação Java Estruturas Fundamentais de
Programação em Java Objetos e Classes Herança Interfaces e Classes Internas Programação Gráfica Manipulação de Eventos Exceções e Assertivas Fluxos de Dados e Arquivos Múltiplas Linhas de Execução Coleções Conectividade a Banco de Dados: JDBC Objetos Remotos Parte II – Linguagem
Assembly
Arquitetura dos microprocessadores x86: -Registradores -Flags -Segmentação da memória -Modos de endereçamento Conjunto de instruções: -Instruções para movimentação de dados -Instruções para conversão -Instruções aritméticas -Instruções lógicas, rotação e
deslocamento de bits -Instruções para E/S -Instruções para manipulação de
strings -Instruções para controle do fluxo de
execução Procedimentos e funções -Passagem de parâmetros -Retorno de resultados Macros Funções do BIOS e do SO Diretivas do montador (assembler) Arquitetura dos
Microprocessadores x86 de 32 bits Conjunto de
instruções MIPS Conjunto de
instruções JAVA (bytecodes) Instruções MMX e
SSE Ligação com linguagens de alto
nível |
Atividades Práticas – grupos de 10 alunos
Parte I – Java – OO ·O Ambiente de Programação Java oApresentação do ambiente
Eclipse/Netbeans ·Estruturas Fundamentais de
Programação em Java oDesenvolvimento de pequenos programas
envolvendo os tipos básicos de dados e a API
java.lang. ·Objetos, Classes, interfaces e
Classes Internas oDesenvolvimento de um conjunto de
classes para fixar o conteúdo ·Programação Gráfica oConstrução de programa que utilize
recursos da API Swing e manipulação de Eventos ·Exceções e Assertivas oExemplos de utilização ·Coleções ·Fluxos de Dados e Arquivos oDesenvolvimento de aplicativo
utilizando serialização e arquivos XML ·Múltiplas Linhas de Execução oPrática a ser desenvolvida utilizando
princípios de multiprogramação ·Conectividade a Banco de Dados: JDBC ·Construção de aplicativo utilizando o
modelo MVC 2 ·Mapeamento Objeto Relacional
utilizando o Hibernate ·Utilização de banco de dados
Orientado a Objetos ·Objetos Remotos oConstrução de exemplos |
Parte II–
Linguagem Assembly
·Visualização de registradores,
flags, áreas de memória e montagem de instruções em ambiente de depuração. ·Estudo prático do conjunto de
instruções: ·Uso das instruções: ·para movimentação de dados; ·aritméticas; ·de conversão; ·lógicas, rotação e deslocamento de
bits; ·para E/S; ·de manipulação de strings; ·para controle do fluxo de execução. ·Utilização do montador e
desenvolvimento de programas/rotinas em Assembly: ·Uso da diretivas dos montador em
aplicação exemplo; ·Desenvolvimento de macros. ·Estruturas de controle em
Assembly: ·Desenvolvimento de aplicações
exemplo utilizando as estruturas de controle if-then-else/case/while. Uso de desvio indireto. Engenharia reversa em código
compilado pelo compilador gcc com estas estruturas. ·Estruturas de dados em Assembly: ·Declaração de dados; ·Exemplo com uso de vetores
n-dimensionais. ·Arquitetura dos
Microprocessadores x86 de 32 bits: ·Desenvolvimento de aplicações em
Assembler ·Procedimentos e funções: ·Desenvolvimento de rotinas utilizando
diversas técnicas de passagem de parâmetros e retorno de resultados; ·Desenvolvimento de funções
recursivas; ·Engenharia reversa em código
compilado pelo compilador gcc com chamadas de funções e passagem de
parâmetros. ·Funções do SO. ·Desenvolvimento
de aplicações utilizando as chamadas de sistema disponibilizadas pelo SO
Linux. ·Ligação com linguagens de alto
nível: ·Desenvolvimento de aplicações em
linguagem C que utilizam rotinas em Assembly. ·Desenvolvimento de aplicações
Assembly que utilizam rotinas da biblioteca padrão C. ·Desenvolvimento de aplicações no
processador MIPS ·Comparação do Assembler x86,
MIPS e Java bytecodes ·Instruções para SIMD
(single-instruction, multiple data): MMX e SSE. ·Análise de desempenho em códigos
assembler |
|
Aulas teóricas
expositivas. Aulas práticas no Laboratório Geral de Aula do curso de bacharelado em Informática com interação prática do aluno. |
Avaliação
|
A nota final será a média aritmética simples das 4 avaliações bimestrais. Cada avaliação bimestral será composta de prova e/ou trabalho de implementação com relatório. O
Exame Final constituir-se-á de uma prova escrita, abrangendo todo o conteúdo
ministrado. |
|
BARTLETT, Jonathan. Programing from the
ground-up. 2004. http://savannah.nongnu.org/projects/pgubook HYDE, Randall. The Art of Assembly Language Programming.
1996. ftp.cs.ucr.edu MANZANO, José Augusto N. G. Fundamentos em Programação Assembly.
Editora Érica, 2004. MENDONÇA, Alexandre et all. PC e Periféricos: Um Guia Completo de
Programação. Editora Ciência Moderna, 1996. SANTOS, Jeremias P. & JUNIOR, Edison R. Programando em Assembler 8086/8088. McGraw-Hill, 1989. SWAN, Tom. Mastering Turbo Assembler. Second
Edition. Sams Publishing, 1995. TISCHER, Michael. PC INTERN
– The Encyclopedia of System
Programming..Sixth Edition. Abacus, 1996. HORSTMANN, Cay S.;
CORNELL, Gary. Core java 2: fundamentos. v. 1. São Paulo: Makron Books, 2001. 654
páginas. HORSTMANN, Cay S.; CORNELL,
Gary. Core java 2: recursos avançados. v. 2. São Paulo: Makron Books, 2001. 823
páginas. FURGERI, Sérgio. Java 2: ensino didático. São Paulo: Érica, 2002. 372 páginas. DEITEL, H.M.; DEITEL, P.J.. Java: como programar. Porto Alegre: Bookman, 2003. 1386 páginas. |
Bibliografia
Complementar
|
|
Data:
........../........../..........
______________________________
Assinatura
do docente proponente
Colegiado de
Curso (aprovação)
|
Ata nº
.........,de........../........../.......... Coordenador
de curso:
______________________
assinatura |
Conselho de
Centro (homologação)
|
Ata nº
.........,de........../........./.......... Diretor de
Centro:
______________________
assinatura |
Encaminhada cópia à Secretaria Acadêmica em: ........../........../..........
_____________________________
nome/assinatura