How to Teach C++ and Influence a Generation - Christopher Di Bella [ACCU 2019]

preview_player
Показать описание
#c++ #education #ACCUConf

Learning to correctly use C++ is not difficult: teaching proper C++ usage is where the challenge lies, and at some point in your career, you’ll need to teach someone something about C++. You may not be a university lecturer or on-site trainer, but you could find yourself helping a colleague with their problem, presenting at a lunch-time session, or even at a conference! Perhaps you are someone who contributes to the company style guide or 'Intro to Our Repo' manual.

Correctly teaching C++ is a tough endeavour. C++ is underrepresented at the university level, and is often incorrectly taught both at a formal level (e.g. university, textbook, etc.) and an informal level (e.g. online tutorials, YouTube, etc.). Many resources are still outdated or refuse to change with the enormous paradigm shift that the C++ community has undergone over the past two decades.

We should seek to convey correct information and provide resources that stick with the facts. We should make learning C++ an enjoyable experience; and that stems from the way in which we teach it. In this talk, we will address how to:

keep material simple for beginners to both C++ and your project

source resources that teach students how to write programs using C++ (as opposed to learning C++ language features)

convey the philosophy of programming using C++, what makes that unique to C++, and how it can be adapted to your project

get students or colleagues started with tools that can help them on the way to success

help people realise that C++ isn’t a scary language

contribute to efforts seeking to research teaching computer science and C++, and improve teaching C++

----------------

Christopher Di Bella is a Staff Software Engineer for Codeplay’s ComputeCpp Runtime Technology and a C++ teacher. He is a strong proponent for having the Concepts TS and the Ranges TS in C++20. Chris spends his days working on ComputeCpp, Codeplay’s implementation of SYCL; the Khronos implementation for the Parallel STL (using SYCL); and researching Parallel Ranges, which is an attempt to bring the aforementioned Ranges TS together with the parallel algorithms. He was previously a software developer for Nasdaq, and a tutor for UNSW Australia’s COMP6771 Advanced C++ Programming course in Sydney, Australia. In his spare time, Chris enjoys snowboarding, playing games, and watching films.
-------------------------
Future Conferences:
ACCU 2019 Autumn Conference, Belfast (UK):
2019-11-11 and 2019-11-12.
ACCU 2020 Spring Conference, Bristol (UK), Marriott City Centre:
2020-03-24 to 2020-03-28.
-------------------------
ACCU Twitter: @ACCUConf

Рекомендации по теме
Комментарии
Автор

Due to the huge volume of footage/material related to these talk videos we are unable to review each video in its entirety. We try our best to catch any errors, mistakes or issues with the videos prior to their release online, but sometimes they do slip through. If you notice an error with this video, or you feel any part of it is not up to scratch, please inform us by leaving a comment and we will do our very best to correct the issue and upload a new version as soon as possible.

We also welcome any feedback related to the videos. If you think there's something we can do better, or perhaps just differently, then please do let us know so that we can adapt our processes for future videos.

ACCUConf
Автор

Great talk! I need to show this to my university's comp sci department...

Bakuta
Автор

Please do not skip arrays in favor of vector when teaching C++.
The core language features are the foundation, if you skip those you will raise a bunch of programmers that can't live without using overly complicated abstractions even for simple tasks. This is already a huge problem in the industry, we should try not to make it worse.
And yes, arrays have problems if you use those in the wrong way, same thing can be said for vectors.

tommasobonvicini