We are all guided by our narratives/beliefs/paradigms/world views. Typically you have a story of how things are and a story of how things ought to be. I want to tell you the way that I see reality and the ideals that I want to push for.
Each one of you is walking around with an amazing supercomputer on your shoulders. You can imagine and create a future which services millions and positively shapes this world.
I believe that each of us is responsible for the outcomes in our lives. There are circumstances and obstacles that will always pop up, but it is very important to recognize that you are accountable for your outcomes. When we tell ourselves a story which creates excuses for our outcomes we give away our power. It happens to all of us, of course, but I will try my best to affirm and support narratives that do not make excuses for negative outcomes. Obstacles are there to signify how badly you want something.
I belive that much of what you are accustomed to in courses is centered in a philosophy of knowledge transference. The professor holds the knowledge and the student is an empty vessel waiting to have the knowledge poured in. I strongly disagree: we all come together with our own talents and experiences that can be honored. Also, you are in control of how much knowledge you will gain from a course.
There is a prevalent (but in my opinion wrong and damaging) notion of talent/genius in our society. This is a two-fold problem: many students will stop whenever they decide that they don't have talent while other students will slack because they believe they do have talent.
My belief is this: when I see talent I don't see it as preternatural, it is just an accumulation of focused hours. Studies back this up. When you have spent more hours training than someone else in some area you will out-perform them.
Log focused hours and you will succeed. Period. When you are behind you have to strategize your life to create the hours you need. When you are ahead it's because you've spent the hours somewhere in the past. I do believe that you can use your focused hours efficiently when you strategize, but the impact is not an asymptotic improvement.
A figure that is tossed around is that 10000 hours of effort is what it takes to become an expert in an area. In a typical college course you will get about 30-45 hours of lecture time. That is one-full work week. It takes 5-6 years of full-time work weeks to get to expert status. That is orders of magnitude more time that I have with you. My best bet is to empower you to the point that you don't need my guidance, knowledge, or advice.
I want every one of my students to feel empowered enough to sit down, on their own, and work through an interesting task of their own chosing. If you can power through the typical set of excuses, find the answers yourself, work towards a meaningful goal, and really code something useful then I will confident that you have the tools to succeed. I can't sit with you for 10000 hours (or prep 10000 hours of lecture), you've got to get into motion and stay in motion, and slowly you will overtake all competition.
My lectures will tend to bounce between a new idea and practicing that new idea. The new idea can give you an arena to play in. The practice will make you far more likely to code on your own and to feel confident getting started. I will assign very hard but doable projects that will push you to give 2 to 3 times as many hours outside of class as in class. These projects should give you a strong sense of satisfaction when they are all completed as well as some portfolio ready work.
If you disagree with this world-view then please discuss with me outside of class. If you are struggling with becoming empowered then seek mentorship. I also have resources that you might find helpful at prof.ninja.