Events/C++Lectures

    From The Document Foundation Wiki
    Lo cpp workshop.jpg
    Next Session
    Date April 11, 2019
    IRC Channel #libreoffice-dev IRC://
    Jitsi Channel Jitsi channel

    Idea

    The text below has been extracted from an email sent by Björn Michaelsen describing the idea behing the C++ Lectures:

    As you might have seen, we have started to follow up on the Albanian community with opportunities in LibreOffice developement:

    https://forum.openlabs.cc/t/libreoffice-2019/1406/20
    

    There are four topics that need to be covered for new contributors:

    1. git/gerrit
    2. object-oriented programming
    3. C++
    4. LibreOffice specifics, getting your first build

    My hope is that the first two are reasonably well covered in general tutorials and teachings available on the web: gerrit is a bit special, but that is not too big of a topic, so my hope is our wiki and IRC resources there are good enough. Same for the 'getting your first build'.

    But C++ is really the hard part to groom in a future contributor. Eike and me went out hunting for good resources and this blog post by yours truly describes what we found:

    https://skyfromme.wordpress.com/2018/10/11/getting-started-with-libreoffice-development-object-oriented-programming-and-c-introductions/
    

    At the core of this are two resources: A book/webpage ("C++ Annotations") and the Stanford lectures on C++. While the former is great for the details, the latter is good for understanding the big picture covering the important concepts (and the "book" can support that).

    So how can we use this to help development newcomers? Here is a format I would like to attempt:

    1. We select and announce one lecture from the course every week (or every second week)
    2. We set a date for an IRC or jitsi meeting and invite newcomers to join.
    3. We ensure at least one experienced developer (e.g. from the ESC) joins this call or meeting
    4. During the meeting, we casually discuss the topics of the lecture and answer newcomers questions on the topics at hand

    This should help newcomers seeing a benefit in joining the community and also make it natural for them to help others with what they learned.

    How to host the meeting

    Check how to use Meetbot here.

    Template for blog post

    <img src="https://blog.documentfoundation.org/wp-content/uploads/2018/12/LO_cpp_workshop.jpg" width="500" />
    
    Improve your C++ skills with the help of LibreOffice developers! We're running regular workshops which focus on a specific topic, and are accompanied by a real-time IRC meeting. For the next one, the topics is <strong>FOO</strong>. Start by watching this presentation:
    
    [YouTube link here]
    
    Then join us on <strong>DATE AND TIME</strong> for a discussion via our <a href="https://irc.documentfoundation.org/?settings=#libreoffice-dev">#libreoffice-dev IRC channel on Freenode</a>. You can ask experienced LibreOffice developers questions, and learn more about the language. See you then!
    

    Lectures

    First Session

    • When: 13, December, 2018 at 19:00 UTC
    • Topic: Introduction, Function and Strings
    • Notes:
      • Regarding the string class in the first video please note that LibreOffice uses its own OUString class (or rather rtl::OUString for 16-bit UTF-16 strings, and rtl::OString for 8-bit strings (for example used for UTF-8), with conversions between them that can handle different text encodings), see our include/rtl/ustring.hxx and include/rtl/string.hxx header files. So in the context of LibreOffice development that part of the lecture is to be taken with a grain of salt, though useful for general C++ handling.
    • Attendees
      • erAck (46)
      • x1sc0 (46)
      • Sweetshark (36)
      • LKJ (27)
      • htietze (13)
      • LintonSamuelDaws (11)
      • vranicieva (9)
      • izabela (8)
      • ChaKu (5)
      • thorsten (5)

    Second Session

    • When: 20, December, 2018 at 19:00 UTC
    • Topic: I/O Streams and build LibreOffice
    • Notes:
    • Attendees
      • Sweet5hark (29)
      • erAck (29)
      • x1sc0 (25)
      • alg (19)
      • vranicieva (17)
      • thorsten (15)
      • htietze (12)
      • Hephaestus12 (11)
      • izabela (9)
      • IZBot (4)
      • mikekaganski (3)
      • quikee (1)
      • jmux (1)

    Third Session

    • When: 10, January, 2019 at 19:00 UTC
    • Topic: "Abstract Data Types"
    EasyHack For starters:
    https://bugs.documentfoundation.org/show_bug.cgi?id=42982
    https://bugs.documentfoundation.org/show_bug.cgi?id=88205
    
    these two were discussed with Izabela at the Munich Hackfest already. They are quite parallizable (and there are many places to fix them) and since Izabela already fixed each of them, she should be able to help others out with them.
    
    So, since Izabela hands over/can mentor these first two, what can we give her as a new task? Maybe this one:
    
    https://bugs.documentfoundation.org/show_bug.cgi?id=119996
    
    • Attendees
      • thorsten (44)
      • Sweetshark (26)
      • ericJmorey (17)
      • erAck (12)
      • izabela (10)
      • ziad_marghany (9)
      • buovjaga (6)
      • vranicieva (5)
      • klevis (3)
      • htietze (1)

    Fourth Session

    • When: 24, January, 2019 at 19:00 UTC
    • Topic: Set and Maps
    • Attendees
      • No list of attendees this time. IZBot failed...

    Fifth Session

    • When: 14, February, 2019 at 19:00 UTC
    • Topic: Recursion
    • Attendees
      • x1sc0 (54)
      • erAck (40)
      • izabela[m] (36)
      • KingInTheNorth (12)
      • htietze (7)
      • asturm (6)
      • emmy-w (3)
      • IZBot (2)
      • htietze[m] (1)


    Sixth Session

    • When: 28, February, 2019 at 19:00 UTC
    • Topic: Recursion 3, Fractals
    • Attendees
      • erAck (37)
      • izabela[m] (19)
      • htietze[m] (4)
      • IZBot (2)
      • Sweetshark (1)
      • ishwaranand63 (1)
      • thorsten (1

    Seventh Session

    • When: 14, March, 2019 at 19:00 UTC
    • Topic: Classes and Arrays
    • Attendees
      • x1sc0 (23)
      • erAck (11)
      • mikekaganski (10)
      • htietze (9)
      • klevis (7)
      • izabela[m] (3)
      • IZBot (2)
      • Sweetshark (1)

    Eighth Session

    • When: 28, March, 2019 at 19:00 UTC
    • Topic: Pointers and Linked Lists
    • Minutes:
    • Attendees
      • mikekaganski
      • x1sc0
      • izabela[m]

    Nineth Session

    • When: 11, April, 2019 at 18:00 UTC
    • Topic: Linked Lists
    • Announcement:
    • Minutes:
    • Attendees

    Tenth Session

    • When: 25, April, 2019 at 18:00 UTC
    • Topic: Linked List / Stack Classes; PQs and Heaps
    • Announcement:
    • Minutes:
    • Attendees

    Eleventh Session

    • When: 9, May, 2019 at 18:00 UTC
    • Topic: Binary Trees
    • Announcement:
    • Minutes:
    • Attendees

    Twelfth Session

    • When: 23, May, 2019 at 18:00 UTC
    • Topic: Binary Search Trees
    • Announcement:
    • Minutes:
    • Attendees