c 语言编程学习 编程环境_您学习了编程语言,但是如何开始编码?

c 语言编程学习 编程环境

每当我访问r / programming时,都会有一个程序员的帖子,上面写着“我已经完成Sololearn课程,通读编码书籍,并完成了我的CS课程。 我什至理解大多数编程笑话。 所以,我已经足够好了吗?”。

通常,当我看到这些帖子并转为“不,您不是。 您是否以代码方式思考使用母语的方式? 如果否,则重新阅读“像程序员一样思考”。

达到流利的编程语言的道路很漫长,而且没有终点,最终,您需要放弃CS测验,开发自己的产品,并(我知道您一直在等待这个)寻找工作。

如何摆脱编程学习者的不自信,成为一名专业人士? 这是我个人旅行的逐步说明。

步骤1.以选择的语言完成基本项目

看到有多少编程学生精通一门语言,这让我感到很难过,因为一系列抽象概念对在课堂外如何使用它完全一无所知。 这就是为什么我孜孜不倦地强调使程序员成为自信的简单,直接项目的重要性的原因-这是我最喜欢的项目。

用您正在学习的语言创建井字游戏

游戏本身很简单,但是项目对您掌握编程逻辑的影响却是惊人的。 以下是编码遵循的规则:

  1. 创建一个九块砖的运动场
  2. 将X分配给玩家,同时将O分配给计算机
  3. 添加一个弹出窗口,询问玩家要在哪里放置X
  4. 玩家放置X之后,计算机放置O
  5. 确定获胜者

制作一个Hangman游戏(带有或不带有GUI)

该任务分为两个部分-将游戏的基本逻辑转换为代码,以及构建用户友好的界面以使玩家感到愉悦。 首先,让我们概述一下游戏规则:

  1. 创建一个字母列表,每个字母中包含5–6个字母,并使每个游戏显示一个随机条目
  2. 要求游戏参与者猜出所选单词的字母
  3. 如果玩家猜对了字母,请使用它来填写相应的空白
  4. 如果玩家做出错误的猜测,请让他知道他被绞死之前尝试了多少次

在代码中实现了上述原则之后,请集中精力包装最终产品。 由于编程与创造力无关,而是功能,因此,使用现成的GUI软件包非常合适。 对于Java,我通常使用Swing-有许多可用的接口元素。

做你的研究

如果这些示例项目太基础,那么在线上有很多示例可以帮助您提高程序员的技能。 这是编程学生必备的平台列表。

Codegym是一门Java学习课程,为初学者和中级学习者提供了数十种Java游戏。

ZetCode共享了一组令人惊叹的Java 2D游戏(您可以查找多个现有项目的代码,也可以获取有关实践问题的动手游戏开发经验)。

Codingame是我最喜欢的实践项目之一,支持25种语言,因为它可以教会新手开发人员承担责任。 基本上,该平台允许程序员从同行停止的地方开始,为创建全球游戏做出贡献。

步骤2.使用编码挑战平台

为确保您有信心在现实世界中使用编程语言,请将软件开发教育的最后阶段专用于获得尽可能多的编码实践经验。

好消息是,有很多有用的资源会给开发人员带来难题和实践难题。 这是我最喜欢的:

1. CodeGym (Java)

我是一名Java导师和发烧友-这就是为什么我对讨论新项目感到特别兴奋。 现在,CodeGym是我通常引导学生使用的第一个平台。 一方面,此资源仅以Java为目标-因此,开发团队对语言的了解非常深入。

除此之外,我发现CodeGym提供的学习曲线非常结构化-所有练习问题都根据其针对的概念进行了分组。 您可以找到许多有关Java语法的任务,然后继续进行集合,类型转换,OOP和其他概念。

总共有1200多个练习问题-完成所有这些练习后,您一定会准备好进行工作面试。

2. Coderbyte (JS,Java,Python,Objective-C,Swift等)

Coderbyte提供10种以上的编程语言,为具有不同经验和技能水平的开发人员提供了数百种语言。 根据您的技能,您可以选择简单的任务(在字符串中找到最短的单词)或高级难题(如图形基数匹配中的难题)。

3. Codechef (支持35种编程语言:C + C ++,Java,Python等)

如果您想在学习过程中引入友好的竞争,一定要尝试一下Codechef。 该平台举办定期的编程比赛,并为Java,Python,C和其他流行语言提出了广泛的挑战。 您可以使用内置的工具编辑器来编写和检查代码的正确性(如果您要求我,则具有非常方便的界面)。

