C++ Software Developer

MICRODEGREE ( 3-6 MONTHS PART-TIME )



This course introduces you to intermediate C++ programming. It explores language specific tools as the learner works through fairly complex programming tasks.

 Accredited by

The Computer Science Association of South Africa is a professional body formed in partnership with Google to promote, protect, and advance Computer Science and software development education in the country.


 Student rating

To read reviews from our students, click here

 Difficulty
 Intermediate

This course is designed for students who have taken one of Hyperion's beginner courses, or have equivalent experience (6 - 12 month programming experience)



Course Overview


Technologies

C++ was at the forefront of object oriented programming. Based on the legendary C programming language, it is a modification on the language to introduce object oriented programming and other more advanced programming constructs, including the Standard Library, to the much loved C.

This course will assume a basic understanding of programming. It assumes that you have already learnt the basics of programming, although it does start off lightly with a quick refresher on what programming is about and how to write a C++ program.

The course then focuses its' attention on intermediate programming tools, the bread and butter of programs, like conditions, repetition, data structures, before moving on to more advanced tools in C++ like vectors and functions.





Register Now



Subscribe to online mentor support with Hyperion to take this course part-time or full-time.

Here's what you get:





Daily feedback on your code from an expert mentor




24/7 online chat with your mentor


Weekly 1:1 mentorship call


Post graduation career support


Full access to tailored course content and coding exercises


On-boarding guidance call with an expert mentor to check you're on the right course


Certificate and professional reference on completion



Learn how our online mentor support works



MENTOR SUPPORT OPTIONS

Monthly
$345
3 Months
$295 p/m
15% off, save $150


Register Now






Course syllabus




Our courses are designed to help you learn programming skills through practice. Here are the practical projects you'll complete with the help of a mentor as part of this course:


1


Intro to C++

Refresh your knowledge of programming and of the C++ programming language specifically. We re-introduce the basic concepts and principles you need to know to write programs and solve given computational problems.

2


Types and Errors

What are the data types available to us in C++?How can these be best used in the solution to a problem?We also delve into the theoretical knowledge behind variables - what they are and how they are used.Errors are a part of the development process. When we solve new problems, we're making missteps is inevitable. Mistakes are actually part of the development process, but the important thing is knowing how to handle them so that they don't prevent you from developing an effective solution to a given problem.

3


Control Structures I

Decision making is implemented through the if statement. We discuss how this construct is used to implement slightly complex programs that need to make decisions. We also delve into depth with the Boolean data type and Boolean operators - which are used to implement complex decisions that need to be made during the execution of the program.

4


Control Structures II

One of the fundamental benefits of a computer is its ability to do repetitive and tedious work very quickly. We introduce the programming construct that allows computer programs to repeat certain code blocks.

5


Control Structures III

The for loop discussed in the last task is referred to as an unconditional loop because we know how many times we want to repeat a program block before we begin the loop. In some instances we don't have this information beforehand, and must devise another way to determine when a loop ends. That's where the while loop come in, which we explore in this task.

6


Data Structures I

Data structures are an integral part of a program. Essentially, any program is made up of two parts: the logical structure of the data, and the statements that modify the data. We focus our attention specifically on the first part, introducing the more basic array structure and later the more abstract vector.

7


Data Structures II

Continuing our discussion of data structures is the two dimensional array. This is the programmatic implementation of the mathematical two dimensional matrix. We explore interesting applications which require this data structure.

8


Functions

Modular design is about breaking code down into its basic parts, with each part doing something specific and being self-contained. This allows us to reuse parts as we see fit without affecting the program at all. This also gives our code a clean look in addition to the practical benefit of having well organised code.

9


Recursion

A counterintuitive way of solving problems. This method solves problems that can be broken down into smaller versions of themselves. This task focuses on problem solving and tests your ability to develop working algorithms before writing them in code.

10


Function Overloading

We extend our discussion of module design with the introduction of the idea that we can use the same function to process data of different types.

1. Intro to C++

Refresh your knowledge of programming and of the C++ programming language specifically. We re-introduce the basic concepts and principles you need to know to write programs and solve given computational problems.

2. Types and Errors

What are the data types available to us in C++?How can these be best used in the solution to a problem?We also delve into the theoretical knowledge behind variables - what they are and how they are used.Errors are a part of the development process. When we solve new problems, we're making missteps is inevitable. Mistakes are actually part of the development process, but the important thing is knowing how to handle them so that they don't prevent you from developing an effective solution to a given problem.

3. Control Structures I

Decision making is implemented through the if statement. We discuss how this construct is used to implement slightly complex programs that need to make decisions. We also delve into depth with the Boolean data type and Boolean operators - which are used to implement complex decisions that need to be made during the execution of the program.

4. Control Structures II

One of the fundamental benefits of a computer is its ability to do repetitive and tedious work very quickly. We introduce the programming construct that allows computer programs to repeat certain code blocks.

