Programming Learning - Based on Project

时间:2022-07-20 04:44:45

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