Thread: New C++ tutorial for beginners - opinions wanted!

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User
    Join Date
    Jul 2015
    Posts
    37

    New C++ tutorial for beginners - opinions wanted!

    Hello!


    I was thinking that there are no really good C++ tutorials for total beginners, so I decided to create one.


    At this moment, I would like to get some feedback. So, if you would be so kind, take a look there and state what you think. Your feedback will be appreciated.


    Here is the computer programming tutorial for beginners, in the C++ language:


    Learn Programming with C++
    Last edited by Kevin C; 07-08-2015 at 04:02 AM.

  2. #2
    Registered User
    Join Date
    Mar 2015
    Posts
    184
    whats wrong with the tutorials on this site, or:
    C++ Tutorial
    C++ Tutorial for Beginners
    C++ Language - C++ Tutorials
    C++ Tutorials Forum | Dream.In.Code

    also I think executing programs on paper is for primary school kids. how are you supposed to learn your way around the new IDE if you never use it? at most they should write out a small while loop iterating over an array or something.
    Last edited by jiggunjer; 07-08-2015 at 04:27 AM.

  3. #3
    Registered User
    Join Date
    Jul 2015
    Posts
    37
    I just think that programming can be explained much better.

  4. #4
    Registered User
    Join Date
    Mar 2015
    Posts
    184
    I don't think there is one way to explain it to all ages. Using a simple approach will be boring to an older audience. Though an interested highschooler should be able to follow your tutorial fine I think.

    Aside from that you might think about the font, it seems a tad big.

  5. #5
    Registered User
    Join Date
    Dec 2013
    Posts
    241
    I think that everything new and modern in the C++ community is somthing blessed.
    I like your approarch on teaching C++ programing in a down-to-earth explanetions and in coherent flow.
    I do think that right now your tutorial does not contain as much as examples as it should and no exercises which are crucial.
    I think that the color theme can be a bit more colurful .
    also, If you do plan on keep writing this tutorial I think that teaching raw memory managment (pointers , pointer to pointers, array and pointers, dynamic memory allocation etc.) is very important.
    many C++ books and online tutorial discard this important knowledge because it's "Psudeo-C" knowledge.
    in the other hand, If you do want your tutorial to be as full as possible adding articales about C++11 and C++14 is ipmortant.

    but anyway, I'm happy to see that the community DO make an effort to keep the flame burning. keep it up!

  6. #6
    Registered User
    Join Date
    Jul 2015
    Posts
    37
    "Down to earth" is quite a nice description, I like it.

    Interestingly, I was thinking that there are plenty of examples. And many of them are full programs.

    You missed the exercises, there are a lot of them, with solutions, but there are none in the first 3 chapters (its just introductions and installing an IDE). For example:

    Exercises | Learn Programming with C++

    Anyway, thank you for sharing your opinions!

  7. #7
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    Code:
    vector<double> a = {2, -1, 4, 0.3, 11.7};
    O_o

    You should tell people you are introducing C++11 from the start.

    We also say that the variable a is an array, or an array of 'doubles', or an array of 5 values of type double.
    A `std::vector<???>` instance is not an array. The C++ language has native arrays.

    You are trying to teach some foundation materials. Using the wrong terminology will do anyone reading the site a poor favor.

    Soma
    “Salem Was Wrong!” -- Pedant Necromancer
    “Four isn't random!” -- Gibbering Mouther

  8. #8
    Registered User
    Join Date
    Jul 2015
    Posts
    37
    The C++ language has native arrays, and they are terrible, at least for beginners. "std::vector is an array" - is close enough.

    https://en.wikipedia.org/wiki/Array_data_type

  9. #9
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    Quote Originally Posted by Kevin C View Post
    The C++ language has native arrays, and they are terrible, at least for beginners. "std::vector is an array" - is close enough.
    It would be more correct, and just as understandable to say "std::vector behaves as an array." You're not leading your readers astray, and you're still giving them useful info. Everybody wins.
    What can this strange device be?
    When I touch it, it gives forth a sound
    It's got wires that vibrate and give music
    What can this thing be that I found?

  10. #10
    Registered User
    Join Date
    Jul 2015
    Posts
    37
    If it walks like a duck and quacks like a duck, it IS a duck.

    And, yes, I'm using the latest and greatest version of C++, of course. There should be no dilemma there. The readers will get the compiler when they install the recommended IDE.

    And thanks for opinions!

    Edit: Also note that the title of the tutorial is "Learn Programming - with C++", not "Learn C++ programming"
    Last edited by Kevin C; 07-08-2015 at 06:45 AM.

  11. #11
    Tweaking master Aslaville's Avatar
    Join Date
    Sep 2012
    Location
    Rogueport
    Posts
    528
    Quote Originally Posted by Kevin C View Post

    If it walks like a duck and quacks like a duck, it IS a duck.
    I don't even.

  12. #12
    Registered User rogster001's Avatar
    Join Date
    Aug 2006
    Location
    Liverpool UK
    Posts
    1,472
    Quote Originally Posted by Kevin C View Post
    The C++ language has native arrays, and they are terrible, at least for beginners. "std::vector is an array" - is close enough.
    erm..., i disagree with that one... saying they are both ways of containing data is close enough i'll grant that. And as for being terrible for beginners, I think they are a fundamental concept that aids understanding of the higher level types. Using them dynamically is harder sure, but the static allocation and access is so graspable before feature-rich containers come into a beginners picture.
    Thought for the day:
    "Are you sure your sanity chip is fully screwed in sir?" (Kryten)
    FLTK: "The most fun you can have with your clothes on."

    Stroustrup:
    "If I had thought of it and had some marketing sense every computer and just about any gadget would have had a little 'C++ Inside' sticker on it'"

  13. #13
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by rogster001 View Post
    ...I think they are a fundamental concept that aids understanding of the higher level types. Using them dynamically is harder sure, but the static allocation and access is so graspable before feature-rich containers come into a beginners picture.
    That depends on the individual. Some don't care or grasp basic underlying concepts that are close to the hardware. Nor should they have to. An array should fulfill its function while exposing a rich, useful interface. That's std::vector and std::array in a nutshell. C arrays are dangerous and inherently low level.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  14. #14
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    "std::vector is an array" - is close enough.
    O_o

    Information which is completely wrong is "close enough"?

    o_O

    Sure...

    It would be more correct, and just as understandable to say "std::vector behaves as an array."
    A `std::vector<???>` template class really only has the subscript operator in common with native arrays.

    The tutorial isn't just providing false information; the tutorial provides false information by way of comparison to a mechanism which hasn't been explained. Knowing "std::vector is an array" wouldn't be useful without having some knowledge of what it means to be "an array" even if were true.

    The comparison is completely false and also unnecessary. The tutorial could just as easily be labeled "std::vector" and wording changed to describe exactly what a it means to be a `std::vector<???>` instance without the array nonsense.

    Soma
    “Salem Was Wrong!” -- Pedant Necromancer
    “Four isn't random!” -- Gibbering Mouther

  15. #15
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    If it walks like a duck and quacks like a duck, it IS a duck.
    O_o

    What a marvelously concise explanation for why you are choosing to misinform... you act like a crappy tutorial writer because you are a crappy tutorial writer.

    Soma
    “Salem Was Wrong!” -- Pedant Necromancer
    “Four isn't random!” -- Gibbering Mouther

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Researching C++ - Your Opinions Wanted Here!
    By McCrockett in forum C++ Programming
    Replies: 2
    Last Post: 11-08-2012, 09:38 AM
  2. Storing position/velocity of agents -- opinions wanted
    By Ocifer in forum C++ Programming
    Replies: 11
    Last Post: 02-03-2012, 04:06 PM
  3. Expert opinions wanted!
    By MK27 in forum Linux Programming
    Replies: 8
    Last Post: 11-01-2011, 10:14 AM
  4. Beginners Contest #2 For those who wanted more!!
    By ILoveVectors in forum Contests Board
    Replies: 16
    Last Post: 08-12-2005, 12:03 AM
  5. Opinions Wanted
    By Unregistered in forum C Programming
    Replies: 2
    Last Post: 03-04-2002, 09:56 AM

Tags for this Thread