> For the complete documentation index, see [llms.txt](https://otavianosilverio.gitbook.io/programacao/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://otavianosilverio.gitbook.io/programacao/readme.md).

# Home

Programação de Soluções Computacionais

**EMENTA**&#x20;

Algoritmos e suas representações. Lógica simples de programação (entrada - processamento - saída), constantes e variáveis. Estruturas de controle: seleção e repetição. Vetores, modularização e passagem de parâmetros. Algoritmos de pesquisa e de ordenação. Tipos abstratos de dados: pilhas, filas e listas. Programação orientada a objetos: classes, objetos, métodos, atributos, construtores e métodos de acesso e modificadores. Encapsulamento, herança, abstração e polimorfismo. Interfaces gráficas e tratamento de exceções. Implementação de transações de banco de dados (CRUD) utilizando bibliotecas de conexão com SGBD (Sistemas Gerenciadores de Banco de Dados). Linguagem SQL de banco de dados.

**COMPETÊNCIAS**

● identificar, planejar e desenvolver soluções computacionais para atender às demandas das organizações;&#x20;

● organizar e manter os dados de negócio em banco de dados a partir de SGBDs&#x20;

● identificar problemas que tenham solução algorítmica;

&#x20;● resolver problemas usando ambientes de programação;&#x20;

● identificar e analisar requisitos e especificações para problemas específicos e planejar estratégias para suas soluções;&#x20;

● especificar, projetar, implementar, manter e avaliar sistemas de computação, empregando teorias, práticas e ferramentas adequadas;&#x20;

● conceber soluções computacionais a partir de decisões visando o equilíbrio de todos os fatores envolvidos;

**BIBLIOGRAFIA BÁSICA**&#x20;

MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: lógica para desenvolvimento de programação de computadores. 25. ed. rev. São Paulo: Érica, 2011. 320 p. ISBN 9788536502212.&#x20;

CORMEN, Thomas H. Algoritmos: teoria e prática. Rio de Janeiro: Campus, 2002. xvii, 916 p. ISBN 8535209263.

SANTOS, Rafael. Introdução à programação orientada a objetos usando Java. Rio de Janeiro: Campus, 2003. 319 p. ISBN 978-85-352-1206-8.&#x20;

GUIMARÃES, A. P. Algoritmos e estruturas de dados. Rio de Janeiro: LTC, 1994.

## Mais referências para leitura e consulta (Em inglês)

* Sage, K. (2019), ***Concise Guide to Object-Oriented Programming An Accessible Approach Using Java***, Springer, ISBN: 978-3-030-13304-7

* Sharan, K, & Davis A (2022), ***Beginning Java 17 Fundamentals**,* Apress, ISBN: 978-1-4842-7307-4

* Gosling, J. et. al. (2022), ***The Java® Language Specification Java SE 18 Edition***, Oracle, [https://docs.oracle.com/javase/specs/jls/se18/jls18.pdfLinks to an external site.](https://docs.oracle.com/javase/specs/jls/se18/jls18.pdf) &#x20;

* Downey, A. (2016), ***Think Java How to Think Like a Computer Scientist***, free book, [https://www.greenteapress.com/thinkapjava/Links to an external site.](https://www.greenteapress.com/thinkapjava/)&#x20;

* Bailey, D. (2007), ***Java Structures*** \[ebook], [http://dept.cs.williams.edu/\~bailey/JavaStructures/Book.htmlLinks to an external site.](http://dept.cs.williams.edu/~bailey/JavaStructures/Book.html)

* Shaffer, C., (2013), ***Data Structures and Algorithm Analysis*** \[ebook], [https://people.cs.vt.edu/\~shaffer/Book/JAVA3e20130328.pdfLinks to an external site.](https://people.cs.vt.edu/~shaffer/Book/JAVA3e20130328.pdf)

* Sedgewick, R, & Wayne, K. (2007), ***Introduction to Programming in Java : An Interdisciplinary Approach*** \[ebook],  [https://introcs.cs.princeton.edu/java/homeLinks to an external site.](https://introcs.cs.princeton.edu/java/home)/

* Eck, D. (2022), ***Introduction to Programming using JAVA*** \[ebook], [https://math.hws.edu/javanotes/Links to an external site.](https://math.hws.edu/javanotes/)  &#x20;

* Stack Overflow, ***Algorithm Notes for Professionals*** \[e-book], [https://goalkicker.com/AlgorithmsBook/Links to an external site.](https://goalkicker.com/AlgorithmsBook/) &#x20;

* Block, J. (2017), ***Effective Java***., Addison-Wesley, ISBN: 0134685997

* Martin, R. (2012), ***Clean Code***, Pearson Education, ISBN: 8131773388

* Fowler, M. (1999), ***Refactoring: improving the design of existing code***, Addison-Wesley, ISBN:  9780201485677
