The Art of Doing- Python Projects to Master the Fundamentals
- Development
- Jan 29, 2025

The Art of Doing: Python Projects to Master the Fundamentals, available at $84.99, has an average rating of 4.7, with 157 lectures, based on 1044 reviews, and has 75188 subscribers.
You will learn about Fundamental concepts of computer science that are transferable across ALL programming languages. Foundations of the Python language as well as how to import and work with 8 libraries such as random, matplotlib, and tkinter. How to actually write YOUR OWN programs. You will not sit back and watch. You will DO! 40 Challenge Problems that include, a problem description, detailed guide, example output, and completed code. Communicate secretively with a friend by encoding/decoding information based on per-determined bodies of text. Simulate the Power Ball Lottery and see how adjusting the number of balls affects the likelihood of becoming a billionaire. See the devastating effect of interest on student loans and graph the results. Create a GUI interface that simulates the spread of an infectious disease throughout a population. This course is ideal for individuals who are Beginner programmers who are looking for an opportunity to learn though application rather than direct instruction. or Intermediate programers who are looking to test their skills. It is particularly useful for Beginner programmers who are looking for an opportunity to learn though application rather than direct instruction. or Intermediate programers who are looking to test their skills.
Enroll now: The Art of Doing: Python Projects to Master the Fundamentals
Summary
Title: The Art of Doing: Python Projects to Master the Fundamentals
Price: $84.99
Average Rating: 4.7
Number of Lectures: 157
Number of Published Lectures: 157
Number of Curriculum Items: 157
Number of Published Curriculum Objects: 157
Original Price: $199.99
Quality Status: approved
Status: Live
What You Will Learn
Who Should Attend
Target Audiences
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!
See, I had this deep fear right after my son was born that I was done growing as an individual; that the person I was at 30 was going to be the same person I was at 55. I felt that there was literally ZERO time in the day to do anything other than go to work and be a dad. That is, until I bought a book on Computer Science, and a sense of wonder was woken. I’ve read countless books, watched hundreds of videos, and put in thousands of hours exploring and writing code. I would routinely wake up at 3:00 AM to learn for a few hours before I had to go to my full time job, teaching high school, before I went to my part time job of teaching college. Days were long, but getting up at 3:00 AM to read, to learn, or to code benefited me more than a few extra hours of sleep. It helped me realize that I was never done learning; never done growing. To me, that is what defines a life long learner.
I have years of classroom experience as a high school Physics teacher, Computer Science teacher, and college Mathematics professor. 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. Most importantly, I know what motivates people to learn on their own; to find a way to create time to learn, when there is no time to be had. I understand that time is valuable and that all learning should be engaging, meaningful, and have purpose.
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.
The art of doing is the art form of transforming oneself from a passive learner who watches, to one who sees the process of learning for what it truly is; a mechanism to better oneself. In “The Art of Doing”, I have worked very hard to put together 40 meaningful, engaging, and purposeful “Challenge Problems” for you to solve.
Each challenge problem is differentiated for 3 levels of learning.
First, you are given a description of the program you are to create and example output. This allows users an opportunity to solve well defined problems that are meaningful and appropriate in scope. Here, all of the solution is user generated. It is engaged learning.
Second, you are given a comprehensive guide that will assist you in thought process needed to successfully code your program. This allows users appropriate assistance that tests their knowledge and forces them to generate the thoughts needed to solve the given problem. It is meaningful learning.
Third, you are given completed code, with comments, to highlight how to accomplish the end goal. This allows users to reference a working version of the program if they are stuck and cannot solve a portion of the problem without assistance. Rather than grow frustrated, the user can quickly reference this code to gain intellectual footing, and work back to solving the problem on their own. It is purposeful learning.
Engaging, meaningful, and with purpose. These challenge problems are vehicles that not only teach computer science, but teach you the art of doing. I guarantee that after completing them all you will consider yourself a life long learner and be proud to call yourself a self-taught programmer.
Throughout the scope of this book and its 40 challenge problems, you will get exposed to numerous ideas, theories, and fundamental computer science concepts. By working through all 40 challenge problems, you will gain a mastery level understanding of the following topics:
Data Types:
Strings: A series of characters
Integers: Whole numbers
Floats: Decimal numbers
Lists: A mutable collection
Tuples: An immutable collection
Ranges: A sequence of integers
Booleans: A True or False value
Dictionaries: A collection of associated key-value pairs
Control Flow:
For Loops
If Statements
If/Else Statements
If/Elif/Else Statements
Break
Pass
Continue
While Loops
Def
Return
Assignment, Algebraic, Logical, Members, and Comparison Operators
= Assignment
+= Compound Assignment
-= Compound Assignment
+ Concatenation (strings)
+ Addition (ints and floats)
– Subtraction
* Multiplication
/ Division
** Exponentiation
% Modulo Division
And
Or
Not
In
Not in
== Equal to
!= Not Equal to
< Less than
> Greater Than
<= Less Than or Equal
>= Greater Than or Equal
Over 20 Built In Python Functions:
print()
type()
str()
int()
float()
input()
round()
sorted()
len()
range()
list()
min()
max()
sum()
zip()
bin()
hex()
set()
bool()
super()
String Methods:
.upper()
.lower()
.title()
.strip()
.count()
.join()
.startswith()
.replace()
.split()
Lists Methods:
.append()
.insert()
.pop()
.remove()
.sort()
.reverse()
.copy()
.index()
Dictionary Methods:
.items()
.keys()
.values()
.most_common()
And External Libraries:
math
datetime
cmath
random
collections
time
matplotlib
tkinter
Course Curriculum
Chapter 1: Introduction
Lecture 1: Course Preview
Lecture 2: No installation needed: repl.it
Lecture 3: Python 3: Windows Install
Lecture 4: Using PIP: Windows
Lecture 5: Python 3: Linux Install and PIP
Lecture 6: Download the associated eBook
Chapter 2: Unit Overview: Basic Data Types
Lecture 1: Basic Data Types Unit Goals
Lecture 2: Your First Python Function: print()
Lecture 3: Using Variables Effectivley
Lecture 4: Your First Data Type: Strings
Lecture 5: More On Strings
Lecture 6: Even More On Strings
Lecture 7: More Data Types: Integers and Floats
Lecture 8: Your Second Python Function: type()
Lecture 9: The input() Function
Lecture 10: String Formatting Options
Chapter 3: Challenge Problem 1: Letter Counter App
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 4: Challenge Problem 2: Miles Per Hour Conversion App
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 5: Challenge Problem 3: Temperature Conversion App
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 6: Challenge Problem 4: Right Triangle Solver App
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 7: Challenge Problem 5: Multiplication/Exponentiation Table Program
Lecture 1: Program Demonstration
Lecture 2: Project Solution
Chapter 8: Unit Overview: Lists
Lecture 1: Lists Unit Goals
Lecture 2: An Introduction to a New Data Type: Lists
Lecture 3: Changing and Adding Elements to a List
Lecture 4: Removing Elements From a List
Lecture 5: Sorting Lists and the len() Function
Lecture 6: Tuples
Chapter 9: Challenge Problem 6: Grade Sorter App
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 10: Challenge Problem 7: Different Types of Lists Program
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 11: Challenge Problem 8: Grocery List App
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 12: Challenge Problem 9: Basketball Roster Program
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 13: Challenge Problem 10: Favorite Teachers Program
Lecture 1: Program Demonstration
Lecture 2: Problem Solution
Chapter 14: Unit Overview: For Loops
Lecture 1: For Loops Unit Goals
Lecture 2: Looping Through a List of Elements
Lecture 3: Looping Through a Numerical Range
Lecture 4: Looping Through a Portion of a List Using Slicing
Lecture 5: Looping Through Multiple Lists
Chapter 15: Challenge Problem 11: Binary Hexadecimal Conversion App
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 16: Challenge Problem 12: Quadratic Equation Solver App
Lecture 1: Program Demonstration
Lecture 2: Project Solution
Chapter 17: Challenge Problem 13: Factorial Calculator App
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 18: Challenge Problem 14: Fibonacci Calculator App
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 19: Challenge Problem 15: Grade Point Average Calculator App
Lecture 1: Program Demonstration
Lecture 2: Program Solution Part I
Lecture 3: Program Solution Part II
Chapter 20: Unit Overview: Conditionals
Lecture 1: Unit Goals
Lecture 2: A New Data Type: Booleans
Lecture 3: Simple if/else Statements
Lecture 4: if/elif/else Chains
Lecture 5: Nested if/elif/else Chains
Lecture 6: Control Statements: break, continue, and pass
Chapter 21: Challenge Problem 16: Shipping Accounts Program
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 22: Challenge Problem 17: Coin Toss App
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 23: Challenge Problem 18: Voter Registration App
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 24: Challenge Problem 19: Guess My Number App
Lecture 1: Program Demonstration
Lecture 2: Program Solution
Chapter 25: Challenge Problem 20: Rock, Paper, Scissors App
Lecture 1: Program Demonstration
Lecture 2: Program Solution Part I
Lecture 3: Program Solution Part II
Instructors

