3-Month Holiday Skill Development Plan
Student Profile: 1st Year B.Tech, Mathematics and Computing, IISc
Timeline: May - July (Approx. 12 Weeks) - Based on information current as of April 9, 2025
Existing Skills/Activities: Python (good), C (basic), Computer Systems (basic), Visual Secret
Sharing (VSS) Reading Project, Robotics Club Member (URC/ERC)
Primary Goals:
1. Strengthen Core Programming Fundamentals (Data Structures & Algorithms, Python,
C++).
2. Explore & Build Foundational Skills in Quantitative Finance / Algorithmic Trading.
3. Explore & Build Foundational Skills in Robotics Programming / Automation.
4. Develop Tangible Projects demonstrating learned skills.
5. Integrate ongoing work on VSS Reading Project & Robotics Club activities.
6. Incorporate planned buffer time for relaxation/trips.
Core Philosophy: Focus on deep understanding, consistent daily effort, project-based
application of knowledge, and exploring potential areas of interest without immediate
interview pressure.
Month 1: Foundations & Exploration Setup (Approx. 4 Weeks - May)
Goal:
Solidify core Data Structures & Algorithms (DSA), enhance Python proficiency, begin C++
learning, and set up environments for Quant and Robotics exploration.
Time Allocation Guidelines:
Weekly: DSA (8-10 hrs), Python/C++ (6-8 hrs), Quant/Robotics Prep (4-6 hrs), VSS
Project (5-7 hrs), Robotics Club (Variable).
Daily (Approx. 6 Study Days/Week):
o DSA: ~1.5 hours
o Python / C++ Learning: ~1 - 1.5 hours
o Quant / Robotics Prep: ~1 hour (alternate focus or split time)
o VSS Reading Project: ~1 hour
o Robotics Club: ~0 - 0.5 hours (average)
o Total Focused Study: ~5 - 5.5 hours / day
Topics & Activities:
DSA (High Priority):
o Topics: Arrays, Strings, Linked Lists (Singly, Doubly, Circular), Stacks, Queues,
HashMaps/Dictionaries, Sets, Basic Time/Space Complexity (Big O).
o Focus: Understanding implementations and complexity analysis.
Programming Languages:
o Python: Deepen OOP, context managers, decorators, key libraries
(collections, itertools, re), file handling, error handling. Implement DSA
concepts.
o C++ Introduction: Syntax, data types, control flow, functions, pointers, basic
OOP (Classes/Objects), Standard I/O.
Quantitative Finance Prep:
o Math Review: Refresh Calculus (derivatives, integrals), Linear Algebra
(vectors, matrices), Probability & Statistics basics.
o Setup: Install Anaconda (Python, Jupyter, NumPy, Pandas, Matplotlib).
Robotics Prep:
o Conceptual: Basic robotics concepts (kinematics, sensors, actuators), basic
physics (mechanics).
o Setup: Install C++ compiler (g++), consider Linux VM (Ubuntu for ROS),
familiarize with Linux command line.
VSS Project: Continue dedicated work as planned with professor.
Robotics Club: Maintain involvement as activities permit.
Resources:
DSA: CLRS (Introduction to Algorithms), GeeksforGeeks (Data Structures),
Coursera/edX Algorithms courses, LeetCode (Easy/Medium), HackerRank.
Python: Official Docs, Fluent Python (book), Real Python website.
C++: learncpp.com, C++ Primer (book).
Math: Khan Academy, MIT OpenCourseWare, 1st Year Notes.
Quant Tools: Anaconda Documentation.
Robotics Tools: C++ compiler docs, Linux tutorials, VM software
(VirtualBox/VMware).
Buffer:
Plan for 2-3 days completely off or for a short trip at the end of this month.
Month 2: Deep Dive & Initial Projects (Approx. 4 Weeks - June)
Goal:
Tackle more advanced DSA, learn core Quant & Robotics libraries/tools, and begin
developing relevant mini-projects.
Time Allocation Guidelines:
Weekly: DSA (6-8 hrs), Quant Track (8-10 hrs), Robotics Track (8-10 hrs), VSS Project
(5-7 hrs), Robotics Club (Variable).
Daily (Approx. 6 Study Days/Week):
o DSA: ~1 - 1.5 hours
o Quant Track (Theory + Coding + Project): ~1.5 hours
o Robotics Track (Theory + Coding + Project): ~1.5 hours
o VSS Reading Project: ~1 hour
o Robotics Club: ~0 - 0.5 hours (average)
o Total Focused Study: ~5.5 - 6 hours / day
Topics & Activities:
Advanced DSA:
o Topics: Trees (BSTs, Traversals), Heaps (Priority Queues), Graphs
(Representations, BFS, DFS), basic Dynamic Programming concepts, Tries.
o Practice: Focus on LeetCode Medium/Hard, participate in online coding
contests (Codeforces, CodeChef) for time pressure practice.
Quantitative Finance Track:
o Topics: NumPy (arrays, vectorization), Pandas (DataFrames, time series, data
cleaning), Matplotlib/Seaborn (visualization), basic financial concepts (stocks,
returns, volatility).
o Project: Start Quant Mini-Project (see Project Ideas section).
Robotics Track:
o Topics: C++ STL (vectors, maps, algorithms), basic ROS concepts (nodes,
topics, messages, services - optional but recommended), basic control loops,
simulation basics (Gazebo intro - optional).
o Project: Start Robotics Mini-Project (see Project Ideas section).
VSS Project: Continue progress, potentially exploring C++ implementations if
beneficial.
Robotics Club: Continue contributions and document work.
Resources:
DSA: Continue previous resources, focus on problem-solving platforms.
Quant: Python for Data Analysis (book), Coursera (Finance/Python courses),
Quantopian Lectures (archive), Investopedia, yfinance library docs,
Pandas/NumPy/Matplotlib docs.
Robotics: C++ STL tutorials (GeeksforGeeks, Cplusplus.com), ROS Wiki Tutorials,
Coursera/edX Robotics courses, Gazebo tutorials (if used).
Buffer:
Consider a flexible weekend or 1-2 weekdays off mid-month if needed.
Month 3: Project Consolidation & Advanced Exploration (Approx. 4 Weeks - July)
Goal:
Complete and thoroughly document mini-projects, explore more advanced topics in
Quant/Robotics, and solidify overall learning.
Time Allocation Guidelines:
Weekly: Project Work (10-12 hrs), Advanced Topics (8-10 hrs), DSA Consolidation (4-
6 hrs), VSS Project (5-7 hrs), Robotics Club (Variable).
Daily (Approx. 6 Study Days/Week):
o Project Work (Quant & Robotics - Refining, Documenting): ~2 hours
o Advanced Topics (Quant / Robotics): ~1.5 hours
o DSA Consolidation / Review: ~1 hour
o VSS Reading Project (Wrap-up): ~1 hour
o Robotics Club: ~0 - 0.5 hours (average)
o Total Focused Study: ~5.5 - 6 hours / day
Topics & Activities:
Project Completion & Documentation:
o Focus: Achieve core functionality for both mini-projects.
o Documentation: Write comprehensive README.md files on GitHub (purpose,
setup, run instructions, tech used, learnings). Clean and comment code.
Consider deployment if applicable (web apps).
Advanced Quant Exploration:
o Topics: Basic strategy backtesting concepts, intro to options/derivatives, SciPy
library (optimization/stats).
o Project: Enhance Quant project (e.g., add simple backtest).
Advanced Robotics Exploration:
o Topics: More ROS (actions, TF transformations), basic Computer Vision with
OpenCV (C++/Python), simple path planning algorithms (e.g., A*).
o Project: Enhance Robotics project (e.g., add ROS service/action, basic
obstacle avoidance, simple CV task).
DSA Consolidation: Review challenging topics (Graphs, DP). Solve complex problems
combining multiple concepts.
VSS Project: Aim to finalize deliverables (report, code, presentation).
Version Control: Ensure GitHub profile is clean, organized, and showcases all
completed work well.
Resources:
Quant: QuantStart website, Ernie Chan books (introductory), SciPy docs, continue
previous resources.
Robotics: OpenCV tutorials, ROS advanced tutorials, Coursera (Modern Robotics
Specialization - theory).
General: Continue using previous DSA/language resources for review.
Buffer:
Plan for a longer break (3-5 days) for vacation/trip before the next semester.
General Tips for Success:
Consistency is Key: Aim for focused study sessions most days, even if short.
Active Learning: Code along with tutorials, experiment, debug – learn by doing.
Master Git & GitHub: Use version control diligently. Your GitHub profile is your
portfolio. Write good commit messages.
Balance Your Commitments: Allocate appropriate time for your VSS project and
Robotics Club activities.
Be Flexible: Adapt the plan based on your interests and progress. If one area
captivates you, it's okay to delve deeper.
Prioritize Health: Ensure adequate sleep, nutrition, exercise, and take regular short
breaks during study sessions to avoid burnout.
Mini-Project Ideas:
Quantitative Finance:
o Stock Data Analysis & Visualization: Download historical stock data
(yfinance), calculate returns, volatility, moving averages. Visualize trends
using Pandas and Matplotlib/Seaborn.
o Simple Strategy Backtest: Implement and test a basic trading strategy (e.g.,
moving average crossover) on historical data. Calculate performance metrics
(e.g., total return).
Robotics / Automation:
o Simple Kinematics Simulation (C++): Simulate the movement of a 2D robot
arm based on joint angles using forward kinematics equations.
o Basic ROS Sensor Data Flow: Create ROS nodes (C++ or Python) where one
node (publisher) simulates sensor data (e.g., range) and another node
(subscriber) reads and processes it.
o Basic OpenCV Task (Python/C++): Read an image or video feed, perform a
simple task like color detection/thresholding or basic shape detection.
o Simulated Obstacle Avoidance: In a simple simulation environment (could be
text-based or using ROS/Gazebo if learned), implement logic for a point robot
to navigate around predefined obstacles.