非计算机专业从零开始学习编程,可以从以下几步开始:

1. 给自己创建一个真正的编程环境, 使用IDE或者空白文本编辑器(白板) 来编写程序。

2. 要从头到尾自己编写所有的代码,不要在没有理解的情况下直接复制黏贴他人的代码来欺骗
自己。

3.从小项目开始做起,编写一些基于文本的程序来练习你正在学 习的编程语言,然后再慢慢的进行
一些更大更 复杂的项目。

4.疯狂的练习,编写大量的代码。在学习理论知识的时候就要不断地尝试把理论应用到自己的代码
中。学习、实践;学习、实践;学习、实践-

.要先学会自己解决问题,当自己解决无果,陷入困境时,要懂得如何寻求帮助。

5.不要羞于提问或拒绝提问,要懂得运用正确的方式寻求他人的帮助。

7.寻找实习,找到自己感兴趣的地方,跟着别人做,了解工业届到底在使用什么技术。

8.当你实习结束的时候,你将不会再对那些名词感到陌生,你有了一定的经验, 你可以尝试独立的

尝试用- -些开源框架做一些简单的project, 还可以去参加一-些编程比赛。

下面来逐条介绍:

1.创建一真正的编程环境^

每种编程语言需要的编程环境都是不同的。

想要创建真正的编程环境,首先,你需要一 个文本编辑器或一 个IDE (集成开发环境)。然后
你需要找出对你正在学习的语言来说最适合的编辑器并安装它。

其次,你需要知道如何创建并运行-一个包含代码的文件。
如果你是使用一个IDE来作为你的文本编辑器,例如: Visual studio、Xcode或Eclipse, 那么这个
功能就会被构建到IDE中。你就需要了解如何创建一个 新项目以及需要陆什么按钮来运行代码。
但是如果你没有使用IDE,那么你可能就需要学习如何利用命令行“来运行代码。你可以找-些入门
指导或者上YouTube看-些免费的教学视频来学习使用命令行。最后,-一旦你可以编写代码,并且能够正常运行程序,那么基本上你就开始正式步入专业程序员的
道路了。

2.从刷算法题开始,疯狂积累代码量
当你还是一个新手的时候, 你需要疯狂的积累你的代码量,你可以从基本的问题出发,做一些简单
的问题,怎么输入数据,怎么输出数据,然后熟悉各种数据结构,各种常见算法,疯狂的刷题。
比如,Lintcode/Leetcode 标准答案查询。先了解答案是怎么写的,然后自己实现-遍。
一般来说, 刷题应该循序渐进,从易到难。 你可以先从easy难度的问题做起,每一-个程序也就20-40行左右,甚至你可以一-旦AC,反复提交,以增强自信心,虽然这只是一个玩笑, 但是它可以让你提高你对编程的自信,对编程的喜爱,当你有自信的时候,你才能真正的把-件事情做好。当你
复解决一个又一个的问题的时候,你要告诉自己我是个天生的编程者!然后你就可以挑战更高难度
的问题,当你积累到10W以上的代码量的时候,你会发现你会有一个质变切将变的顺手。当以前要想半天的语句,现在信手拈来。恭喜你跨出了很重要的一步。

3.从小项目做起

尝试去做一些稍微超过自身水平的项目并不是一 件坏事, 因为你可能会发现它很有趣并且它能激励
你学习更多的东西;但是从另外的角度来看,如果浪费了不少时间项目却毫无进展,也会让你感到
-千个人就有一千个哈姆雷特,适合别人的方法不一定就适合你。 所以当激励法对你起反作用的时
候,也许你就该考虑从基础的小项目做起了,毕竟所有东西都是从零开始的。

刚开始的时候,你可以编写一些基于文本的程序, 因为编写这种程序比编写其他程序相对来说更容易一些,它只需要掌握:如何在屏幕上显示字符串;以及如何获取用户输入的字符串。

