Giter Club home page Giter Club logo

sea-me-warm-up's Introduction

SEA:ME Warm Up

Introduction to peer-peer learning & collaboration


Introduction

A 2-weeks intensive workshop to introduce peer-peer learning and collaboration among students using GitHub and Qt is a great way to help students develop valuable skills in teamwork, software development, and open-source collaboration.

Overview

Here is an overview of how the workshop is structured:

Week 1

  • Day 1
    • Introduce the students to GitHub and how it can be used for collaboration and version control.
    • Have students create their own GitHub accounts and practice creating repositories, making commits, and submitting pull requests.
    • Introduce the Qt framework and provide an overview of how it can be used to develop C++ applications.
  • Day 2
    • Discuss the benefits of peer-to-peer learning and collaboration and how it can help students learn and develop their skills.
    • Have students form pairs or small groups and assign them a project to work on together using Qt.
    • Encourage students to use GitHub to collaborate on their project and to make regular commits and pull requests.
  • Day 3-4
    • Provide guidance and support to students as they work on their projects.
    • Encourage students to help each other and to share their knowledge and expertise.
  • Day 5
    • Have each group present their project to the class.
    • Encourage students to provide feedback and constructive criticism to their peers.

Week 2

  • Day 1
    • Discuss how open-source collaboration works and how students can contribute to open-source projects on GitHub.
    • Provide an overview of how to find and join open-source projects on GitHub.
  • Day 2-4
    • Have students find and join an open-source project on GitHub that uses Qt.
    • Encourage students to collaborate with the existing contributors and to make contributions of their own.
  • Day 5
    • Have each student present their contributions to the class.
    • Encourage students to reflect on what they have learned and how they can continue to develop their skills in collaboration and open-source development.

Throughout the workshop, it's important to encourage students to communicate with each other and to work together as much as possible. This helps to build a sense of community and makes the learning experience more enjoyable and rewarding for everyone involved.

Goals & Objectives

The overall goal of the 2-week intensive workshop is to introduce peer-to-peer learning and collaboration among students using GitHub and Qt:

Goals:

  1. Introduce students to GitHub and how it can be used for collaboration and version control.
  2. Introduce students to the Qt framework and provide an overview of how it can be used to develop GUI applications using C++/Qt/Qml.
  3. Encourage students to collaborate with each other and to help each other learn.
  4. Provide students with the opportunity to practice open-source collaboration.
  5. Foster a sense of community and teamwork among the students.

Objectives:

  • By the end of Day 1, students should be able to create their own GitHub accounts, create repositories, and make commits.
  • By the end of Day 2, students should have a basic understanding of the Qt framework and be able to create a simple C++ application.
  • By the end of Week 1, students should be able to work in pairs or small groups to develop a Qt application, and should be comfortable using GitHub to collaborate on their project.
  • By the end of Week 2, students should have joined an open-source project on GitHub that uses Qt, and should have made contributions to the project.

Throughout the workshop, students should be encouraged to communicate with each other and to help each other learn. By the end of the workshop, students should feel more comfortable collaborating with others and should have a greater appreciation for the value of peer-to-peer learning.

General Rules

You should use Qt5 LTS (open source) with C++17 / C++20

  • Compile your code with qmake or CMake
  • Ninja is lonely and lonely… If you choose the Ninja way you can not be welcomed by others

Formatting & Naming convention.

  • Standard C++ coding styles recommended

  • Write class names in UpperCamelCase format. Files containing class will always be named according to the class name. For instance: ClassName.hpp/ClassName.h, ClassName.cpp, or ClassName.tpp.

  • Definition and Declaration should be separated into different files (.cpp file and .hpp or .h file). (except template class)

  • Your code should be understandable. Every name must have meaning.

  • The code without comments is a bad code!

Git commit message convection

  • The 'git commit message' should be understandable to others.

Allowed & Forbidden

  • Include safeguards like #pragma once
  • From Module 02 to Module 05, your classes must be designed in the Orthodox Canonical Form, except when explicitly stated otherwise.

Modules

Shield: CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

sea-me-warm-up's People

Contributors

alexart1995 avatar kianwasabi avatar pprajapa-42 avatar skamo3 avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.