REA (Repositório Educacional Aberto)

Disciplinas:

Sistemas Operacionais - 203523

Algoritmos e Programação - 203507

SITE: http://www.deinfo.uepg.br/~alunoso
http://www.rea.net.br/


ALGORITMOS E PROGRAMAÇÃO


1) ENGINE DE JOGOS


1.1) Diversos Frameworks

1.1.1) Phaser - Eduardo Sestren
https://phaser.io/
1.1.2) Enchant.JS - Eduardo Ferreira
http://enchantjs.com/pt-br/
1.1.3) Backbone Game Engine - Mateus Ribeiro
http://martindrapeau.github.io/backbone-game-engine/
1.1.4) Darling.JS - Leticia Farias
http://darlingjs.github.io/
1.1.5) Quintus - Bruno Levandoski
http://www.html5quintus.com/
1.1.6) Panda Engine
https://www.panda2.io/
1.1.7) Crafty.JS -
http://craftyjs.com/
1.1.8) Stage.JS - Alysson Quadros
http://piqnt.com/stage.js/
1.1.9) Kiwi.JS
http://www.kiwijs.org/
1.1.10) Pixi.JS - Joao Serafim
http://www.pixijs.com/
1.1.11) PyGame - Davi & Caroline
https://pygame.org/

1.2) Linguagem C

1.2.1) Allegro
https://liballeg.org/
1.2.2) Web Assembly - Luís Guilherme Molotto & Emili Everz
1.2.3) Tim Sort - Rodrigo Pansolim da Rosa & William Lima Costa de Almeida

1.2.4) Include/Bibliotecas:

1.2.4.1) stdlib.h
1.2.4.2) math.h - Diogo Leal da Silva
1.2.4.3) stdio.h
1.2.4.4) string.h
1.2.4.5) time.h
1.2.4.6) ctype.h
1.2.4.7) locale.h

1.3) Linguagem Python

1.3.1) Sobre a linguagem Python
https://docs.python.org/pt-br/3/tutorial/

1.3.2) Modulos/Bibliotecas do Python:

1.3.2.1) sys
1.3.2.2) math
1.3.2.3) os
1.3.2.4) random
1.3.2.5) turtle
1.3.2.6) Tkinter - João Jardel Giovanetti
1.3.2.7) string
1.3.2.8) types
1.3.2.9) json
1.3.2.10) html

1.4) Ferramentas NO-CODE & LOW-CODE

1.4.1) Fábrica de Aplicativos - Luis Eduardo Ferreira Galvão
1.4.2) APP Inventor
1.4.2) Thunkable


2) APROFUNDAMENTO


2.1) TEMAS DIVERSOS

2.1.1) Programação dinâmica; -
2.1.2) Programação de jogos; - João Jardel Giovanetti
2.1.3) Realidade aumentada; - Emili Everz
2.1.4) Realidade virtual (experiência imersiva); - Luis Guilherme Molotto
2.1.5) Aprendizado de máquina; -
2.1.6) Ambientes de desenvolvimento rápido; -
2.1.7) Framework de programação
2.1.8) Internet das Coisas (IoT); - William Lima Costa de Almeida
2.1.9) Computação em nuvem; - Rodrigo Pansolim da Rosa
2.1.10) Desenvolvimento para dispositivos móveis; -
2.1.10.1) React Native - Michael L. Gomes, Fernanda R. Paulino, Maria Eduarda G.
2.1.10.2) Swift e o Desenvolvimento para Plataformas Apple - João Pedro dos Santos
2.1.11) Desenvolvimento responsivo; -
2.1.12) Blockchain
2.1.13) Realidade Aumentada ; - Augusto Lara Amorim Santos
2.1.14) Desenvolvimento Responsivo - Milena de Jesus Maria
2.1.14) Ciência de Dados
2.1.15) Machine Learning
2.1.16) Message Queuing Telemetry Transport (MQTT) - Luan Hernandes e Gustavo Colman

2.2) AMBIENTES PARA APRENDIZADO DE PROGRAMAÇÃO