确实基于文本的程序写出来并不像3D图形的程序写出来那样酷炫。然而如果你想要写3D图形的程
序,你就必须对集合、线性代数°和微分都有一定程度的了 解。而即使是写出-一个带有按钮和文本框的普通GUI也是很难的,更别说写出一一个3D图形的程序了。

当然这也一定程度上取决于你所学习的编程语言,也许你所学习的编程语言不需要你懂多少数学,
但是需要你多多少少对面向对象的程序设计和复杂的对象图有较为深入的理解。

建议:先设计一段时间的文字游戏。比如做-一些像“猜数字”、"多选题” 等小游戏来进行-场小
小的文字洗礼;又或者,设计-些可以在现实生活中派上用场的小程序,可以是一个时间跟踪器,
又或者是在你的学习或工作上能够帮助到你的计算公式;然后你就可以通过这些小项目来深入学习
你所选择的编程语言的所有特性。

4.练习白板写代码
你必须不需要任何指令地从零开始编写自己的代码。也就是说你要从一个空白文档(白板、 白纸
等)开始,然后在不听从任何指示的情况下自己敲出每行代码。

从这一-步开始意味着你已经准备好迎接腥风血雨了。因为后面你将花费大量的时间进行调试,并要尝试理解每个bug。但是在每次检测和修复bug的时候,你的编程技能都能得到相应提高, 并且你
也能获得真正的编程经验。这就是作为程序员学习和成长的方式。

当然你也可以通过查看别人的代码来获取经验,但是你不能直接复制黏贴,因为如果你直接复制黏
贴的话,这样的学习将毫无意义。你要做到的是:认真分析别人的代码;得出它是如何正常运行的
结论;然后再运用获取的经验来进行独立编程。

5.不懂就问:懂得如何寻求帮助

在学习编程的过程中,你肯定会遇到一些你自己无法解决的问题和一 些你无法靠 自己修复的错误。

虽然这只是你学习编程的一部分,但如果你已经花了2h+来尝试解决你的问题未果时,为了提高工
作效率,就应该转向寻求专业帮助了。

然而有些学生在学习编程时会在没有尝试过自己解决问题的情况下立刻寻求别人的帮助,这不管是
在IT领域还是其他领域,都是不被赞成的。因为不管出现了什么难题,都要自己先去尽力解决才有
学习的意义。不然最终还是回到了“靠着别人的指导过活最终自己什么也没学到”这个问题上。
那么我们应该如何寻求帮助呢?

基本的问题你可以先google/百度一下, 网络世界那么大,单靠这个你就能解决不少问题。

如果你遇到一些靠个人之力无法解决的问题,要注意的是即使他人帮助你解决问题,也不要直接把
别人的答案复制黏贴到你的问题上。你要做的是分析答案并了解错误背后的原因,只有这样当你再遇到相同的错误的时候,才能靠自己修复错误。

另外,如果你经常遇到一些靠个人之力无法解决的问题,最有可能的原因是你做的项目太大了以至
于远远超过了你的自身水平,这里就要重申一下上一条建议:从小项目做起, -步-步提升自己的水平。

6.正确的提出问题并寻求帮助
也经常会有初学者羞于提问或拒绝提问,很大-部分原因是他们认为编程社区“里面的那些大神有些
不友好甚至态度有些令人生畏,所以他们不想跟这些人打交道,这对于初学者来说是非常可怕的事

其实,虽然有些专业的程序员会在回答时有些“直言不讳”,但是如果 你以正确的方式提出你的问
题,你会发现社区里的很多大神是非常友好的,并且他们往往能够一针见血的点出你的问题所在,
同时能给出解决方案。

如果你根据下面的指导提出问题,肯定可以吸引很多友好的程序员帮助你解决问题。可能还能防止
一些虽然脾 气有些暴躁但是很善良的程序员-边帮你解决问题一边对你发脾气。
发布出确切的错误点。这是最重要的一-个部分,因为如果回答问题的人没看到确切的错误信息,

