The Art of Doing: Code 40 Challenging Python Programs Today! | SMARTYBRO
4 May , 2020
What you’ll learn
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.
Requirements
A working computer with internet connection and access to a web browser.
Python 3 installed (optional).
A desire to learn!
Description
Hello, my name is Michael Eramo. I am an experienced educator, life long learner, and a self-taught programmer.
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
Who this course is for:
Beginner programmers who are looking for an opprotunity to learn though application rather than direct instruction.
Intermediate programers who are looking to test their skills.
This website uses cookies to improve your experience. We'll assume you're ok with this "Cookie settings", but you can opt-out if you wish.ACCEPT
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are as essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.