2.2.1) Code.org -- https://code.org/learn
2.2.2) Code Academy -- Ricardo Rodrigues Pedro Jr
2.2.3) Khan Academy -- https://www.khanacademy.org/computing/computer-programming
2.2.4) Codewars -- Eduardo Gonçalves
2.2.5) Coursera -- João V.M.Lopes
2.2.6) Udemy -- https://www.udemy.com/courses/
2.2.7) Free Code Camp -- http://www.freecodecamp.com/
2.2.8) edX.org -- https://www.edx.org/
2.2.9) Code Conquest -- http://www.codeconquest.com/
2.2.10) The Massachusetts Institute of Technology - OpenCourseWare -- http://ocw.mit.edu/index.htm
2.2.11) GA Dash -- https://dash.generalassemb.ly/
2.2.12) Udacity -- https://www.udacity.com/
2.2.13) Google Android Training -- https://developer.android.com/training/index.html
2.2.14) The Code Player -- http://thecodeplayer.com/
2.2.15) Code School -- https://www.codeschool.com/
2.2.16) The Odin Project -- Tiago H.S.Fernandes
2.2.17) HTML5 Rocks -- http://www.html5rocks.com/en/
2.2.18) A List Apart -- http://alistapart.com/
2.2.19) Site Point -- http://www.sitepoint.com/
2.2.20) TutsPlus -- http://tutsplus.com/
2.2.21) After Hours Programming -- http://www.afterhoursprogramming.com/
2.2.22) Codeasy.net -- https://codeasy.net/
2.2.23) Code Avengers -- https://www.codeavengers.com/
2.2.24) {R} Rithm School (Free Courses) -- Rodolpho A.S.Santos
2.2.25) Cursos iPED -- https://www.iped.com.br/programacao-e-desenvolvimento/gratis
2.2.26) Cursou -- https://www.cursou.com.br/informatica/programacao/
2.2.27) FIAP X -- http://www.fiap.com.br/FIAPx/cursos
2.2.28) Microsoft Learn -- https://docs.microsoft.com/pt-br/learn/
2.2.29) Don´t Fear the Internet -- http://www.dontfeartheinternet.com/
2.2.30) Code Combat -- https://br.codecombat.com/
2.2.31) Scratch -- Matheus C.Baron
2.2.32) BlueJ -- https://www.bluej.org/
2.2.33) Eclipse -- Maite Bueno
2.2.34) Codenvy -- Victor K.Rosa
2.2.36) GNAT Programming Studio -- https://www.adacore.com/gnatpro/toolsuite/gps
2.2.38) Brackets -- Fernando C.Maia
2.2.39) AWS Cloud9 -- Ricardo H.Pinto
2.2.40) CodeLite -- https://codelite.org/
2.2.41) Greenfoot -- https://www.greenfoot.org/door
2.2.42) Light Table -- Rafael A.P.Kriesang
2.2.43) NetBeans -- https://netbeans.org/
2.2.44) PyCharm -- https://www.jetbrains.com/pycharm/
2.2.45) IntelliJ IDEA -- https://www.jetbrains.com/idea/
2.2.46) Aptana Studio 3 -- Felipe Irineu Gaioski
2.2.47) Komodo -- https://www.activestate.com/products/komodo-ide/
2.2.48) RubiMine -- https://www.jetbrains.com/ruby/
2.2.49) Atom by GitHub -- https://github.com/atom
2.2.50) Sublime Text 3 -- https://www.sublimetext.com/3
2.2.51) PHPStorm -- https://www.jetbrains.com/phpstorm/
2.2.52) WebStorm -- Luiz G.S.Schelesky

2.3) ALGORITMOS ESSENCIAIS

2.3.1) Pesquisa:
2.3.1.1) Sequencial
2.3.1.2) Binária - Adcleisson & Fábio
2.3.1.3) Hash - Gabriel Henrique Carvalho 2.3.2) Ordenação simples:
2.3.2.1)
Metodos de Ordenação Bubble Sort e Quick Sort - Bruno S. Dutra
2.3.2.2) Selection Sort - James e Matheus Bomfati
2.3.2.3) Inserção
2.3.3) Ordenação avançada:
2.3.3.1) Quicksort
2.3.3.2) Heapsort
2.3.3.3) Mergesort
2.3.4) Caixeiro Viajante (Dijsktra)
2.3.5) Compactação:
2.3.5.1) Huffman
2.3.5.2) LZW
2.3.6) Busca:
2.3.6.1) Largura
2.3.6.2) Profundidade


SISTEMAS OPERACIONAIS


3) DISTRIBUIÇÃO DE TEMAS


3.1) Escalonamento
3.1.1) Round robin - Gabriela & Juliano
3.1.2) Prioridades - Vinícius Reinecke & Luiz Felipe Conrado
3.1.3) Dois níveis - Josmário da Silva Junior & Igor Hilgemberg

3.2) Computação em nuvem

