C++ Programming: Introduction

Overview

C++ is an excellent language to introduce object-oriented programming as well as procedural programming. After commencing with procedural programming (including the C struct and the writing of functions in which parameters are passed by value and by reference) the course moves swiftly onto the object oriented paradigm. During the course we will cover: the creation of classes, overloading constructors and functions, polymorphism, encapsulation, the public, protected and private interfaces as well as inheritance.

The course will also introduce pointers, dynamic memory allocation, aspects of the software engineering process including the software development life cycle. The course will also include a lecture on the standard template library manipulating vectors and lists.


This course combines online study with a weekly 1-hour live webinar led by your tutor. Find out more about how our short online courses are taught.


Programme details

This course begins on the 12 Jan 2026 which is when course materials are made available to students. Students should study these materials in advance of the first live meeting which will be held on 19 Jan 2026, 6:30-7:30pm (UK time).

Week 1: C++ Syntax and Semantics, the program development process

Week 2: Numeric Types, expressions and Output in C++

Week 3: Program Input and the Software Design Process

Week 4: Conditions, Logical Expressions and Selection Control Structures

Week 5: Loops, functions and friends

Week 6: Structured types, data abstraction and classes

Week 7: Arrays

Week 8: Object-Oriented Software Development and file handling.

Week 9: Pointers, dynamic data, template functions  and reference types

Week 10: Recursion and revision. 

Certification

Credit Application Transfer Scheme (CATS) points 

Coursework is an integral part of all online courses and everyone enrolled will be expected to do coursework. All those enrolled on an online courses are registered for credit and will be awarded CATS points for completing work at the required standard.

See more information on CATS points

Digital credentials

All students who pass their final assignment will be eligible for a digital Certificate of Completion. Upon successful completion, you will receive a link to download a University of Oxford digital certificate. Information on how to access this digital certificate will be emailed to you after the end of the course. The certificate will show your name, the course title and the dates of the course you attended. You will be able to download your certificate or share it on social media if you choose to do so. 

Please note that assignments are not graded but are marked either pass or fail. 

Fees

Description Costs
Course Fee £360.00

Funding

If you are in receipt of a UK state benefit, you are a full-time student in the UK or a student on a low income, you may be eligible for a reduction of 50% of tuition fees. Please see the below link for full details:

Concessionary fees for short courses

Tutor

Dr Vasos Pavlika

Dr Vasos Pavlika is a Associate Professor (Teaching) at UCL, Departmental lecturer at the LSE and at Birkbeck College, University of London. He has been a lecturer in the Department for Continuing Education, Oxford for several years. Vasos also teaches the History of Science and the History of Mathematics at the Institute of Continuing Education, Cambridge. Vasos is also an Online Tutor at SOAS (University of London in M.Sc modules in Mathematical Finance) an Online Tutor at Goldsmiths College (University of London in B.Sc modules in Computer Science) and an Online Tutor in Mathematics with the Open University. Vasos is also Director of Studies in the Physical Sciences at Oxford in the Department for Continuing Education.

 

Course aims

C++ will be used to introduce Object Oriented Programming, commencing at an introductory level. The course will cover encapsulation, inheritance, polymorphism, software engineering, dynamic data allocation and the standard template library.

At the end of the course, students should:

  • comprehend procedural programming;
  • comprehend and code using the OO paradigm and using friend functions;
  • comprehend how memory is allocated dynamically in the creation of arrays.

Teaching methods

Learning takes place on a weekly schedule. At the start of each weekly unit, students are provided with learning materials on our online platform, including one hour of pre-recorded video, often supplemented by guided readings and educational resources. These learning materials prepare students for a one-hour live webinar with an expert tutor at the end of each weekly unit which they attend in small groups. Webinars are held on Microsoft Teams, and provide the opportunity for students to respond to discussion prompts and ask questions. The blend of weekly learning materials that can be worked through flexibly, together with a live meeting with a tutor and their peers, maximise learning and engagement through interaction in a friendly, supportive environment.

Learning outcomes

By the end of the course students will be expected to:

  • understand procedural programming;
  • understand the OO paradigm; 
  • be familiar with dynamic memory allocation and pointers.

After attending this course, prospective students will know:

  • how to conceptualize objects as C++ classes;
  • how to write constructors, destructors and member functions;
  • how to control access to member functions using public, private and friend concepts;
  • how to allocate memory dynamically at run time.

Assessment methods

You will be set independent formative and summative work for this course. Formative work will be submitted for informal assessment and feedback from your tutor, but has no impact on your final grade. The summative work will be formally assessed as pass or fail.

Application

Please use the 'Book' or 'Apply' button on this page. Alternatively, please complete an Enrolment form for short courses | Oxford University Department for Continuing Education

Level and demands

Before attending this course, prospective students will know:

  • how to edit a computer program using a simple text editor;
  • what program functions and arguments are;
  • how to program a simple Hello World! example in any programming language.

The Department's short online courses are taught at FHEQ Level 4, i.e. first year undergraduate level. FHEQ level 4 courses require approximately 10 hours study per week, therefore a total of about 100 study hours.

English Language Requirements

We do not insist that applicants hold an English language certification, but warn that they may be at a disadvantage if their language skills are not of a comparable level to those qualifications listed on our website. If you are confident in your proficiency, please feel free to enrol. For more information regarding English language requirements please follow this link: https://www.conted.ox.ac.uk/about/english-language-requirements

Selection criteria

Before the course starts, students should:

  • Be able to use MS Windows.
  • Be able to create folders of their computers.
  • Be familiar with Internet Explorer.