Skip to content
forked from zhangxm/PCM

This is a project to learn programming

Notifications You must be signed in to change notification settings

thinker8581/PCM

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

I have been thinking about the following questions

• In their daily work, how our programming precipitation 
   (including algorithms, frameworks, tools), let us advance a little every day?

• how convenient for everyone to join us in research-based programming techniques, 
   to pool our collective wisdom, it is best to write code, such as using C to 
   write a few sorting algorithms,Sorting algorithm that is faster and so on, how to
   use C language function pointers, how to test automation, how profile C program, 
   how to use git, vim, make, etc.?

• How to teach beginners the basic programming skills, preferably the code level?

• See a very interesting algorithm or puzzle, and I want to achieve their own try, 
  but the lack of a convenient platform to write code and share and discuss.

So I wrote this pcm (Programmer Competency Matrix):

Directory structure
pcm (
    README
    bin --------- makefile
    data --------- test data
    include ------ header files
    src ----------- Source
    tags ---------- tags vim jump to code
    test ---------- test file
)

Has now achieved the function (incomplete):

   1. File Statistics
   2. Sorting Algorithm
   3. Search algorithm
   4. Seqlist
   5. Linkedlist
   6. Stack
   7. Mathematics
   8. String
   9. Automated build
  10. Automated testing
  11. Automated performance profiling

Chinese Version:

我一直在思考以下问题,
•在日常工作中,怎么沉淀我们的编程技术(包括算法,框架,工具),让我们每天都进步一点点?

•怎么让大家方便的和我们一起研究基础的编程技术,集合大家集体的智慧,最好能写代码,比如用C写几个排序算法,
那个排序算法比较快等等,怎么使用C语言中的函数指针,怎么让测试自动化,怎么profile C程序, 怎么使用git,vim,make 等等?
•
怎么向新手传授基本的编程技术,最好是代码级别的?
•
看到非常有趣的算法或者谜题,也想自己实现试试看,但是缺少一个方便的平台来写代码和共享以及讨论。

所以我就写了这个pcm:

目录结构
pcm {
    README
    bin ---------makefile
    data---------测试数据
    include------头文件
    src-----------源文件
    tags----------tags vim用来代码跳转
    test----------测试文件
}

现在已经实现了的功能(不全):

   1. 文件统计
   2. 排序算法
   3. 查找算法
   4. 顺序表
   5. 链表
   6. 栈
   7. 数学
   8. 字符串
   9. 自动化build
  10. 自动化测试
  11. 自动化performance profiling

About

This is a project to learn programming

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published