Thread: teaching "C" to beginning programmers (Grade 11's)

  1. #1
    Cory
    Guest

    Question teaching "C" to beginning programmers (Grade 11's)

    I am starting a new teaching job in September, and the principal (with limited programming knowledge) has stated that I should teach "C" to my grade 11 Computer Science, and C++/Java to my grade 12 Computer Science students.

    My thoughts are that teaching "C" to students who have never programmed before will be too advanced for them. I think that they should be taught a more "forgiving" beginners language like Visual Basic or even QBasic. They will be able to learn the "basics" in programming without being too frustrated with too much syntax / variable problems. I feel that teaching anything other that a beginners computer language to beginners is destine for frustration for all involved. Would anyone agree?

    What should I say to convince my new principal without "locking horns" even before I have started working with him? Email me at [email protected].

    Cory

  2. #2
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    I disagree, C can be a very rewarding first language for beginning programmers as you can do so much with it. The learning curve won't be as great if you start off the class by teaching a form of pseudocode, the most forgiving language of them all, to get the class thinking in terms of problem solving with programming tools such as conditionals and loops. This way they can learn to perform the necessary operations without having to worry about syntax or errors at all and can concentrate on the logic.

    Starting with C when one has little knowledge of computers in general and no programming knowledge at all is a bad idea, but an understanding of the basics will make the transition much easier. C is also the best language to start with in my opinion because it's hard enough to weed out the unworthy and once you know C, moving to other languages is a breeze. Just be sure to teach good habits so that we don't have to help your students unlearn things.

    -Prelude
    My best code is written with the delete key.

  3. #3
    Registered User
    Join Date
    Sep 2001
    Posts
    305
    hmm ... my post disappeared...

  4. #4
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    >hmm ... my post disappeared...
    Probably because you responded to the same question that was asked in the C++ board.

    -Prelude
    My best code is written with the delete key.

  5. #5
    Registered User
    Join Date
    Sep 2001
    Posts
    305
    spammer!!!! j/k

  6. #6
    Registered User Zeeshan's Avatar
    Join Date
    Oct 2001
    Location
    London, United Kingdom
    Posts
    226
    1. C is a good language for beginners, although BASIC might have been more suitable...

    2. If your Principal is willing to use C...there is no problem in giving him what he wants. C is not that tough...even for a beginner, or is it YOU ? are you asking this question b/c you have some trouble with teaching C to newbies ? that's most probably what the Principal would think...he can't change that school curriculum for a teacher (sp. a new teacher who hasn't yet gained his confidence)

  7. #7
    Registered User
    Join Date
    May 2002
    Posts
    85
    In my opion, C is the best choice for beginner.
    It's also mainstream language and it help beginner
    later will adapt easier to learn with other languages such as C++, C#, Java, VB, VC++.
    So teaching a programming language for beginners,
    I vote for C. Also look my profile to find out why
    i vote for it!

  8. #8
    Registered User
    Join Date
    Feb 2002
    Posts
    589
    Suprise Suprise I also think you should start with C. I think C have a structure that is easier to see then VB. C is a clear language while VB is (for me) blurred because you rely on premade things for all your functionality.

  9. #9
    Registered User
    Join Date
    Jun 2002
    Posts
    267
    Originally posted by dv007
    later will adapt easier to learn with other languages such as C++, C#, Java, VB, VC++
    I didn't know VC++ was a language

  10. #10
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    An analogy
    The car you learn to drive in, is not the same as the car you drive.

    There are two steps

    1. To teach them how to program.
    Learning how to program involves learning "in principle" how the various stages of program development are used - how to use loops, how to break the program down into manageable blocks etc etc.

    It's important to get this right - it's the only truly portable skill which your students will acquire. Once you know how to program, the same principles generally apply no matter which programming language you choose.

    The language you use to illustrate these concepts is entirely up to you. So something which is easy to get to grips with, and can be used to demonstrate the ideas in practice is good. I don't think C is the best language for this task - you have to get a lot right to make anything more complex than "hello world" work, and C is very unforgiving of even minor mistakes. So long as it supports structured programming, it should be OK.

    2. To teach them a programming language.
    This is where you really get down to business, of teaching them how to use a real language well. Teaching the language isn't that difficult (for C at least). An important part of this is teaching them about the standard library.

  11. #11
    Registered User
    Join Date
    May 2002
    Posts
    85
    Cory,
    Salem's advice is quite right.
    How come you ask your principal to let you teach
    a few more courses about "Software Principle",
    "Data structure & Algorithm" or "Programming Construction" for those highschool students.
    Remember, I think C is always good choice for those beginners(11 grade student).
    DV007

    P.S: People, please dont pay attention too much
    about some TYPO in someone's comments.
    Spend your time for useful advice or ideas.
    My privious message mentioned VC++ is I just mean
    to list out languages and tools to learn. I did
    not mean all those were programming languages.
    VC++ is a enhanced tool(add more features, such as graphic package..) from C++ language.
    Last edited by dv007; 06-11-2002 at 02:05 PM.

  12. #12
    Unregistered
    Guest
    I would say C is a very bad first language.

    If these students are new to computers and/or programming, then you want to be teaching principles first, such as algorythms (helps in maths) and logic (also helps in electronics/science).

    Then progress them onto simple languages like BASIC or Logo. By BASIC, I would not recommend QBasic, and if using Visual Basic, don't let them use the visual tools - that's programming without programming. Personally I'd recommend BBC BASIC.

    For the 12 graders - who have completed this course in 11th grade, I would say something like PHP or maybe C++ (which I've always thought of as easier than C, except for the OOP stuff).

  13. #13
    Registered User
    Join Date
    May 2002
    Posts
    66
    I would go with C++ as a language, but only get into object oriented programming in 12th grade. Syntax of C++ is similar enough to C that it can take up 11th grade by itself, with 12 introducing the more complex aspects of the language like classes, templates, STL, et.al.

  14. #14
    i dont know Vicious's Avatar
    Join Date
    May 2002
    Posts
    1,200
    i agree... just go into c++. Im a 10th grader and I think what I know of C++ would be a good years worth of study...

    Then the 12th grade could have more advanced c++...

    Pointers, Class Inheritance, ect...
    What is C++?

  15. #15
    Registered User
    Join Date
    Mar 2002
    Posts
    95
    i disagree c++ is much worse to teach than c. If you try to teach them c++ then you'll also have to teach them about classes and all the other things that c++ is good for. The best language to teach first is definately c, every command you enter in c results in an output, ie a printf will print to the screen, something like visual basic doesnt actually teach programming it teaches you how to draw nice pretty interfaces with the least amount of programming possible.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. can someone help me with these errors please code included
    By geekrockergal in forum C Programming
    Replies: 7
    Last Post: 02-10-2009, 02:20 PM
  2. teaching "C" to beginning programmers (Grade 11's)
    By Unregistered in forum C++ Programming
    Replies: 9
    Last Post: 06-12-2002, 06:06 AM
  3. Programming Puns
    By kermi3 in forum A Brief History of Cprogramming.com
    Replies: 44
    Last Post: 03-23-2002, 04:38 PM