# Learning Approach

This class assumes you are here because you want to be here and want to learn to program in Python and learn some foundational data science skills. As such, it's expected that you will be fully engaged during our time together and participating during class activities. 

In all likelihood, this class will seem different than any other class you've taken. Introductory programming courses often feel novel because the ideas may at first seem very abstract, yet, learning these abstract ideas requires lots of hands-on experience, and teaching it requires a variety of approaches. However, even though hardly any of you (I assume) will be coming in with prior programming experience, you may find that learning to program feels more akin to learning a new language or musical instrument, or a new sport, than you may have expected. What programming and those other activities have in common is that they are all skills, and as such, they require *practice* - and lots of it! Like all these other skills, programming also requires a mixture of teaching (coaching) and self-guided learning.  As such, this course requires that you put in significant time into it outside of class (8 hrs is a reasonable starting estimate).

The other thing to keep in mind is that logic will play a much larger role in learning to program than memorization. You will without a doubt forget certain commands, but once you *really* understand the logic of a conecpt (e.g., for loops), you will likely never forget how they work. 

On last word of advice about learning: Even though you will be practicing on your own, you are encouraged to communicate with your peers. Learning how to ask questions of each other and teach each other will deepen your understanding. In class, we will try to facilitate partnering with peers to foster mutually helpful relationships outside of class. 

