C++ Part 1: Introduction to Object-Oriented Programming

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.

Programme details

Course starts: 18 Sept 2023

Week 0: Course orientation

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

Students who register for CATS points will receive a Record of CATS points on successful completion of their course assessment.

To earn credit (CATS points) you will need to register and pay an additional £10 fee per course. You can do this by ticking the relevant box at the bottom of the enrolment form or when enrolling online.

Coursework is an integral part of all weekly classes and everyone enrolled will be expected to do coursework in order to benefit fully from the course. Only those who have registered for credit will be awarded CATS points for completing work at the required standard.

Students who do not register for CATS points during the enrolment process can either register for CATS points prior to the start of their course or retrospectively from the January 1st after the current full academic year has been completed. If you are enrolled on the Certificate of Higher Education you need to indicate this on the enrolment form but there is no additional registration fee.

Fees

Description Costs
Course Fee £280.00
Take this course for CATS points £10.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 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.

Course Objectives:

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

Students will have access to a pre-recorded lecture to be watched in advance of each live session.

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

One piece of coursework will be set which on successful completion will count towards the award of 10 CATS points. The assessment will be a set of ten questions that will enable students to demonstrate an understanding of the material discussed during each week of the course.

Students must submit a completed Declaration of Authorship form at the end of term when submitting your final piece of work. CATS points cannot be awarded without the aforementioned form - Declaration of Authorship form

Application

We will close for enrolments 7 days prior to the start date to allow us to complete the course set up. We will email you at that time (7 days before the course begins) with further information and joining instructions. As always, students will want to check spam and junk folders during this period to ensure that these emails are received.

To earn credit (CATS points) for your course you will need to register and pay an additional £10 fee per course. You can do this by ticking the relevant box at the bottom of the enrolment form or when enrolling online.

Please use the 'Book' or 'Apply' button on this page. Alternatively, please complete an enrolment form (Word) or enrolment form (Pdf).

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.

 

Most of the Department's weekly classes have 10 or 20 CATS points assigned to them. 10 CATS points at FHEQ Level 4 usually consist of ten 2-hour sessions. 20 CATS points at FHEQ Level 4 usually consist of twenty 2-hour sessions. It is expected that, for every 2 hours of tuition you are given, you will engage in eight hours of private study.

Credit Accumulation and Transfer Scheme (CATS)

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.