如果你也不知道确切的错误信息,那么 请说明你推测的会发生错误的部分,和实际发生的情况。比
如:“我希望输出5, 但却实际输出了7”。通常,问题不出现在你的代码中,而出现在你期望和实
际的差异中。所以如果你没有阐述你期望得到的结果,你能得到的回答就只有类似"这代码看起来
很好啊”或者“这代码有什么问题啊”这样的回答

粘贴出你的所有代码。一般情况下, 看不到完整的代码来调试问题是很困难的。如果代码不是太
多,最好的提问方式就是将代码完整粘贴到Github Gist和Pastebin.com中,然后把相关链接放在
问题里

复制出来的代码格式要正确,而不是简单的复制黏贴。你要学会如何对你的代码进行排版,使它看
起来更便于阅读。

指出你已尝试过的方法。这证明你已经尽力了,而不是有问题没有进行思考就直接扔出来让大家帮
忙,使用正确的编程术语。虽然你还只是一个初学者 ,并不能将所有的专业术语都使用正确。但是你最好还是尽自己所能使用正确的专业术语。因为努力学习常用专业术语并正确使用它们对你以后的发展也是很有帮助的。

7寻找实习,动手实践
有了一定基础以后,你该去找实习了。当你有了前面的编程学习基础作为铺垫以后,你应该去业界
提高你的编程能力,这个很重要。

什么是编程能力,用程序去解决真正的问题。你的程序能让人读懂,这是编程能力,你的程序高效
可维护,这是编程能力,你的程序被review的次数很少, 质量很高,这是编程能力,你能快速理解
一个小项目,小模块在做什么,怎么做的,这也是编程能力。

  • 整理了一份关于java的系统化资料,从Javase- ssm-springcloud,包括了面试题,PDF电子书,网上商城项目,个人博客项目,分布式项目等都有想学习Java或者转行,大学生都非常实用,无任何套路免费提供,,在 679126598 下载,有什么问题都可以来问我
  • 最新Java精讲视频,PDF书籍教程,面试题,学习手册

