Talk:C

From Wikiversity
Jump to: navigation, search

In order to help get this course moving again, I am in the process of cleaning up parts of this discussion page. I welcome any and all constructive criticism and offers to help produce content.--Kingadami (talk) 14:12, 14 April 2012 (UTC)

Course Organization and Objectives[edit]

In order to maximize the prospective audience, I would like to see the course split into 3 main sections: a beginner section, an intermediate section, and an advanced section. Each section should have at least one project at the end of it which allows the student to apply what they have learned.

Beginner Section[edit]

The target audience of the beginner section is someone with no programming experience. This section needs to introduce the basics of how to compile as well as how to program. After completing this section, the student should be able to write programs to perform a wide variety of simple tasks on their own.

Intermediate Section[edit]

The target audience of the intermediate section is someone who has a basic understanding of C. They should be able to complete the projects at the end of the Beginner Section without to much trouble. This section will introduce TBD. (I am currently concentrating on the beginner section and am open to suggestions for this section)

Advance Section[edit]

The target audience of the advanced section is someone who can complete the projects at the end of the Intermediate Section without to much trouble. If concurrent programming has not been introduced yet, it will definitely be covered in this section. Other topics should include TBD.

Style[edit]

I agree with Ran and propose using the Allman Style as the indention style for this course.

While you can teach some practical cstyle, its really up to the individual or collection of individuals that are working on any given program. Most people separate keywords from functions, for instance:
  while (1) {

  (vs)

  printf("Hello, %s!\n", getenv("COSMOS"));
Most FLOSS projects will set some coding standard that defines the desired cstyle. The rest really depends on what you happen to be working on .. if someone who needs to edit your work is going to be stuck on an 80x25 dumb terminal, you might consider limiting columns to 79 and try to avoid deep indenting. There probably should be a page showing samples of various cstyles, but in the end its usually best to follow what exists or what the boss dictates. Tinkertim 16:59, 31 August 2008 (UTC)

Improvements[edit]

Please leave any improvement suggestions or wants. I have removed the previous ones so we can start with a blank slate.

Exercises[edit]

What do you guys think about adding exercises to pages to allow a novice to put the skills they're reading about and learning into practise - including things the prior pages would have taught them?

Something like this at the bottom of pages I think would work quite well.

==Exercises==
===Array Occurrence Counter===
Write an application that can loop through the following array and count the number of 5s in the array:
<code>int[] = {4, 5, 2, 7, 7, 6, 9, 3, 7, 5, 3};</code>
[[Pointers_and_Arrays_in_C\Exercises\Array_Occurrence_Counter_walkthrough|Walkthrough of this exercise]]

May I add, I'm a novice C programming; so if you guys are up for this idea, I'd happily write some exercises if somebody experienced in C would check them over. -RJackson 06:20, 27 November 2010 (UTC)

Exercises are going to be added. If you want to add some post them and we can look them over --Kingadami (talk) 14:12, 14 April 2012 (UTC)

ERRORS ANNOYING ME![edit]

Please add errors to each lesion's discussion page. I know currently there are some and as each lesion gets reworked they will be fixed.

I'm a beginer in C programing and whenever I type a program and try to run that in the compiler, I get following errors:

1. file <stdio.h> can not be included. 2. Prototype is not defined for the function printf()

I get the same error message for every header file and function. Please help me if anybody can. —The preceding unsigned comment was added by Atul.ultimaterocker (talkcontribs) Devourer09 (t·c) 18:18, 22 June 2011 (UTC) (UTC)

What operating system are you on and what compiler are you using? Devourer09 (t·c) 18:18, 22 June 2011 (UTC)

The problem is not errors in the example code, it's the compiler you're running. Try using a different compiler. KonKweesta (discusscontribs) 12:38, 30 April 2013 (UTC)

Adding a Video Series[edit]

Below is a suggested change to the You Will Need paragraph To learn C programming you will need to adopt a learning approach. You can simply use the WikiBook material or augment that material with the Video Series found here ( n2006b.com/cCourse) The video series uses Microsoft's Visual C++ 2010 Express which can be downloaded at no cost. Microsoft's Visual C++ 2010 Express runs under Windows XP or newer Microsoft systems. With or without the video series, you will need a C compiler, like Turbo C, or The GNU C Compiler (gcc), Visual C++, or Turbo C. If you use a UNIX-based platform such as FreeBSD or GNU/Linux, a C compiler is generally shipped with it, you can most likely access it by typing cc. Here on, I will make use of only Turbo C. So I will show you the step-by-step procedure to install and use Turbo C. (Note the install link is broke and it was a 1992 version.) You can download it by googling Turbo C, or by clicking here. --Srfpala (discusscontribs) 21:56, 7 March 2013 (UTC) srfpala 1600 CST 07 March 2013