[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
C++ Introductory course
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /wsr/ - Worksafe Requests

Thread replies: 32
Thread images: 2
File: 1464206051233.jpg (117 KB, 800x537) Image search: [Google]
1464206051233.jpg
117 KB, 800x537
Can anyone suggest a decent, free, online introductory course to C++ that would be suitable for a complete novice programmer? My nephew is keen to start coding and I'm keen to encourage him on the path. He is determined that he wants to begin in C++ by the way - that came from him. Thanks /wsr/
>>
shameless bump
>>
>>133071
>>133072
did you look on youtube adding playlist?
>>
>>133071
>I want to start off with the most complicated language that exists.
Then he's a retard.

There are no "C++ for people who can't program" guides, because C++ is not for beginners.

Start off with Java or Python like everyone else.
>>
>>133090
Yeah I did, there's so much material online these days about C++ but I want something very high-level. Thanks anyway.
>>
>>133091
He's no retard, he's a prodigy and a purist, like his dad. He told me (get this) he wants to do the hard work while he's young enough to absorb it. He even visualises languages like a stack already, with the low level ones at the bottom. He has a point. So, any ideas bro?
>>
>>133071
I used this while taking an introductory course in C++
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-096-introduction-to-c-january-iap-2011/

This is the course notes from my school.
http://www.cs.rpi.edu/academics/courses/fall15/csci1200/

The problem with C++ is that it's hard, and not a lot of people learn it on their own as a first language, so its really useful to have someone you know who knows the language decently. It is possible to do on your own, but you need to become very familiar with http://stackoverflow.com/
>>
>>133091
Not him but since we're on the subject as well I might as well hijack this thread rather than start a new one: how is C# for beginners?

And how does C# relate to C++? Is C# a "better, newer" C++ or do the two coexist?
>>
>>133895
Programofag with over 8 years experience here . c++ was made to address some of the problems that c had + add more functionality. C# is object orientated and what it really is its Microsoft monster that had its skin removed but deep inside its still Java. I would say java and c# are the simplest of the bunch and also very in demand . c++ experts get much more money , but general they would work in more complex projects. A noob can get a understanding of c# and make a primitive application. C++ for non programmers its like attempting to put 2 fists into your ass. C++ main power is its memory management which is a complex thing to teach a non programmer.
>>
>>133953
>C# is object orientated
>object oriented
What does that even mean?
>>
>>133096
Erm, yeah he is.

He's been told (by several people, I gather) a non-retarded way to learn that's everywhere, yet he keeps looking for a guide to doing something that's nonsensical and stupid.

C++ is not a beginner's language. The clue is in the name.
>>
>>133974
Either spelling is correct, twatface.

One is American, is all.
>>
>>133987
I wasn't talking about the spelling. I was honestly, unironically asking what object oriented means in a C#/programming context. I'm sorry if I came across as condescending.

I just retyped it and didn't notice he spelled (or spelt, if you will) it in the British way.
>>
>>134011
Apologies.

An OO language provides "objects": structures that contain both code and data, and implement "interfaces". Any object that implements an interface is interchangeable with any other object that implements that interface. The reason this works is that rather than modify an object's data directly, you invoke one of the object's "methods", and it modifies it for you. So an object that's different internally can contain code that hides the differences and implements the same interface.

For example, you could have code that talks to a "database connection object", and whether it's given a MySQL object, a PostgreSQL object or an Oracle object, the same unmodified code would work the same. Or you could have a directshow object, and no-matter what it actually does, GraphEdit can edit it.

OO is a concept that can be implemented in any language; a language is described as an "OO language" if it has features that make implementing OO easier or more robust, for example objects coming with the language and not having to be written by hand, compile-time type checking, language features that stop you bypassing objects' permissions, etc.
>>
>>133071
May be kinda off topic but I'd rather suggest him to learn C, then C++. Because if he ever need to learn C, it would be harder for him to learn language without classes than the other way around.
I know no decent C++ courses, at least not online and free ones, sorry.
>>
>>134025
It'll be fine: he's a prodigy after all.
>>
>>133974
its like this procedural languages such as C break the functionality into small procedures to complete a task . each step is a small program that takes some input creates a output and puts it into next small program.

In OOP you create objects , which is kinda like creating a new character for you fav RPG. You make a character , that has certain attributes , and skill and stats , and based on that he can interact with other objects in a certain way. So if you have a Gnome class: Rapist you are able to sexual assault other objects that are from NPC and PLAYER class however objects that are of ITEM class cannot be raped.
TLDR: you tell the code to create a OBJECT, which has certain functions that you can use . Procedural programing was the shit some time ago , and its still used in some things like microprocessors . As PC become much more powerful OOP become a new standard.
Generally Procedural languages are easier to learn and understand but, but become hard to maintain , and build upon because each small program is dependent of each other. OOP is much more forgiving ,and much easier to maintain as each object acts as its own entity.

I would advise you to start from languages such as c# or Java. They are not as easy as python , but if you are good enough to use them , you will learn python in no time. I kind consider python as first big boy language to be a meme , because of how easy it is , some so called 'self thought programmers' have difficulties moving to C# or Java. Indeed Python is great to have ,but if you already have a solid background in c# or java.
I do interviews for the company I work with , together with Hr guy, and another programmer and we have never accepted anyone who has only Python experience. C# and Java , we would go through candidates portfolio and code , and if they are good enough , we would accept him.
>>134025
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.
>>
>>134027
He may be, but I still believe that it's better to learn less developed programming languages first so C++ would be "C with objects" for him, rather than "C without objects" if he first learn something OO.
But suit yourself, OP.
>>
>>134031
Did all 3: first learn C, than learn a couple of new thing on the top on that and now you know C++. Trying to learn c# ? Forget C, C++ and learn Java. I mean C is cool any probably my favorite however C is not as popular as it used to , unless you want to go into microprocessors , than learn C and Assembly.
>>
>>134037
Even then, real microcontrollers use domain-specific languages that can be formally verified.

It's just the toy microcontrollers like Arduinos that use C.
>>
File: c_cxx_venn_diagram.001.png (41 KB, 488x441) Image search: [Google]
c_cxx_venn_diagram.001.png
41 KB, 488x441
>>133071
>online introductory course

Why bother, most programming courses are just a professor reading from a textbook. Just get him a good book like "Programming: Principles and Practice Using C++" by Stroustrup (the creator of C++) and have him work through the exercises.

>>133091
>>I want to start off with the most complicated language that exists.

Lies and slander. Java is in no way less complicated than C++ and in many ways Java is way more of a pain in the ass. Python while easy, hides too much of what's going on from the programmer. The kid sounds like he wants to understand what's going on so C++ would be better.

>>133895

C# is Java with a lot (but not all) of the stupid shit they did cleaned up.

>>133953
>C++ for non programmers its like attempting to put 2 fists into your ass.

C++ is no harder to learn than C or C#. You don't have to cram in every library in at once.

>C++ main power is its memory management which is a complex thing to teach a non programmer.

Putting your toys away when you're done with them isn't complex. And with smart pointers in C++11, you don't even need to worry about memory management anymore until your ready for it.

>>133985
>C++ is not a beginner's language

/g/ memes aren't real life. Many (engineering) universities starts with C++ and assume no previous programming experience.

>>134025
>if he ever need to learn C, it would be harder for him to learn language without classes than the other way around

You don't know what you're talking about. Learning C after C++ is way easier than learning C++ after C. Learning C after C++ boils down to just using a subset of the language features and watching out for the tiny sliver that works slightly differently.

>language without classes

C++ isn't Java or C#. You're not forced into using classes for everything. Have you ever even coded in C++?
>>
>>134030
>C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.

99.95% of people who hate on C++/C on the internet are like this. They mindless repeat phrases they've heard without understanding why they are saying it.
>>
>>134171
>Java is in no way less complicated than C++
Sure it is.

Java is type-safe, managed, and has no pointer arithmetic or multiple inheritance.

It is absolutely a subset of C++, and you can't argue to the contrary.
>>
>>134171
>C++ isn't Java or C#. You're not forced into using classes for everything.
Sure, but they're there, and you'll use them, otherwise what's the point of learning C++?

The point, (as articulated (badly) by OP in >>133096) is that there's a hierarchy of complexity in languages, and you want to start at the botttom and move up, not learn the language at the very pinnacle.
>>
>>134178
>Java is type-safe, managed

So is C++

>and has no pointer arithmetic or multiple inheritance

You don't need to use it if you don't want to.

>It is absolutely a subset of C++, and you can't argue to the contrary.

In C++ you can write a hello world program without using classes. You can do the same with Java.
>>
>>134180
>otherwise what's the point of learning C++

Namespaces, constants that actually work, templates, type safety, STL, etc. C++ has many improvements over C beyond just "C with classes".
>>
>>134183
C++ absolutely is not managed, and if you want it to look like you know what you're talking about, you need to google every word you respond to.
>>
>>134188
You just pissed with the lid down.

You can swap "classes" for anything you just mentioned, and it's exactly the same argument.
>>
>>134241
>You can swap "classes" for anything you just mentioned, and it's exactly the same argument.

??? I'm just saying there are other thing in C++ beyond class.
>>
>He is determined that he wants to begin in C++ by the way - that came from him
I think you actually meant:
>This thread is bait and you autists are going to make the bump limit

If you do have a nephew, ask him to research what the following line of code means:
>public static void main(void)
If he manages that, he doesn't need your help. Otherwise, have him use pseudocode and a normal beginners' language, like Scratch, JScript or Visual Basic 3.
>>
>>134285
>>public static void main(void)

That's java code, not C++ you illiterate monkey
>>
>>134289
It was intentional, anon. A bait thread warrants bait replies.
Thread replies: 32
Thread images: 2

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.