The Art of Doing: Get Coding Today With Python Fundamentals!

Learn Python by DOING! Create your own programs today!
Free tutorial
Rating: 4.3 out of 5 (159 ratings)
9,962 students
1hr 47min of on-demand video
English [Auto]

Fundamental concepts of computer science that are transferable across ALL programming languages.
Foundations of the Python language.
How to actually write YOUR OWN programs. You will not sit back and watch. You will DO!
Includes 4 "Challenge Problems" that include, a problem description, detailed guide, example output, and completed code.


  • A working computer with internet connection and access to a web browser.
  • A desire to learn!


Hello, my name is Michael Eramo.  I am an experienced educator, life long learner, and a self-taught programmer.  I hold official Bachelor's Degrees in Music Industry, Education, and Physics, a Master's Degree in Mathematical Science, and a certificate in Software Development from Microsoft.  While I owe my extensive knowledge base in Music, Physics, Mathematics, and Education to the many great educators I have worked with, my understanding of Computer Science is all my own.   

I have never taken an "official" computer science course; I am completely self-taught.  However, do not let that deter you from taking this course!  Instead, let it motivate you that you too can learn anything you want to.  Not only have I done it, but I've come to realize what works best for the self-taught programmer, and I have perfected the process!

Combining my expertise as an educator and my own personal interest in self-taught computer science led me to a telling realization;  most educational material for the self-taught programmer is NOT EDUCATIONAL AT ALL.  Instead, it falls into one of two categories:

  • Writing small "snippets" of programs that taken out of context, seem to serve no purpose at all and frankly, are beneath the user.  Prime examples include using a for loop to print out all even numbers from 1 to 100 or using if statements to respond to generic user input.  Here, users are bored and aren't challenge to create anything with meaning.  There is little purpose other than gaining what is essentially factual level knowledge.  It is a waste of your time.   

  • Watching others code whole "applications" without a true understanding of what is going on.  These are programs whose scope is beyond the user in which there is no clear guide to walk the user through the thought process without just giving them the answers.  Here, without proper support and guidance, the user just defaults to letting someone else unfold the solution for them.  There is little engagement in watching someone else work and rarely a thought generated on one's own.  It is a waste of time.   

Yes, I will admit that some learning does take place in doing simple tasks or watching others complete complicated tasks.  In fact, much of how I learned was done this way.  However, I'm telling you it pales in comparison to the learning that takes place by DOING meaningful and appropriately challenging work.  This is the art of doing. In this FREE course, I hope to give a glimpse into my teaching style and help you begin your journey to mastering Python and computer science!

Who this course is for:

  • Beginner programmers who are looking for an opportunity to learn though application rather than direct instruction.


Educator, Master Teacher, Self-Taught Programmer
Michael Eramo
  • 4.6 Instructor Rating
  • 4,022 Reviews
  • 172,392 Students
  • 15 Courses

Hello, my name is Michael Eramo.  I am a life long learner, a self-taught programmer, and an experienced educator.  I hold official Bachelor's degrees in Music, Education, and Physics, as well as a Masters degree in Mathematics.  I also hold a certificate in Software Development from Microsoft. 

I have years of experience as a high school Physics teacher, Computer Science Teacher, and college Mathematics teacher.  I am part of the New York State Master Teacher Program  a network of more than 800 outstanding public school teachers throughout the state who share a passion for their own STEM learning and for collaborating with colleagues to inspire the next generation of STEM leaders.

I am passionate about learning new things and teaching what I know to those around me in a way that is engaging, meaningful, and with purpose. 

Top companies trust Udemy

Get your team access to Udemy's top 25,000+ courses