5. Control Structures III

The for loop discussed in the last task is referred to as an unconditional loop because we know how many times we want to repeat a program block before we begin the loop. In some instances we don't have this information beforehand, and must devise another way to determine when a loop ends. That's where the while loop come in, which we explore in this task.

6. Data Structures I

Data structures are an integral part of a program. Essentially, any program is made up of two parts: the logical structure of the data, and the statements that modify the data. We focus our attention specifically on the first part, introducing the more basic array structure and later the more abstract vector.

7. Data Structures II

Continuing our discussion of data structures is the two dimensional array. This is the programmatic implementation of the mathematical two dimensional matrix. We explore interesting applications which require this data structure.

8. Functions

Modular design is about breaking code down into its basic parts, with each part doing something specific and being self-contained. This allows us to reuse parts as we see fit without affecting the program at all. This also gives our code a clean look in addition to the practical benefit of having well organised code.

9. Recursion

A counterintuitive way of solving problems. This method solves problems that can be broken down into smaller versions of themselves. This task focuses on problem solving and tests your ability to develop working algorithms before writing them in code.

10. Function Overloading

We extend our discussion of module design with the introduction of the idea that we can use the same function to process data of different types.







Students Reviews




Why Take This Course?



This language is not only widely used across the programming world, but it is well loved as too. Many programmers love the intellectual challenge of working with its complex parts, like pointers, which it retained from its C base. C++ is used to do a lot of systems programming as it is very close to the machine, and hasn’t been abstracted away from the hardware like other languages - Java for instance.

Even if your employer doesn’t develop any software in C++, mastery of this language will make you attractive to them because of how challenging it is. A programmer who has mastered C++ is apt at working with abstract construct in creative ways, implementing intricate designs with miniscule margins of errors, and has an intimate understanding of the hardware on which computer programs run.





1-on-1 mentor support for the duration of your course support, including live chat and code marking within 6 hours of assignment submission

Access to all course content , including hundreds of programming exercises and explanatory documents

Verified certificate on course completion, including post-course career support
A MicroDegree is a innovative new concept which goes beyond simply taking an online course. This certification is designed to get you the skills that employers believe are integral to get a job in software development. It focuses on learning by doing, and is typically comprised of 8 to 15 practical programming projects with hundreds of additional programming exercises and course content to support the skills needed to complete these projects.

All our MicroDegrees connect you with a 1:1 mentor, to which your practical programming projects are submitted for feedback. Your mentor works with you in real time to improve your code, solve programming exercises, and craft your learning path to match your intended career. Mentor support is available 24/7 online with face-to-face support offered in selected areas.





Prerequisites and Requirements


Prior programming experience requirements

-It is required that you have had at least 6 months programming experience or take one of our beginner courses in order to take this course.

General

-Our courses feature a substantial theoretical aspect even though the focus is on the practical component. You need to be proficient in English, both reading and writing, in order to learn about what programming is and what is expected of you in each task.

Technical Proficiencies

-Basic computer skills, such as sending emails and saving files

-Proficient with the use of a programming application, such as CodeBlocks, Visual Studio, or Eclipse

Equipment and Technologies

-Access to a computer and a broadband internet connection *

-A machine that meets the technical requirements to run CodeBlocks. Please see: http://www.codeblocks.org/downloads/26

-An email address where course content and other important course information can be delivered.

*The use of Dropbox means you’re not required to be always online while taking this MicroDegree. Even if you don’t have internet - perhaps due to some loadshedding - you can still access your Dropbox folder and continue to edit/update files. As soon as you have internet again, your Dropbox will sync with your trainer and he or she will see your changes. Dropbox and our own website is also available on everything from Blackberry to Apple tablets - so you will be able to learn while on the move.





Looking for a job?


This course will you prepare you with the following jobs offered by examples of some of the
companies hiring Hyperion graduates:




Mobile native app developer

GetMyBoat

Read more


Senior PHP Developer

Webfluential

Read more


DATA ENGINEER/ANALYST

Argon Asset Management (Pty) Ltd

Read more

Click here to see all jobs

Course Leads






Riaz
Moola

Course Director


Yazeed
Peters

Careers Consultant


Masood
Gool

Lead Mentor


Sobane
Motlomelo

Assistant Mentor


Jared
Ping

Assistant Mentor



Andrea Smith

+27 21 409 7880



Speak to a consultant


Not sure which course to take or have a question? Get in touch with our course consultants who are happy to advise.



Schedule a call

Click here to chat



Sobane Motlomelo

+27 21 409 7880







Hyperion supports Corporate Training

Are you currently employed?

Hyperion is happy to work with your employer to support them paying for your enrolment of this course.
Most companies have budgets for employee training - just ask your HR department or manager!



Are you an employer or Learning & Development Manager ?

We offer discounted and tailored training programmes for corporate teams.





Click here to learn more about corporate training