Today when taking a bath I got a good idea that it is an efficient and interesting way to learn a new programming language:
(These days I learn Python from the Python manual and feel a little bored....)

Learn programming by trying some little or large projects.

  • Don't expect to learn a language by reading many books or tutorials

  • Don't expect to learn a language by remember their syntaxs

Learning Model:

Determine a project
|--> List the Algorithm or pseudo-code
|--> Abstract knowledge and skill (which you will use in your project)
|--> Apply your knowledge and skill to accomplish project
|--> Debug
|--> Expand your knowledge and skill properly
|--> Produce document

So I begin a collection here and collect interesting projects.
You can try to accomplish each project using different languages.
And I will list what language I have used to program it following each project-name.
You can find the program source under in [Program Source] catagory.

Before programming, please abide by the Linux philosophy:
Little & Simple


Project List:

Text processing


  • String Reverse

  • Word&Letter Frequency Count


Coding & Decoding


  • base64 [C]

  • QR-code

  • HTML Generation

  • XML Analysis

  • ELF File Analysis

  • Compression Algorithm

  • Huffman Tree Algorithm


Encryption


  • RSA

  • DES

  • MD5

  • Primary Cipher Algorithm (from the Cryptography Theory and Practice Third Edition)


Web


  • Web Spider

  • Web Spider helping for backing up your blog...


Operating System & OS-Tools


  • Task Manager

  • Make your own OS

  • Study GDB, IDA and EDB. And try to modify EDB and make it better.


Internet Procotol


Programming Learning - Based on Project的更多相关文章

  1. Paper Read: Robust Deep Multi-modal Learning Based on Gated Information Fusion Network

    Robust Deep Multi-modal Learning Based on Gated Information Fusion Network 2018-07-27 14:25:26 Paper ...

  2. LeetCode & Online Programming Learning Platform

    leetcode LeetCode is the best platform to help you enhance your skills, expand your knowledge and pr ...

  3. [转]Deep Reinforcement Learning Based Trading Application at JP Morgan Chase

    Deep Reinforcement Learning Based Trading Application at JP Morgan Chase https://medium.com/@ranko.m ...

  4. Simultaneous Localization and Mapping Technology Based on Project Tango

    Abstract: Aiming at the problem of system error and noise in simultaneous localization and mapping ( ...

  5. Neural Task Programming: Learning to Generalize Across Hierarchical Tasks

    Neural Task Programming: Learning to Generalize Across Hierarchical Tasks

  6. 【RS】Deep Learning based Recommender System: A Survey and New Perspectives - 基于深度学习的推荐系统:调查与新视角

    [论文标题]Deep Learning based Recommender System: A Survey and New Perspectives ( ACM Computing Surveys  ...

  7. 论文笔记: Deep Learning based Recommender System: A Survey and New Perspectives

    (聊两句,突然记起来以前一个学长说的看论文要能够把论文的亮点挖掘出来,合理的进行概括23333) 传统的推荐系统方法获取的user-item关系并不能获取其中非线性以及非平凡的信息,获取非线性以及非平 ...

  8. Predicting effects of noncoding variants with deep learning–based sequence model | 基于深度学习的序列模型预测非编码区变异的影响

    Predicting effects of noncoding variants with deep learning–based sequence model PDF Interpreting no ...

  9. Multi-Agent Reinforcement Learning Based Frame Sampling for Effective Untrimmed Video Recognition

    Multi-Agent Reinforcement Learning Based Frame Sampling for Effective Untrimmed Video Recognition IC ...

随机推荐

  1. CRL2.3(ORM开发框架)源码github发布

    简介 CRL是一个面向对象的轻便型ORM业务框架 此框架追求的是使用简单,方便,因此设计为: 不需要代码生成器生成对象类,按标准方式写即可 依托lambda,实现语法解析转换为等效的SQL查询,完全以 ...

  2. HTML5离线缓存(Application Cache)

    HTML5离线缓存又名Application Cache,是从浏览器的缓存中分出来的一块缓存区,要想在这个缓存中保存数据,可以使用一个描述文件(manifest file),列出要下载和缓存的资源. ...

  3. Windows Live Writer 在线安装失败的解决方法。

    这里提供一种解决方法:下载离线安装包,我这个版本是2011的.大家有兴趣的话可以下载一下: http://wl.dlservice.microsoft.com/download/8/3/D/83D75 ...

  4. 【Spring-web】RestTemplate源码学习——梳理内部实现过程

    2016-12-28 by 安静的下雪天  http://www.cnblogs.com/quiet-snowy-day/p/6228198.html  提示:使用手机浏览时请注意,图多费流量. 本篇 ...

  5. jQuery-1.9.1源码分析系列(三) Sizzle选择器引擎——编译原理

    这一节要分析的东东比较复杂,篇幅会比较大,也不知道我描述后能不能让人看明白.这部分的源码我第一次看的时候也比较吃力,现在重头看一遍,再分析一遍,看能否查缺补漏. 看这一部分的源码需要有一个完整的概念后 ...

  6. Java进击C#——语法之多线程

    本章简言 上一章中笔者对C#一些独有的语法点进行讲解,相信也可以看C#的一些神奇之处.那么本章主要是放在多线程这方面的知识.不管是C#还是JAVA在开发过程或多或少都会用到关于多线程的编程.当然笔者不 ...

  7. 基于STM32Cube的IIC主从通信

    1.建立STM32Cube工程,我使用的芯片是STM32F429,为了更简单的建立单独的IIC通信任务,我使用了FREERTOS,另外选择了RCC(系统时钟初始化),I2C1,I2C2(为了验证代码的 ...

  8. .NET正则表达式基础入门

    这是我第一次写的博客,个人觉得十分不容易.以前看别人写的博客文字十分流畅,到自己来写却发现十分困难,还是感谢那些为技术而奉献自己力量的人吧. 本教程编写之前,博主阅读了<正则指引>这本入门 ...

  9. App内测神器之蒲公英

    一.前言部分 没使用蒲公英之前一直采用非常傻B的方式给公司App做内部测试,要么发个测试包让公司测试人员用iTUnes 自己安装 要么苦逼的一个个在我Xcode上直接安装测试包,操作起来又麻烦又苦逼, ...

  10. ASP.NET从MVC5升级到MVC6 RC2 总目录 - 发布在RC2Release之后

    序言 随着MVC6RC2的推出,MVC6的脚步越来越近了.但是在我们的手里,有大批量的MVC5的项目.如何将MVC5升级到MVC6,将是一个很大的课题.微软官方暂时没有一个升级指导,或者一个迁移工具, ...