Wikibooks has a book on the topic of C Programming. |
Educational level: this is a tertiary (university) resource. |
Subject classification: this is an information technology resource. |
C is one of the most widely used programming languages in the world,[1] whose application are in all fields of computer sciences, telecom and electronics embedded devices, graphic applications,... Therefore, C is a common choice for people wanting to learn how to program. This course assumes no previous programming experience and will guide you through all of the aspects of programming in C.
The course will roughly follow the C Programming book at Wikibooks as well as provide supplementary reading material for each lesson primarily through Wikipedia. Exercises will be given at the end of each course along with possible solutions. It is highly recommended that all of the exercises be worked because programming is learned by doing, not just reading.
Warning: This course is under active development since June 2024. Please only use the lessons which has the 100% complete icon |
The C introduction course, consists of 14 lessons, plus exercises and answers. No previous knowledge of programming is required. Students just need to be capable of using a computer (edit files in a text editor and know how to run a program).
This course will give student an overview of C, free and open source tools setup to run C program on any available operating systems, as well as giving them knowledge about variables, functions, basic data type and data structure and simple techniques to develop a multi-source files program (with preprocessors and header file). This course gives student knowledge to develop software running at "CLI level", the ability to solve basic data structure and algorithm problem, or providing base knowledge for further investigation on software development with C on embedded devices (micro-controller or Linux embedded single board computer), system programming (Linux, Windows), device driver, desktop application,...
Lesson list:
In addition to lectures and readings, there are quizzes, homework, analysis, and projects. Quizzes are short series of questions and answers that you can use to check your knowledge. Homework is longer and generally involves a program to be written. Analysis sections actually take a small program apart and show you how it works and why it was written that way. Projects are large programming problems where collaborative effort is encouraged.
A lesson is not meant to cover a single lecture from a real world school. It is meant to cover a single topic. As such, some lessons will be significantly longer than others. Don't force yourself to do every lesson in the same amount of time. Relax and take it at a comfortable pace.
The end-of-course exercise:
This section is for any Wikiversity user who contributes to that course and is ready to support the students
Introduction to C programming/EnrollmentPage
This content is very much a work in progress. Feedback on the content and how easily understood it is is greatly appreciated. For the C introduction course feedback, please leave those comments on the Forum page or directly reach to Anonymous Agent, the current contributor of the course on his talk page.