How should I teach a C++ college class?
I need some general input here. I'd like to pitch and run a semester long C++ course to students who have at least 1 year of programming experience. I'd like to have this open to open ended input. The biggest technical restrictions are that the University systems are running RHEL 7.4 (7.5?) with software collections devtoolset-8.
My 2c: Suggest teaching latest standards (which for now is c++17), touch on c++2a, particularly coroutines, as this will be a game-changer for the way c++ is used. Teach the single responsibility principle and separation of concerns. Encourage the use of standard algorithms and containers, particularly the use of std::vector and std::array over c arrays and std::string over c strings. Touch on interoperability with c libraries as this is still important. Teach the use of std::unique_ptr with custom destructor for managing c-library objects while gaining the benefit of RAII. Teach RAII, referring back to the Single Responsibility Principle and how this enables easy, perfect RAII in objects that manage external resources. Certainly mention boost and how features in boost tend to migrate into the standard over time. On Sun, 17 Mar 2019 at 03:38, Joshua Marshall via Boost < boost@lists.boost.org> wrote:
I need some general input here. I'd like to pitch and run a semester long C++ course to students who have at least 1 year of programming experience. I'd like to have this open to open ended input. The biggest technical restrictions are that the University systems are running RHEL 7.4 (7.5?) with software collections devtoolset-8.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Richard Hodges hodges.r@gmail.com office: +442032898513 home: +376841522 mobile: +376380212
Apart from the fact this is off topic on Boost mailing list, on Boost
developers list in particular
Mateusz Loskot, mateusz@loskot.net
(Sent from mobile)
On Sun, 17 Mar 2019, 11:38 Richard Hodges via Boost,
My 2c:
Suggest teaching latest standards (which for now is c++17), touch on c++2a, particularly coroutines, as this will be a game-changer for the way c++ is used.
Teach the single responsibility principle and separation of concerns.
Encourage the use of standard algorithms and containers, particularly the use of std::vector and std::array over c arrays and std::string over c strings.
Touch on interoperability with c libraries as this is still important.
Teach the use of std::unique_ptr with custom destructor for managing c-library objects while gaining the benefit of RAII.
Teach RAII, referring back to the Single Responsibility Principle and how this enables easy, perfect RAII in objects that manage external resources.
Certainly mention boost and how features in boost tend to migrate into the standard over time.
On Sun, 17 Mar 2019 at 03:38, Joshua Marshall via Boost < boost@lists.boost.org> wrote:
I need some general input here. I'd like to pitch and run a semester long C++ course to students who have at least 1 year of programming experience. I'd like to have this open to open ended input. The biggest technical restrictions are that the University systems are running RHEL 7.4 (7.5?) with software collections devtoolset-8.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Richard Hodges hodges.r@gmail.com office: +442032898513 home: +376841522 mobile: +376380212
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
On Sun, 17 Mar 2019 at 12:38, Mateusz Loskot via Boost < boost@lists.boost.org> wrote:
Apart from the fact this is off topic on Boost mailing list, on Boost developers list in particular
I have invited Joshua to the cpplang slack group so he can get advice there. Apologies for the spam.
Mateusz Loskot, mateusz@loskot.net (Sent from mobile)
On Sun, 17 Mar 2019, 11:38 Richard Hodges via Boost, < boost@lists.boost.org> wrote:
My 2c:
Suggest teaching latest standards (which for now is c++17), touch on c++2a, particularly coroutines, as this will be a game-changer for the way c++ is used.
Teach the single responsibility principle and separation of concerns.
Encourage the use of standard algorithms and containers, particularly the use of std::vector and std::array over c arrays and std::string over c strings.
Touch on interoperability with c libraries as this is still important.
Teach the use of std::unique_ptr with custom destructor for managing c-library objects while gaining the benefit of RAII.
Teach RAII, referring back to the Single Responsibility Principle and how this enables easy, perfect RAII in objects that manage external resources.
Certainly mention boost and how features in boost tend to migrate into the standard over time.
On Sun, 17 Mar 2019 at 03:38, Joshua Marshall via Boost < boost@lists.boost.org> wrote:
I need some general input here. I'd like to pitch and run a semester long C++ course to students who have at least 1 year of programming experience. I'd like to have this open to open ended input. The biggest technical restrictions are that the University systems are running RHEL 7.4 (7.5?) with software collections devtoolset-8.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Richard Hodges hodges.r@gmail.com office: +442032898513 home: +376841522 mobile: +376380212
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Richard Hodges hodges.r@gmail.com office: +442032898513 home: +376841522 mobile: +376380212
participants (3)
-
Joshua Marshall
-
Mateusz Loskot
-
Richard Hodges