Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

Think Like a Computer Science Professor

via freeCodeCamp

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

Reviews

Start your review of Think Like a Computer Science Professor

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.