All Projects → c-koans → C_koans

c-koans / C_koans

Licence: mit
C Koans

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to C koans

Futurecoder
A platform for beginners to learn programming in Python
Stars: ✭ 363 (+458.46%)
Mutual labels:  learning, education
A Tale Of Three Lists
Comparing various async patterns for a single demo
Stars: ✭ 639 (+883.08%)
Mutual labels:  learning, education
Math Worksheet Generator
Create basic addition, subtraction, multiplication and division practice questions with the answer sheet
Stars: ✭ 438 (+573.85%)
Mutual labels:  learning, education
Processing Docs
Processing reference, examples, tutorials, and website
Stars: ✭ 346 (+432.31%)
Mutual labels:  learning, education
Teaching App Dev Swift
DEPRECATED. Instructor lesson plans that accompany Xcode projects, for guiding in-class experiential learning.
Stars: ✭ 699 (+975.38%)
Mutual labels:  learning, education
Anki Android
AnkiDroid: Anki flashcards on Android. Your secret trick to achieve superhuman information retention.
Stars: ✭ 4,425 (+6707.69%)
Mutual labels:  learning, education
Website
The train engine powering the Coding Train website
Stars: ✭ 5,313 (+8073.85%)
Mutual labels:  learning, education
Oppia
A free, online learning platform to make quality education accessible for all.
Stars: ✭ 4,361 (+6609.23%)
Mutual labels:  learning, education
Udacity Nanodegrees
🎓 List of Udacity Nanodegree programs with links to the free courses in their curricula
Stars: ✭ 5,893 (+8966.15%)
Mutual labels:  learning, education
Courses
Awesome Courses
Stars: ✭ 663 (+920%)
Mutual labels:  learning, education
Blog
刘博文(Berwin),花名“玖五”,畅销书《深入浅出Vue.js》作者、Speaker、阿里巴巴集团前端技术专家,天猫双11大促会场消防员、现负责包含天猫双11在内的超大型营销活动的终端渲染架构与专项PM。
Stars: ✭ 3,773 (+5704.62%)
Mutual labels:  learning, education
Awesome Js Books
📚 🤓 - Awesome Javascript Books
Stars: ✭ 40 (-38.46%)
Mutual labels:  learning, education
Web Dev For Beginners
24 Lessons, 12 Weeks, Get Started as a Web Developer
Stars: ✭ 39,380 (+60484.62%)
Mutual labels:  learning, education
Learn Something Every Day
📝 A compilation of everything that I learn; Computer Science, Software Development, Engineering, Math, and Coding in General. Read the rendered results here ->
Stars: ✭ 362 (+456.92%)
Mutual labels:  learning, education
Jupyter Edu Book
Teaching and Learning with Jupyter
Stars: ✭ 325 (+400%)
Mutual labels:  learning, education
Hypatia
A JavaScript open source LMS (eLearning platform) for MOOCs and online courses
Stars: ✭ 478 (+635.38%)
Mutual labels:  learning, education
Free Courses
A collection of free courses about programming 📖
Stars: ✭ 281 (+332.31%)
Mutual labels:  learning, education
R
All Algorithms implemented in R
Stars: ✭ 294 (+352.31%)
Mutual labels:  learning, education
Processing Android
Processing mode and core library to create Android apps with Processing
Stars: ✭ 643 (+889.23%)
Mutual labels:  learning, education
Learn Vim
Learning Vim and Vimscript doesn't have to be hard. This is the guide that you're looking for.
Stars: ✭ 7,221 (+11009.23%)
Mutual labels:  education, learning

c_koans

Build Status

A kōan 公案 (pinyin: gōng'àn) is a story, question, or statement, which is used in Zen practice to provoke the "great doubt" and test a student's progress in Zen practice.

Inspired by ruby koans you may learn the syntax and practices of C through a series of lessons in the form of Unit tests. These preprepared tests are all failing, by going through each one and repairing them to make them pass you will learn a small component of the C programming language.

The test are written in the Criterion unit testing library.

How to run

On Linux/OSX:

  1. Install Criterion
  2. run make clean all
  3. run bin/c_koans
  4. Start fixing!

On Windows:

  1. Get a Linux command line (Cygwin, Windows Linux Subsystem, or whichever you prefer)
  2. Follow the Linux/OSX instructions!

Sections

Inside src/ you will find a file for each of the following topics in C:

  • Basics
  • Pointers
  • Functions
  • Arrays
  • Strings
  • The Preprocessor
  • Control Statements
  • Structs
  • Dataclasses
  • I/O
  • Malloc
  • Linked List Project

The recommended order for fixing the tests is:

  • about_basics.c
  • about_control_statements.c
  • about_functions.c
  • about_pointers.c
  • about_malloc.c
  • about_arrays.c
  • about_strings.c
  • about_structs.c
  • about_dataclasses.c
  • about_printing.c
  • about_io.c
  • about_linked_lists.c
  • about_preprocessor.c
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].