# Human and Application-centric Technical Education I wanted to expand a bit on the concept we were talking about today related to the future of technical education. I believe that effective technical education that sets students up for success, and leads them to mastery and autonomy in their careers should be firmly centered around what I will call here "human and application-centric learning". ## Traditional Approach The misguided approach to creating the next generation of software engineers or technical digital workers Here's examples of misguided and ineffective approaches that will not best serve students: - I want to teach community college students "data science" - I want to teach students Python - I want to teach students about the "Cloud" These statements are almost always topic-centric and concept-centric learning, which doesn't work effectively by itself in applied sciences. Applied sciences, and most importantly technical education done correctly, requires a fundamental respect for the audience you are teaching, where they are at, and what you want to enable them to create. ## Caveats and Disclaimers - There's nothing "wrong" with concept-based or topic-based learning, it's just not enough in isolation to lead someone to a mastery track and success in a software engineering career. Traditional education is a complement to application-centric education - CodePath as an organization should always be centered around application-centric education in order to provide critically missing content that allows all of the concept and topic-based learning that's more traditional to make sense - It's not bad for others to teach alternate ways, but we should always be focused on our mission: empowering people, giving them a pathway to opportunity, autonomy, mastery and confidence. The way we do that is to provide holistic education that enables students to see "the big picture". ## Further Challenges in Technical Education When you think of a topic like "the cloud" or "data science", an additional challenge is that these are extremely broad categories that could almost literally mean dozens or hundreds of different things to different people. The reason these terms don't tell you much this that these are imprecise and vague terms that are used to group together a bunch of somewhat unrelated applied use cases, languages, techniques, and outputs. Instead, what we would need to do is understand "what do I want to enable the student to actually do?" and then understand the use cases I am going to be covering, and how to weave those into a coherent narrative. To quote this other article, discussing the [myth of entry-level data science](https://insidebigdata.com/2017/11/14/myth-entry-level-data-science/): > Data science, fundamentally, is about using the scientific method to solve practical problems in a business setting. Things like: “what steps can we take to measurably reduce customer churn?” or “how much of our inventory losses are due to fraud, and how can we reduce that?” The tools involved will evolve and snazzy but vague buzzwords can be confusing and misleading. But data science isn’t defined by deep learning networks, using Bayesian statistics, or however we define ‘AI’ this week. Data science is a practice, not a particular skill set. > > To be successful, you’ll need to bring a variety of skills and experience to bear. For any given question, it may be necessary to write code to collect and clean data, run traditional statistical analysis to verify that your data can answer a given question, build predictive machine learning models, visualize the data in creative and expressive ways, and explain the results to whomever needs to know what you’ve discovered. Beyond the technical pieces, you’ll also need a deep understanding of the business and the topic at hand. > > And this is why there are so few job postings for beginner data scientists. Doing this kind of research day in, day out requires diverse knowledge and experience. > > Instead, demonstrate that you know how to answer practical questions. Find an actual problem that exists in the world and solve it with data. For example: ‘Could your city reduce traffic with different policies?’ or ‘How can you build a twitter bot will get the most replies?’ Tell a story with the data. Your audience is rarely going to know what an F1 score is—though you must, and you must also explain it in a way they can connect with. Show that you understand that you’re solving a business problem with math, don’t just show me you can solve a math problem. > > Finally, data science is a social profession. It might not seem that way on the surface, but it’s not a field for people who want to work in isolation, optimizing algorithms. No matter how profound your analysis, it’s wasted if no one knows about it. Get out there and network. Figure out where the data scientists are hanging out at conferences and meetups, present your work, get feedback, and improve on it. ## The correct approach is creation or application-centric First we must ask and build empathy for: - Who is my specific audience, and what do they know or care about already coming into this class? - What do my target students specifically not know how to bring into digital reality? (listed out) - What do I want to enable my audience to be able to bring into a digital reality? (listed out) **Imagine a few scenarios to bring this home:** - Example 1 - MISGUIDED - I want to teach community college students "data science" - CORRECT - I want to enable them to survey their fellow students, gather their opinions on an election, and then take that data and display an interactive graph of their ranked choices - I want to enable students to collect the clicks a user makes on a website, and then store those clicks, and be able to view those user analytics to optimize their web pages - I want to take this data collected by a survey, and then create a word cloud, as well as analyze and graph the results in a way that allows us to improve the product - Example 2 - MISGUIDED - I want to teach students Python - CORRECT - I want to teach students how to solve technical problems on a whiteboard so they can pass technical interviews - I want to teach students how to trade fantasy stocks and track their profits using a script - I want to teach students how to develop a script that automates the collection of data, and sending of a bunch of emails. - Example 3 - MISGUIDED - I want to teach students about the "Cloud" - CORRECT - I want to teach students how to create a landing page to collect emails for a startup idea I am testing - I want to teach students to create a web app for browsing user-submitted news like Reddit - I want to teach students to automate manual text messages sent to a list asking for donations for their favorite non-profit The key comes back to asking **"What do I want to allow a student to create or produce in the digital space for people to use, and what enables them to do that?"** The course then starts from there, and works backward to what to introduce and when, creating a journey of discovery from the statement or desired act of creation, all the way through to creation in a series of designed activities, labs and projects including work that is of their own creation and leverages their own creativity.