Disciplinas Relevantes
Abaixo irei listar as disciplinas que considero mais importantes para a minha formação, assim como aquelas que foram necessárias para o desenvolvimento do projeto:
- MAC0110 - Introdução à Computação
Como eu nunca tinha tido contato com programação, essa matéria me proporcionou os fundamentos necessários para seguir o curso.
- MAC0122 - Princípios de Desenvolvimento de Algoritmos, MAC0323 - Estrutura de Dados e MAC0338 - Análise de Algoritmos
Essas matérias foram importantes por serem a base de todo o curso. Através delas, conseguimos aprender algoritmos e estruturas de dados usados freqüentemente, tanto no desenvolvimento do projeto, quanto nos estágios. Além disso, elas nos proporcinaram conhecimento para analisar em que caso devemos utilizar qual algoritmo.
- MAC0211 - Laboratório de Programação I e MAC0242 - Laboratório de Programação II
Sendo matérias práticas, em que implementamos projetos grandes, foi fundamental tanto para nos acostumarmos com o desnvolvimento de projetos, tendo sido importante para o trabalho de conclusão também.
- MAC0328 - Algoritmos em Grafos e MAC0414 - Linguagens Formais e Autômatos
Como teóricos da computação, precisamos ter noção desses assuntos, uma vez que eles estão presentes em muitas soluções.
- MAC0412 - Organização de Computadores e MAC0422 - Sistemas Operacionais
São matérias essenciais e que se completam. Ao estudar ambas, tivemos a oportunidade de estudar o hardware e os programas que fazem a comunicação entre o hardware e o software de nível de usuário. Isso é muito importante, uma vez que existem sistemas com recursos restritos que necessitam de maior atenção na hora do desenvolvimento. No nosso projeto, utilizamos alguns conceitos aprendidos nessas matérias.
- MAC0332 - Engenharia de Software
Essencial tanto para o projeto quanto para estágios, uma vez que aprendemos metodologias de desenvolvimento.
- MAC0441 - Programação Orientada a Objetos e MAC0413 - Tópicos de Programação Orientada a Objetos
Considerando que desenvolvemos o sistema em Java, essas matérias foram essenciais para se fazer a modelagem do programa. O uso dessas matérias no mercado é indiscutível.
- MAC0426 - Sistemas de Banco de Dados e MAC0439 - Laboratório de Bancos de Dados
O conhecimento de bancos de dados é crucial para o desenvolvimento de qualquer tipo de projeto. Essas matérias nos proporcionaram o conhecimento de modelagem de bancos de dados, além de conhecimentos essenciais, como SQL.
- MAC0420 - Introdução à Computação Gráfica
Foi importante para o desenvolvimento do projeto, uma vez que forneceu conceitos como viewport, que foram utilizadas na aplicação dos Mapas. Além disso, aprendemos sobre a aplicação de transformações lineares em elementos gráficos, o que também foi utilizado no projeto.
- MAC0438 - Programação Concorrente
Considerando a grande complexidade dos sistemas e a necessidade de aumentar a escalabilidade, essa matéria foi muito importante para termos uma noção básica de como implementar programas que utilizam concorrência.
- MAC0440 - Sistemas de Objetos Distribuídos
Em um dos estágios em que trabalhei, utilizei conceitos aprendidos nessa matéria, uma vez que se faziam aplicações utilizando J2EE e JBOSS.
- MAT0139 - Álgebra Linear para Computação
Essa matéria foi necessária para matérias como Computação Gráfica e para o desenvolvimento do projeto, uma vez que foi necessário aplicar matrizes de transformações lineares nas imagens dos mapas.
- MAT0138 - Álgebra I para Computação, MAT213 - Álgebra II e Cálculos
Apesar de não terem uma aplicação direta na computação, senti que essas matérias ajudaram a desenvolver um raciocínio abstrato, necessário em muitas matérias da computação. Além disso, elas nos deram ferramentas para resolução de alguns problemas.
Aplicação de conceitos estudados no projeto
Como foi visto na seção anterior, pudemos aplicar o conhecimento adquirido em diversas matérias do BCC, seja direta ou indiretamente, no projeto. Esse, apesar de ter se dado em um ambiente acadêmico, se assemelha aos projetos desenvolvidos em ambientes corporativos.
É interessante observar que durante a graduação, eu, como muitos colegas, questionamos sobre a necessidade de se estudar matérias como cálculo, álgebra, ou até mesmo algumas matérias da computação, que se voltam muito à matemática. Creio que temos a idéia de que o curso deve se voltar totalmente ao lado prático. No entanto, após ter feito o projeto e ter trabalhado em estágios, vejo que as disciplinas que cursamos me ajudaram muito para a modelagem dos sistemas e fizeram com que eu conseguisse aprender a teoria por trás das tecnologias com muito mais facilidade. Sinto que, no mercado, temos uma maior facilidade para abstrair problemas e encontrar analogias que facilitam o desenvolvimento de soluções. De fato, o curso é bastante voltado ao lado acadêmico, porém, isso não impede que sejamos bastante valorizados no mercado de trabalho.
|