YoVDO

Think Like a Computer Science Professor

Offered By: freeCodeCamp

Tags

Computer Science Courses Linear Algebra Courses Image Processing Courses Project Planning Courses Particle Systems Courses Face Tracking Courses

Course Description

Overview

Observe the thought process of a computer science professor as he codes a project from scratch in this 13-hour video. Follow along as Radu Mariescu-Istodor, a PhD in computer science, demonstrates real-time problem-solving and decision-making while building an interactive avatar system. Learn about canvas setup, procedural drawing, image processing, particle systems, linear algebra, and real-time face tracking. Watch as Radu tackles challenges like head rotation, dynamic hair simulation, and facial feature recognition without referencing external resources. Gain insights into code refactoring, debugging techniques, and the iterative nature of software development. This comprehensive coding session covers everything from initial planning to final testing, providing a unique opportunity to understand the mindset and approach of an experienced computer scientist.

Syllabus

) Intro / showcase .
) Quick planning.
) Canvas project setup.
) Trying to remember how drawImage works :-)).
) Figured out I need to let it load first.
) Helper code for getting coordinates.
) Beginning procedural drawing.
) Normalizing the space for symmetrical drawing.
) Control point for head rotation.
) Slider for head x rotation.
) Rotating the head on X.
) Rotating the head on Y.
) Adding more control points.
) Drawing eyes.
) Styling the eyes.
) Drawing the beard.
) Drawing the nose.
) Spoiler (I never get the nose to look better).
) Drawing hair.
) Skin, Neck & Body .
) Drawing the clothes.
) Some fine-tuning.
) Drawing the ears.
) Polishing and commenting code.
) Camera setup.
) Image processing: Isolating blue pixels.
) Moving avatar with camera.
) Plan for day 2 (Important).
) Code refactoring with OOP.
) Ditching the idea* above and sticking to point A.
) Linear algebra.
) Particle system.
) Constraints (segments).
) Dynamic front hair skeleton .
) Dynamic back hair skeleton.
) Sliders to control the mouth.
) Real-time face tracking .
) Recognizing facial markers.
) Solving the 'fidgiting' problem by averaging.
) On averaging points.
) Side-points of mouth.
) Quick demo and quick planning.
) Working with pre-recorded video.
) Multi-input support in interface.
) Styling front hair.
) Styling back hair.
) Adding side hair.
) Debugging option.
) Shirt strings .
) Extensive testing.
) Final touches.
) Trying to fix nose, then gave up (too tired & found some bug).
) Final testing, writing instructions and last thoughts.


Taught by

freeCodeCamp.org

Related Courses

UCI Project Management
University of California, Irvine via Coursera
Capstone: Applying Project Management in the Real World
Google via Coursera
Building a Machine Learning Ready Organization
Amazon Web Services via AWS Skill Builder
Building a Machine Learning Ready Organization (German)
Amazon Web Services via AWS Skill Builder
Building a Machine Learning Ready Organization (Japanese) (VO) 日本語吹き替え版
Amazon Web Services via AWS Skill Builder