> 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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://otavianosilverio.gitbook.io/programacao/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
