We may earn an affiliate commission when you visit our partners.
Course image

Este curso aborda os fundamentos da programação de computadores, utilizando algoritmos para a resolução de problemas simples.

A aprendizagem é focada na resolução de problemas computacionais, na sua representação em fluxogramas e pseudocódigos e, na sua tradução para as linguagens mais populares como o Java, o C++ ou Python.

Read more

Este curso aborda os fundamentos da programação de computadores, utilizando algoritmos para a resolução de problemas simples.

A aprendizagem é focada na resolução de problemas computacionais, na sua representação em fluxogramas e pseudocódigos e, na sua tradução para as linguagens mais populares como o Java, o C++ ou Python.

O curso destina-se a todos aqueles que pretendem iniciar-se na programação de computadores. Procurar-se-á transmitir conceitos teóricos fundamentais da programação através da resolução prática de problemas com algoritmos que podem ser codificados em fluxogramas ou pseudocódigo, sendo a sua execução feita pela ferramenta Algorithmi.

What's inside

Learning objectives

  • Conhecer e compreender os princípios básicos da programação estruturada
  • Conceber e analisar algoritmos para a resolução de problemas
  • Implementar e testar algoritmos utilizando fluxogramas ou pseudocódigos
  • Analisar a complexidade de algoritmos

Syllabus

Módulo 1: Metodologias e Ferramentas
Módulo 2: Processamento Sequencial
Módulo 3: Decisão Condicional
Módulo 4: Repetição
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a foundation in structured programming, which is essential for building more complex software applications later on
Focuses on problem-solving using algorithms, a core skill applicable across various programming languages and domains
Emphasizes the use of flowcharts and pseudocode, which are valuable tools for planning and visualizing program logic before coding
Introduces popular languages like Java, C++, and Python, which are widely used in industry and academia
Uses Algorithmi, which allows learners to execute algorithms, providing immediate feedback and reinforcing understanding
Covers sequential processing, conditional decisions, and repetition, which are fundamental control structures in programming

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Fundamentos de programação para iniciantes

Segundo os alunos, este curso oferece uma excelente introdução aos conceitos fundamentais da programação, sendo particularmente recomendado para quem está a começar do zero. As aulas são consideradas claras e bem estruturadas, facilitando a compreensão dos algoritmos e do raciocínio lógico necessário. A utilização de fluxogramas e pseudocódigo é vista como uma mais-valia para visualizar os processos. Embora a ferramenta Algorithmi seja por vezes vista como um pouco desatualizada ou simplista para quem procura codificação prática imediata em linguagens populares, a maioria considera que o curso cumpre o seu objetivo de fornecer uma base sólida antes de avançar para linguagens específicas. O ritmo é geralmente adequado para iniciantes.
Opiniões divididas sobre a ferramenta.
"A ferramenta Algorithmi é útil para visualizar o funcionamento dos algoritmos."
"Gostei da forma como Algorithmi permite testar os fluxogramas e pseudocódigo."
"Achei a ferramenta Algorithmi um pouco confusa e desajeitada no início."
"Algorithmi parece um pouco desatualizado comparado a ambientes de desenvolvimento reais."
"Embora Algorithmi seja simples, cumpre o propósito de aprender a lógica."
Mais teórico do que prático em código real.
"Senti falta de mais exercícios práticos de codificação em linguagens como Python ou Java."
"O curso é muito bom na teoria e na lógica, mas a transição para a codificação real é pouca."
"É uma ótima base, mas não espere sair a escrever código fluente de imediato."
"Foca-se mais na construção de algoritmos do que na implementação direta em código."
"Seria excelente se incluísse mais exemplos de aplicação dos algoritmos em linguagens populares."
Pace considerado bom para iniciantes.
"O ritmo do curso é bom, não é demasiado rápido para quem está a aprender."
"Consegui acompanhar facilmente, mesmo sem qualquer experiência prévia."
"Parece que o curso acelera um pouco nos módulos finais, mas no geral é bom."
"O tempo dado para absorver cada tópico é suficiente."
"Gostei do passo a passo lento e bem explicado no início."
Fornece um bom ponto de partida.
"Considero que o curso dá uma base sólida para depois aprender qualquer linguagem de programação."
"Um excelente ponto de partida antes de mergulhar em cursos mais avançados."
"Ajuda a criar as bases de pensamento lógico que são cruciais na programação."
"Sinto-me mais preparado para agora aprender uma linguagem específica."
"Os conceitos apresentados são fundamentais e bem alicerçados."
Explica conceitos essenciais de forma clara.
"Os conceitos fundamentais são apresentados de forma muito clara e concisa."
"Ajuda a entender o raciocínio lógico e a estrutura dos algoritmos através de exemplos."
"As aulas são bem explicadas, facilitando a compreensão da matéria."
"Consegui finalmente entender a base da programação que noutros locais parecia complicada."
"Foco nos fundamentos da programação é o ponto forte deste curso."
Ideal para quem nunca programou antes.
"Um excelente curso para quem quer começar a programar do zero."
"Perfeito para iniciantes absolutos! Explica os conceitos de forma muito clara."
"Recomendo vivamente para dar os primeiros passos na programação. Dá uma base muito boa."
"Este curso abriu-me as portas para o mundo da programação de forma simples e eficaz."
"Considero que o curso é muito bom para uma introdução ao mundo da programação."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introdução à Programação: Conceitos Fundamentais with these activities:
Ler 'Introdução à Programação com Python'
A leitura deste livro ajuda a aplicar os conceitos do curso em uma linguagem de programação popular e versátil.
Show steps
  • Ler os capítulos sobre estruturas de dados e controle de fluxo.
  • Executar os exemplos de código no livro.
  • Adaptar os exemplos para resolver problemas diferentes.
