Tuesday, August 18, 2015

Starting Out With Python by Tony Gaddis in Computer Science 256

My Computer Science Class uses Starting Out with Python by Tony Gaddis as its text.  Today, I completed my first week of coursework using the book working my way through chapter 1 and Appendix B.  I read and took notes on all of the basics of the computer including the CPU, Memory, Secondary Storage, Inputs, and Outputs.  The first chapter also features a brief explanation of machine language, assembly languages, and high level languages.  This is as far ahead as I have ever been in an undergrad class!

My early musings on the Gaddis text are essentially that this is totally a textbook.  I am sure the people at Addison-Wesley are good people with nice families who need the work, but I have to say that they have a way of creating texts that are intimidating and generally terrible.  I grew to hate the Addison Wesley name as an elementary and middle school math student and the name continues to send chills down my spine 25 years later.  Despite the fact that I am deeply interested in this topic, this very entry level book made me feel kind of inadequate and spoke in a tone which seemed really detached.  Gaddis speaks with the classic textbook voice which seeks neither to urge you on nor inspire.

As a professor myself, I do understand the reasons for this, however as a student I find this type of text really off-putting.  Given the host of upbeat, accessible, and interesting resources to read, this book seems to go out of its way to keep the reader at arms length.  While Pine takes the jokes to the extreme and Shaw seems to have a healthy sense of humor even as he demands you type this stuff out all over AGAIN, this book seems intent on proving that Python is bone dry, difficult, and a challenge you may not be up for.

On the plus side, I really enjoyed some theoretical framework.  While Code Academy, TreeHouse, and even Pine and Shaw focus strictly on teaching you code, this book provides some background.  Why does it work?  How do we get to the point where we can make computers do stuff?  While most people don't want this much background it really helped me to get a grasp on what a compiler is versus an interpreter and understand more about what the art of computer programming actually is.  He also does a wonderful job explaining how Python sets up and what the different programs it installs do.  I think in many ways reading Gaddis is jut a culture shock.  Web resources emphasize that you can do it!  Communities form and encourage!  Folks follow you on Twitter and pat you on the back!  Gaddis simply presents the information and is making no promises about how awesome you will surely be.

As for code, I am not there yet.  However, there will be more to come a I continue through the book!

Total hours into Programming: 74 (4 since last time )
Total Weeks Programming/Hours per week: 3/25

Progress on Gaddis' Starting out with Python: Done With Chapter 1, Appendix A,B
Progress on Shaw's Learning Ruby the Hard Way: Finished Exercise 1-9
CSC Class Time: 1 Hour

My Text game: 2 hours, 107 lines

TreeHouse (551 Points, 9 Badges) 

Code Academy Points: 632
Code Academy Badges: 66
Code Academy Skills Finished: 2 (Make a Website, Ruby)
Progress on Hartl's Tutorial Ready to start Chapter 3! 

Resources Finished:
Josh Kemp's No Degree, No Problem 8/14/2015
Chris Pine's Learn to Program 8/9/2015 

No comments:

Post a Comment