Sha256: 5d3860609a708b11308ffecb96a7a52c885d33206fc9d5c8bd6a2ba6db1c485b

Contents?: true

Size: 1.81 KB

Versions: 277

Compression:

Stored size: 1.81 KB

Contents

## Learning C From Ground Zero

In general, exercism assumes you already know the syntax and mechanisms
of a language in a particular track.  However, knowing the syntax of a
language is merely the first step in gaining expertise in a language.
Exercism allows you to practice solving problems and share discussion
with other programmers who have solved the same problem.  It is from
the shared discussion that we gain expertise and insight into becoming
better programmers.

If you are brand new to the C language, you should spend time learning
the basics of the language first.  Here are a few resources that can
help you get started:

* [Learn C](http://www.learn-c.org/)
* [CS50x](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x)

[CodeChef](https://www.codechef.com/ide) is a simple web form
interface to a C compiler that will let you try out small programs.
Sometimes this can be an easier way to perform a quick experiment than
building something locally in an integrated development environment.

## Test-Driven Development in C

Exercism assumes that you are familiar with the concept of test-driven
development.  Each exercise comes with a series of tests that are already
written for you.  You progress through the exercise one test at a time,
writing an implementation incrementally to satisfy the tests.

If you are new to test-driven development, it is strongly recommended
that you first work through a [quick overview of some test frameworks for C](http://www.drdobbs.com/testing/unit-testing-in-c-tools-and-conventions/240156344)
or read the book [Test-Driven Development for Embedded C](https://pragprog.com/book/jgade/test-driven-development-for-embedded-c)
by James Grenning. These resources cover [Unity](http://www.throwtheswitch.org/unity/)
 and [CppUTest](http://cpputest.github.io/); this track uses Unity.

Version data entries

277 entries across 277 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/c/docs/LEARNING.md
trackler-2.2.1.179 tracks/c/docs/LEARNING.md
trackler-2.2.1.178 tracks/c/docs/LEARNING.md
trackler-2.2.1.177 tracks/c/docs/LEARNING.md
trackler-2.2.1.176 tracks/c/docs/LEARNING.md
trackler-2.2.1.175 tracks/c/docs/LEARNING.md
trackler-2.2.1.174 tracks/c/docs/LEARNING.md
trackler-2.2.1.173 tracks/c/docs/LEARNING.md
trackler-2.2.1.172 tracks/c/docs/LEARNING.md
trackler-2.2.1.171 tracks/c/docs/LEARNING.md
trackler-2.2.1.170 tracks/c/docs/LEARNING.md
trackler-2.2.1.169 tracks/c/docs/LEARNING.md
trackler-2.2.1.167 tracks/c/docs/LEARNING.md
trackler-2.2.1.166 tracks/c/docs/LEARNING.md
trackler-2.2.1.165 tracks/c/docs/LEARNING.md
trackler-2.2.1.164 tracks/c/docs/LEARNING.md
trackler-2.2.1.163 tracks/c/docs/LEARNING.md
trackler-2.2.1.162 tracks/c/docs/LEARNING.md
trackler-2.2.1.161 tracks/c/docs/LEARNING.md
trackler-2.2.1.160 tracks/c/docs/LEARNING.md