kianwasabi / SEA-ME-warm-up

2-week warm-up coding boot camp for SEA:ME

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

2-week warm-up coding boot camp for SEA:ME

License:Creative Commons Attribution Share Alike 4.0 International


Languages

Language:C++ 89.6%Language:CMake 8.4%Language:QMake 2.0%