The Art of Doing Ebook

Telechargé par yassine drawat
The Art of Doing
Computer Science Through Python Application
By
Michael Eramo
Copyright © 2020 by Michael P. Eramo
All rights reserved.
www.theartofdoingcs.com
Deadications
To my beautiful son Lucas. You are a constant reminder that human beings grow and
improve each and every day. You are my motivation to continually improve, little by
little, to be a better human being and a better father. I’ll always remember watching my
father tinkering away, wondering, and learning; trying to create something out of
nothing. I hope you can remember the same in me.
To baby Eramo. I can’t wait to meet you.
To my beautiful wife Alyssa. We are a team. Thank you for your unending support. I
love you. 2
The Art of Doing
Computer Science Through Python Application
Hello, my name is Michael Eramo. I am an experienced
educator, lifelong 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 extensive my 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 lifelong 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:
Page 1
1. Writing small "snippets" of programs that when 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 the even numbers from 1 to 100 or using if statements to respond to
generic user input. Here, users are bored and aren't challenged 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.
2. 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's work and rarely a
thought is 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 lifelong learner and be proud to call yourself a self-taught
programmer. I hope you learn something and enjoy the process.
Page 2
1 / 242 100%

The Art of Doing Ebook

Telechargé par yassine drawat
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !