본문 바로가기
IT 교양

ChatGPT의 Tutor me로 무료 개인 과외 받기

by 진기씨 2025. 3. 12.
반응형

요즘 ChatGPT의 Tutor me로 하는 개인 강습에 빠져있다.

 

Tutor me는 GPTs중 하나로 Khan Academy와 OpenAI의 AI 기술을 활용해서 만들어졌다.

 

가장 맘에 드는 부분은 학생이 스스로 답을 찾을 수 있도록 질문을 유도하는 소크라테스 식 교육 방식이었다.

 

개념을 잘 이해할 수 있도록 간단한 문제를 내고, 채점을 해주고 질문하면 설명도 잘해준다.

 

이런 방식으로 내가 배우고 있는 주제는 고급 C++다.

 

각자 배우고 싶은 주제를 던져서 인내심 많은 개인 교사에게 배워보자.

 

 

Tutor Me 실행하기

먼저 ChatGPT에서 Tutor Me를 활성화한다.

- ChatGPT에 로그인
- Explore GPTs(탐색하기) 클릭
- ‘Tutor Me’ 검색
- 또는 아래 링크 클릭하여 직접 접속
Tutor Me 바로가기

 

 

학습 목표 입력하기

학습하고 싶은 스킬을 아래의 프롬프트 형식으로 입력한다.

 

I want to learn [배우고 싶은 스킬] in 30 days.
Please act as an expert coach in [배우고 싶은 스킬] and create a detailed learning plan that will help me become proficient in this skill.
The plan should include daily tasks, exercises, and goals for each day, progressively increasing in difficulty.
Each day's plan should be achievable within [하루 학습 가능 시간], and by the end of 30 days,
I should have a strong foundational understanding of [배우고 싶은 스킬].
Present all info on table for easy understanding.

 

나는 배우고 싶은 스킬로 Advanced C++를 입력했고 아래와 같이 30일 기준 커리큘럼을 짜주었다.

 

30-Day Advanced C++ Learning Plan

Week 1: Modern C++ & Compiler Insights Topic Tasks & Concepts Exercises
1 C++23 Overview Learn deducing this, if consteval, std::expected, std::mdspan Write a function using if consteval for compile-time optimization.
2 Compiler Internals Compare Clang, GCC, MSVC, explore optimizations, AST, IR Compile a simple program using all 3 compilers and analyze output.
3 Build Systems & Tools Learn CMake, Conan, Ninja, g++ flags, link-time optimization (LTO) Set up a C++ project using CMake and build with Ninja.
4 Type Deduction & Concepts auto, decltype, requires, C++20 Concepts Implement a template function using constraints (std::integral).
5 Coroutines co_await, co_yield, std::generator Write a coroutine that lazily generates Fibonacci numbers.
6 Memory Safety (RAII & Smart Pointers) unique_ptr, shared_ptr, weak_ptr, avoiding leaks Implement a custom smart pointer with RAII.
7 Memory Safety (Bounds & Sanitizers) Use AddressSanitizer (ASan), std::span, StackProtector Debug an out-of-bounds error using AddressSanitizer.
Week 2: Advanced Concurrency & Multithreading      
8 Thread Management std::thread, joining/detaching, thread local storage Implement a multi-threaded logger class.
9 Mutexes & Synchronization std::mutex, std::lock_guard, std::unique_lock, std::scoped_lock Avoid race conditions in a shared counter using a mutex.
10 Condition Variables & Atomic Operations std::condition_variable, std::atomic Implement a producer-consumer queue using condition variables.
11 C++23 std::jthread & Thread Pools std::jthread, cancellation tokens, efficient thread pools Implement a thread pool with std::jthread.
12 Futures & Async Programming std::async, std::future, std::promise Implement parallel matrix multiplication using std::async.
13 Fiber-like Execution std::stop_token, resumable functions Implement an interruptible long-running task.
14 High-Performance Multithreading False sharing, memory ordering, NUMA awareness Optimize a parallel vector sum using proper memory alignment.
Week 3: Advanced Data Structures, Networking & Filesystems      
15 Advanced STL & Ranges std::views::transform, std::views::filter, std::ranges::sort Rewrite a classic for-loop using C++23 ranges.
16 Allocators & Custom Memory Management std::pmr::vector, custom allocators Implement a memory pool allocator for custom allocations.
17 Networking with ASIO boost::asio, sockets, non-blocking IO Implement an async TCP server with boost::asio.
18 HTTP & REST APIs cpp-httplib, cpr, RESTful client Make a GET request to a public API and parse JSON.
19 C++23 Filesystem & Virtual Files std::filesystem, file watching Create a file synchronization utility.
20 Debugging & Profiling gdb, valgrind, perf, address/leak sanitizers Use gdb to debug a segfault in a multi-threaded program.
21 Benchmarking & Performance std::chrono, google/benchmark, cache locality Benchmark an optimized vs unoptimized loop.
Week 4: Final Project - To-Do List (Advanced)      
22 Database Integration SQLite with sqlite-modern-cpp, file-based storage Design the database schema for the To-Do List.
23 UI/CLI Design Use ncurses, TUI, CLI enhancements Build an interactive command-line UI for the To-Do List.
24 Event-Driven Architecture Observer pattern, message queues Implement an event-driven task notification system.
25 Thread-Safe Task Management Multi-threading, atomic counters Optimize the To-Do List for multi-threaded access.
26 Serialization & Exporting JSON/YAML serialization using nlohmann/json Allow tasks to be exported/imported as JSON.
27 Networking Features Expose API endpoints via REST (cpp-httplib) Build a basic REST API for remote task management.
28 Testing & CI/CD Unit tests (Catch2), CI/CD with GitHub Actions Write unit tests for To-Do List features.
29 Final Debugging & Optimizations Profiling, performance tuning Analyze bottlenecks and optimize critical paths.
30 Wrap-Up & Deployment Package app for cross-platform release, Docker, WebAssembly Deploy the app as a standalone binary.

 

나는 여기에 C++ 최근 표준에 대한 학습 내용을 추가로 요청해서 커리큘럼을 수정하였다.

 

 

학습 시작하기

그 이후에는 언제든지 학습을 시작할 수 있다.

 

역시 가장 마음에 드는 부분은 내가 드는 의문점이나 개념 정립에 대한 질문을 언제든지 던질 수 있다는 점이다.

 

돌아오는 대답도 아주 훌륭하다. 현재까지의 GPT 경험 중에 가장 좋다.

 

현재 일주일차인데 다 마무리하게 되면 그 후기도 남겨봐야겠다.

반응형