3.2.1) Virtualizacao - Alisson, Alison, João Pellissari & Rodrigo Marques
3.2.2) Azure - Gabriel Bojko & Luiz Otavio Oyama
3.2.3) Amazon Web Service - João Gabriel Corrêa Krüger & Luciano Mauda Junior
3.2.4) Google Cloud - Juan Cassius & Pedro Neto

3.3) Comunicação entre processos
3.3.1) Pipe - Tamara, Gustavo Perin & Thiago
3.3.2) Fifo - Aline & Tarsila
3.3.3) Semaforos - Fabio Cesar Polinski e Kevin Justus Piotrowski
3.3.4) Sockets
3.3.5) Memória compartilhada - Fernando C. Maia & Tiago H.S. Fernandes & Rodolpho A.S. Santos
3.3.6) Arquivos mapeados
3.3.7) Websockets - João Vitor Ferreira Carneiro & Gabriel Carvalho

3.4) Problemas clássicos
3.4.1) Piscina
3.4.2) Problema dos Fumantes - Celio Brambila Junior
3.4.3) Banheiro Unissex em Python - Fernando Sobutka e Ricardo Harano Pinto
3.4.4) Leitor e Redator - Luan, Alessandra & Nicolas
3.4.5) Produtor e Consumidor em Java - Pedro Silva e Ricardo Rodrigues
3.4.6) Barbeiro dorminhoco em Python - Gustavo Marenda de Lima e Thiago Pankievicz
3.4.7) Filósofos em Python - Gabriel Julek e Rafael Strack
3.4.8) Leitor e Redator em Python - Marcos Krul e Renato Ruppel
3.4.9) Filósofos em Java - Gustavo Chagas
3.4.10) O Barbeiro Dorminhoco em Java - Danilo Christensen e Pedro H. Cebuliski
3.4.11) Filósofos em Go - Pedro Henrique Psybyloski e Lucas Correa dos Santos

3.5) Inicialização do computador

3.6) Programação Shell

3.6.1) Programação
3.6.2) AWK
3.6.3) SED
3.6.4) GDB

3.7) Processos e Threads

3.7.1) Processos - Pedro e Juan
3.7.2)
Threads - CESAR MARIANO DA SILVA JUNIOR & RUBENS LEONIDAS PRIMOR
3.7.2.1) Thread Pool
3.7.2.2) Implicações do mecanismo de sincronização em diferentes linguagens/frameworks:
3.7.2.2.1) React Async - Eduardo Golçalves Dias Machado

3.7.3.1) Players de música:

3.7.3.1.1) Clementine (https://www.clementine-player.org/) - Wendel, Gabriel Bueno, Ezequiel
3.7.3.1.2) Amarok (https://amarok.kde.org/) - Eduardo Lara, Matheus Freitas, André
3.7.3.1.3) Rhythmbox (https://github.com/GNOME/rhythmbox) - Gabriel Simioni, Railan, Dericson
3.7.3.1.4) Audacius (https://audacious-media-player.org/) - Oseias, Eduardo Ferreira, Rafael Paulosi
3.7.3.1.5) QMMP (http://qmmp.ylsoftware.com/) - Gabriel Gomes, Jesuan, Pedro
3.7.3.1.6) CMus (https://cmus.github.io/) - Caio Dias, Victor Stein

3.7.3.2) Players de vídeo:

3.7.3.2.1) VLC (https://github.com/videolan/vlc)
3.7.3.2.2) H - Banshee (http://banshee.fm/) - Alceu, Guilherme, Lucas
3.7.3.2.3) MPV (https://mpv.io/)

3.7.3.3) Banco de Dados:

3.7.3.3.1) SQLite (https://www.sqlite.org/index.html) - Bruno, Wellington, William
3.7.3.3.2) MariaDB (https://downloads.mariadb.org/) - Mateus Junges, Rafael Mattos, Victor Begha

3.7.3.4) Desenvolvimento WEB:

3.7.3.4.1) Concorrência no JavaScript
3.7.3.4.2) Concorrência no Node.js - Lucas Correa dos Santos & Pedro Henrique Psybyloski
3.7.3.4.3) Concorrência no Dart
3.7.3.4.4) <"http://jujuliano.tech/REA-SistemasOperacionais/">Concorrência no Flutter - Juliano Lavandoski
3.7.3.4.5) Concorrência no .NET
3.7.3.4.6) Laravel - Luan Makohin de Oliveira & Nicollas Vieira dos Santos

3.8) Sistemas Linux

3.8.1) Personalização de ambientes - Leonardo, Emerson & Gabriel Oliveira
3.8.2) Linux from scratch - Matheus, Gustavo Mazzure & João Horn
3.8.3) Linux embarcado - Lucas Silva, Lucas Jozefovicz & Gustavo Kenji
3.8.4) Sistemas Embarcados - Arduino Yün - Fernando