同时实习生的面试[槛比Full time会低很多,只要你把第一步做好,好好的准备面试,拿到个不错的实习也问题不大(实习生也更容易拿到return off)。

8.独立做项目,参加比赛

当你实习结束以后,做一下总结,业界到底在干什么,业界使用的技术到底有哪些,他们平时的编
程工具有什么,这些都是值得你学习的地方。

你可以用你学到东西尝试着去做一些简单的project。 你会发现原来毫无头绪的事情,慢慢变得清晰
起来

疯狂的训练,超强的自信心,去业界实习-下,你就会明白我要什么,为了我想要的我该怎么做。
如果你有时间和精力的话,可以参加一下Lintcode在线编程竞赛,和几百人一 起PK, 可以很好的
模拟实战,帮助你飞速进步。

大一非计算机专业如何自学编程更高效?相关推荐

  1. 最常用的10个Matlab快捷键,助你编程更高效

    本文转载:最常用的10个Matlab快捷键,助你编程更高效 目录 1. 屏蔽大段程序:Ctrl+r 2. 自动对齐程序:Ctrl+i 3. 直接跳至某行:Ctrl+g 4. 设置标签:Ctrl+F2 ...

  2. 研究生一年级,非计算机专业,自学机器学习现实吗?

    那肯定现实啊!怎么不现实? 机器学习作为人工智能的重要核心之一,收到了越来越多人的关注,许多大学新开设了相关课程,数据分析师.算法工程师.AI工程师等以机器学习为基础的岗位也如雨后春笋般冒出,人才需求 ...

  3. 在校大学生(非计算机专业)自学Python,兼职也能月入5k?

    前言 常言道: "流水的语言,铁打的 Python",2019年,Python已经"睥睨天下,傲视群雄"了,但你不知道的是,Python 其实并不年轻,它的第一 ...

  4. 一个非计算机专业学生自学转码之路

    前记 似乎又到了春招的时候了,看到了各种经验贴,回想了我这两年艰难的转码自学之路(因为走了很多弯路),觉得也有必要写出来,或许可以帮助到很多决心务码的同学. 首先我要介绍一下我的情况,博主是中部地区9 ...

  5. 在大学非计算机专业怎样学编程

    作为我现在这个阶段来说这个话题可能有点骄躁,可是作为一个马上就要毕业的大四狗来说也再适合不过了.首先说明我不是计算机相关专业的.可以这么说在我的大学我的这个专业跟计算机没有半点关系.现在马上毕业了,找 ...

  6. 非985,计算机专业的大学生该如何自学编程?

    大学最应该培养的就是学生自主学习能力,所以不用怀疑自己非计算机专业的学生,没有办法或者不能学习编程. 非编程专业的,其实最好的选择就是从网上资源入手,找到几个靠谱的网站或者论坛,从最基础的C 语言开始 ...

  7. 轻编程的计算机专业,非计算机专业新手学什么编程语言

    本人就是非计算机,后来自学编程,最后做了软件,主要是网站后台开发相关的工作.说说我学习开发的经历和经验,希望能给你以借鉴. 开始的的时候学校开过C语言课程,所以有一定了解,但是不是很懂,算是入门.后来 ...

  8. 非计算机专业考计算机三级难吗,经验之谈:怎样通过计算机等级考试三级考试...

    经验之谈:怎样通过计算机等级考试三级考试 一.考前的准备与报考科目几时间的选择 就目前而言,全国计算机三级考试主要分为四类:PC技术,网络技术,信息管理技术,数据库技术.省级(以四川省为例,现已更名为 ...

  9. 非专业老师上怎么计算机课,非计算机专业计算机基础教学研究

    非计算机专业计算机基础教学研究 本文关键词:教学研究,计算机专业,计算机,基础 非计算机专业计算机基础教学研究 本文简介:摘要:当前我国的经济社会都在飞速发展,科技水平持续提升,尤其是新一代的计算机技 ...

最新文章

  1. EPOLL的工作模式 ET and LT
  2. rgb fusion检测不到显卡_买不到RX 6800XT就装不了机解不了馋?我看未必
  3. mysql 重试_重试MySQL/SQLAlchemy的死锁
  4. pycharm如何安装pythoncard_pycharm的各种设置,配置
  5. iview标签页的点击方法_18页PPT:6个高手常用的自我介绍套路,很是得人心,学习...
  6. IntelliJ IDEA 设置代码检查级别
  7. php读取操作大文件
  8. 2.4 shell 脚本基础
  9. C++ Primer学习笔记(一)
  10. windows下curl
  11. Oracle中常用的to_Char用法详解(有FMT的详细列表)
  12. mysql 自增序列(转)
  13. 小米商城php源码安装教程,搭建小米商城 框架div
  14. android expandablelistview横向,ExPandableListView实现时间轴效果【Android】
  15. 【JAVA】从0开始写DHT/磁力爬虫 05 INFOHASH转种子
  16. HTML+CSS基础知识2
  17. 密度图与等高线图——Note_5
  18. #483(div.2) B. Minesweeper
  19. Hadoop简介 4V特征和3个核心
  20. uniapp引用iconfont图标

热门文章

  1. 如此好的树状数组学习资料
  2. php函数大全 (3)
  3. 关于浏览器启动时弹出某网导航的处理办法
  4. Excel表格文件解密:轻松解密密码
  5. java实现抛物线轨迹计算_抛物线、导弹线轨迹计算
  6. Android 全局大喇叭——详解广播机制
  7. VisualStudic c# 中使用Python
  8. 【亲测成功】UltraISO制作Linux启动盘
  9. 自己去创建一个编程语言吧(3)
  10. 疯狂小杨哥被王海打假