4. LeetCode (C,C#,C ++,Python,Ruby,Java和JS)

如果您打算寻找编程工作,请不要错过LeetCode。 这个平台是在实际条件下练习编码并准备面试雇主的真正交易。

LeetCode支持七种编程语言-C,C#,C ++,Python,Ruby,Java和JS。 您可以探索平台的两种模式-按主题分组的挑战或“模拟面试”-在这种模式下,您会被有关该语言所有方面的编码问题所困扰,并且回答问题的时间有限。

5. Sphere Online Judge (超过45种编程语言,包括Haskell,Ocaml和深奥的语言)

SPOJ是目前最大的编码实践平台之一,面临超过2万个编程挑战。 Sphere Online Judge还定期举办黑客马拉松,使开发人员可以面对面并共同改进。

就我个人而言,我对SPOJ完全是点对点的事实有疑问,这意味着您不会看到官方的实践问题答案,而必须信任其他开发人员。

步骤3.向同伴寻求帮助

即使您解决了实践问题并非常了解该语言的理论,也要成为顶尖的编码人员,还有更多。

沉浸在编程社区中将帮助您发现专业人员通常面临哪些挑战,哪些项目最受欢迎,了解行业内的笑话等。

这样,当您完成第一份编程工作时,将办公室变成第二个家就没有问题。

您可以在哪里与程序员取得联系? 我通过签出与同伴建立联系的论坛和沟通渠道进行了整理,希望这些对您有所帮助。

Reddit频道

通用编程

  • r /编程
  • r /学习编程
  • r /代码一起
  • r /编程工具
  • r / gamedev
  • r / prograrticles
  • r / webdev
  • r /每日编程器

编程语言

  • Java: r / java , r / javahelp
  • JavaScript: r / javascript , r / LearnJavaScript
  • 斯威夫特: r / swift
  • Objective-C: r / objectivec
  • PHP: r / php
  • Python: r / python , r / learnpython
  • C#: r / csharp
  • C: r / c_programming

松弛渠道

一般

  • Hashtag开发人员-Slack上最大的编程渠道。
  • 欧洲开发人员资源库European Dev Explorer )是考虑迁移到欧洲国家的开发人员的有用渠道,涵盖了就业市场,生活成本,税收等。
  • Angular JS聊天 -最好的Angular开发人员共享案例并回答编码问题的地方。
  • DevOps聊天 -最令人讨厌的Slack社区之一,主要涵盖了深入的DevOps概念。

编程语言

  • #Ruby
  • #php
  • #Python
  • #node.js
  • #走

其他平台

以下是其他知名论坛,无论是初学者还是高级程序员都经常在这里闲逛:

StackOverflow-该平台在点对点论坛中占主导地位。 在这里,您既可以得到理论问题的答案,实用建议,也可以得到代码的合理反馈。

SitePoint是Web开发人员和设计师中另一个受欢迎的论坛-除了在开发中向您推荐之外,在SitePoint上闲逛还将有助于了解其他部门(UI / UX,市场营销等)的同事。

黑客新闻 — 黑客的第一论坛,涵盖了业界的最新新闻,回答问题并分享了工作经验。

步骤4.在线共享您的项目

养成格式化代码和自已完成的每个项目的自述文件的习惯,以使员工在阅读时不会费劲。 如果您还没有GitHub帐户,请立即获得一个(对于我来说,大量的Github项目是将编程学生和专业人员分开的)。

如何确保您的项目准备好与世界共享? 这是一个简短而有用的代码格式检查清单:

  1. 在自述文件中详细描述该项目,以使员工了解您的工作情况
  2. 避免粘贴准备就绪的StackOverflow或Github代码片段。 可以重写,但是不能直接使用别人写的东西,因为您将无法详细解释代码的工作原理
  3. 认真命名所有对象和变量。 对于初学者来说,创建带有奇怪的仅供内部使用的名称的变量(在“ 0hy1”行中)是很常见的。 这样的命名做法可能看起来更快-但是,这会使您的代码极不全面,并且从长远来看很难维护
  4. 留下评论以确保其他程序员可以理解该项目。 因为在某个时候,您将在一家公司工作,所以留下评论来指导将接管该项目的同行是必不可少的做法。 这就是为什么最好养成习惯,提早评论您的操作并仅公开共享评论的代码
  5. 对项目进行单元测试。 每个人都知道单元测试是开发人员的工作,因此员工已经从求职者那里获得了期望
  6. 在整个项目中坚持一致的代码结构和样式

结论

如您所见,学习编程语言只是编程之旅的开始。 好消息是,无论如何,等您一路走来都是一件有趣而令人兴奋的事情,因为您终于可以构建实际的解决方案,寻找有薪工作,并自豪地称自己为开发人员。

为了弥合学习与专业之间的鸿沟,专注于利用理论知识解决实践问题,在线创建和共享您的项目,并且别忘了访问在线开发人员社区-堆栈溢出,Reddit线程和Slack渠道。

首次发布于GitConnected [paywalled]

翻译自: https://hackernoon.com/you-learned-a-programming-language-but-how-do-you-start-coding-80ab300w

c 语言编程学习 编程环境

你可能感兴趣的:(游戏,编程语言,python,java,人工智能)