costs of c++

so i have some basic experience with python and i'm taking c++ courses at my university. I've always used the universities resources so i don't know what costs are involved with programming.

i am a tutor at a local high school and there are not class that teach any kind of programming, a skill i wish i had learned in high school. So my boss proposed that i teach a basic level after-school workshop introducing students to computer programming. I'm just trying to gather some information i can give to my students.

What are the costs involved (if any?) what would someone need to get started on their own (GNU? compiler? shell? i'm not even entirely certain what all of these things are, i just do my physics homework with emacs and compile in a linux console, i don't actually know how it all works.) and how are things different for windows/mac (none of my students have ever even heard of linux.) Is there any useful tips you would give students on how to get set up for programming in c++? once i have that i can teach them about syntax and logic and the general methods of programming.
Outside of obtaining:
1) A computer
2) An internet connection
it is all free.

You can download Code::Blocks as a good starter environment -- it comes with a recent version of GCC.

Alternatively, assuming you are on Windows, you can download Microsoft's Visual Studio for free.

There are plenty of other good options, and others will surely add their favorite option in further comments.

[big edit]

Prepare some specific, written instructions for your students to get them started. Suggest to Require of them something like C::B, which will basically do all the setup they need on install, and works on both Windows and Linux -- whatever they have at home.

It will also help to have a common development environment, so that when the inevitable questions about how to do something happen, you can all be on the same page.

Finally, you will need to provide some instructions on how to start a new project, compile and test it, and how to package and submit it for grading.

Hope this helps some.
Last edited on
A suggestion on top of that but would it be possible to make a zip with codeblocks and MinGW 5.1.0 in it, such that they can just download from your school's network, copy and paste? In my experience, no matter how much you tell people which thing to download and how to set it up, someone will think to themselves, but why not this one? I think this one looks better. And then they'll have a different version and won't think it important enough to tell you.
Another suggestion on top of those two would be to briefly introduce them to what a GUI is. I didn't know even after college since all I used C++ for was calculations and simulations. Even if you don't know QT programming, it is fairly easy to pick up because there are some great tutorials online like here on youtube.

https://www.youtube.com/watch?v=6KtOzh0StTc&list=PL2D1942A4688E9D63&index=1

Oh, and QT is also free and cross platform!
Last edited on
closed account (48T7M4Gy)
A suggestion on top of that but would it be possible to make a zip with codeblocks and MinGW 5.1.0 in it, such that they can just download from your school's network, copy and paste?


Check out the respective sites. You'll definitely be able to put together an installer/usb package.

NetBeans, Eclipse are worth considering maybe

XCode is good too for people with Macs

And don't forget the online compilers, CPP shell, IDEone, Coliru ... no installation at all!

(Same free theme too)
Last edited on
First, I'd like to suggest "UML Distilled" by Martin Fowler, (A fast google search gets you the PDF file for free) which was suggested to me by a mentor just last week. It's a little boring for the first 2 - 3 chapters, however learning UML is a tool they can take with them no matter the language they choose. The art of planning projects, making classes with meaning, and flow of your program and project will make their lives easier. I'd rather spend a week making up index cards and throwing them out than pay a programmer for a week and wipe the file, or worse, having a team of programmers wipe their files because you were unorganized.

Next, a tour through the debugger. Let them find out the debugger is your friend, and not be afraid of it. Teach them how to find their errors, and more importantly HOW to research the problem to find their own answers, instead of spending their nights hoping someone will reply to their questions on a C++ board.

If you teach these two things before you ever tell them "int a is a variable", you will do more for your students and programmers in general than these College professors who lecture, give an assignment and move on to the next command without so much as asking "Does everyone understand?" You have an opportunity to teach, Please take it seriously... Go forth and educate a nation young man.
closed account (48T7M4Gy)
That would certainly be an interesting experience to introduce UML right at the start. Possibly a good move.

( Same can be said about Eiffel and design by contract. )
Thank you. I can't take credit for the idea though, A friend, Steve, had me put a project on hold to look this material over. Unless I miss my guess, the debugger is next even though I can get through it, I still flounder a bit. He's a smart man, I trust his guidance above all.

Remember me7alhead, you are teaching introduction to programming, not programming. So make a nice introduction. Introduce them to easier courses next year. lol


I agree with Pearlyman, your main goal should be to teach logic, writing it on paper, making diagrams and good preparation skills and asking good questions prior to programming. After that the programming regardless of language or interface is easy.
Topic archived. No new replies allowed.