Ler 'Algoritmos: Teoria e Prática'
A leitura deste livro complementa o curso, fornecendo uma compreensão mais profunda dos algoritmos e suas aplicações.
Show steps
  • Ler os capítulos introdutórios sobre algoritmos e estruturas de dados.
  • Focar nos exemplos e exercícios práticos.
  • Consultar o livro sempre que tiver dúvidas sobre um conceito específico.
Praticar com Algorithmi
Praticar a criação de fluxogramas e pseudocódigos no Algorithmi reforça a compreensão dos conceitos e melhora a habilidade de resolver problemas.
Show steps
  • Resolver os exercícios propostos no curso usando Algorithmi.
  • Criar seus próprios problemas e resolvê-los no Algorithmi.
  • Experimentar diferentes abordagens para resolver o mesmo problema.
Three other activities
Expand to see all activities and additional details
Show all six activities
Desenvolver um Jogo Simples
Desenvolver um jogo simples permite aplicar os conceitos de programação aprendidos no curso em um projeto prático e divertido.
Show steps
  • Escolher um jogo simples para implementar (ex: adivinhação, forca).
  • Criar um fluxograma ou pseudocódigo para o jogo.
  • Implementar o jogo em Java, C++ ou Python.
  • Testar e depurar o jogo.
Criar um Blog sobre Algoritmos
Criar um blog sobre algoritmos ajuda a consolidar o conhecimento, explicar conceitos para outros e aprofundar a compreensão.
Show steps
  • Escolher um tópico relacionado a algoritmos.
  • Pesquisar e escrever um artigo claro e conciso.
  • Publicar o artigo no blog e promover nas redes sociais.
Ajudar outros estudantes no fórum
Ajudar outros estudantes no fórum do curso reforça o aprendizado e a capacidade de explicar conceitos.
Show steps
  • Acompanhar as discussões no fórum do curso.
  • Responder às perguntas dos outros estudantes.
  • Compartilhar seus conhecimentos e experiências.

Career center

