admin管理员组

文章数量:1794759

学编程一年多少中学

学编程一年多少中学

学编程一年多少中学

by Charles Scheuer

查尔斯·舒尔(Charles Scheuer)

我从一年的编码中学到了什么 (What I’ve Learned from a year of coding)

In high school, I started learning about graphic design. I made various icons, logos, and Snapchat geofilters. I also developed an interest in websites and how they’re built. But while I thought they were cool, I assumed coding was not for me. This year, I decided to put that thought aside and try it out.

在高中时,我开始学习平面设计。 我制作了各种图标,徽标和Snapchat地理过滤器。 我也对网站及其构建方式产生了兴趣。 但是,尽管我认为它们很酷,但我认为编码不适合我。 今年,我决定将这种想法放在一边,然后尝试一下。

I’ve been amazed at the progress I have made in the past year. So I want to tell my story (so far) to help anyone who is unsure about whether to dive into coding with two feet.

我对过去一年取得的进步感到惊讶。 因此,我想讲一下我的故事(到目前为止),以帮助那些不确定是否要用两只脚进行编码的人。

In this post, I will tell you about some of the things that I wish I had known when I was starting out. And above all, I encourage anyone who is on the fence about coding to give it a try.

在这篇文章中,我将告诉您一些我刚开始时希望知道的事情。 最重要的是,我鼓励任何对编码感兴趣的人都可以尝试一下。

Thus, if this piece somehow helps you in your coding journey, I will have done my job in writing it. If you do have any questions, feel free to reach out. I will put my contact info at the bottom of the piece. I will also leave links to some of the resources that helped me the most.

因此,如果本文对您的编码旅程有所帮助,那么我将在编写过程中完成自己的工作。 如果您有任何疑问,请随时与我们联系。 我将把联系信放在文章的底部。 我还将留下一些对我帮助最大的资源的链接。

如何开始 (How to get started)

When starting out with coding, a lot of people set unreasonable goals for themselves. The problem with this is that nobody can expect to understand coding overnight.

从编码开始,很多人为自己设定了不合理的目标。 这样做的问题是,没有人能期望一夜之间就能理解编码。

Juggernauts like Bill Gates or Mark Zuckerberg did not wake up and know how to put Microsoft and Facebook together. They spent years curating their skills.

比尔·盖茨(Bill Gates)或马克·扎克伯格(Mark Zuckerberg)这样的大人物并没有醒来,他们知道如何将微软和Facebook整合在一起。 他们花了多年的时间来提高自己的技能。

So, when I first started, I decided I wanted to take my time learning to program. I didn’t want to rush myself and get disappointed by my natural, human limitations.

因此,当我刚开始时,我决定想花时间学习编程。 我不想着急,对我的自然,人为的限制感到失望。

If, however, you don’t agree with me, I encourage you to read Peter Norvig’s Teach Yourself Programming in Ten Years. This should help you realize the importance of learning in the long term. I believe steady progress is more effective for the majority of beginners.

但是,如果您不同意我的观点,我建议您阅读Peter Norvig的《十年内的自学编程》 。 这应该可以帮助您认识到长期学习的重要性。 我相信,稳定的进步对大多数初学者来说更有效。

If you were to see 1% increases in your programming abilities by the day, you would be twice as good in 72 days by simple compound interest. People can achieve success by appreciating incremental progress instead of assuming they’ll be superstars within a few weeks.

如果您发现自己的编程能力每天增加1%,那么按简单的复利计算,您在72天内的收入将是原来的两倍。 人们可以通过欣赏渐进式进步来获得成功,而不是假设他们在几周内成为超级巨星。

至此我的学习过程 (My Learning Process to this point)

Last summer I began to casually read Y Combinator’s Hackernews. I also came across some of Paul Graham’s essays, which I recommend if you have any interest at all in startups.

去年夏天,我开始随意阅读Y Combinator的Hackernews 。 我还遇到了Paul Graham的一些论文,如果您对初创公司有任何兴趣,我建议您考虑。

I used his essays as motivation to do some research, and decided that I would try to learn HTML and CSS. Both of these seemed pretty easy for beginners. I started out with reading John Ducket’s book, HTML & CSS.

我以他的论文为动机进行了一些研究,并决定尝试学习HTML和CSS。 对于初学者来说,这两者似乎都很容易。 我从阅读John Ducket的书HTML和CSS开始 。

