📜  初学者有效学习编码的最佳技巧

📅  最后修改于: 2021-10-19 06:03:44             🧑  作者: Mango

当一个人下定决心学习编程技能时,他的脑海中会出现各种各样的问题,例如如何开始,从哪里编写第一个代码等等。 而初学者不仅发现开始编码很困难但也很难找到有价值的平台和资源来学习和提高编程技能。但是,您不必担心,因为所有有经验的程序员都曾经是初学者,几乎每个人都面临这个问题——您需要做的就是遵循战略方法并在整个学习过程中保持一致。

在这里,在本文中,我们将向您介绍几个最受推荐的有效学习编码的技巧,还将提及您可以方便地学习和练习编程技能的各种著名平台:

1. 精通相关编程语言

如果您想学习编写代码,那么显然,您需要了解一种与计算机交互的编程语言。这将是您了解所选编程语言的所有基本概念的第一步,也是最重要的一步。由于初学者选择编程语言总是令人困惑,所以让我们为您简化一下。尽管每种语言都有自己的用例,因为您是初学者,而且很可能在首选语言是 C/C++ 的学校或大学中,您可以从 C 开始,因为它是一种中级语言,您不必在学习 OOP 概念的同时担心学习它。之后,您可以根据您的最终目标转向Python、C++、 Java等。

对于最终目标,如果您想完全进入竞争性编程或想了解嵌入式系统,那么您可以选择 C++,这意味着很少。有些人想进入 ML/AI 或后端开发,然后他们可以选择Python。同样,有些人想做网站,然后他们需要了解 JavaScript 等。但在开始时,您不必担心太多。请记住,切换语言并不难,难的是正确学习第一种语言。所以慢慢来,你会创造奇迹。

现在问题来了,你将如何学习C?有很多资源——最受欢迎和最受推荐的资源之一是 GeeksforGeeks,您可以在其中免费学习和练习 C 编程(以及其他语言)。您还可以选择 YouTube 视频、在线课程等,以便更好地学习。

2. 在您的智能手机中使用代码编辑器

并非每次都可以随身携带 PC 或笔记本电脑,但因此,您的学习进度不应受到影响或减慢。请记住,您是初学者,应该尽可能多地练习,为此,有必要在您的智能手机中使用一些好的代码编辑器。但是,这并不意味着如果您没有笔记本电脑或 PC,那么您可以在这些移动代码编辑器中完成所有操作,因为它们也有一些限制,但是如果您正在旅行或有时感到懒惰或不舒服打开笔记本电脑或 PC,然后您可以在智能手机中选择这些代码编辑器,以继续您的学习和练习课程。因此,为了有效利用你的时间,现在就在你的手机上安装一些好的移动编辑器,比如 Dcoder、编程中心、编程英雄等,或者你可以随时在 GeeksforGeeks 练习部分练习,它也是移动兼容的。

3. 学习数据结构和算法

什么是数据结构和算法?数据结构是一种以有组织的方式存储数据的方法,算法关注解决特定问题的分步过程。数据结构和算法在解决编码问题中始终扮演着重要的角色,因此您需要尽可能多地改进它。您可以浏览 GeeksforGeeks 网站以掌握数据结构和算法技能,因为它是所有 DS 和算法相关内容的一站式目的地。您可以先通过教程或各种在线或离线课程学习特定主题,然后根据该主题在练习部分解决一些问题。

永远记住你练习得越多,你就会变得越好。另外,尽量先解决简单的问题,但不要只解决简单的问题,解决4-5个简单级别的问题后,转到中等级别的问题,然后再解决困难的问题。如果思考了 1-2 个小时还是没有切中要害,请与其他人讨论并检查其他人的解决方案。即使您知道答案,您仍然可以在提交自己的解决方案后选择检查其他人的解决方案,以了解解决单个问题的不同方法。

4. 正确阅读问题

初学者总是对问题的语言感到困惑。很多时候,问题陈述中有很多无用的东西你实际上不必关注,它们的主要目的是欺骗你,而理解这一点的唯一方法就是正确阅读问题陈述。例如——如果你被要求使用一些复杂的约束来解决一个问题,比如反转、重新排序等。总是检查它是否有任何模式。如果您只是尝试按照问题陈述中所写的方式解决问题,您可能会遇到时间限制错误。

建议您使用副本或白板有效地解决问题。为了找到模式,在你的副本中写下公共测试用例并对其进行数学运算。找到模式后,写下伪代码并在编码前检查它是否适用于所有测试用例以及边界条件。如果您仍然遇到一些错误,请使用打印语句来调试您的代码。同时,也许这些东西在你刚开始的时候是没有意义的,但以后你会遇到这些问题,所以从解决问题开始,即使问题看起来很容易,也要养成拿起纸笔的习惯。

5. 寻求帮助

如果您认识有过编码经验的人,请始终尝试向他们学习。问问他们他们是如何解决这个问题的,身边有一些和你有相同目标的人总是好的。它们可以帮助您继续前进,并为您提供从不同角度看待问题的方法。如果你周围没有这样的环境,即使这样,你也可以通过各种有竞争力的网站如 Hackerrank、Codechef 等向他人学习。这些平台上有论坛,你可以使用这些论坛来提出问题并通过其他人’ 解决方案。

6. 进行竞争性编程

竞争性编程确实是展示和分析您的编程技能的最佳方式之一。有Codechef、Leetcode等各种在线平台,你可以参加众多的编码比赛,可以与世界各地的各种聪明人一较高下。它肯定会帮助您在编码时提高效率并为特定问题提出最佳解决方案。这些平台上组织了各种类型的挑战,例如日常挑战、每周挑战、每月竞赛等。此外,除了提高您的编程技能外,您还可以获得各种激动人心的奖品和职业机会通过参与这些编码挑战。

7. 保持耐心和休息

最后但并非最不重要的 – 不要试图在几天或几周内掌握编程技能。在学习阶段你需要保持耐心,因为这不是几天或几周的问题,肯定需要时间。有时,您可能一整天都无法理解一个主题,在这种情况下,与其在该主题上挣扎数小时,建议您休息一下,做一些您喜欢的事情就像听音乐,看电影,提神。此外,尝试将学习目标或任务分成更小的部分,以在整个过程中保持积极性和一致性。