3.9) Ferramentas de Datacenter

3.9.1) PROXMOX - Wagner, Evandro & Murilo
3.9.2) Xen - Everton, Luciano & Paulo
3.9.3) FreeNAS -
3.9.4) OpenFiler
3.9.5) NAS4Free
3.9.6) Bacula - Miguel, Bruna, Guilherme Zanin & Anderson
3.9.7) OwnCloud

3.10) Virtualização

3.10.1) Azure - João Davi Mayer & Jeferson Wisbiski
3.10.2) VMware - Anselmo Martins Neto & Gustavo Rosas
3.10.3) Xen - Afonso Gloeden & Luan Henrique
3.10.4) Docker (2022) - Gabriel Manesco de Oliveira, Eduardo Espirito Santo Borges e Victor Gabriel de Almeida e Almeida
3.10.5) Vagrant
3.10.6) KVM - Eliézer Vaz e Luciano Folmer
3.10.7) QEMU - Guilherme Klosowski & Leonardo Vicente Ferreira Oliveira
3.10.8) Kubernetes
3.10.8.1) Introducao, conceitos basicos e historia - Pedro Ferreira Taborda e Jonas de Godoi
3.10.8.2) Arquitetura: componentes, comunicacao - Gabriel Pinto Andrade & Murilo Schreiner Ortiz
3.10.9) Docker (2023) - Victor Monteiro e Gustavo Mattos
3.10.9.1) Docker: o que é e características - Erick Goncalves Cabral e Leonardo Mulinari
3.10.9.2) Docker: Volume - Daniel Correia de Souza e Gabriel Gomes de Souza
3.10.9.3) Docker: Como trabalhar com redes - Reinaldo Calixto e Victor Rafael
3.10.9.4) Docker: Compartilhamento de Dados entre Host e Container - João Pedro Kruchelski Sales e João Victor de Melo Lopes
3.10.9.5) Docker: Criação de Container - Augusto Luis Mayer e Bruno Silva Dutra
3.10.9.6) Docker: Instalação e Configuração - Eliezer de Almeida
3.10.9.7) Docker: Como trabalhar com o Docker Compose - Eliezer de Almeida

3.11) Memória Flash

3.11.1) YAFFS - Carlos Ribeiro & Victor Pellizer

3.12) Gerenciamento de Arquivos

3.12.1) Coda File System - Leonardo Souza & Matheus Moresco
3.12.2) Distributed File System (DFS) - Leonardo William & Rodrigo Vieira
3.12.3) Google File System (GFS) - Carlos Lopes & Ricardo Harms

3.13 a 3.19) Outros temas

3.13) Invocação de Método Remoto (RMI) - Isabelle Okuma & Luiz Rodolfo Machado
3.14) Chamada de Procedimento Remoto (RPC) - Michel Henrique Hoekstra & Paulo Machado
3.15) Arquitetura de Supercomputadores -David Zampier & Luis Thiago Padilha
3.16) Alta Disponibilidade -Gabriel João Schiller & Thiago Marcomini Caires
3.17) CUDA - Gabriel Augusto de Oliveira & Luan Michel
3.18) Memoria Distribuida - Ana Carolina Abreu Barbosa & Luan Bahri Ribeiro
3.19) NFS - Eduardo Cordeiro & Alan Garcia

3.20) MINIX

3.20.1) Gerenciamento de Processo
3.20.2) Gerenciamento de Memória - Gulliver Tadra Waldmann
3.20.3) Gerenciamento de Dispositivos - Rogério Richard Tonetti Lemos
3.20.4) Gerenciamento de Arquivos - Felipe Stadler

3.21) Xv6

3.21.1) Gerenciamento de Processo - Igor Guilherme Fidler
3.21.2) Gerenciamento de Memória - Bruno Adriano Menegotto
3.21.3) Gerenciamento de Dispositivos
3.21.4) Gerenciamento de Arquivos

3.22) Inferno OS

3.22.1) Gerenciamento de Processo - Jonathan Lucas de Matos Diniz
3.22.2) Gerenciamento de Memória - Tarcísio Mazur Junior
3.22.3) Gerenciamento de Dispositivos
3.22.4) Gerenciamento de Arquivos - Bruno Seixas Bonfati

3.23) Contiki OS

3.23.1) Arquitetuta - Pedro Henrique Psybyloski
3.23.2) Software - Daniel Siemieniaco

