📜  如何学习编程?

📅  最后修改于: 2021-10-19 08:26:23             🧑  作者: Mango

你想在2020年学习编程吗??你想建立一个像 Facebook、Twitter、Instagram 或 WhatsApp 之类的网站吗?
您对这些网站或应用程序感到非常兴奋,并决定学习编码。您想构建下一个 Facebook、Instagram 或任何其他喜欢的应用程序。那么您将采用什么方法来构建这些类型的网站?

大多数人遵循的最常见方法是……您购买一些博客文章或网站推荐的与编程相关的书籍,或者您去 youtube(或任何其他资源)上的一些课程或教程开始学习编码。最初观看该教程时,您也会喜欢并喜欢它,并且您会觉得自己正在学习许多很酷的概念和有关编程的新事物。嗯,这在短时间内可能真的很好,但是大多数新手程序员会发生什么……他们被太多的概念所淹没,并被困在一个教程到另一个教程中。当他们被要求在没有任何帮助的情况下自己开始一个现实世界的项目时,这对他们来说变得更加困难和沮丧。他们没有逻辑,他们不知道从哪里开始,如何解决特定问题或如何自己构建某些特定模块。

如何学习编程?

是的,没错……那么如何学习编码,学习编程的最佳方法是什么……?
好吧,大多数初学者在编码时都会遇到这个问题。教程非常棒,它教授了很多概念或不同的编码方法来构建某些东西,但是当您开始处理一些实际项目时,您会感到不满意,因为您无法在项目中使用所有这些概念。因此,在 2020 年学习编程的最佳建议是遵循基于项目的学习方法。构建尽可能多的项目,以增强您在编程中解决问题的能力。请记住,编程不是学习一门语言(Python、C++、 Java等),而是解决问题的能力。同样在工作中,雇主需要一个问题解决者,所以在面试时,你解决问题的能力是第一位的。

那么如何在学习编码的同时培养解决问题的能力呢?告诉我学习编程应该遵循的步骤……

让我们讨论学习编程的步骤和一些建立解决问题能力的技巧……

1. 选择一门语言并理解基本的基本概念

许多初学者跳过基础知识,直接跳到闪亮的工具和技术。这不适用于面试或构建任何类型的项目。如果你的基本面不清楚,你会变得更加困惑和分心。因此,首先选择您最熟悉的编程语言(Python或 C++ 也不错,但这取决于您的最终目标)并了解语法和基本概念(变量、条件、运算符、循环等)。
使用您喜欢的语言编写程序并建立基础。如果您在上大学,那么大学很擅长教授基本概念,否则您可以借助互联网。 GeeksforGeeks、Codecademy、HackerRank 等很好地构建了基本的基础。当您开始学习基础知识时,以下是一些有用的提示。这也将培养您解决问题的能力。

  • 大多数课程都是从教授编程语言开始的,这很好,但了解如何使用编程语言解决问题。例如如何解决两个数相加的问题。
  • 坚持使用一种语言。不要试图一开始就学习所有东西。大多数初学者不断从一种语言跳到另一种语言,这只是浪费时间。最初,坚持使用一种语言是好的。如果你想成为一名Java开发人员,那就学习Java。对于大多数新手程序员来说,学习第一语言很困难,但是一旦你开始每天练习,你的大脑最终会掌握语法。
  • 尝试每天制作程序,即使只有一两个,也不会有任何差距。试着先做小程序,然后再做复杂的程序,但要保持一致性。
  • 调整良好的学习策略。例如:与其先学习所有理论,然后再跳到让程序遵循概念学习和主动学习之间的 2:1 比例。这意味着在每两个小时的概念学习之后,花一个小时进行实际接触或主动学习。
  • 根据您所学的基础知识制作一个小型应用程序或项目。例如,制作一个计算器或您感兴趣的东西。学习当你被困在某个地方时如何使用谷歌。

2. 学习数据结构和算法

数据结构和算法是编程的核心。一旦您熟悉了任何一种语言并制作了一些基本程序,接下来您应该做的是学习数据结构和算法。如果您了解数据结构和算法的基础知识,您将更好地培养解决问题的技能。了解并非所有数据结构都可以在任何地方使用,因此对于任何类型的问题,您首先需要实现一个算法,该算法是解决特定问题的逐步过程,然后您需要选择正确的数据结构来解决问题.数据结构和算法的正确组合对于解决问题非常重要。
学习实现数据结构和算法,每天用你的编程语言练习。 GeeksforGeeks 适合初学者从练习数据结构和算法问题开始。以下是在学习这两个基础知识时要遵循的一些有用提示。

  • 再次不要试图一次性使用所有数据结构和算法的理论或概念。学习一个主题,在我们上面提到的网站上练习,然后转到下一个主题。您可以调整适合您的特定学习策略。我们在上一步中已经提到过(2:1 比例)。
  • 当您转向复杂问题时,将大问题分解为较小的块,然后解决这些块以获得最终输出或解决方案。
  • 练习,练习,再练习就够了。亲自参与编程,并在可能的情况下参与不同网站上的竞争性编程。您将获得信心,并且在解决问题方面会变得更好。
  • 了解如何在实际项目中使用这些数据结构和算法。例如:在 Web 应用程序中,您会发现大量使用数组和字符串。
  • 您了解基本概念,了解数据结构和算法的基础知识,现在可以根据所学知识构建应用程序。您也可以尝试使用这些概念在您之前的应用程序或项目中实现一个功能,这将帮助您扩展您的项目,并为您提供解决问题的机会。

3. 构建项目

就像我们已经提到的那样,当涉及到自己构建项目时,大多数新手程序员都会陷入困境。你觉得所有的教程或练习都只是浪费时间,因为这对你自己的项目没有帮助。您从教程中保留了很多内容,但它只是过头了,现在您无法将所有概念和逻辑应用到您的项目中……放松!

最初尝试先构建一个小项目或静态网站,它可以是您自己的作品集、Web 应用程序、Android 应用程序或任何类型的游戏。最好从一些更简单的项目开始,然后转向复杂的项目。您可以尝试构建或启动类似 I am TK 站点的内容。许多初学者不明白他们应该在他们的项目中包含什么。所以这里是例子。

如果您想制作电子商务网站,请从构建小功能开始。您可以从注册或登录表单开始,然后您可以移动到下一个功能,例如导航栏。因此,与其一次做所有事情,不如分析整个项目并将其分解为较小的问题或块。这取决于您的项目复杂性,您需要首先构建哪些功能。最初,你会犯很多错误,你会面临很多问题,但这就是你将学习构建和处理复杂项目的方式。以下是您在制作项目时应遵循的一些有用提示。

  • 学习在您的项目中使用一些好的工具、编辑器或调试器。了解如何在需要的地方使用开发人员工具(对于 Web 应用程序,这是最重要的学习内容)、模板、包或库。
  • 当您卡在某个地方或发现错误时,请仔细阅读错误消息。大多数新手程序员都避免出现错误消息,但它确实有助于解决问题。此外,谷歌你在构建项目时遇到的问题或错误。在大多数情况下,您会在 Stackoverflow 上找到答案,这是一个非常适合开发人员的社区。
  • 避免在您的项目中过于完美。你的项目最终会出现拖延和缓慢进展。
  • 请记住,没有完美的代码——所以避免过度设计的东西并继续前进。首先,让它工作,然后让它正确,最后让它快速

4. 探索

当您完成项目时,您的旅程并没有结束。探索更多,尽可能多地探索计算机科学领域。计算机科学是一个广阔而丰富的领域,因此请分析最让您着迷的领域。您可以探索不同的领域,例如机器学习、云计算、系统编程、移动应用程序开发、区块链、虚拟现实、Web 开发等。 Github 上有很多项目,互联网上有很多可用资源。根据您的兴趣,您可以在互联网上找到一些教程或项目。从那里学习并尝试在上面做一些项目。

检查其他开发人员的不同方法和方法。养成阅读 GitHub 或 StackOverflow 上代码的习惯。您会找到多种方法来解决一个问题。调整最佳实践以解决编程中的问题。加入一些在线技术社区,为开源项目做出贡献或参加一些比赛。如果您是学生,请参加 ACM – ICPC 或 GSoC。你探索和实践的越多,你就会成为更好的程序员。