Learners who complete Introdução à Programação: Conceitos Fundamentais will develop knowledge and skills that may be useful to these careers:
Desenvolvedor de Software Júnior
Um desenvolvedor de software júnior cria, modifica e testa códigos para construir aplicações de software. Este curso, ao introduzir os fundamentos da programação com foco em algoritmos e resolução de problemas, ajuda a construir uma base sólida para um desenvolvedor júnior. Você aprenderá a decompor desafios em etapas lógicas, representá-los com fluxogramas ou pseudocódigos, e traduzi-los para linguagens de programação como Java, C++ ou Python. As habilidades de projeto e análise de algoritmos do curso serão essenciais para o seu trabalho diário como desenvolvedor de software.
Analista de Sistemas
Um analista de sistemas avalia sistemas computacionais, propõe melhorias e ajuda a implementar soluções. Este curso, ao ensinar os princípios da programação e algoritmos, ajuda a desenvolver as habilidades necessárias para um analista de sistemas, sobretudo a capacidade de compreender o funcionamento de softwares. A experiência prática de como os algoritmos são executados usando fluxogramas e pseudocódigos, conforme descrito no curso, pode auxiliar o analista de sistemas na comunicação com os desenvolvedores e no entendimento dos problemas técnicos.
Analista de Dados
Um analista de dados coleta, processa e interpreta dados para ajudar empresas a tomar decisões informadas. Este curso, com seu foco nos princípios da programação estruturada, algoritmos e sua implementação, pode ser útil para um analista de dados que deseja ganhar proficiência em ferramentas de análise de dados. O curso te ensina como pensar logicamente para resolver problemas, algo crucial para a análise de dados. Os conceitos fundamentais da programação do curso ajudam a construir uma base para o uso de linguagens como Python, que são comuns na análise de dados.
Testador de Software
Um testador de software é responsável por garantir a qualidade de um software através de testes e análises. Este curso, com seu foco em lógica de programação e algoritmos, pode ser útil para um profissional de testes que busca aprofundar seu entendimento de como o software é construído. Os conceitos do curso ajudam a desenvolver um pensamento mais estruturado e lógico para auxiliar na criação de casos de testes mais eficientes. O curso de programação pode ajudar a entender como o código funciona, o que é importante para um testador de software.
Engenheiro de Robótica
Um engenheiro de robótica projeta, constrói e mantém robôs. Este curso, com seu foco em fundamentos da programação, algoritmos e a sua implementação, ajuda na construção de uma base sólida para a programação de robôs e sistemas embarcados. A capacidade de criar e analizar algoritmos, que é ensinada no curso, é essencial para o funcionamento de robôs, especialmente em tarefas de controle e tomada de decisão. O planejamento e a execução de algoritmos, conforme apresentado no curso, são úteis para a programação de robótica.
Engenheiro de Dados
Um engenheiro de dados projeta, constrói e gerencia sistemas de dados. Com o foco em fundamentos de programação, algoritmos e sua implementação, esse curso pode ser útil para um engenheiro de dados iniciante. As habilidades de resolução de problemas e a compreensão da lógica computacional são vitais para quem trabalha com sistemas de dados. Os conceitos aprendidos neste curso, especialmente sobre a implementação de algoritmos e os fundamentos da programação, ajudam a construir uma base para lidar com os desafios do dia a dia de um engenheiro de dados.
Cientista de Dados Júnior
Um cientista de dados júnior analisa grandes conjuntos de dados para extrair informações e insights valiosos. Para quem se inicia na ciência de dados, este curso pode ser útil ao fornecer uma base em programação. As habilidades em algoritmos e lógica de programação, que são abordados neste curso, são fundamentais para o trabalho de um cientista de dados júnior, especialmente na fase de processamento e análise de dados. A capacidade de resolver problemas computacionais utilizando algoritmos, discutida no curso, torna-se crucial para um cientista de dados.
Professor de Programação
Um professor de programação compartilha seus conhecimentos e habilidades com aspirantes a programadores. Este curso, ao cobrir os conceitos fundamentais da programação e a sua aplicação prática na resolução de problemas, ajuda a construir uma base sólida para quem quer lecionar. Um professor de programação precisa não apenas de conhecimento técnico, mas também da capacidade de explicar conceitos de forma clara e compreensível, algo que este curso também pode ajudar a desenvolver através da discussão de fluxogramas, pseudocódigos e suas traduções para linguagens populares.
Especialista em Automação
Um especialista em automação projeta e implementa soluções de automação para diversos processos. Este curso, com seus princípios de programação estruturada e foco em algoritmos, pode ser útil um especialista em automação. A capacidade de desenvolver e analisar algoritmos é essencial para a criação de soluções automatizadas, e este curso ajuda a construir essas habilidades. A compreensão da lógica computacional e da implementação de algoritmos é muito útil para quem trabalha com automação.
Programador de Jogos
Um programador de jogos escreve o código que dá vida aos jogos eletrônicos. Este curso, que introduz os fundamentos da programação, algoritmos e sua execução, é útil para quem quer trabalhar com programação de jogos. As habilidades de resolução de problemas e o conhecimento de algoritmos adquiridos neste curso são importantes para a criação de mecânicas de jogo, inteligência artificial e outras funcionalidades. Um programador de jogos pode usar os conhecimentos adquiridos no curso para construir uma base para seu aprendizado específico em jogos.
Consultor de Tecnología
Um consultor de tecnologia aconselha empresas sobre como utilizar a tecnologia para atingir seus objetivos. Embora não diretamente ligada à consultoria, este curso, que introduz os fundamentos da programação, ajuda a construir uma base para entender os conceitos técnicos por trás de softwares e sistemas. Um consultor de tecnologia que compreende a lógica da programação pode se comunicar de forma mais eficaz com as equipes técnicas e entender as limitações e possibilidades das soluções tecnológicas. A resolução de problemas utilizando algoritmos do curso pode ser útil para encontrar soluções para as necessidades de seus clientes.
Administrador de Banco de Dados
Um administrador de banco de dados garante o bom funcionamento e segurança dos bancos de dados. Mesmo que este curso não aborde diretamente o gerenciamento de bancos de dados, ele pode ajudar o profissional a entender os fundamentos dos sistemas de informação. A compreensão da lógica de programação e da resolução de problemas, conforme ensinado neste curso, pode ser útil para um administrador de banco de dados ao lidar com tarefas como otimização de consultas e segurança. O curso ajuda a desenvolver o pensamento lógico utilizado na administração de bancos de dados.
Analista de Segurança da Informação
Um analista de segurança da informação é responsável por proteger os sistemas e dados de uma organização contra ameaças. Apesar de não ser o foco principal, este curso, que ensina fundamentos da programação e algoritmos, ajuda o analista de segurança a entender como softwares são construídos. Este conhecimento pode ajudar na identificação de vulnerabilidades. Um analista de segurança pode se beneficiar ao compreender a lógica por trás do código, e este curso ajuda a iniciar esse entendimento.
Desenvolvedor Web Front-End
Um desenvolvedor web front-end cria a interface visual de websites e aplicações. Embora este curso se concentre em fundamentos da programação, a lógica e a resolução de problemas que ele ensina ajudam a construir habilidades básicas para desenvolver interfaces interativas. A lógica algorítmica abordada neste curso pode ser aplicada na manipulação de elementos visuais dentro das interfaces. Este curso pode ser um bom ponto de partida para se tornar um desenvolvedor web front-end.
Técnico de Suporte de TI
Um técnico de suporte de TI resolve problemas técnicos para usuários de computadores. Este curso, por introduzir a lógica da programação e o desenvolvimento de raciocínio algorítmico, ajuda o técnico a entender como os softwares funcionam, facilitando a identificação de problemas e a busca por soluções. O conhecimento do funcionamento de softwares usando lógica de programação é um diferencial importante para técnicos de suporte. Os conceitos básicos de programação do curso podem ser aplicados na resolução de problemas do dia a dia.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introdução à Programação: Conceitos Fundamentais.
Este livro é um recurso abrangente sobre algoritmos, cobrindo desde os conceitos básicos até tópicos mais avançados. Ele fornece uma base sólida para entender a teoria por trás dos algoritmos e como implementá-los de forma eficiente. Embora seja mais valioso como leitura adicional, ele pode servir como uma referência útil ao longo do curso. É frequentemente usado como um livro de texto em cursos de ciência da computação.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser