Skip to content

Latest commit

 

History

History
87 lines (47 loc) · 5.31 KB

2019-12-11-Talent-Plan-Courses.md

File metadata and controls

87 lines (47 loc) · 5.31 KB

Proposal: Talent Plan Courses

Background

Talent Plan is a learning Plan initiated by PingCAP. The purpose is to provide a series of courses for those who would like to learn about open source, infrastructure, and database. At the moment, only two study modules are provided. This document proposes Talent Plan Courses, a new version of the study project with more enriched topics and course designs.

Course Framework

course map

The picture above shows the framework of Talent Plan Courses. In addition to TiDB related materials, lots of other sections are provided, as described below:

  • Open Source Cooperation

    Open source spirit is one of the cores of the TiDB Community. At current, multiple courses regarding this subject are on the list:

    • Introduction to OSS

      A fundamental course about open source and its history.

    • How to use Git & Github

      Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Github is a popular website based on Git where people around the world collaborate in open source projects. After taking this course, participants should know the usages of Git and Github.

    • Open Source Practice in TiDB

      TiDB ecosystem is made up of multiple open-source projects on Github. For people who want to contribute to TiDB, this course would be helpful for them.

  • Programming Language

    To contribute to the code base of an open-source project, knowing the programming language is a basic requirement. We provide the related programming language courses to help participants learn quickly:

    • Golang

      The Go programming language is heavily used in the industry as well as in the TiDB ecosystem. If you haven't learned about it, the following are good places to start:

    • Rust

      The Rust programming language is becoming more and more popular since it has many advanced features. For learners who are interested in TiKV (based on Rust), we recommend the following materials:

      • Learn Rust - Official Rust tutorials that include a book, an interactive practice assignment, and some code examples. We believe anyone interested in the Rust programming language can benefit from it.

      • Practical Networked Application in Rust - A series of projects that incrementally develop a single Rust project from the ground up into a high-performance, networked, parallel and asynchronous key/value store. Along the way, various real-world and practical Rust development subject matter are explored and discussed. This course is developed by Brian Anderson, who was one of the core writers of the Rust language.

    Materials for other related programming languages like C++, Java, Python are in development.

  • Infrastructure System

    • Distributed Relational Database Internals is a course made up of many reading materials and programming assignments. A broad range of topics such as relational algebra, parser, runtime, optimizer, transaction, DDL and more are covered in readings. As the programming assignment framework, TinySQL, a simplified version of TiDB, is used for course participants to verify their learning outcomes.

    • Distributed Key-Value Database Internals is a course about distributed key-value database systems. The reading materials cover storage engine, data partitioning, replication, consistency, scalability, balance, distributed transactions and more. For programming assignments, TinyKV, a simplified version of TiKV, will be provided to course participants to verify their learning outcomes.

    Topics such as cloud-native database systems and Machine Learning are also planned.

  • Deep Dive Series Readings

    For anyone who wants to get to know more about TiDB related projects, they would benefit a lot by reading Deep Dive series articles, including Deep Dive into TiDB and Deep Dive into TiKV. It's worth mentioning that Deep Dive into Cloud TiDB is also in development. We highly recommend reading these materials to help you get familiar with the inner world of the TiDB ecosystem.

Course participants can choose their own learning path based on personal conditions and learning goals. There will be more topics and courses to be proposed in the future.

Compatibility

N/A

Implementation

The implementation of the course requires the following 3 main steps:

  • Discuss the overview course framework of the new version.
  • Make agreements of the syllabus for each course.
  • Fill in learning materials and assignments.
  • Optimize assignment submission and evaluation.

Open issues (if applicable)