First year university student. Recommend me good c++ beginner tutorials. As beginner as possible

First year university student. Recommend me good c++ beginner tutorials. As beginner as possible.

Other urls found in this thread:

amazon.com/dp/0321992784/
learncpp.com/
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
pastebin.com/qX89s2fV
sourcemaking.com/design_patterns
codeforces.com/problemset?order=BY_SOLVED_DESC
cplusplus.com/doc/tutorial/
twitter.com/SFWRedditVideos

Just go straight to graph theory

programming and principles using c++

Is this actually useful?

Looks decent thanks

Extremely useful, you'll learn about it in algorithms class.

Effective C++

Okay, good to know

...

http:/www.learncpp.com

>typo
fug D: D: D:
well fix the link yourself.

so young, so naive

Truth be told, you won't learn anything from "tutorials". What you really need is a desire to learn, or a potential application. From there, you'll seek out the information you need on your own. Find something you want to learn C++ for. It'll be more powerful than any half baked Indian tutorial.

Can you give some kind of hint of what the graph theory actually teaches you?

Graphs are an extremely general structure that can be used to model just about any discrete structure in one way or another. Once you get a grasp of graphs and graph algorithms you will see graphs in everything, and the algorithms will provide a general approach to solve these problems. One beautiful thing is that many discrete problems can be transformed to graph problems, solved then the solution can be transformed back to its original domain.

Hope you never find Category theory.

I'm well acquainted with category theory. You probably understand neither.

I second it. Great book. Don't get the epub version, it sucks. You can get a high quality PDF from libgen, tho. Use ISBN from amazon.com/dp/0321992784/

I'm trying to learn Python, but I'm having trouble finding projects I can help out in. Is there a way to find simple projects, or anything beginner-level on github? Help me out on this, Sup Forums

>C++ Primer
>C++ Programming Language.
>Scott Meyers Effective C++
Follow the sequence.
This is hard way and the best way. Do problems. You should be reading for 1 hours and coding for 45 mins in a span of 2 hours.
15 minutes rest.
Start over.
I did this way and my C++ skills are better than any fagget posting in this board.

I used to read that book went torugh first 2 chapters was really good, but then I lost the documents and I can't find the proper version again - it was a clean document the 2nd edition the latest I think 2014 - do you happen to have it and can share?

What do you want to program?

First year uni student like OP. We learn Java and a touch of Python and I'm happy with both of those.
How should I broaden my horizons? I'm thinking C++ or C#.

>my C++ skills are better than any fagget posting in this board
People with real C++ skills don't use C++.

that's the thing, I have no idea. Maybe some scrapers or anything web-related?

I liked "Accelerated C++" by Koenig & Moo. Not sure if it was updated for C++14. Although you're only going to scratch the surface of a language as big as C++ in undergrad.

For the record, I don't think C++ is a great language, but it's probably the best we have.

learncpp.com/ is decent but not perfect, OP.

Lisp.

stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list

Take a C++ course and just do the assignments. Your objective starting out is going to be to learn the proper process and then start implementing mathematical operations into programs. Once you have the fundamentals down, set aside a day to learn pointers and address.

fuck tutorials, read a good book

I have the C++ Primer and it's pretty good, but I suggest to first know C to better understand everything. C should be the first programming language for everyone serious enough to learn how to program well.

In my first year of uni we did C the first semester and Java the second semester. In my opinion, once you learn how to use these two well enough you can pretty much learn almost any programming language.

My friend has been trying to help me learn. Is his advice good?
In this example we're just writing a simple Animal class.

pastebin.com/qX89s2fV

>defining you methods inside your class declaration
you triggered my autism

I should specify he wrote the code. He wrote that after looking at what I had written.

#define ONE 1

#include
#include

class Animal {
char * _name;
public:
Animal(char * name = "A string") : _name(name){}
char * getName() const { return _name; };
char * setName( char * name) { _name = name};
};


I don't know how char * works
help me help you

Your friend should stick to C. Do not follow his advice.

