Year 1: Building Strong
Foundations
Semester 1: Basic Programming
and Math
1. Programming Basics (Python
& C++)
Python Syntax and
Semantics
Variables and Data Types
Control Flow (if
statements, loops)
Functions: Definition,
Scope, and Return Values
C++ Syntax and
Semantics
Variables and Data Types
Control Structures: if, for,
while
Functions: Definition,
Overloading, Default
Arguments
Control Structures
Conditional Statements in
Both Languages
Looping Mechanisms in
Python vs. C++
Functions and Modules
Python: Function
Arguments and Return
Values
C++: Function Pointers
and Lambda Expressions
Basic Data Structures
Python: Lists, Dictionaries,
Sets
C++: Arrays, Vectors,
Maps
Object-Oriented
Programming (OOP)
Concepts
Python: Classes and
Objects, Inheritance
C++: Classes,
Constructors/Destructors,
Inheritance, Polymorphism
2. Mathematics for Computer
Science
Linear Algebra
Vectors: Operations, Dot
Product
Matrices: Addition,
Multiplication, Inversion
Calculus
Derivatives: Rules and
Applications
Integrals: Definite vs.
Indefinite Integrals
Discrete Mathematics
Sets: Operations, Venn
Diagrams
Relations and Functions:
Types, Properties
Graph Theory: Basics of
Graphs, Trees, Paths
3. Resources
Python for Everybody
(Coursera)
C++ for C Programmers
(Coursera)
Essence of Linear Algebra
(3Blue1Brown on YouTube)
4. Unique Projects
Personal Website/Blog:
Use HTML/CSS/JavaScript
to create a portfolio site.
C++ & Python Integration
Project:
Develop a simple game
like Tic-Tac-Toe or a
command-line calculator
that uses both languages
(e.g., Python for the UI
and C++ for performance-
critical components).
Semester 2: Data Structures
and Introduction to Machine
Learning
1. Data Structures and
Algorithms
Core Data Structures
Python vs. C++ Arrays vs.
Linked Lists.
Stacks and Queues:
Implementation in Both
Languages.
Trees and Graphs
Binary Trees in Python &
C++.
Graph Representations
(Adjacency Matrix/List) in
Both Languages.
Sorting Algorithms
Implementing Bubble Sort,
Merge Sort, Quick Sort in
Both Languages.
Searching Algorithms
Linear Search vs. Binary
Search in Python & C++.
Algorithm Analysis
Time Complexity: Big O
Notation.
2. Introduction to Machine
Learning
Supervised Learning
Techniques
Linear Regression:
Concept and
Implementation using
Python libraries.
Unsupervised Learning
Techniques
K-means Clustering:
Algorithm Steps
implemented in Python.
Model Evaluation Metrics
Understanding Accuracy,
Precision, Recall, F1 Score.
3. Resources
Algorithms (Princeton
University on Coursera)
Machine Learning (Andrew
Ng on Coursera)
4. Unique Projects
ML Model Deployment:
Create a simple predictive
model using scikit-learn in
Python.
Optionally implement
performance-critical
components in C++.
Coding Competition:
Join platforms like
LeetCode or HackerRank
for challenges.
Year 2: Diving Deeper into
Specializations
Semester 3: Advanced
Programming and Computer
Vision Basics
1. Advanced Programming and
Libraries
Python Libraries
Overview
NumPy for numerical
computations.
Pandas for data
manipulation.
Matplotlib/Seaborn for
data visualization.
C++ Standard Library
Features
STL (Standard Template
Library): Vectors, Maps,
Sets.
File Handling & Exception
Management in C++.
2. Computer Vision Basics
Image Processing
Techniques
Understanding Pixels and
Color Spaces using
OpenCV in both Python &
C++.
Basic Filters (Gaussian
Blur, Sharpening).
Edge Detection
Techniques (Sobel
Operator).
Resources
Data Science and Machine
Learning Bootcamp with
Python (Udemy)
Introduction to Computer
Vision with Watson and
OpenCV (Coursera)
Unique Projects
Build an image classifier
using OpenCV with
implementations in both
Python and C++.
Contribute to an open-source
project related to computer
vision.
Semester 4: Deep Learning and
AR/VR Basics
1. Deep Learning Fundamentals
Neural Networks
Architecture
Understanding Neurons
and Layers implemented
using TensorFlow/Keras in
Python.
Resources
Deep Learning Specialization
(Coursera)
Unique Projects
Create a CNN for image
classification tasks using
TensorFlow/Keras in Python;
explore implementing critical
algorithms or components in
C++ for performance
optimization.
Year 3: Advanced
Specializations and Mastery
Semester 5: Advanced
Computer Vision and
SLAM/Robotics
Advanced Computer Vision
Topics
Semantic Segmentation
Techniques:
U-Net Architecture for
medical images using
TensorFlow/Keras in
Python; explore
implementing certain
algorithms or
optimizations in C++.
SLAM & Robotics
Introduction to Robotics:
Understanding Kinematics;
Implement basic
algorithms in both Python
& C++.
Resources
Advanced Computer Vision
with TensorFlow (Coursera)
Unique Projects
Develop a mobile robot that
utilizes SLAM techniques for
navigation; implement core
algorithms in both Python
and C++, depending on the
requirements.
Semester 6: Capstone Projects
and Real-World Experience
Capstone Project Development
Choose a comprehensive
project that integrates
multiple skills learned
throughout the program;
consider using both
languages where
appropriate.
Internships & Networking
Actively seek internships in
tech companies or startups
focusing on computer vision
or robotics.
Additional Resources
MOOCs & Online Courses
1. Coursera
2. Udemy
3. edX
Online Communities
1. GitHub
2. Stack Overflow
3. Kaggle
Blogs & Websites
1. Towards Data Science
2. Medium
3. ArXiv