大学计算机基础2019-02-10 16:14:23

Hi YouTube so as I mentioned in a previous video I didn't study computer science or Computer Engineering as my major at my university .Instead I was studying statistics but on the side I learned to code mostly on my own and eventually I became good enough to get a job at Google as a full-time software engineer. So I briefly talked about how I learned to code in the same video but in this video I wanted to go into more detail so I'm gonna talk about my personal experience first about how I learned to code but if you just want to find my recommendation about what you should do you should just skip over to this time in this video.


So here are the 4 steps I personally used to learn to code first of all I took a few summer courses during my summer break so the first course I took was an introductory programming course it covered topics like loops variables if statements and functions. And then the second course I took was on data structures and algorithms it covered topics like trees graphs hash tables and searching and sorting these two courses were both taught using Java.


 After I took those courses I decided to learn more on my own I heard that you can use something called Ruby on Rails to build websites and I wanted to build a website so I decided to learn Ruby on Rails and Ruby which Ruby on Rails is based on and to learn Ruby. I use the website called the pragmatic programmer and to practice using it.Iuse this other website called project Euler which gives you a ton of simple programming problems to solve to learn Ruby on Rails I used rails for zombies which is an interactive website for learning how to use Ruby on Rails

学了这些课程以后,我想通过自学获取更多的知识。我听说Ruby on Rails可以做网站,通过学习我知道Ruby on Rails(它是基于Ruby的)工作原理,也使用一个pragmatic programmer网站来学习,并进行巩固练习。我还使用另一个网站Euler通过解决编程难题,来巩固前面的知识。第三个网站是rails for zombies,它是交互性网站,主要学习如何使用Rails。

Step 3 I started working on a bunch of personal projects my first real personal project was going to be like the reddit of Japan partly because I'm originally from Japan and I was living in Japan at the time. Working on this project was really helpful for understanding how Ruby on Rails works how Ruby works and also how web technologies in general work through this project I also learned the importance of asking for help. You know when you're new to programming it's so easy for you to get stuck and I think it's really important for you to just ask for help you can do this virtually through websites like Stack Overflow Facebook groups or reddit or in person if you know someone who knows how to code in person and then using the skills and connections.

第三步,我开始做一些个人项目(有点类似日本的Reddit),其原因是我祖籍日本,再加上我做这个项目居住在日本。这个项目对我帮助很大,通过这个项目对于编程语言更加精通,对于WEB技术有一个整体认识,并意识到求助别人的重要性。作为编程新手,很容易卡壳,寻求帮助就很重要。你可以在网络上寻求帮助(如Stack Overflow,Facebook组,reddit),也可以在线下得到面对面的帮助,然后发展自己的技能,并建立一种联系。

I developed partly through my projects I got a few technical internships these technical internships were really helpful for developing my skills further because I started getting feedback on my code from my colleagues and I started learning a lot more a lot faster than on my own in between those internships and even when I had one of those internships I kept working on more personal projects that was partly because it was just fun and partly because I wanted to build more skills and after all that I started working on my technical interview skills and eventually I got a job at Google as a full-time software engineer.


So if you're just getting started with programming or if you're a complete beginner what should you do exactly I'd recommend the following four steps.


First of all(Step 1) you should learn the basics of programming- one of those interactive websites I personally recommend code Academy but Ialso heard that freeCodeCamp is also pretty good if you're not sure which language to get started with. I do recommend either Python or JavaScript

第一步:学习网站推荐:Code Academy和freeCodeCamp,如果你不能确认学习哪门语言作为入门语言,推荐:Python或者JavaScript。

(Step 2)After that start working on a personal project it could be a website an app or automating a simple task as you work on your project keep learning more through those interactive websites and for more advanced topics that those websites don't cover I'd recommend lynda.com and Udemy.


Step 3 as you work on your personal project I think one important aspect here is the community aspect if programming is something that's totally  new for you it's probably gonna be  really hard and so it's really important for you to be able to get help from others through online or offline communities so try using websites like  StackOverflow,Meetup.com and Facebook  groups and events to find relevant communities.

第三步:做项目时,最好去逛逛编程的社区,得到他人的帮助很重要(无论是在线或者线下)可以试试,如StackOverflow,Meetup.com 和 Facebook组及相关社区。

Step 4 Try getting  an internship or a job ideally a paid  one once you do you should be able to learn even more quickly because you'll  be ableto get some feedback from your colleagues on your code and those are  the four steps I would personally use to  learn to  today if you have extra time and money  to spare going through a coding bootcamp  or even getting a degree from a  university might also be a good option.  


Okay if you're curious about a more general strategy Iused for getting a  job at Google there's a video about that  and if you're wondering which  programming languages you should learn I  have a video about that too and let me  know in the comments section below about  what kind of videos I should make in the  future I'm YK fromCS Dojo and I'll see  you in the next video.  

上面就是我编程学习经验的分享。(作者系YK,现在在做CS Dojo教育推广工作)