3.24) Arduino

3.23.1) Arquitetura - Lucas Correa dos Santos
3.23.2) Software - Nicollas de Albuquerque

3.25) ESP8266

3.23.1.1) Arquitetuta - Miguel Angelo Carach
3.23.1.2) Arquitetuta - Ruan Pablo & Guilherme Oliveira Castro
3.23.2) Software - Gabriel Penteado, Mateus José Gomes, Mayara Lovatto

3.26) ESP32

3.23.1) Arquitetuta - Rullyan Gabriel dos Santos
3.23.2) Software - Guilherme Pontarolo Cordeiro

3.27) Plan 9

3.27.1) Gerenciamento de Processo - Ruhan Luiz Galvao da Rocha
3.27.2) Gerenciamento de Memória - Pedro Henrique Brandalise Silva

3.28) Jogos

3.28.1) Jogo sobre Sistemas Operacionais - Turma de SO de 2019.1
3.28.2) Jogo 2 sobre Sistemas Operacionais - Júlia; Gabriel & Rogério

3.29) CUDA

3.29.1) Configuração do Google Colab para CUDA -- https://www.wikihow.com/Run-CUDA-C-or-C%2B%2B-on-Jupyter-(Google-Colab)
3.29.2) Programação Paralela com CUDA -- Matheus Bilobrovec
3.29.3) Gestão de Memória com CUDA

3.30) STREAM PROCESSORS

3.30.1) Ambiente de Desenvolvimento
3.30.2) Programação Paralela com Stream Processors - Daniel Chaves Simão e Marcelo Fonseca Sene
3.30.3) Gestão de Memória com Stream Processors

3.31) TPU vs GPU

3.31.1) Configuração do Google Colab para TPUs

3.32) Linguagens para Programação Concorrente

3.32.1) Elixir -- https://elixir-lang.org
3.32.2) Rust -- Thaís Müller Martins & Eduardo Sestren
3.32.3) Clojure -- Yago Gabriel Barteczko & Thiago Lucas Okuma
3.32.4) Erlang -- Luiz Gustavo Kobilacz & Rafael Hiro Kato Kawakami
3.32.5) Haskell -- https://www.haskell.org/
3.32.6) Go -- Adriano M.Popovicz & Paulo Maurício Haddad Filho
3.32.7) Pony -- Rafael Philippsen & João Jardel
3.32.8) Crystal -- Alysson A.de Quadros & Eduardo Patrick
3.32.9) Node.js -- Lucas Trada & Glaucia Dias
3.32.10) Scala -- https://www.scala-lang.org/
3.32.11) Julia -- Cleberton Kobay dos Santos & Matheus Bueno Bartkevicius

3.32.12) Nim -- https://nim-lang.org/
3.32.13) Swift -- https://developer.apple.com/swift/
3.32.14) ParaSail -- https://adacore.github.io/ParaSail/
3.32.15) D Lang -- Elian de Oliveira & Rodrigo Pansolim
3.32.16) Pony -- Mateus Ribeiro e Matheus Barbosa
3.32.17) Apache Spark - Emili Everz & Luís Guilherme Molotto
3.33.3) Apache Beam - Guilherme Muller & Mateus Nascimento Czelusniak
3.33.4) OpenCL -- André Guilherme dos Santos & Kelvin Juliano dos Santos
3.33.5) OpenMP -- André Henrique Vieira Bubniak e Emerson Adriano de Oliveira
3.33.6) Message Passing Interface - MPI
3.33.7) REST -- João Guilherme Soek & Jean Samuel Candido Henrique
3.33.8) CORBA -- Luiz Gustavo de Souza Schelesky & Dyonatam Terluk


3.34) Toy Operating System - Sistema Operacional de Brinquedo

3.34.1) Toy-Os 1
3.34.2) Toy-Os 2
3.34.3) Toy-Os 3
3.34.4) Toy-Os 4
3.34.5) Toy-Os 5
3.34.6) Toy-Os 6
3.34.7) Toy-Os 7
3.34.8) Toy-Os 8
3.34.9) Toy-Os 9
3.34.10) Toy-Os 10
3.34.11) Toy-Os 11
3.34.12) Toy-Os 12
3.34.13) Toy-Os 13
3.34.14) Toy-Os 14
3.34.15) Toy-Os 15


REFERÊNCIAS:


rea.lasdpc.icmc.usp.br/pt/br
tldp.org/LDP/abs/abs-guide.pdf
scholarworks.sjsu.edu/cgi/viewcontent.cgi?article=1171&context=etd_projects