In C++ you want to declare your function prototype in the header file and define it in the implementation file. Look up runtime vs compile time

What makes you say that? He's building what I can only describe as his own multi-purpose engine. He's written quite a bit but due to my unfamiliarity with c++ I can't really critique what he's done.

this is plain satire op is trolling.

>i could've done this->Name[index] however this creates less proficient assembly

>by doing *(this->Name+index) instead we end up creating more readily cache friendly code.

Opinion: Category theory is just for mental masturbation/math autism, useless for programming and CS.
>b-but muh nads are based on it.

Your class would be perfectly fine if you would have used std::string instead of char*.

Your friend on the other hand is the archetypical newbie C/C++ programmer who tries to outsmart the compiler by writing """"cache friendly"""" code which generates """"""fast assembly"""""". Stay away from his kind and learn from books and video lectures from respected authors.

I started a job that advertise a C++ developer. Ended up going onto a team that did both Java and C++ for SL and BL work. Now I do mainly Java (which I originally hated), and hardly any C++ (which i originally loved). I'm not awesome with Java, Spring Hibernate etc, and completely dog shit with C++. It's so easy to go from C++ to Java, but to go from Java to C++ after being away from it for months. It really does fuck you off as you completely forget how shit is done.

now awesome with Java *

I was going to use std::string but he recommended using char * because
>if you're going to use c++, c-strings are a waiste of time because of the amount of effort involved in using them
>also 99% of the time, you will make a mistake, you will use the underlying char * inadequately, and you will write cache-unfriendly code.
c++ allows you to use close to hardware managed objects.
you would be better off implementing your own string class if you want to learn

He also added
>the std::string class is approximately 24 bytes (most implementations are very similiar), a char * is 8 bytes. Which means you're paying a penalty of 16 bytes to have another class manage the underlying char * and it provides all of the functionality you need for your applications (or most of them) and generally working at acceptable speeds.

I've been learning through lynda.com with Bill Weinman (provided free thru uni)

trying to learn C++ after C here. C++ seems very large compared to C and there seems to be 10 ways of doing one thing. how long does it take to get comfy in C++?

I've been doing C++ on and off for 2 years.... i still don't know the basic shit.. But i work on a solution with more than 6 million lines of code so, it's not exactly gonna be easy for someone to learn C++ on that

However within the first year I found myself very capable... I wil stress though, alot of guys will learn C++ and read Stack overflow articles on what methods are best for doing certain things... but I cannot stress enough, learn design patterns and trust me, you will set yourself above the rest....

thanks
what design patterns book is the best?
i have Head First Design Patterns and Elements Of Reusable Object-Oriented Software but didn't read those yet

Honestly, a good resource is sourcemaking

sourcemaking.com/design_patterns

They also sections on anti-patterns and refactoring...

stay away from your friend

takes a true master to code with style

arguably more than combinatorics.

class M {
std::size_t C;
std::vector data;
public:
M(std::size_t R, std::size_t C) : C(C), data(R*C) {} // constructor definition
int operator()(size_t r, size_t c) const { // member function definition
return data[r*C+c];
}
int& operator()(size_t r, size_t c) { // another member function definition
return data[r*C+c];
}
};

does it look this ugly in real world too?

This does seem ridiculous. Can anyone confirm?

>codeforces.com/problemset?order=BY_SOLVED_DESC

Start from top, click on the problem in the column "Name" to view it, try to solve it, if you get stuck check the corresponding "Solved" column to see submitted working code.

If you want to upload and have the site test and rate your solution you need to make an account, stuff is submitted on the same page the problem description is on.

I started with cplusplus.com
cplusplus.com/doc/tutorial/

I'm not kidding.

>coming to Sup Forums for programming advice
my advice is to get out of here or kill yourself

>my C++ skills are better than any fagget posting in this board.

I doubt it.

Practical Common Lisp

As elegant as it sounds most graph solutions are NP though. I'm currently trying to deal with something related to graph coloring and is considering set theory instead