Closed muniz95 closed 7 years ago
Para a parte de back acho que seria legal começar pela base, lógica de programação, OOP, SQL, NoSQL e por ai vai.
Lógica de programação acho importante pra tudo, deveria ser um pré-requisito pra todos :)
Boa @alinebastos, agora que vc comentou, poderiamos criar uma lista dos cursos oferecidos e descrição de cada um, juntamente com pré requisitos. :smile:
Eu acho importantíssimo o básico de UI moderno: HTML, CSS. Julgo ser um conhecimento indispensável para o desenvolvedor web.
O que eu vejo muito também é agregarem o conhecimento de UI (HTML, CSS) e separarem de JavaScript, mesmo que seja apenas para manipular o DOM, devido a necessidade de conhecimento de lógica de programação para faze-lo.
Existe alguma forma legal de apresentar as duas formas de conhecimento sem segrega-las?
Sim, seria bem interessante pra orientar as pessoas! Muita gente não tem ideia de como começar, por onde seguir depois.
Eu também tenho uma opinião bem forte em relação à aplicação do conhecimento de Ciência da Computação (lógica monádica, padrões de projetos e, principalmente, estrutura de dados) ao dia a dia.
Debati, recentemente, com colegas sobre a importância de olhar para um código e inferir a complexidade computacional e ciclomática dele.. sobre saber qual estrutura de dados usar em dada situação e porquê... sobre saber aplicar os padrões de projetos e porque aplica-los.
@bernardocs Eu acho que a questão de padrão de projetos, é bem relativa, o que aplicar e quando aplicar depende de N variáveis, na minha opinião. Mas acho que poderia ter um curso sobre isso tudo, design pattern, estrutura de dados e outros.
Minha sugestão de curso segue na linha do livro Clean Code e outros bons livros, que um desenvolvedor poderia lêr e aplicar.
Não apenas ensinarmos a tecnologia, mas como usá-la direito. Como escrever um bom código e etc.
Isso poderia ser um ou mais cursos a parte, ou um conceito inserido em todos os outros cursos, quando for aplicável.
Padrões de projeto.
Acho que seria interessante abordar Lógica de programação com uma didática voltada para os mais jovens, quem sabe até crianças interessadas na área.
Lógica pra crianças acho muito interessante! Tenho uma filha de 10 anos que sei que adoraria :)
Poderia ter algo de IoT, Robótica utilizando Arduino, Rasp e afins.
Tô vendo que vamos ter uma lista de cursos muito interessante :D
@alinebastos nessa ideia de lógica para crianças seria legal abordar o Scratch que é feito pensando nos pequenos
Sim! Minha filha começou a usar ele, mas acabou ficando sem note. Quero ver se ela volta. Eu achei muito legal, e muito fácil de entender!
Sobre começar pelo básico, posso ajudar a escrever sobre Algoritmos e Estrutura de Dados em JS com node. Quem sabe, depois de implementar na mão, pegar alguma lib tipo underscore ou lodash pra galera também ter algo prático pro mercado.
Será que Algoritmos não seria melhor começar pela teoria sem utilizar uma linguagem em si?
Eu acho q um portugol da vida, pra início ao menos, sempre é bem vindo
Eu acho que a ideia é fazer a galera conceber que a linguagem é só o "meio" para se alcançar a solução. Vale de fazer uma metodologia bem pausada, tipo um passo a passo desde:
Quando pedem pra eu explicar algo, eu sempre resumo o processo de solucionar problemas via programação desta forma.
Todavia, não sei se esta metodologia se aplica bem à galera mais iniciante.
Aumentar o repertório de maneiras de resolver problemas também é uma boa... Apresentar um problema e resolve-lo usando:
etc.
Contudo, deixo a mesma ressalva que falei no meu comentário acima: não sei se seria didático para pessoas com pouco ou nenhum conhecimento no assunto.
Não sei se é esse o objetivo (cheguei agora), mas se ficar muito teórico, a gente vai cobrir a mesma ementa de um curso de Ciências da Computação.
Tem que definir bem o perfil do aluno pra saber se vai ser esse caminho mesmo ou algo mais prático.
2017-08-03 15:22 GMT-03:00 Bernardo da Costa Santos < notifications@github.com>:
Aumentar o repertório de maneiras de resolver problemas também é uma boa... Apresentar um problema e resolve-lo usando:
- estruturas básicas de repetição e controle de fluxo
- recursão
- um approach funcional
etc.
Contudo, deixo a mesma ressalva que falei no meu comentário acima: não sei se seria didático para pessoas com pouco ou nenhum conhecimento no assunto.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/openschoolbr/forum/issues/2#issuecomment-320050605, or mute the thread https://github.com/notifications/unsubscribe-auth/ACdL_5Y5DZfRkCk0LzXbFvVkcBL-IBmAks5sUg_8gaJpZM4OrY_z .
-- Yuri Oliveira Lokah samastah sukhino bhavantu
Eu su suspeita pra falar, pois vou começar CS este ano, hehe, então adoraria algo mais teórico. Mas podemos dividir entre matérias mais teóricas e mais práticas. Acho que se cada um que entrar aqui se dedicar a ensinar o que gosta vai ter pra todos os gostos :)
Se for ter um curso de CSS acho legal incluir CSSLint (ou qualquer outro), pré-processadores, apresentar alguns frameworks, entre outros assuntos. Eu acho legal também contemplar assuntos voltados pra matemática também, não só computação, pois é algo que estimula nossa lógica e ajuda bastante dependendo do código. Geografia seria uma boa também pra explicar sobre geolocalização e afins. Contextualizar é um ótima pedida.
Por que não fazer nos moldes do curso em video? Tem um curso de lógica, e a partir dele a pessoa se dedica a linguagem que quiser, tipo, php, python, js, c#... até java, e cada curso de linguagem teria mais ou menos uma ementa igual, pelo menos até certo nível.
@fsoaresjunior também concordo que teria um padrão todas as linguagens. E esse padrão poderia seguir o de lógica. Já que toda linguagem tem IF, ELSE e afins. Só muda a forma de implementar essas coisas. Seria um molde legal pra seguir.
@larismourullo isso mesmo, módulo introdutório -> lógica, depois cada linguagem seguiria seu caminho.
Sugestão: UX Design para desenvolvedores
Movida para a #9
Wrapping up e sugerindo:
Pré-trilhas
Trilhas
Backend (PHP, JS, Ruby, Python [, Java, Scala])
Frontend
Como organizar
Sugestão de https://github.com/openschoolbr/forum/issues/5#issuecomment-320008417
@nandomoreirame estava pensando em falar sobre isso, podemos escrever juntos. :heart:
Não sei se cada tópico em um branch ajudaria muito não cara, fica mais complicado eu acho... Teria que ser uma estrutura de pastas mesmo
Vou pensar num currículo em JS para mandar aqui.
@wmsbill pra JS podia ter como base o livro Eloquent JavaScript ele tem uma uma ordem boa do que abordar pena ser JS5 ainda então teria que ver o que teria pra acrescentar na ementa.
Chegando meio atrasado, mas apenas para dar minha opinião, eu acho que a parte teórica é imprescindível, a ideia é passar um curso de qualidade e formar pessoas com uma boa base.
@lflimeira teremos alunos que estão entrando na faculdade, para eles ter uma base ao chegar lá seria uma ótima oportunidade. Conteúdo independente dele ser mais prático ou teórico é conteúdo. É só necessário dosar pra não ficar algo monótono e não ficar algo parecendo que é só mágica acontecendo.
Sim sim... Por isso eu que eu acho que passar lógica de programação sem uma linguagem é importante, pq na facul eles podem ter n linguagens possíveis, com a base forte os alunos vão chegar preparados.
@lflimeira mas é o que a galera pretendia, uma parada geral e depois lógica com a linguagem. Tivemos vários problemas de lógica de programação por sinal na minha faculdade, muito alunos desistiram do curso por falta de lógica infelizmente é algo que realmente acho necessário.
Boas práticas em desenvolvimento Mobile: React native, Android e iOS, TDD, Segurança da informação em desenvolvimento de software e por aí vai
Acho legal abordar programação funcional, reativa e concorrente. Falar também sobre cálculo lambda, teoria da recursão, expressões regulares, efeitos monádicos, funtores, funções puras e etc. Tenho algumas coisinhas que anoto por aqui, não é grandes coisas mas, acho que ajuda.
https://gist.github.com/lukkaslt/
Tenho também alguns artigos científicos sobre programação funcional e alguns exercícios e receitas sobre JS. Se for de interesse dos membros posso organizar e subir depois.
Esquecemos do curso do Git/GotHub, na minha opinião esse curso deveria ficar na base tbm. O que vcs acham?
Esquecemos do curso do Git/GotHub, na minha opinião esse curso deveria ficar na base tbm. O que vcs acham?
Acho muito valido, facilita pra iniciantes conseguirem encontrar as coisas do conteúdo no GitHub também.
Pessoal, eu dei uma pequena organizada dos assuntos e quantidade que foi mencionado, caso esqueci algum, pode adicionar.
Voto | Assunto |
---|---|
3 | Lógica de Programação |
3 | Padrões de Projetos |
2 | Git |
2 | GitHub |
2 | Estrutura de Dados |
1 | OOP |
1 | SQL |
1 | NoSQL |
1 | HTML |
1 | CSS |
1 | Javascript |
1 | Lógica Monádica |
1 | Clean Code |
1 | IoT |
1 | Robótica (Arduino, Raspberry) |
1 | Scratch |
1 | CSSLint |
1 | Pré-processadores CSS |
1 | UX Design para desenvolvedores |
1 | Matemática divertida |
1 | PHP |
1 | Ruby |
1 | Python |
1 | Java |
1 | Scala |
1 | DevOps |
1 | Boas Práticas |
1 | React Native |
1 | Android |
1 | iOS |
1 | TDD |
1 | Segurança de Informação |
1 | Programação Funcional |
1 | Programação Reativa |
e em ordem?
@lflimeira boa, adicionei Git / GitHub na #9
Se for para dar mais foco no básico, lógica e POO são melhores, se não, podemos dar foco em tecnologias do momento como NoSQL, GraphQL, ReST e etc
@lukkaslt deixei no Pré-trilhas, mas pode-se ter uma trilha pra cada paradigma também
Um único curso de lógica de programação, e depois cada linguagem vai com sua sintaxe, porque tem muita gente avançada, mas também tem muita gente que está começando, e seria melhor, primeiro dar foco no básico, para aí sim, passar conteúdos avançados.
Pessoal, primeiramente gostaria de dizer que achei muito boa a iniciativa. Em relação ao conteúdo, vou dar minha humilde opinião.
Embora tenha feito ciência da computação e não terminado é inegável que a linha de raciocínio de aprendizado apresentada é muito boa.
Primeiramente devemos ignorar gostos pessoais por uma linguagem específica, pois como profissionais temos que saber avaliar qual são os prós e contras de qualquer coisa e saber identificar o que será melhor para o que vamos fazer.
Inicialmente acho legal termos um módulo de história da computação, contando desde a criação do ábaco passando pela primeira guerra e chegando aos computadores de hoje em dia, acho que é bem interessante saber a história de como chegamos até os dias de hoje. Pode se falar também das linguagens de primeiro nível, segundo e etc. Diferença entra compilação, transpiração e interpretação.
Acho fundamental aprender algoritmos com algo palatável como por exemplo: portugol, uma linguagem tranquila de entender pq quebra a principal barreira de muitos desenvolvedores, o idioma.
Depois acho legal a ideia de aprender sobre alocação de memória, ponteiro, passagem de parâmetro e coisas do gênero e para mim não existe linguagem melhor que c.
Acho que todo profissional deve saber estrutura de dados, saber o que é uma fila, lista, árvore e algumas coisas mais complexas.
Depois podemos iniciar os conceitos dos paradigmas de programação como por exemplo: orientação objeto, funcional e o procedural. Acho legal ter as críticas sobre eles e identificar casos que cada um deles podem ser usados.
Após os conceitos dos paradigmas, podemos avançar sobre arquitetura de sistemas. Sistemas distribuídos e paralelos. Arquiteturas como p2p, cliente servidor e por aí vai.
Agora que sabemos os paradigmas, os conceitos de arquitetura de sistema, podemos avançar sobre os padrões de projeto e de código.
Agora sim acho que as pessoas vão ter condição de aprender as linguagens da moda ( brincadeira) e agora podemos diferenciar em 3 trilhas front-end, back-end e tudo relacionado a banco de dados.
Front-end ...
Back-end ...
Banco de dados ...
Eu sou a favor de começar com algum assunto de tecnologias, linguagens, frameworks mais moderno, por ser mais atraente e divertido, acho que isso serve pra pessoal que já está no mundo dev por um tempo já, e também pra pessoal que tá entendo, pra eles sentir um pouco de gostinho primeiro.
Pois pessoalmente, humildemente, acho que as matérias teóricas e históricas de computação, apesar de ser importante, é um assunto mais seco, que pode não ser interessante pra iniciante.
Apesar que concordo que todo esses assuntos básicos são muito importantes, sem duvida alguma.
Acho que lógica de programação em um nível inicial n deveria nem utilizar portugol, apenas ensinar a galera a pensar de forma lógica e criar um algorítimo passo a passo. Ensinar fluxograma e depois entrar com um portugol. Mas essa questão de conteúdo dos cursos acho que podemos definir em um segundo momento, quando os cursos começarem a sair do papel.
acho que vale apena ter algum curso de algoritmo tb !
A comunidade é livre para decidir quais temas serão abordados nos cursos.
Sugestões de assuntos pra virar curso podem ser feitas por aqui.