Michael Eramo
Educator, Master Teacher, Self-Taught Programmer
Rating Distribution
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
- Random Picks
- Popular
- Hot Reviews
- Building a Photo and Video Sharing Application for Android
- Price Action Trading (Forex and Index)
- AI-Powered Content Creation with ChatGPT - Master ChatGPT_1
- Advanced Photoshop Manipulations Tutorials Bundle
- Life Insurance Annuity Ultimate Buyer’s Guide
- 3DS Max Tutorial. Learn The Art of Modelling and Animation
- Personal Finance
- Create 3D Models of Furniture and Books in Paint 3D
- 1YouTube Masterclass The Best Guide to YouTube Success
- 2Photoshop CC- Adjustement Layers, Blending Modes Masks
- 3Personal Finance
- 4SolidWorks Essential Training ( 2023 2024 )
- 5The Architecture of Oscar Niemeyer
- 6Advanced Photoshop Manipulations Tutorials Bundle
- 7Polymer Clay Jewelry Making Techniques for Beginners
- 8SEO for Web Developers
- 1Linux Performance Monitoring Analysis Hands On !!
- 2Content Writing Mastery 1- Content Writing For Beginners
- 3Media Training for PrintOnline Interviews-Get Great Quotes
- 4Learn Facebook Ads from Scratch Get more Leads and Sales
- 5The Complete Digital Marketing Course Learn From Scratch
- 6C#- Start programming with C# (for complete beginners)
- 7[FREE] How to code 10 times faster with Emmet
- 8Driving Results through Data Storytelling