10 finger typing Book : A tour of C++ Topics: Modern C++ features C++: Topics: git, move semantics, smart pointers, templates, multithreading Pthreads basics, C++ threads, std::async, Code hygiene & static analysis GDB: Reproduce a small memory bug and fix it. Try to learn how a reference and pointer in assembly looks like. valgrind ASAN UBSAN TSAN gtest CMake, unit tests googletest, pybind11. Projects: 1. Ray Tracing 2. Re-implement 4S-SROF in C++ Q1 micro-project: C++ image loader + simple difference-based drop detector. CI + unit tests + benchmark vs Python. 3. Implement a producer/consumer camera simulator with a thread for capture and a thread for processing; debug and fix race conditions. Q2 micro-project: Threaded capture→process pipeline with race detection fixed and sanitizers enabled. Book: Effective C++ + C++ Concurrency in Action. --- Milestone: Threaded pipeline that ingests synthetic frames at target rate and processes with no data races; documented profiling run. Q3 (months 7–9) — Numerical methods & inverse problems intro Topics: PDE basics, discretization, Tikhonov regularization, adjoint concept introduction. Tools: Implement small solvers (conjugate gradients), use numpy/scipy. Project: Solve a simple inverse problem (1D/2D Poisson inverse) and demonstrate regularization and parameter selection (L-curve). Reading: Nocedal & Wright (selected chapters); papers on inverse problems. --- Milestone: Notebook + report showing stable reconstructions and hyperparameter studies. Q4 (months 10–12) — Computer vision & optics foundations Topics: Camera models, calibration, photogrammetry basics, reflection models (Lambertian, specular), photometric stereo basics. Tools: OpenCV, COLMAP (learn to run an SfM tool). Project: Calibrate camera(s) and reconstruct a simple scene using multi-view / photometric methods; quantify re-projection error. Milestone:** Working pipeline that takes video frames → calibrated intrinsics → sparse 3D reconstruction.** ## Other skills Concrete micro-projects (first 6 months) Q3 micro-project: Small inverse Poisson problem solved with CG and Tikhonov; plot L-curve and discuss regularization. Q4 micro-project: Calibrate camera & compute reprojection error on a small dataset; produce rendered overlay. Weekly / monthly cadence & study time Weekly: 50-70 hrs study + project work. Split: 40% reading/lectures, 50% hands-on coding/experiments, 10% writing/documentation. End of each quarter: deliver a short report (2–4 pages) and a runnable artifact (repo, jupyter notebook, binary) showing results and reproducing key numbers. ## Missing skills / gaps I see (explicit) CUDA: NVidia Nsight Intel VTune perf Advanced data structures/algorithms Numerical linear algebra (beyond basics) Finite-volume/finite-element CFD basics — useful to understand fluids when you need physical priors.