Select a Topic
Free Email Class
This is a great way to get started on your own time through a series of emails you'll receive over 5 days. You'll learn how to code a word guessing game in C++.
While you're at it, check out the podcast. There's enough podcast episodes to fill up all your time while you're waiting for the next email to arrive. The link to the podcast is at the top of the page.
How Do You Attend The Live Classes?
Because you have the flexibility to attend classes whenever they're scheduled, everything is split between two pages.
You'll find all the classes that are available in the Live Classes topic. But they're not tied directly to any specific dates and times. When you buy a ticket to see a movie, you have to tell the cinema exactly when you'd like to watch the movie and your ticket is only good for that one showing. Buying a class here is different. You first buy the class and then you can attend the class whenever it's scheduled.
The scheduling is all done on the Events page. That's where you can pick a date that fits your schedule. I explain more in this video.
Once you're registered for a class, joining is easy. All the classes have a Venue listed in the event. There, you'll find a link to GoToMeeting. The link will already have the meeting id setup for you. Just click on the meeting link at the proper date and time and get ready to learn!
You'll get the most benefit when you can follow along in the class instead of just watching. It helps to have two computer screens where you can watch the class on one screen and write code on the other screen. Or you might be able to fit everything on one big computer screen. Whatever works best for you. I also recommend a good set of headphones with a microphone if you want to ask any questions.
Essential 42 Live Classes
If you're new to programming or you've never programmed C++ before, then you'll get the most benefit from the Essential 42 Live Classes when you take them in order from beginning to end. There's 42 classes on Saturdays and Sundays spread out over 6 weekends. That's 3 weekends in the first month and 3 weekends in the second month. These 42 classes will form a solid foundation of skills that will help you understand other more advanced classes.
You can quickly find the next available date and time of each session on the event calendar so you can reserve your spot. The class sessions repeat and you can attend as many times as you want once you buy the class. Some sessions repeat more often than others so you don't have to wait as long to get started.
The reason you'll get the most benefit from taking these sessions in order is because they build on each other. Each class session has been designed to introduce topics and concepts at the right moment. You'll need that topic in order to understand other classes and other sessions that will use it. If you skip sessions, then you might find that you'll struggle to keep up because you'll have holes in your skills that other classes and sessions assume you already know.
See For Yourself How To Build A Video Game In This Ongoing Project
There's no fixed topic and nothing scripted with this class. You get to participate as we work through problems, decide what to do next, and plan and design a text-based role playing adventure game.
You can apply these skills to your own projects and learn techniques that will help you become more effective in a team. That's because these are not samples that gloss over the details. This project uses code that's been developed over several years. You can learn how to use the same code or something similar in your own projects.
The main library of code used is the Take Up Code Utility, or TUCUT library for short. This helps jumpstart your projects with several useful components. You'll learn how to use the following:
- A testing library that lets you think about how you intend to use your code before you write it and then make sure it does what you expect.
- A logging library that lets you easily write information to a file as your application runs.
- Google's Protocol Buffers to send and receive messages between different parts of your application.
- A file library to manage reading and writing files.
- A configuration library that lets you store structured information in a text file.
- An event publishing and subscribing library that lets you define exactly what information you'll send whenever something important happens in your application.
- An extension library is where new things can be added to your app or maybe existing things can be changed.
- And a curses library lets you write text-based applications and helps hide some of the more difficult aspect of curses.
And you'll see how to use development tools such as Git and the debugger. Because this is a real development session, there will be times when we'll get stuck and things don't work out exactly as expected. You can see how I approach the problems, figure them out, and take steps to prevent similar problems in the future.