It was helpful, but if I had to start over again, I would use FreeCodeCamp. The resources on FreeCodeCamp are more detailed, and are at least as, if not more comprehensive, than those in Ducket’s book. They also won’t cost you anything except the time you invest in learning your new skills. FreeCodeCamp’s program allows you to learn by doing exercises for each new concept. I found this really useful when I used it to learn basic JavaScript.

这很有帮助,但是如果必须重新开始,我将使用FreeCodeCamp 。 FreeCodeCamp上的资源比Ducket的书更详细,并且至少(如果不是更全面的话)至少与Ducket的书一样。 除了花时间学习新技能,他们也不会花任何钱。 FreeCodeCamp的程序允许您通过练习每个新概念来学习。 当我用它来学习基本JavaScript时,我发现它真的很有用。

Back to my story: after building a few static web pages using HTML, CSS, and Bootstrap, I decided to try learning JavaScript. JavaScript is really versatile. You can use it to make web apps, desktop apps (using electron), and now mobile apps with React Native. At this point, though, I started to struggle more.

回到我的故事:在使用HTML,CSS和Bootstrap构建了一些静态网页之后,我决定尝试学习JavaScript。 JavaScript实际上是多功能的。 您可以使用它使用React Native来制作Web应用程序,桌面应用程序(使用电子 )以及现在的移动应用程序。 不过,在这一点上,我开始更加努力。

There were definitely days where I wanted to bang my head into the computer screen. Luckily, this is when I found FreeCodeCamp. I used FreeCodeCamp’s basic JavaScript exercises from the front end certification. After that, I read You Don’t Know JavaScript. This resource was a difficult read, but it helped me understand ES6 and the this keyword. Because I started to get busy with school work, though, I didn’t make as much progress.

肯定有几天我想把头撞到电脑屏幕上。 幸运的是,这是我找到FreeCodeCamp的时候 。 我使用了来自前端认证的FreeCodeCamp的基本JavaScript练习。 在那之后,我读了《 你不懂JavaScript》。 该资源很难理解,但可以帮助我理解ES6和this关键字 。 但是,由于我开始忙于学校作业,所以没有取得太大的进步。

So, during the spring semester, I decided to take a class on the fundamentals of programming in Java. This helped me understand the basics of programming syntax. It was a really fun class and eased some of my frustrations with learning JavaScript. (If you want to watch the lectures, they’re online here. I found modules 2, 3, 5, 6, and 7 to be the most useful.)

因此,在Spring学期中,我决定参加有关Java编程基础知识的课程。 这帮助我了解了编程语法的基础。 这是一个非常有趣的课程,减轻了我学习JavaScript的烦恼。 (如果您想观看这些讲座,可以在这里在线观看。我发现模块2、3、5、6和7最有用。)

This gave me a basic understanding of computer science. Having knowledge of methods and objects made it a lot easier for me to understand React.

这使我对计算机科学有了基本的了解。 对方法和对象的了解使我更容易理解React。

我现在在哪里 (Where I am now)

This brings us to my current goal: to get better at building apps with React Native. I am also taking this course on Udemy to learn more about back-end web development. The information in it is definitely worth the $10 sticker price, unlike most tutorials.

这使我们达到了我目前的目标:通过React Native更好地构建应用程序。 我也在Udemy上这门课程,以了解有关后端Web开发的更多信。 与大多数教程不同,其中的信绝对值得10美元的标价。

The problem with a lot of coding tutorials is that most of them let you watch someone else build an app. In contrast, FreeCodeCamp, Frontend Mentor, and the course I linked above force you to understand the code by having you write it yourself. And practice makes perfect, right?

许多编码教程的问题在于,它们中的大多数都可以让您观看其他人构建的应用程序。 相比之下,FreeCodeCamp, Frontend Mentor和我上面链接的课程迫使您自己编写代码来理解代码。 实践是完美的,对吗?

得到教训 (Lessons learned)

It takes time to really understand this stuff. When working on it daily, you don’t realize how much progress you are making. I didn’t really think I was making much progress until I thought about where I was a few months ago.

真正了解这些内容需要花费时间。 每天进行处理时,您不会意识到自己正在取得多少进展。 直到我想到几个月前的位置时,我才真正觉得自己没有取得太大进步。

By looking back, I was able to appreciate my trajectory, even if it seemed stagnant at the moment. The world of programming is so vast, and there will always be stuff you don’t know. It is easy to feel like an imposter, but even professional developers use Google and Stack Overflow when they don’t know what to do. These tools exist for a reason, so consult them when necessary.

