This primer introduces the basic commands and workflows in the Git™ Version Control System (VCS). For a more detailed look at the workings of Git, refer to the free resource hosted as part of the Git open-source project - git scm book.
Unix-based systems generally have a similar command line interface (CLI). This interface is challenging at first, but allows users to do powerful operations in a fraction of the time required to do the same task in a GUI. An additional benefit is that actions are more repeatable via the CLI. One useful thing to do is chain together multiple commands into one mega-command. This chaining is accomplished with the pipe key |. Since pipes are used to connect commands, this is colloquially referred to as “plumbing”.
Vim is by no means the only code editing tool out there…it’s just the best one 😁. It is highly customizable, and if you choose it as your editor you will modify it over time to suit your needs. For beginners, a very simple setup can go a long way in helping to develop code.
C++ won’t always work the way you expect, and that is by design. It’s a remarkably rigid language and it requires that a programmer cross all of their f’s and dot all of their j’s.
It is very common to have some difficulty when constructing custom classes in C++. Below I’ll discuss what tend to be the two most common problems I see with student submissions. The first is local scope vs instance variables. The second is a lack of default constructors.