TRILHA DE ALGORITMOS E COMPLEXIDADE Outros nomes possíveis:
. TEORIA DA COMPUTAÇÃO E COMPLEXIDADE ou . ALGORITMOS, COMBINATÓRIA e OTIMIZAÇÃO . ???
Para receber um certificado o aluno deve cursar
. as obrigatórias de pelo menos 2 módulos (4 disciplinas); e . pelo menos 7 disciplinas da trilha.
OTIMIZAÇÃO
. MAC0315 Programação Linear (obrigatória) . MAC0325 Otimização Combinatória (obrigatória) . MAC0300 Métodos Numéricos da Álgebra Linear
. MAC0418 Tópicos Especiais de Programação Matemática . MAC0419 Métodos de Otimização em Finanças
. MAC0427 Programação Não Linear
. MAC0452 Tópicos de Otimização Combinatória . MAC0450 Algoritmos de Aproximação
. MAC0452 Tópicos de Otimização Combinatória . MAC0461 Introdução ao Escalonamento e Aplicações . MAC0??? Programação Inteira (a ser criada) .
2
Ementas
54
14/03/2014
MAC0101 Introdução à Ciência da Computação
Esta disciplina é inspirada nas (plágio das?) disciplinas
"DCC050 Introdução à Ciência da Computação" da UFMG, INE5401 Introdução à Computação da UFSC,
"15-129 Freshmen Immigration Course" de CMU,
"Great Theoretical Ideas in Computer Science" de CMU.
OBJETIVOS: Apresentar o Bacharelado em Ciência da
Computação (BCC) aos estudantes que acabaram de ingressar no curso. Orientar os estudantes sobre as várias possibilidades de formação como indivíduos, como cidadãos e como cientistas da computação que a Universidade de São Paulo, o Instituto de Matemática e Estatística e o Departamento de Ciência da Computação (DCC) oferecem. Expandir os conceitos que os estudantes tem sobre Ciência da Computação e apresentá-los aos recursos disponibilizados a eles pelo DCC. Além disso, está
disciplina é um lugar onde os estudantes podem constituir grupos de interesse e estender seus horizontes dentro do DCC.
PROGRAMA: Durante o semestre os ingressantes assitirão palestras de alunos, ex-alunos, convidados e de vários docentes do DCC. Docentes do DCC apresentarão o DCC, tópicos de suas pesquisas, história da computação e perspectivas da área, além de sugerir trilhas de disciplinas compatíveis com eventuais interesses dos estudantes.
RESPONSÁVEL: Carlos Eduardo Ferreira.
PRÉ-REQUISITOS: Não há.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 2 horas, 2 créditos-aula.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM: Média ponderada de provas e exercícios.
BIBLIOGRAFIA BÁSICA: Não há.
[Veja dados da disciplina no JúpiterWeb]
MAC0101 http://bcc.ime.usp.br/catalogo2015/disciplinas/...
1 of 2 08/28/2014 07:09 PM
DCC | IME-USP | 2014
MAC0101 http://bcc.ime.usp.br/catalogo2015/disciplinas/...
2 of 2 08/28/2014 07:09 PM
14/03/2014
MAC0105 Fundamentos de
Matemática para a Computação
OBJETIVOS: Familiarizar o aluno com a linguagem matemática e com a estrutura das demonstrações matemáticas, bem como com alguns fatos e noções elementares sobre números, conjuntos, funções e relações. Chupei da ementa de uma disciplina da Pura
PROGRAMA: Discurso matemático: leitura e escrita
matemática. Estratégias de demonstrações. Princípio da indução finita. Sequências, somas, recorrências e contagem. Algoritmo de Euclides. Divisibilidade nos inteiros. Sistemas de numeração.
MDC e MMC. Teorema de Bézout. Teorema fundamental da aritmética. Congruências. O anel dos inteiros módulo m. Os corpos Zp. Relações de equivalência, conjunto quociente, definição de funções e operações no conjunto quociente. Ordem, fecho transitivo de relações. Conjuntos infinitos.
PRÉ-REQUISITOS: Não há.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 4 horas, 4 créditos-aula.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM: Média ponderada de provas e exercícios.
BIBLIOGRAFIA BÁSICA:
A. Hefez, Aritmética, Sociedade Brasileira de Matemática, 2013.
K. Houston, How to Think Like a Mathematician: A Companion to Undergraduate Mathematics, Cambridge University Press, 2009.
L. Lovász, J. Pelikán, K. Vesztergombi, Matemática Discreta, Sociedade Brasileira de Matemática, 2006.
D.J. Velleman, How to Prove It: A Structured Approach, 2nd ed., Cambridge University Press, 2006.
OBSERVAÇÃO: Disciplina obrigatória no currículo do BCC.
Lógica deve ser introduzida na prática do discurso matemático e
MAC0105 http://bcc.ime.usp.br/catalogo2015/disciplinas/...
1 of 2 08/28/2014 07:09 PM
na construção de demonstrações.
[Veja dados da disciplina no JúpiterWeb]
DCC | IME-USP | 2014
MAC0105 http://bcc.ime.usp.br/catalogo2015/disciplinas/...
2 of 2 08/28/2014 07:09 PM
MAC0110 Introdução à Computação
OBJETIVOS: Introduzir a programação de computadores através do estudo de uma linguagem algorítmica e de exercícios práticos.
PROGRAMA: Breve história da computação. Algoritmos:
caracterização, notação, estruturas básicas. Computadores:
unidades básicas, instruções, programa armazenado,
endereçamento, programas em linguagem de máquina. Conceitos de linguagens algorítmicas: expressões; comandos seqüenciais, seletivos e repetitivos; entrada/saída; variáveis estruturadas;
funções. Desenvolvimento e documentação de programas.
Exemplos de processamento não-numérico. Extensa prática de programação e depuração de programas.
PRÉ-REQUISITO NÃO-OFICIAL PARA A LM: MAC0118.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 4 horas, 4 créditos.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM: Média ponderada de provas e exercícios de programação.
BIBLIOGRAFIA BÁSICA:
Material didático para disciplinas de Introdução à Computação, Projeto MAC Multimídia,
«http://www.ime.usp.br/~macmulti/».
V. Setzer, R. Terada, Introdução à Computação e à Construção de Algoritmos, McGraw-Hill, 1991.
E. Roberts, The Art and Science of C, Addison-Wesley, 1995.
H.M. Deitel, P.J. Deitel, Como Programar em C, 2a ed., Livros Técnicos e Científicos, 1999.
J-P. Tremblay, R.B. Bunt, Ciência dos Computadores, McGraw-Hill, 1983.
B.W. Kernighan, D.M. Ritchie, A Linguagem de Programação C, padrão ANSI, Campus, 1990.
OBSERVAÇÃO: Disciplina obrigatória nos currículos do BCC, BMA, BMAC, BE, BM e LM.
MAC0110 http://bcc.ime.usp.br/catalogo2015/disciplinas/...
1 of 2 08/28/2014 07:10 PM
[Veja dados da disciplina no JúpiterWeb]
Oferecimentos recentes da disciplina: 1999/1, 2001/1, 2002/1, 2002/2, 2002/2
DCC | IME-USP | 2003
MAC0110 http://bcc.ime.usp.br/catalogo2015/disciplinas/...
2 of 2 08/28/2014 07:10 PM
Informações da Disciplina
Júpiter - Sistema de Graduação
Instituto de Matemática e Estatística Matemática
Disciplina: MAT0112 - Vetores e Geometria Vectors and Geometry
Créditos Aula: 4 Créditos Trabalho: 0 Carga Horária Total: 60 h
Tipo: Semestral
Ativação: 01/01/1973
Objetivos
Ensinar aos alunos as leis básicas do cálculo vetorial clássico e a geometria analítica em dimensão 2 e 3.
Programa Resumido
Programa
1. Vetores, operações, módulo de um vetor, ângulo de dois vetores. 2. Dependência linear, bases,
mudança de bases. Sistema de coordenadas no espaço, transformação de coordenadas. 3. Bases ortogonais, matrizes ortogonais, produto escalar. Orientação do espaço, produto vetorial. 4. Equações vetoriais da reta e do plano no espaço. Paralelismo entre retas e planos. 5. Ortogonalidade entre retas e planos. Distância de dois pontos, de ponto a uma reta e a um plano. Áreas e volumes. 6. Curvas planas, cônicas. Curvas e superfícies no espaço. Noções sobre quádricas.
Avaliação
Método
Aulas teóricas e de exercícios.
Critério
Média ponderada de provas e exercícios.
Norma de Recuperação
Cada docentes (ou equipe), deverá decidir qual o peso p onde 1<=p<=4. A média final, será média ponderada da nota do semestre com a da recuperação com o peso acima.
Bibliografia
P. Boulos, I. Camargo, GEOMETRIA ANALÍTICA: UM TRATAMENTO VETORIAL,
2 ed., McGraw-Hill, São Paulo, 1987 A.J. Caroli, C. Callioli, M. Feitosa, MATRIZES, VETORES E GEOMETRIA ANALÍTICA: TEORIA E EXERCÍCIOS, caps.1-5, Ed. L.P.M., São Paulo, 1965 W.M. Oliva, VETORES E GOMETRIA, Edgard Blücher-EDUSP ,1971.
Clique para consultar os requisitos para MAT0112
Clique para consultar o oferecimento para MAT0112
Créditos | Fale conosco
© 1999 - 2014 - Departamento de Informática da Codage/USP
https://uspdigital.usp.br/jupiterweb/obterDiscipli...
1 of 1 08/29/2014 08:55 AM
Júpiter - Sistema de Graduação
Instituto de Matemática e Estatística Matemática
Disciplina: MAT2453 - Cálculo Diferencial e Integral I
Créditos Aula: 6 Créditos Trabalho:0
Tipo: Semestral
Objetivos
Familiarizar o aluno com as noções de limite, derivada e integral de funções de uma variável, destacando aspectos geométricos e interpretações físicas.
Programa Resumido
Funções trigonométricas. e exponenciais. Limites, derivadas e aplicações. Gráficos e resolução de problemas de Máximos e Mínimos. Técnicas de integração e aplicações. Fórmula de Taylor.
Programa
Funções trigonométricas. Funções exponenciais. Função composta e função inversa. Limites: noção intuitiva, propriedades algébricas. Teorema do Confronto.
Continuidade. Derivadas: definição, interpretações geométrica e física. Regras de derivação, regra de cadeia, derivada da função inversa e derivação implícita.
Aplicações. Teorema do valor médio e consequências. Regras de L'Hospital. Gráficos. Resolução de problemas de Máximos e Mínimos. Integral de Riemann.
Técnicas de integração. Aplicações: cálculos de volumes de revolução, comprimento de curvas. Fórmula de Taylor.
Avaliação
Método
Média ponderada de provas e exercícios.
Critério
A média geral tem que ser maior ou igual a 5 para aprovação.
Norma de Recuperação
1 (uma) prova de recuperação.
Bibliografia
1. J. STEWART, Cálculo, Vol. I, 6ª edição, Cengage Learning Edições Ltda, 2010.
2. H. GUIDORIZZI, Um curso de Cálculo, Vol. I, Livros Técnicos e Científicos, 5a edição, 2001.
Requisitos
Os Requisitos variam conforme o curso para o qual ela é oferecida.
Clique para consultar o oferecimento para MAT2453.
Disciplina https://uspdigital.usp.br/jupiterweb/jupDisciplina...
1 of 1 08/28/2014 07:42 PM
MAC0329 Álgebra Booleana e Circuitos Digitais
Obs: se for possível completar o título (digo se burocraticamente não for muito penoso) com circuitos digitais, me parece mais justo.
PROFESSORES RESPONSÁVEIS . Nina Sumiko Tomita Hirata . Junior Barrera
. Ronaldo Fumio Hashimoto
OBJETIVOS
Estudo de álgebras Booleanas finitas, assim como, as suas aplicações no projeto de circuitos digitais e, em particular, de arquiteturas de computadores.
PROGRAMA
. Sistemas de representação numérica: bases binária, octal e hexadecimal, conversão entre bases, aritmética com números binários.
. Noções de circuitos lógicos: funções lógicas, tabelas-verdade, portas lógicas.
. Noções de organização de computadores.
. Expressões booleanas: formas canônicas e suas formas minimais, mapas de Karnaugh e outros métodos para minimização de expressões booleanas.
. PLA e circuitos combinacionais.
. Circuitos sequenciais: flip-flops e registradores, noções de análise e projeto de circuitos sequenciais.
. Exemplos de circuitos: somadores, subtratores, multiplicadores, divisores, verificadores de paridade, decodificadores, seletores ou multiplexadores, demulti-plexadores, comparadores, conversores de código, deslocadores e contadores.
. Álgebra booleana: definição axiomática, exemplos (álgebra de conjuntos, cálculo proposicional, funções lógicas),
propriedades, e ordens parciais em álgebras booleanas.
CRITÉRIO DE AVALIAÇÃO Provas e projetos
1
BIBLIOGRAFIA
R. H. Katz and C. Borriello. Contemporary Logic Design. 2nd ed., Addison-Wesley, 2004.
Nelson, Nagle, Irwin, Carroll. Digital Logic Circuit Analysis and Design. Prentice Hall, 1995.
TERADA, R., SETZER, V. Introdução à Computação e à Construção de Algo-ritmos. São Paulo: Makron Books, 1992.
F. J. Hill and G. R. Peterson. Introduction to Switching Theory and Logical Design. 3 rd ed., John Wiley, 1981.
G. De Micheli, Sythesis and Optimization of Digital Circuits. McGraw-Hill, 1994.
2
31/01/2014
MAC0121 Algoritmos e Estruturas de Dados I
Até 2014 se chamou MAC0122Princípios de Desenvolvimento de Algoritmos.
OBJETIVOS: Introduzir técnicas básicas de programação, estruturas de dados básicas, e noções de projeto e análise de algoritmos, por meio de exemplos.
Introduce basic programming techiques, data structures, and notions of design and analysis of algorithms, through examples.
PROGRAMA RESUMIDO: Noções de correção e desempenho de algoritmos. Noções de tipos abstratos de dados. Vetores e
matrizes. Alocação dinâmica de memória. Apontadores. Listas ligadas. Árvores binárias. Pilhas e filas. Noções de filas de prioridade. Recursão. Algoritmos de ordenação. Processamento elementar de texto. Tabelas de símbolos elementares, incluindo árvores binárias de busca. Noções de estratégias algorítmicas.
Notions of correctness and performance of algorithms. Notions of abstract data types. Arrays. Dynamic memory allocation.
Pointers. Linked lists. Binary trees. Stacks and queues. Notions of priority queues. Recursion. Sorting algorithms. Elementary text pocessing. Elementary symbol tables, including binary search trees. Notions of algorithmic strategies.
PROGRAMA: Noções informais de prova de correção e medida do desempenho de algoritmos. Noções de tipos abstratos de dados.
Vetores e matrizes. Strings (cadeias de caracteres). Alocação dinâmica de memória e redimensionamento de vetores.
Apontadores. Listas ligadas. Estruturas ligadas não lineares.
Árvores binárias. Pilhas e filas (implementadas com vetores e listas ligadas). Aplicações. Filas de prioridade (implementadas com heaps). Aplicações. Recursão. Aplicações. Algoritmos de ordenação elementares. Algoritmo quicksort. Algoritmo
mergesort. Algoritmo heapsort. Algoritmo radixsort (ordenação digital). Ordenação indireta (ordenação de apontadores).
Processamento elementar de texto. Aplicações. Tabelas de símbolos elementares: implementações baseadas em vetores,
MAC0121 http://bcc.ime.usp.br/catalogo2015/disciplinas/...
1 of 3 08/28/2014 07:21 PM
listas ligadas, busca binária, e árvores binárias de busca.
Aplicações. As aplicações podem envolver várias estruturas de dados compostas (como vetores de listas ligadas) e várias estratégias algorítmicas (gulosa, divisão e conquista,
programação dinâmica, backtracking, busca em largura, etc.).
Informal notions of proof of correctness and evaluation of
performance of algorithms. Notions of abstract data types. Arrays.
Strings. Dynamic memory allocation and array resizing. Pointers.
Linked lists. Non-linear linked structures. Binary trees. Stacks and queues (implemented with arrays an linked lists).
Applications. Priority queues (implemented with heaps).
Applications. Recursion. Applications. Elementary sorting algorithms. Quicksort. Mergesort. Heapsort. Radixsort. Indirect sorting (pointer sorting). Elementary text processing. Applications.
Elementary symbol tables: implementations based on arrays, linked lists, binary search, and binary search trees. Applications.
The applications may involve various composite data structures (such as arrays of linked lists) and various algorithmic strategies (greedy, divide-and-conquer, dynamic programming,
backtracking, breadth-first-search, etc.).
PRÉ-REQUISITOS: MAC0110.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 4 horas, 4 créditos-aula.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM: Média ponderada de provas e exercícios.
BIBLIOGRAFIA BÁSICA:
P. Feofiloff, Algoritmos em Linguagem C, Elsevier, 2009.
E.S. Roberts, Programming Abstractions in C: a Second Course in Computer Science, Addison-Wesley, 1997.
R. Sedgewick, Algorithms in C, 3rd. ed., Parts 1-4, Addison-Wesley, 1998.
R. Sedgewick, K. Wayne, Introduction to Programming in Java, Addison-Wesley, 2008.
R. Sedgewick, K. Wayne, Algorithms, 4th. ed., Addison-Wesley, 2011.
OBSERVAÇÃO: Disciplina obrigatória nos currículos do BCC. e
MAC0121 http://bcc.ime.usp.br/catalogo2015/disciplinas/...
2 of 3 08/28/2014 07:21 PM
[Veja dados da disciplina no JúpiterWeb]
Alguns dos oferecimentos da disciplina: 2013/2 2012/21997/2, 1998/2, 1999/1, 1999/2, 1999/2, 2000/1, 2000/2, 2000/2, 2001/1, 2001/2, 2002/1, 2002/2, 2002/2, 2002/2
DCC | IME-USP | 2003
MAC0121 http://bcc.ime.usp.br/catalogo2015/disciplinas/...
3 of 3 08/28/2014 07:21 PM
18/03/2014
MAC0239 Introdução à Logica e Verificação de Programas
Até 2014 se chamou MAC0239Métodos Formais em Programação OBJETIVOS: Dar ao aluno o primeiro contato com métodos formais. Introduzir conceitos básicos para a verificação formal, assim como técnicas de demonstração de corretude de programas.
PROGRAMA: Lógica Proposicional Clássica: Os conectivos Booleanos e a linguagem da LPC. Semântica clássica. Tabelas da Verdade. Implicação Lógica. Equivalência Lógica e formas
normais. Métodos de prova e inferência lógica, tais como
Axiomatizações, Dedução Natural e métodos de Tableaux. Noções sobre correção e completude. Algoritmo ingênuo e
não-determinístico de decisão da satisfazibilidade (SAT). Lógica de Primeira Ordem: Linguagem, e semântica em termos de estruturas relacionais. Implicação Lógica, Equivalência Lógica e forma normal prenex. Extensão dos Métodos de prova e
inferência lógica para LPO, tais como Axiomatizações. Dedução Natural e métodos de Tableaux. Verificação de Programas pelo método Lógica de Hoare extendendo LPO: Semântica axiomática dos comandos básicos de programação. Lógica de Hoare. Pré- e pós-condições. Comandos nulos, atribuição, seleção, iteração;
Invariantes. Terminação. Exemplos clássicos de provas de correção parcial e correção total de programas.
PRÉ-REQUISITOS: MAC0121.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 4 horas, 4 créditos-aula.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM: Provas e exercícios.
BIBLIOGRAFIA BÁSICA:
D. Gries, The Science of Programming, Springer-Verlag, 1981.
F.S.C. da Silva, M. Finger, A.C.V. de Melo, Lógica para Computação, Cengage Learning, 2006.
M. Huth, M. Ryan, Logic in Computer Science: Modelling
MAC0239 http://bcc.ime.usp.br/catalogo2015/disciplinas/...
1 of 2 08/28/2014 07:27 PM
and Reasoning about Systems, 2nd ed., Cambridge University Press, 2004.
OBSERVAÇÃO: Disciplina obrigatória no currículo do BCC.
[Veja dados da disciplina no JúpiterWeb]
Oferecimentos recentes da disciplina: 2002/2 DCC | IME-USP | 1998
MAC0239 http://bcc.ime.usp.br/catalogo2015/disciplinas/...
2 of 2 08/28/2014 07:27 PM
Modelagem e Simulação
Estrutura do curso: Estudo de aspectos da pesquisa cient
ífica e seus m
étodos.
Realiza
ção de experimentos simples em sala de aula, conceitua
ção de medidas, leis, corrobora
ção, falseamento, levando
àmodelagem matem
ática, determin
ística e estoc
ástica de sistemas f
ísicos. Realiza
ção computacional de modelos, com simula
ções apresentadas na forma analítica e de animações gráficas, em ambientes computacionais especializados para simulação e animação. Estudos de caso: principalmente fenômenos da mecânica clássica com modelos contínuos.
Conteúdo: 1. Metodologia Científica (experimentos, medidas, leis, corrobora
ção,falseabilidade); sistemas físicos e sua relação com as “leis da Física”; modelagem, simulação e análise de sistemas físicos; aplicaçõ es tecnológicas. 2. Aplicação dos conceitos em tópicos da mecânica clássica, como cinemática e dinâmica de objetos pontuais, corpo rígido e sistemas de partículas, movimento harmônico simples e mec
ânica ondulat
ória. 3. O impacto da tecnologia de medida (e.g., aproxima
ção da Biologia
àengenharia) e dos computadores na ci
ência moderna (i.e., seu papel na descoberta de conhecimento). 4. Outros modelos: modelos discretos e estoc
ásticos (simula
ção de tecidos de corpos de animais por automatos celulares, ru
ído em sistemas f
ísicos, passeio aleat
ório, etc.)
Referências
1.
Simulations in Physics. Harvey Gould, Jan Tobochnik, and Wolfgang Christian. February 11, 20112.
Introduction to Computational Science: Modeling and Simulation for the Sciences Angela B. Shiflet & George W. Shifle. October, 2013.3.
Physics for Scientists and Engineers. Raymond A. Serway and John W.Jewett, 2004, 6th edition.
Júpiter - Sistema de Graduação
Instituto de Matemática e Estatística Matemática
Disciplina: MAT2454 - Cálculo Diferencial e Integral II
Créditos Aula: 4 Créditos Trabalho:0
Tipo: Semestral
Objetivos
Aprimorar o conhecimento e as habilidades dos alunos introduzindo o cálculo diferencial de funções de duas ou mais variáveis.
Programa Resumido
Limites e derivadas de funções de duas ou mais variáveis; Teorema de Schwarz; Fórmula de Taylor; Máximos e Mínimos; Multiplicadores de Lagrange.
Programa
Funções de duas ou mais variáveis: limites, continuidade, diferenciabilidade. ; Gradiente; Regra da cadeia; Teorema do Valor Médio; Derivadas de ordem superior; Teorema de Schwarz (enunciado); Fórmula de Taylor; Máximos e Mínimos; Multiplicadores de Lagrange.
Avaliação
Método
Média ponderada de provas e exercícios.
Critério
A média geral tem que ser maior ou igual a 5 para aprovação.
Norma de Recuperação
1 (uma) prova de recuperação.
Bibliografia
1. H. Guidorizzi, UM CURSO DE CÁLCULO, volume II, Livros Técnicos e Científicos, Rio de Janeiro, 1965.
2. J. STEWART, Cálculo, Vol. II, 6ª edição, Cengage Learning Edições Ltda, 2010.
Requisitos
Os Requisitos variam conforme o curso para o qual ela é oferecida.
Clique para consultar o oferecimento para MAT2454.
Disciplina https://uspdigital.usp.br/jupiterweb/jupDisciplina...
1 of 1 08/28/2014 07:43 PM