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


Think Like a Computer Science Professor

via freeCodeCamp


This course aims to teach learners how to think like a computer science professor by observing the instructor code a project from scratch without referencing the Internet. The course covers various topics such as project planning, canvas setup, procedural drawing, control points, image processing, OOP, linear algebra, particle systems, face tracking, and debugging. The teaching method involves a hands-on approach where learners follow along with the instructor's coding process. This course is intended for individuals interested in gaining insight into the problem-solving and coding thought process of a computer science professional.


) 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


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.