通过回头看,即使现在似乎停滞不前,我仍然能够欣赏我的轨迹。 编程世界是如此广阔,并且总会有您不知道的东西。 容易被冒名顶替,但是即使是专业的开发人员,如果不知道该怎么做,他们也会使用Google和Stack Overflow。 这些工具的存在是有原因的,因此请在必要时进行咨询。

Regardless, I definitely learned the most when I built full websites (or programs with Java). Doing so forced me to put the things I learned into practice and face the challenge of completing parts of the project that were difficult.

无论如何,当我建立完整的网站(或使用Java的程序)时,我绝对能学到最多的知识。 这样做迫使我将我学到的东西付诸实践,并面临完成项目中困难的部分的挑战。

My recommendation is to start working on projects after you have a basic understanding of a language’s syntax. This is also more fun, because it allows you to focus on building the things you want while practicing difficult concepts.

我的建议是在对语言的语法有基本了解之后开始进行项目。 这也更加有趣,因为它使您可以在练习困难的概念时专注于构建所需的东西。

I only really started to notice this when I took the computer science class on Java. Before that I had been reading JavaScript books online, which didn’t help me understand things like methods or objects.

当我上Java的计算机科学课程时,我才真正开始注意到这一点。 在那之前,我一直在在线阅读JavaScript书籍,这并没有帮助我理解方法或对象之类的东西。

Another piece of advice is not to be afraid to spend money on a good tutorial. But before putting money down, make sure the tutorial you’re buying is worth its price. Many of them are just videos of somebody else coding.

另一个建议是不要害怕花钱在一个好的教程上。 但是在放下钱之前,请确保您购买的教程物有所值。 其中许多只是其他人编码的视频。

So make sure you perform some due diligence when you are searching for the right tutorial. Check out the reviews and the responses to the teacher’s posts on Medium/ Twitter. I am really glad that I got the tutorial on Udemy. It has made a huge difference in my understanding of web development.

因此,在搜索正确的教程时,请确保进行一些尽职调查。 在Medium / Twitter上查看评论和对老师帖子的回复。 我很高兴获得有关Udemy的教程。 这对我对Web开发的理解产生了巨大的变化。

我发现有用的其他一些资源: (Some other resources I found useful:)
  • Sacha Grief, founder of sidebar.io, wrote a plan to cure JavaScript fatigue. It gives a great plan for learning JavaScript and the react ecosystem.

    sidebar.io的创始人Sacha Grief 制定了解决JavaScript疲劳的计划 。 它为学习JavaScript和react生态系统提供了一个很好的计划。

  • How to become a hacker is another one that I found on Paul Graham’s blog. It gives you a good roadmap for becoming an expert developer.

    我在Paul Graham的博客中发现了如何成为一名黑客 。 它为您成为专家开发人员提供了良好的路线图。

  • Front end mentor is new, but has links to some great resources if you are new to HTML, CSS, and JS. The founder will do a free code review if you do the first project he posted and send it to him.

    前端导师是新手,但是如果您不熟悉HTML,CSS和JS,则可以链接到一些很棒的资源。 如果您执行他发布的第一个项目并将其发送给他,则创始人将进行免费的代码审查。

  • CodyHouse is a cool library of HTML, CSS, and JS nuggets.

    CodyHouse是一个很酷HTML,CSS和JS块库。

  • CSS reference and HTML reference are good references for CSS and HTML

    CSS参考和HTML参考是CSS和HTML的良好参考

  • CSS Tricks has great CSS tutorials

    CSS技巧有很棒CSS教程

  • Keyframers post cool videos on the type of CSS animation that gets posted on Codepen

    关键帧发布者会在Codepen上发布有关CSS动画类型的精彩视频

Feel free to contact me if you have any questions!

如有任何疑问,请随时与我联系!

  • Telegram

    电报

  • Twitter

    推特

  • Or send an email to charlesfscheuer [@] gmail [dot] com

    或发送电子邮件给charlesfscheuer [@] gmail [dot] com
  • Check out some of my logo design on Dribbble

    在Dribbble上查看我的一些徽标设计

翻译自: www.freecodecamp/news/what-ive-learned-from-a-year-of-coding-bf39c5823e9b/

学编程一年多少中学

本文标签: 中学