<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ technology - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ technology - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 13 Jun 2026 09:47:47 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/technology/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Start your Career in Tech with freeCodeCamp - Full Talk in Spanish ]]>
                </title>
                <description>
                    <![CDATA[ Technology is rapidly reshaping the world. Understanding how to use free learning resources and contribute to open source projects can be very helpful to start your career in this field. We just publi ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-start-your-career-in-tech-with-freecodecamp-full-talk-in-spanish/</link>
                <guid isPermaLink="false">6a2ace357fbd41b5facfabdf</guid>
                
                    <category>
                        <![CDATA[ talk ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Estefania Cassingena Navone ]]>
                </dc:creator>
                <pubDate>Thu, 11 Jun 2026 15:03:17 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/uploads/covers/6354793a48f6ebd7a37ed09c/5bf8045b-8fe5-4efe-96a3-db8648914615.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Technology is rapidly reshaping the world. Understanding how to use free learning resources and contribute to open source projects can be very helpful to start your career in this field.</p>
<p>We just published a talk on the freeCodeCamp Spanish YouTube channel about how to leverage freeCodeCamp's free learning resources and community to start your career in technology. You’ll learn how to find these resources and the core concepts that you need to know to start contributing to open source.</p>
<p>If you have Spanish-speaking friends, you're welcome to share the <a href="https://www.freecodecamp.org/espanol/news/como-iniciar-tu-carrera-en-tecnologia-con-freecodecamp">Spanish version of this article</a> with them.</p>
<p>This talk was presented by Estefania (me!). I'm part of the freeCodeCamp team. I develop educational content and manage the freeCodeCamp Spanish YouTube channel. I love helping others learn and grow professionally. I gave this virtual talk for the Escuela Superior Politécnica del Litoral, located in Guayaquil, Ecuador.</p>
<h2 id="heading-why-consider-a-career-in-tech">Why Consider a Career in Tech?</h2>
<p>Before we dive into the content of the talk, let's see what careers in technology involve, and why you should start now if having a career in this field is your goal.</p>
<p>Technology careers can be very interesting because they give you the opportunity to solve real-world problems. Being part of the technology field means that you'll have the chance to help shape the future of humanity. By joining the freeCodeCamp community, you'll find the support and the practical tools you need to get started.</p>
<p>Learning to code and contributing to open source projects, like freeCodeCamp, are two fundamental steps for reaching your goal. Contributing to open source projects develops your technical skills and connects you with a global network of developers who share your interests and goals. By contributing to open source, you’ll gain hands-on experience, improve your portfolio, and increase your chances of landing your first job.</p>
<h2 id="heading-what-youll-learn-during-the-talk">What You'll Learn During the Talk</h2>
<p>Great. Let's see what you’ll learn during the talk:</p>
<ul>
<li><p>The story and mission of freeCodeCamp.org.</p>
</li>
<li><p>How to use freeCodeCamp’s free learning resources to learn programming.</p>
</li>
<li><p>freeCodeCamp's certifications.</p>
</li>
<li><p>freeCodeCamp's daily coding challenges.</p>
</li>
<li><p>freeCodeCamp's catalog and forums.</p>
</li>
<li><p>freeCodeCamp's YouTube channels with full courses.</p>
</li>
<li><p>freeCodeCamp's publication.</p>
</li>
<li><p>Additional free learning resources provided by freeCodeCamp.</p>
</li>
<li><p>How to contribute to open source projects and why this is important.</p>
</li>
<li><p>Common terminology used in open source projects.</p>
</li>
<li><p>Personal tips for getting started in your first job.</p>
</li>
<li><p>How to join the freeCodeCamp community.</p>
</li>
</ul>
<p>By the end of the talk, you’ll know how to find and leverage freeCodeCamp's free learning resources to learn programming and start your career.</p>
<h2 id="heading-talk-on-youtube">Talk on YouTube</h2>
<p>Check out the talk on the freeCodeCamp Spanish YouTube channel:</p>
<div class="embed-wrapper"><iframe width="560" height="315" src="https://www.youtube.com/embed/WfkFz6-q1Ew" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>

<p>✍️ Talk presented by Estefania Cassingena Navone.</p>
<ul>
<li>YouTube: <a href="https://www.youtube.com/@freecodecampes">https://www.youtube.com/@freecodecampes</a></li>
</ul>
<p>Collaborating with:</p>
<ul>
<li><p>Canal del Capítulo (IEEE Computer Society ESPOL): <a href="https://www.youtube.com/@ieeeespolcomputersociety7497">https://www.youtube.com/@ieeeespolcomputersociety7497</a></p>
</li>
<li><p>Canal de la Rama Estudiantil (IEEE ESPOL): <a href="https://www.youtube.com/@ramaestudiantilieee-espol84">https://www.youtube.com/@ramaestudiantilieee-espol84</a></p>
</li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ AI in Finance: Transforming Investments and Banking in the Digital Age ]]>
                </title>
                <description>
                    <![CDATA[ Artificial Intelligence (AI) is rapidly reshaping the financial sector. As models become more powerful and infrastructure more scalable, AI has evolved from an emerging technology into a fundamental force driving competitive advantage. From fraud pre... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/ai-in-finance-handbook/</link>
                <guid isPermaLink="false">688d3f7f05ad6aee69e144b7</guid>
                
                    <category>
                        <![CDATA[ AI ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Artificial Intelligence ]]>
                    </category>
                
                    <category>
                        <![CDATA[ #ai-tools ]]>
                    </category>
                
                    <category>
                        <![CDATA[ ai training ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Certification ]]>
                    </category>
                
                    <category>
                        <![CDATA[ handbook ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Tatev Aslanyan ]]>
                </dc:creator>
                <pubDate>Fri, 01 Aug 2025 22:28:15 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1754087217705/8c775871-1502-40d9-b09e-fad02f0fca97.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Artificial Intelligence (AI) is rapidly reshaping the financial sector. As models become more powerful and infrastructure more scalable, AI has evolved from an emerging technology into a fundamental force driving competitive advantage.</p>
<p>From fraud prevention to real-time payments and smart investing, AI is unlocking major opportunities across finance. Machine learning models help identify suspicious activity faster than ever before, while also enabling hyper-personalized customer experiences. AI-driven payment systems improve transaction speed, reduce friction, and make financial services more accessible worldwide.</p>
<p>In investing and trading, predictive analytics and NLP help firms uncover market insights, assess risk, and automate decision-making. From hedge funds to robo-advisors, AI is enhancing performance and democratizing access to financial tools.</p>
<p>Globally, AI is also strengthening cross-border collaboration and compliance. Through APIs, real-time data sharing, and regulatory tech, financial institutions are creating more transparent and agile systems that operate across jurisdictions.</p>
<p>This handbook explores how AI is driving the next era of finance. Whether you're a bank executive, fintech innovator, or policy leader, you’ll find practical insights and tools to guide your organization into a smarter, data-driven future.</p>
<blockquote>
<p><strong>“You are not going to lose your job to AI, but you are going to lose your job to a developer who uses AI.”</strong></p>
<p>– Jensen Huang, CEO @NVIDIA</p>
</blockquote>
<h2 id="heading-table-of-contents">Table of Contents:</h2>
<ol>
<li><p><a class="post-section-overview" href="#heading-chapter-1-why-ai-in-finance-is-a-necessity-not-just-hype">Chapter 1: Why AI in Finance Is a Necessity – Not Just Hype</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-chapter-2-ai-in-finance-today-where-are-we-in-ai-and-innovation">Chapter 2: AI in Finance Today – Where Are We in AI and Innovation?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-chapter-3-case-studies-of-ai-in-fintech-global-use-cases-and-case-studies-of-ai-in-finance">Chapter 3: Case Studies of AI in FinTech – Global Use Cases and Case Studies of AI in Finance</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-chapter-4-data-management-in-finance-navigating-data-lakes-real-time-ingestion-security-and-cloud-platforms">Chapter 4: The Role of Data in Finance – Infrastructure, Warehousing, and Security</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-chapter-5-the-science-behind-the-models-ml-nlp-and-predictive-analytics">Chapter 5: The Science Behind the Models – ML, NLP, and Predictive Analytics</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-chapter-6-training-the-workforce-upskilling-executives-technical-and-non-technical-teams-in-fintech">Chapter 6: Training the Workforce – Upskilling Executives, Technical, and Non-Technical Teams in FinTech</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-chapter-7-ai-for-executives-ai-education-amp-enablement-in-finance-workshops-tools-services-and-training-resources">Chapter 7: Resources for Finance Executives – AI Education &amp; Enablement in Finance: Workshops, Tools, Services, and Training Resources</a></p>
</li>
</ol>
<p>You can download the PDF Version of the eBook <a target="_blank" href="http://www.lunartech.ai/download/ai-in-finance">here</a>.</p>
<p>And you can also listen to this handbook as a podcast here:</p>
<div class="embed-wrapper">
        <iframe width="100%" height="152" src="https://open.spotify.com/embed/episode/1OqlpE9N8nn3zGsVEthijB" style="" title="Spotify embed" allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" allowfullscreen="" loading="lazy"></iframe></div>
<p> </p>
<h2 id="heading-chapter-1-why-ai-in-finance-is-a-necessity-not-just-hype">Chapter 1: Why AI in Finance Is a Necessity – Not Just Hype</h2>
<p>The financial sector has long prided itself on being ahead of the curve when it comes to adopting new technologies. From early mainframe systems to real-time trading platforms, banks, hedge funds, and payment providers have historically been quick to embrace tools that promise greater speed, efficiency, and insight.</p>
<p>But the world has changed – and fast.</p>
<p>Today, Artificial Intelligence (AI) and data-driven technologies are redefining what innovation means in finance. From predictive risk modeling to hyper-personalized customer experiences, AI isn’t a buzzword or a future luxury. It’s a present-day requirement for survival.</p>
<h3 id="heading-the-innovation-gap-perception-vs-reality">The Innovation Gap: Perception vs. Reality</h3>
<p>It may surprise you that even in some of the world’s most digitally advanced regions, many financial institutions still rely heavily on legacy systems. Core banking infrastructure often runs on outdated technologies. Manual compliance checks, fragmented data storage, and lack of real-time analytics are still common.</p>
<p>In countries with strong financial histories, legacy often gets in the way of progress. While fintech startups sprint ahead with cloud-native, AI-first approaches, traditional banks and insurers are struggling to digitize core services, let alone lead with data.</p>
<p>This isn’t just a minor gap – it’s a growing risk. Institutions that delay digital transformation fall behind not only in customer service but in risk mitigation, fraud prevention, and investment performance.</p>
<h3 id="heading-where-innovation-is-needed">Where Innovation Is Needed</h3>
<p>AI isn’t a one-size-fits-all solution. But it offers specific, actionable advantages across nearly every domain of finance:</p>
<ul>
<li><p><strong>Retail Banking</strong>: AI improves customer service, personalizes offerings, detects fraud in real-time, and enables better credit decisions using alternative data.</p>
</li>
<li><p><strong>Investment &amp; Asset Management</strong>: Predictive analytics help portfolio managers spot trends early. Robo-advisors offer scalable, custom investment advice. NLP tools turn earnings calls and market chatter into structured insight.</p>
</li>
<li><p><strong>Payments &amp; Fintech</strong>: Machine learning models reduce fraud, optimize payment routing, and improve KYC/AML compliance with far greater accuracy.</p>
</li>
<li><p><strong>Insurance &amp; Risk</strong>: AI models assess risk in real-time, automate underwriting, and help insurers respond to claims with minimal manual effort.</p>
</li>
<li><p><strong>Trading &amp; Hedge Funds</strong>: From quant strategies using reinforcement learning to sentiment-based trading algorithms, AI has already reshaped trading floors.</p>
</li>
<li><p><strong>Compliance &amp; Security</strong>: Natural Language Processing (NLP) automates the review of regulatory documents. Anomaly detection finds suspicious transactions that human analysts might miss.</p>
</li>
</ul>
<p>In short: AI is not a tool to consider "someday." It’s an operational backbone for today and tomorrow.</p>
<h3 id="heading-its-about-roi-not-just-technology">It’s About ROI – Not Just Technology</h3>
<p>With every AI buzzword, there comes hype – and with hype, hesitation. This is healthy. Financial leaders need to see <strong>measurable ROI</strong>, not just a list of features.</p>
<p>Smart AI adoption focuses on:</p>
<ul>
<li><p><strong>Solving real business problems</strong> (for example, reducing loan processing time by 60%)</p>
</li>
<li><p><strong>Improving customer KPIs</strong> (for example, 20% higher retention from personalized financial advice)</p>
</li>
<li><p><strong>Cutting operational costs</strong> (for example, automating reconciliation processes)</p>
</li>
<li><p><strong>Enhancing security and compliance</strong> in increasingly hostile threat environments</p>
</li>
</ul>
<p>This handbook is about moving past the hype and into real value.</p>
<h3 id="heading-who-should-read-this-handbook">Who Should Read This Handbook</h3>
<p>This is a handbook written for decision-makers – executives, investors, and operators who shape the future of financial services:</p>
<ul>
<li><p>Bank executives and managers who want to transform operations and customer experience</p>
</li>
<li><p>Fintech founders and product teams building next-gen platforms</p>
</li>
<li><p>CTOs and CIOs tasked with modernizing infrastructure</p>
</li>
<li><p>Investors – VCs, PEs, GPs, LPs – looking to evaluate scalable fintech and AI plays</p>
</li>
<li><p>Leaders in asset management, hedge funds, and trading who want a performance edge</p>
</li>
<li><p>Insurance and payment companies navigating digital acceleration</p>
</li>
</ul>
<h3 id="heading-what-to-expect">What to Expect</h3>
<p>This handbook dives deep into how AI and data are being applied across the financial world – not in theory, but in practice. We'll explore global case studies from Singapore to New York, Tokyo to Amsterdam that show exactly how leading firms are deploying AI to solve real-world challenges.</p>
<p>We’ll break down the ecosystem into the most relevant financial verticals and explain:</p>
<ul>
<li><p>What problems AI solves</p>
</li>
<li><p>How data infrastructure plays a role</p>
</li>
<li><p>What tools and platforms are available</p>
</li>
<li><p>How organizations can upskill their teams</p>
</li>
<li><p>What successful case studies teach us</p>
</li>
</ul>
<p>By the end of this handbook, you’ll walk away with a roadmap – not just for “adopting AI,” but for <strong>building a sustainable, data-driven financial institution</strong> that stays ahead of the curve.</p>
<p><a target="_blank" href="https://lunartech.ai/programs/ai-for-executives"><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1752532802354/a422917f-d23f-4ce4-8e31-5c75c72c8f90.jpeg" alt="A tall skyscraper with a grid of windows seen from below against a clear blue sky." class="image--center mx-auto" width="6000" height="4000" loading="lazy"></a></p>
<h2 id="heading-chapter-2-ai-in-finance-today-where-are-we-in-ai-and-innovation">Chapter 2: AI in Finance Today — Where Are We in AI and Innovation?</h2>
<p>At its core, <strong>finance</strong> is the science and business of managing money – how it’s earned, saved, invested, insured, borrowed, and spent. That definition hasn’t changed. But the methods, expectations, and technologies that drive modern finance have radically transformed.</p>
<p>In today’s financial ecosystem, institutions are no longer judged solely on interest rates or product offerings. Instead, they are measured by:</p>
<ul>
<li><p>How fast they can deliver services</p>
</li>
<li><p>How well they personalize customer experiences</p>
</li>
<li><p>How securely they protect data and infrastructure</p>
</li>
<li><p>How intelligently they manage risk and capital allocation</p>
</li>
</ul>
<p>And most importantly, by <strong>how effectively they use data.</strong></p>
<h3 id="heading-finance-in-2025-data-centric-and-ai-driven">Finance in 2025: Data-Centric and AI-Driven</h3>
<p>Every financial activity – be it a retail transaction, a cross-border payment, an IPO, or a wealth management advisory session – generates a <strong>digital footprint</strong>. What sets the leaders apart is how well they can capture, structure, analyze, and act on that data.</p>
<p>AI is the natural engine of this transformation. But today, we’re at a mixed adoption stage globally.</p>
<h4 id="heading-where-finance-is-excelling-in-ai">Where Finance Is Excelling in AI</h4>
<p>Many large financial players have already implemented AI with impressive results. Here are a few standout areas:</p>
<ul>
<li><p><strong>Fraud Detection and Risk Management</strong>: AI models can now detect fraud in milliseconds by analyzing real-time patterns and anomalies (for example, Mastercard and Visa use ML to detect fraudulent transactions before they’re completed).</p>
</li>
<li><p><strong>Algorithmic and Quantitative Trading</strong>: Hedge funds like Renaissance Technologies and Two Sigma use machine learning for predictive modeling based on vast data sources, including alternative data like satellite imagery.</p>
</li>
<li><p><strong>Robo-Advisors and Personal Finance</strong>: Platforms like Betterment and Wealthfront use AI to provide automated, personalized investment strategies at scale.</p>
</li>
<li><p><strong>Customer Service</strong>: Chatbots and AI-powered assistants are now handling millions of interactions across banks like Bank of America (Erica) and HSBC, significantly reducing customer support costs.</p>
</li>
</ul>
<p>These are just the beginning. In many of these cases, AI has not just improved performance – it has become a core competitive advantage.</p>
<h4 id="heading-where-the-gaps-are">Where the Gaps Are</h4>
<p>Despite high-profile innovation, many financial institutions – especially traditional banks and insurers in Western Europe, Southeast Asia, and Latin America – are lagging behind.</p>
<p>Common challenges include:</p>
<ul>
<li><p><strong>Legacy Core Systems</strong>: Older, monolithic infrastructures make data integration and automation difficult.</p>
</li>
<li><p><strong>Siloed Data</strong>: Without centralized data warehouses or lakes, advanced AI modeling is almost impossible.</p>
</li>
<li><p><strong>Shortage of AI Talent</strong>: Many banks lack in-house AI engineers or data scientists, leading to reliance on generic third-party tools.</p>
</li>
<li><p><strong>Regulatory Fear</strong>: Concerns over compliance and data privacy (GDPR, AML, Basel III) often slow down innovation, even when AI can help meet those very obligations.</p>
</li>
</ul>
<p>A 2023 report by the World Economic Forum noted that while 85% of financial executives see AI as “essential” to future growth, fewer than 35% have deployed it at scale within core operations.</p>
<p>This means we are still in the early innings – especially for those outside of major innovation hubs like New York, London, or Hong Kong.</p>
<h3 id="heading-finance-is-becoming-fintech-by-default">Finance Is Becoming Fintech by Default</h3>
<p>One important shift: the line between traditional finance and fintech is vanishing.</p>
<p>Any company that provides financial services must now think like a tech company. This includes retail banks, wealth managers, insurers, private equity firms, and central banks. Whether they like it or not, they are becoming data companies.</p>
<ul>
<li><p>Payments are being reinvented by APIs and machine learning optimization (Stripe, Adyen, Square).</p>
</li>
<li><p>Lending is now algorithmic, with startups like Upstart and Kabbage approving loans in seconds using AI-based credit scoring.</p>
</li>
<li><p>Investment analysis is real-time, with platforms scanning global news, earnings reports, and social media sentiment 24/7.</p>
</li>
<li><p>Insurtechs are pricing risk more accurately than ever with real-time data from connected devices and behavioral scoring.</p>
</li>
</ul>
<p>Legacy institutions that resist this shift risk being leapfrogged by more agile, AI-first challengers.</p>
<h3 id="heading-the-global-landscape-an-uneven-map">The Global Landscape: An Uneven Map</h3>
<p>Innovation levels vary widely across regions:</p>
<ul>
<li><p><strong>United States</strong>: Leading in AI-driven trading, wealth tech, and regtech. Heavy investment in AI research and startup ecosystems.</p>
</li>
<li><p><strong>United Kingdom</strong>: Strong fintech sector in London, but traditional banks remain cautious. Regulation-friendly for experimentation (for example, FCA sandbox).</p>
</li>
<li><p><strong>Netherlands &amp; Germany</strong>: Wealth of talent and infrastructure, but legacy banking institutions are slow to adapt AI internally.</p>
</li>
<li><p><strong>Singapore &amp; Hong Kong</strong>: Government-backed innovation hubs, strong adoption in wealth management and regulatory tech.</p>
</li>
<li><p><strong>China</strong>: AI-first approach in consumer finance and mobile payments, led by Ant Group and Tencent.</p>
</li>
<li><p><strong>Canada &amp; Australia</strong>: Focused on ethical AI and compliance automation. Slower in retail innovation but strong in institutional tech.</p>
</li>
<li><p><strong>Japan</strong>: Conservative innovation pace in traditional banks, but increasing AI use in investment and manufacturing finance.</p>
</li>
</ul>
<p>This variance opens the door for learning across borders – and for competitive advantage in under-served regions.</p>
<p>Finance today is not just about managing capital. It's about managing data, speed, trust, and intelligence. AI is no longer the edge. It is becoming the foundation.</p>
<p>In the next section, we’ll go beyond definitions and into real-world examples: How are top institutions – from Goldman Sachs to Revolut to Ant Financial – applying AI in ways that are changing the game.</p>
<p><a target="_blank" href="https://lunartech.ai/programs/ai-for-executives"><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1752532856235/af76c36d-4084-4d44-94af-589fad8b2023.jpeg" alt="A dark urban scene showing tall office buildings with dimly lit windows. A narrow street with car lights is visible between the buildings." class="image--center mx-auto" width="2933" height="1955" loading="lazy"></a></p>
<h2 id="heading-chapter-3-global-use-cases-and-case-studies-of-ai-in-finance">Chapter 3: Global Use Cases and Case Studies of AI in Finance</h2>
<p>AI is no longer experimental in finance – it's operational. From Wall Street to Shanghai, leading institutions are deploying machine learning, natural language processing (NLP), and generative AI not just to optimize processes but to redefine them.</p>
<p>In this section, we explore real-world case studies of how AI is already transforming financial services across banking, investing, payments, compliance, and customer experience. These examples span a global spectrum – from the U.S. to Asia to Europe – offering a comprehensive view of how AI is being leveraged across different financial sectors worldwide.</p>
<h3 id="heading-jpmorgan-chase-coin-contract-intelligence-platform">JPMorgan Chase – COiN (Contract Intelligence Platform)</h3>
<p><strong>Country:</strong> United States<br><strong>Function:</strong> Legal automation and document review<br><strong>AI Applications:</strong> NLP and Machine Learning<br><strong>Impact:</strong> Reduced 360,000 hours of manual review time</p>
<p>JPMorgan’s <strong>COiN</strong> (Contract Intelligence) platform is a pioneer in AI for legal and compliance processes. Using Natural Language Processing (NLP), COiN automates the review of legal documents, particularly complex credit agreements. This process, which used to take hundreds of thousands of hours of manual work, is now completed in a fraction of the time, significantly enhancing operational efficiency.</p>
<ul>
<li><p><strong>Risk Analysis:</strong> COiN scans documents to identify key terms, obligations, and risks associated with legal contracts. This allows compliance officers to focus on the high-risk contracts and flag potential issues early on.</p>
</li>
<li><p><strong>Operational Cost Savings:</strong> The automation provided by COiN reduces reliance on manual labor and minimizes the risk of human error, ultimately saving the bank time and money.</p>
</li>
<li><p><strong>Compliance and Speed:</strong> COiN helps JPMorgan comply with complex regulatory requirements by making the review process quicker and more accurate, reducing compliance risk.</p>
</li>
</ul>
<p>COiN is a clear example of how AI can disrupt back-office operations, providing banks and financial institutions with tools that significantly improve productivity and legal oversight.</p>
<h3 id="heading-blackrock-aladdin-asset-liability-debt-amp-derivative-investment-network">BlackRock – Aladdin (Asset, Liability, Debt &amp; Derivative Investment Network)</h3>
<p><strong>Country:</strong> United States (Global deployment)<br><strong>Function:</strong> Risk management, portfolio construction, investment operations<br><strong>AI Applications:</strong> Predictive analytics, real-time risk modeling<br><strong>Impact:</strong> Powers ~$21 trillion in assets under management</p>
<p><strong>Aladdin</strong>, BlackRock’s AI-powered risk management platform, is one of the most influential tools in the investment management space. Aladdin leverages predictive analytics and real-time data to help asset managers assess risk, build portfolios, and manage their investment operations.</p>
<ul>
<li><p><strong>Scenario Analysis:</strong> Aladdin simulates various market scenarios (such as changes in interest rates or economic downturns) to help portfolio managers identify potential vulnerabilities and optimize portfolio performance accordingly.</p>
</li>
<li><p><strong>Market Prediction:</strong> Aladdin uses AI to forecast asset performance by analyzing <strong>both historical and real-time data</strong>, allowing asset managers to make data-driven decisions that improve returns while managing risk.</p>
</li>
<li><p><strong>Operational Risk:</strong> The platform can quickly identify potential gaps in the operational side of portfolio management, providing actionable insights to reduce risks.</p>
</li>
</ul>
<p>Aladdin is used by financial institutions around the world, including large asset managers, insurers, and sovereign wealth funds. By licensing its technology, BlackRock has turned into not just an asset management firm, but a technology provider as well.</p>
<p>Here’s a <a target="_blank" href="https://www.blackrock.com/aladdin/">BlackRock Aladdin overview</a> if you want to read more.</p>
<h3 id="heading-goldman-sachs-marcus-amp-ai-powered-consumer-finance">Goldman Sachs – Marcus &amp; AI-Powered Consumer Finance</h3>
<p><strong>Country:</strong> United States<br><strong>Function:</strong> Consumer banking, digital lending<br><strong>AI Applications:</strong> Behavioral analytics, NLP, personalization<br><strong>Impact:</strong> Over $100B in deposits managed via AI-augmented digital channels</p>
<p>Goldman Sachs entered the consumer banking space with <strong>Marcus</strong>, a digital platform offering savings accounts and personal loans. Powered by AI, Marcus has revolutionized how the bank approaches credit decisioning, personalized financial advice, and customer onboarding.</p>
<ul>
<li><p><strong>Credit Decisioning:</strong> Goldman Sachs uses AI to assess creditworthiness by analyzing alternative data sources, such as transaction history and social behavior, instead of just traditional credit scores. This allows Marcus to extend credit to a wider customer base, especially those underserved by traditional banks.</p>
</li>
<li><p><strong>Personalization:</strong> AI-driven algorithms create tailored financial solutions for individual customers, such as personalized savings plans or investment recommendations, enhancing user experience.</p>
</li>
<li><p><strong>Automated Onboarding:</strong> The AI engine speeds up the verification process, reducing manual input and allowing customers to open accounts in a matter of minutes, rather than days.</p>
</li>
</ul>
<p>Goldman Sachs’ move into the digital consumer finance space underscores how even traditional investment banks can innovate and compete with fintech disruptors by leveraging AI to improve user experience and streamline operations.</p>
<p>You can read more about <a target="_blank" href="https://www.marcus.com/">Marcus by Goldman Sachs</a> if you’re curious.</p>
<h3 id="heading-ant-group-ai-for-superapp-finance">Ant Group – AI for SuperApp Finance</h3>
<p><strong>Country:</strong> China<br><strong>Function:</strong> Mobile payments, credit, insurance, wealth<br><strong>AI Applications:</strong> Deep learning, behavior-based credit scoring, fraud detection<br><strong>Impact:</strong> Over 1 billion users served by AI-driven services</p>
<p>Ant Group, the parent company of <strong>Alipay</strong>, integrates AI throughout its extensive ecosystem, offering mobile payments, credit, insurance, and wealth management services. The scale at which Ant operates – with over 1 billion users – makes its AI deployment incredibly sophisticated.</p>
<ul>
<li><p><strong>Zhima Credit (Sesame Credit):</strong> This AI-powered credit scoring system uses behavioral data to evaluate creditworthiness. By analyzing transaction history, utility bill payments, and even social behavior, Ant Group can offer personalized loans and financial products to users who may lack traditional credit histories.</p>
</li>
<li><p><strong>Fraud Detection:</strong> Real-time anomaly detection systems continuously monitor billions of transactions to flag suspicious activity, preventing fraud before it happens. This has greatly improved trust in digital financial transactions, particularly in regions where traditional banking infrastructure is lacking.</p>
</li>
<li><p><strong>Smart Customer Support:</strong> Ant's NLP-powered chatbots resolve over 95% of customer queries autonomously, ensuring users receive timely assistance.</p>
</li>
</ul>
<p>Ant Group’s AI-driven platform enables massive scalability and efficiency, allowing the company to offer an array of services without the need for extensive physical infrastructure.</p>
<h3 id="heading-revolut-real-time-fraud-detection-and-personalization">Revolut – Real-Time Fraud Detection and Personalization</h3>
<p><strong>Country:</strong> United Kingdom<br><strong>Function:</strong> Neobank, payments, FX, crypto<br><strong>AI Applications:</strong> Real-time anomaly detection, personalization engines<br><strong>Impact:</strong> 35M+ users, AI flags &gt;95% of fraud in real time</p>
<p><strong>Revolut</strong> uses AI extensively to enhance both customer experience and security across its neobanking platform. By leveraging machine learning, Revolut is able to detect fraud in real time and personalize financial services for each user.</p>
<ul>
<li><p><strong>Fraud Detection:</strong> Revolut’s AI models analyze behavioral patterns – such as location, transaction frequency, and device fingerprinting – to identify potentially fraudulent activities in real time. This allows the system to immediately flag suspicious transactions, ensuring a high level of security for its global user base.</p>
</li>
<li><p><strong>Personalization:</strong> Revolut’s AI engine provides users with customized budgeting tips, spending insights, and even recommends financial products such as loans and insurance, based on individual transaction data.</p>
</li>
<li><p><strong>Scalability:</strong> Revolut’s AI stack is designed to handle the massive scale of over 35 million users spread across 200+ countries, all while maintaining high standards of personalization.</p>
</li>
</ul>
<p>Revolut’s success lies in balancing cutting-edge AI with a streamlined, user-friendly experience, proving that AI is not just a tool for large banks but also for nimble fintech startups.</p>
<p>You can read more about <a target="_blank" href="https://www.revolut.com/">Revolut’s AI-driven approach here</a>.</p>
<h3 id="heading-renaissance-technologies-predictive-quant-trading">Renaissance Technologies – Predictive Quant Trading</h3>
<p><strong>Country:</strong> United States<br><strong>Function:</strong> Hedge fund<br><strong>AI Applications:</strong> Machine learning, alternative data modeling, signal extraction<br><strong>Impact:</strong> Arguably the most profitable quant firm in history</p>
<p><strong>Renaissance Technologies</strong>, the legendary hedge fund, is known for its AI-powered and data-driven investment strategies. The firm employs some of the most advanced machine learning techniques and data models to predict price movements, gaining a significant edge in the market.</p>
<ul>
<li><p><strong>Alternative Data Analysis:</strong> Renaissance uses unconventional data sources such as satellite imagery, weather data, and even social sentiment from social media platforms to build predictive models. For instance, they may analyze the number of cars in the parking lot of a retail chain using satellite images to forecast quarterly earnings.</p>
</li>
<li><p><strong>Machine Learning Models:</strong> Renaissance Technologies uses machine learning models to identify patterns and signals that human analysts may miss, making their trading decisions faster and more accurate.</p>
</li>
<li><p><strong>Consistent Returns:</strong> The firm’s flagship Medallion Fund has reportedly returned over 60% annually (net), a remarkable feat in the investment world, thanks to its reliance on AI to optimize every aspect of its trading strategy.</p>
</li>
</ul>
<p>Renaissance’s success story is a perfect example of how AI, combined with alternative data, can produce extraordinary financial returns.</p>
<h3 id="heading-generative-ai-for-internal-automation-and-client-interaction">Generative AI for Internal Automation and Client Interaction</h3>
<p><strong>Used Globally</strong><br><strong>Function:</strong> Customer service, internal productivity, compliance<br><strong>AI Applications:</strong> LLMs (like ChatGPT), GPT-powered copilots<br><strong>Impact:</strong> Reduces response time, boosts compliance, increases advisor efficiency</p>
<p>Generative AI is being rapidly adopted across the finance industry for internal automation and client interaction. AI tools like ChatGPT and similar Large Language Models (LLMs) have found applications across multiple facets of financial institutions:</p>
<ul>
<li><p><strong>Customer Service Automation:</strong> Banks and financial institutions are using generative AI to power chatbots and virtual assistants that handle common customer inquiries, reducing the need for human intervention and significantly improving response times.</p>
</li>
<li><p><strong>Internal Productivity:</strong> AI copilots, like those tested by Morgan Stanley and UBS, help financial advisors quickly retrieve research, analyze market trends, and generate custom reports. This allows advisors to focus on more valuable, higher-level tasks like client engagement.</p>
</li>
<li><p><strong>Compliance Assistance:</strong> Generative AI is also being deployed to automate risk documentation, summarize compliance reports, and assist in the generation of legal documents, ensuring that the vast array of regulatory requirements is met with greater accuracy and efficiency.</p>
</li>
</ul>
<p>Here are some examples:</p>
<ul>
<li><p><strong>Morgan Stanley</strong> uses OpenAI’s GPT to help financial advisors access research instantly.</p>
</li>
<li><p><strong>UBS</strong> is testing AI copilots to assist relationship managers and client-facing bankers.</p>
</li>
<li><p><strong>ING</strong> uses AI to streamline internal processes like writing credit memos and risk assessments.</p>
</li>
</ul>
<p>Generative AI is transforming how financial firms deliver customer service, assist employees, and maintain compliance.</p>
<p><a target="_blank" href="https://lunartech.ai/programs/ai-for-executives"><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1752532894860/4784b4ac-6822-478b-a951-aa2731b2b8ae.jpeg" alt="Corrugated metal walls of a modern building under a clear blue sky." class="image--center mx-auto" width="6000" height="4000" loading="lazy"></a></p>
<h2 id="heading-chapter-4-data-management-in-finance-navigating-data-lakes-real-time-ingestion-security-and-cloud-platforms">Chapter 4 - Data Management in Finance: Navigating Data Lakes, Real-Time Ingestion, Security, and Cloud Platforms</h2>
<p>In the digital age, data has become the lifeblood of the financial industry. From risk management to customer service and predictive analytics, financial institutions are increasingly relying on vast amounts of data to make informed decisions.</p>
<p>But handling this data requires advanced infrastructure, as well as a deep understanding of how different technologies can be leveraged to optimize data usage.</p>
<p>In this section, we’ll explore the critical components of data management in finance, including data lakes vs. data warehouses, real-time data ingestion, data security and compliance, and the role of cloud platforms like AWS, GCP, and Azure in managing financial data.</p>
<h3 id="heading-data-lakes-vs-data-warehouses-the-foundation-of-financial-data-management">Data Lakes vs. Data Warehouses: The Foundation of Financial Data Management</h3>
<p>When dealing with large volumes of data, teams and companies must decide how best to store, manage, and utilize that data. This decision often comes down to two key technologies: <strong>data lakes</strong> and <strong>data warehouses</strong>. While they may seem similar, they serve different purposes and have distinct advantages depending on the needs of the organization.</p>
<h4 id="heading-data-lakes-flexible-and-scalable-for-big-data">Data Lakes: Flexible and Scalable for Big Data</h4>
<p>A <strong>data lake</strong> is a centralized repository that allows financial institutions to store vast amounts of structured, semi-structured, and unstructured data at scale. The key advantage of a data lake is its flexibility – it can accommodate data from a variety of sources without requiring any preprocessing or transformation.</p>
<p>In finance, data lakes are ideal for storing massive datasets such as transaction logs, market data, social media feeds, and customer interactions. By consolidating this data in one place, organizations can perform exploratory data analysis, conduct advanced analytics, and implement machine learning models.</p>
<p><strong>Advantages:</strong></p>
<ul>
<li><p><strong>Scalability:</strong> Data lakes can handle petabytes of data with ease.</p>
</li>
<li><p><strong>Cost-Effective:</strong> They are often built on low-cost storage solutions, which makes them a cost-effective way to store large amounts of data.</p>
</li>
<li><p><strong>Data Variety:</strong> They can store data in its raw form, including structured data (like customer demographics), semi-structured data (like transaction logs), and unstructured data (like customer service chat logs or social media feeds).</p>
</li>
</ul>
<p><strong>Challenges:</strong></p>
<ul>
<li><p><strong>Data Quality:</strong> Since data in a lake is often stored in its raw form, ensuring the quality of the data can be challenging.</p>
</li>
<li><p><strong>Data Governance:</strong> Proper governance frameworks need to be in place to manage who has access to the data, and how it can be used securely and ethically.</p>
</li>
</ul>
<h4 id="heading-data-warehouses-structured-and-optimized-for-analytics">Data Warehouses: Structured and Optimized for Analytics</h4>
<p>A <strong>data warehouse</strong>, on the other hand, is designed for structured data that is preprocessed and optimized for analytics. It usually stores historical data, transformed into a format that is easy to query and analyze. In financial institutions, data warehouses are used for business intelligence, reporting, and making strategic decisions based on historical trends.</p>
<p>Banks and asset management firms often rely on data warehouses for financial reporting, risk management, fraud detection, and compliance tracking. It allows them to access a clean and structured dataset that is ready for analysis.</p>
<p><strong>Advantages:</strong></p>
<ul>
<li><p><strong>Performance:</strong> Data warehouses are highly optimized for complex queries and fast analytics.</p>
</li>
<li><p><strong>Data Integrity:</strong> The data stored in warehouses is usually cleaned and transformed, ensuring a high degree of accuracy and consistency.</p>
</li>
<li><p><strong>Business Intelligence:</strong> They support advanced business intelligence tools and reporting features, helping executives make informed decisions.</p>
</li>
</ul>
<p><strong>Challenges:</strong></p>
<ul>
<li><p><strong>Cost:</strong> Data warehouses typically require more expensive storage and computing resources due to their structured nature.</p>
</li>
<li><p><strong>Rigidity:</strong> Unlike data lakes, data warehouses are less flexible when it comes to accommodating unstructured data or rapidly changing datasets.</p>
</li>
</ul>
<h3 id="heading-real-time-data-ingestion-and-processing-the-importance-of-speed-in-finance">Real-Time Data Ingestion and Processing: The Importance of Speed in Finance</h3>
<p>The ability to process real-time data has become a critical factor for success in modern financial services. Whether it's market trading, fraud detection, or customer support, financial institutions need to ingest and analyze data as it happens to make timely decisions and maintain competitive advantage.</p>
<h4 id="heading-real-time-data-ingestion">Real-Time Data Ingestion</h4>
<p>In the financial world, real-time data ingestion refers to the continuous flow of data from various sources (such as stock markets, credit card transactions, or social media) into a central system for immediate processing. For instance, banks must process millions of transactions every second to identify fraud or assess liquidity risk.</p>
<ul>
<li><p><strong>Example:</strong> A <strong>trading algorithm</strong> that ingests live market data (price movements, order books, and so on) and adjusts trading strategies in real time, helping asset managers to react instantly to market conditions.</p>
</li>
<li><p><strong>Key Technologies:</strong> Real-time data ingestion typically uses streaming technologies such as <strong>Apache Kafka</strong>, <strong>AWS Kinesis</strong>, or <strong>Google Cloud Pub/Sub</strong> to process and route data to processing systems with minimal delay.</p>
</li>
</ul>
<h4 id="heading-real-time-data-processing">Real-Time Data Processing</h4>
<p>Once data is ingested, it needs to be processed immediately to generate insights or trigger actions. For example, real-time fraud detection systems analyze each credit card transaction as it happens to determine whether it’s legitimate or fraudulent, using algorithms that monitor patterns and behaviors.</p>
<ul>
<li><strong>Key Processing Technologies:</strong> In finance, streaming analytics platforms like <strong>Apache Flink</strong> or <strong>Google Dataflow</strong> are commonly used to handle real-time data. These platforms allow institutions to run complex analytics on data in motion, enabling them to identify risks, opportunities, or irregularities quickly.</li>
</ul>
<p><strong>Use Cases:</strong></p>
<ul>
<li><p><strong>Fraud Detection:</strong> Banks and payment processors use real-time transaction analysis to detect fraud patterns and stop unauthorized transactions.</p>
</li>
<li><p><strong>Algorithmic Trading:</strong> Real-time data processing enables financial firms to adjust trading algorithms instantly based on market changes.</p>
</li>
<li><p><strong>Customer Interaction:</strong> AI-powered chatbots and customer service agents are able to offer real-time support to clients, improving the customer experience.</p>
</li>
</ul>
<h3 id="heading-data-security-and-compliance-in-financial-data-handling">Data Security and Compliance in Financial Data Handling</h3>
<p>In finance, data is not just an asset – it is also a liability. Financial institutions need to adhere to strict data security and compliance regulations to protect sensitive customer information and meet legal requirements.</p>
<h4 id="heading-compliance-with-regulations">Compliance with Regulations</h4>
<p>Financial institutions operate in a heavily regulated environment, where maintaining compliance is crucial. Regulations like <strong>GDPR</strong> (General Data Protection Regulation), <strong>FINRA</strong> (Financial Industry Regulatory Authority), and the <strong>SEC</strong> (Securities and Exchange Commission) set strict guidelines for how financial data should be handled, stored, and protected.</p>
<ul>
<li><p><strong>GDPR:</strong> This European regulation imposes heavy fines on organizations that mishandle personal data. Financial institutions must ensure that they collect, store, and process customer data in compliance with GDPR principles, such as obtaining explicit consent and providing data access rights to users.</p>
</li>
<li><p><strong>FINRA/SEC Regulations:</strong> These U.S.-based regulatory bodies require firms to retain records of transactions and communications, ensure that data is protected from unauthorized access, and report suspicious activities promptly. Financial firms must implement stringent data governance frameworks to comply with these regulations.</p>
</li>
</ul>
<h4 id="heading-data-security-in-financial-institutions">Data Security in Financial Institutions</h4>
<p>With the massive amount of sensitive data stored in financial systems, protecting this data from cyberattacks, breaches, and unauthorized access is of paramount importance. Financial institutions are leveraging a combination of encryption, multi-factor authentication (MFA), and access control policies to ensure the security of their systems.</p>
<ul>
<li><p><strong>Encryption:</strong> Financial data, both at rest and in transit, is encrypted to prevent interception by malicious actors.</p>
</li>
<li><p><strong>MFA:</strong> Multi-factor authentication ensures that even if an attacker gains access to a password, they still cannot access the data without a second form of authentication (such as a token or biometric verification).</p>
</li>
<li><p><strong>Data Masking:</strong> Sensitive customer data, such as credit card numbers or Social Security numbers, is often "masked" in non-production environments to prevent accidental exposure during testing or development.</p>
</li>
</ul>
<h3 id="heading-cloud-platforms-in-financial-data-handling-aws-gcp-and-azure">Cloud Platforms in Financial Data Handling: AWS, GCP, and Azure</h3>
<p>Cloud platforms such as Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure have become the backbone for modern financial data management. These platforms offer scalable infrastructure, advanced analytics tools, and machine learning services that are essential for financial institutions to stay competitive.</p>
<h4 id="heading-benefits-of-cloud-platforms-in-finance">Benefits of Cloud Platforms in Finance</h4>
<ul>
<li><p><strong>Scalability:</strong> Cloud platforms provide virtually unlimited storage and computing power, allowing financial institutions to scale operations efficiently.</p>
</li>
<li><p><strong>Security and Compliance:</strong> Major cloud providers offer industry-specific compliance certifications (such as <strong>SOC 2</strong> or <strong>ISO 27001</strong>) and implement strong security features, including encryption and access control, to meet financial regulatory standards.</p>
</li>
<li><p><strong>Advanced Analytics and Machine Learning:</strong> Cloud platforms provide access to a range of tools for big data processing, AI model development, and real-time analytics. For instance, AWS provides services like Amazon SageMaker for machine learning, while Google Cloud’s BigQuery offers fast data analytics.</p>
</li>
</ul>
<h4 id="heading-use-cases-of-cloud-in-finance">Use Cases of Cloud in Finance:</h4>
<ul>
<li><p><strong>Risk Analytics:</strong> Financial firms use cloud platforms to run complex risk simulations at scale, allowing them to identify potential vulnerabilities in their portfolios and strategies.</p>
</li>
<li><p><strong>Fraud Detection and Prevention:</strong> Cloud-based AI models can analyze billions of transactions in real time, flagging suspicious activities with greater accuracy than traditional systems.</p>
</li>
<li><p><strong>Customer Service Automation:</strong> Using cloud-based AI and chatbots, financial institutions can offer 24/7 customer service, streamlining support while reducing operational costs.</p>
</li>
</ul>
<p>In the financial industry, leveraging the right data infrastructure is key to gaining a competitive edge. By effectively managing data using data lakes, data warehouses, and advanced cloud platforms, financial institutions can enhance their decision-making capabilities, improve security and compliance, and deliver a better experience to customers.</p>
<p>As the industry continues to embrace real-time data ingestion, advanced analytics, and AI, those who master the art of data management will be the leaders of tomorrow’s financial ecosystem.</p>
<p><a target="_blank" href="https://lunartech.ai/programs/ai-for-executives"><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1752532945075/f0bbd7a9-18e6-4d5e-9c8b-0752d0855956.jpeg" alt="Low-angle view of tall, modern skyscrapers against a gray sky, showcasing reflective glass facades and sharp architectural lines." class="image--center mx-auto" width="4443" height="2500" loading="lazy"></a></p>
<h2 id="heading-chapter-5-the-science-behind-the-models-ml-nlp-and-predictive-analytics">Chapter 5: The Science Behind the Models – ML, NLP, and Predictive Analytics</h2>
<p>Artificial Intelligence (AI) in finance is not magic – it’s applied science. Behind every real-time fraud alert, automated investment strategy, or smart credit score is a complex stack of algorithms and data pipelines.</p>
<p>To make AI work in financial environments where accuracy, explainability, and risk tolerance are non-negotiable, institutions rely on a blend of machine learning (ML), natural language processing (NLP), and predictive analytics.</p>
<p>In this section, we’ll unpack the foundational AI methods that power today’s most critical financial systems, and how these models are reshaping decision-making across the value chain.</p>
<h3 id="heading-time-series-forecasting-the-engine-of-financial-prediction">Time-Series Forecasting: The Engine of Financial Prediction</h3>
<p><strong>Time-series forecasting</strong> is the cornerstone of financial modeling. Unlike typical supervised learning where inputs are independent, time-series models take into account temporal dependencies – the past influencing the future – which is especially important in domains like stock prices, interest rates, and credit defaults.</p>
<h4 id="heading-core-applications-in-finance">Core Applications in Finance:</h4>
<ul>
<li><p><strong>Asset Price Prediction:</strong> Hedge funds and asset managers forecast equity, FX, and commodity prices using techniques ranging from ARIMA and exponential smoothing to deep learning-based models like LSTMs (Long Short-Term Memory) or Temporal Convolutional Networks (TCNs).</p>
</li>
<li><p><strong>Liquidity Forecasting:</strong> Treasury departments forecast cash flow and liquidity needs across accounts and geographies to meet regulatory buffers and prevent shortfalls.</p>
</li>
<li><p><strong>Credit Risk Monitoring:</strong> Time-series models help anticipate changes in borrower behavior or macroeconomic indicators that impact default probabilities.</p>
</li>
</ul>
<h4 id="heading-technical-insights">Technical Insights:</h4>
<ul>
<li><p><strong>Models Used:</strong> ARIMA, Prophet (developed by Meta), LSTM, XGBoost on rolling features.</p>
</li>
<li><p><strong>Challenges:</strong> High noise-to-signal ratio in markets, non-stationarity, and the risk of overfitting to past data.</p>
</li>
<li><p><strong>Best Practices:</strong> Combining feature engineering with domain-specific constraints (for example, market open/close calendars, economic events) significantly improves forecast reliability.</p>
</li>
</ul>
<h3 id="heading-risk-modeling-quantifying-uncertainty-with-machine-learning">Risk Modeling: Quantifying Uncertainty with Machine Learning</h3>
<p>Risk modeling is fundamental in finance, whether you're managing market risk, credit risk, or operational risk. Traditionally built with logistic regression and rule-based systems, today’s models are becoming far more nuanced through ML.</p>
<h4 id="heading-machine-learning-in-risk">Machine Learning in Risk:</h4>
<ul>
<li><p><strong>Credit Risk:</strong> ML models ingest not just FICO scores and payment history, but also alternative data like cash flow, mobile phone usage, and behavioral patterns to score borrowers – especially useful in emerging markets or for thin-file customers.</p>
</li>
<li><p><strong>Market Risk (VaR, CVaR):</strong> ML techniques simulate potential portfolio losses under different market scenarios, accounting for complex correlations across assets.</p>
</li>
<li><p><strong>Operational Risk:</strong> Using internal logs and incident reports, anomaly detection algorithms can flag early indicators of system failures or fraud.</p>
</li>
</ul>
<h4 id="heading-technical-highlights">Technical Highlights:</h4>
<ul>
<li><p><strong>Popular Models:</strong> Gradient Boosting Machines (GBM), Random Forests, Support Vector Machines (SVM), and Neural Networks.</p>
</li>
<li><p><strong>Interpretability:</strong> Risk models must be explainable to pass regulatory scrutiny. Tools like SHAP values or LIME help demystify black-box models by showing the impact of individual features on predictions.</p>
</li>
<li><p><strong>Example:</strong> A bank may use XGBoost to predict credit card default, with SHAP showing that recent missed payments and high utilization ratios were the key drivers behind the model’s output.</p>
</li>
</ul>
<h3 id="heading-natural-language-processing-nlp-unlocking-textual-data">Natural Language Processing (NLP): Unlocking Textual Data</h3>
<p>Financial institutions sit on mountains of unstructured textual data — earnings call transcripts, analyst reports, regulatory filings, news, and customer communications. <strong>NLP</strong> allows them to extract meaningful insights from this data at scale.</p>
<h4 id="heading-use-cases-in-finance">Use Cases in Finance:</h4>
<ul>
<li><p><strong>Document Review and Contract Analysis:</strong> NLP models scan thousands of legal agreements or credit contracts to flag risk clauses, expirations, or inconsistencies (for example, JPMorgan’s COiN platform).</p>
</li>
<li><p><strong>Sentiment Analysis:</strong> Hedge funds use NLP to analyze news and social media sentiment to anticipate market movements.</p>
</li>
<li><p><strong>Regulatory Compliance:</strong> Automated systems parse SEC filings, GDPR policies, and internal communications to ensure compliance or detect violations.</p>
</li>
<li><p><strong>Customer Service Chatbots:</strong> NLP powers real-time customer engagement, automatically resolving queries and routing issues to the right departments.</p>
</li>
</ul>
<h4 id="heading-technologies">Technologies:</h4>
<ul>
<li><p><strong>Traditional Methods:</strong> Named Entity Recognition (NER), Bag-of-Words, TF-IDF, Latent Dirichlet Allocation (LDA).</p>
</li>
<li><p><strong>Modern Approaches:</strong> Transformer models (like BERT, RoBERTa, or domain-specific variants such as FinBERT) trained on financial texts to achieve better context understanding.</p>
</li>
<li><p><strong>Document Intelligence:</strong> With models like GPT-4 or Claude, banks can now extract and summarize key risks, opportunities, or inconsistencies from dense reports.</p>
</li>
</ul>
<h3 id="heading-fraud-detection-using-anomaly-detection-and-unsupervised-learning">Fraud Detection: Using Anomaly Detection and Unsupervised Learning</h3>
<p>Fraud detection is one of the highest ROI use cases for AI in finance. The challenge lies in identifying <strong>non-obvious</strong>, evolving fraudulent patterns buried in billions of transactions – often without labeled data.</p>
<h4 id="heading-why-ml-outperforms-rule-based-systems">Why ML Outperforms Rule-Based Systems:</h4>
<ul>
<li><p><strong>Traditional systems</strong> rely on static rules like “flag any transaction over $5,000 abroad.” But fraudsters quickly adapt.</p>
</li>
<li><p><strong>Machine learning systems</strong>, particularly those using unsupervised or semi-supervised techniques, learn what “normal” looks like for each user and flag outliers in real-time.</p>
</li>
</ul>
<h4 id="heading-models-and-approaches">Models and Approaches:</h4>
<ul>
<li><p><strong>Unsupervised Learning:</strong> Clustering (for example, DBSCAN), Autoencoders, and Isolation Forests are used to detect anomalies without needing labeled fraud data.</p>
</li>
<li><p><strong>Semi-Supervised Learning:</strong> Train on a small labeled dataset with millions of unlabeled records.</p>
</li>
<li><p><strong>Behavioral Biometrics:</strong> ML models monitor how users type, swipe, or move the mouse to detect suspicious behavior – often used in mobile banking apps.</p>
</li>
</ul>
<h4 id="heading-example">Example:</h4>
<p>A neobank like Revolut may apply autoencoder-based models on real-time transaction data. If a user who typically shops in Amsterdam suddenly makes 5 high-value transactions from São Paulo using a new device, the system flags and freezes the account for verification – all within milliseconds.</p>
<p>Behind every AI solution in finance is a combination of mathematical modeling, data engineering, and domain expertise. Whether it’s a hedge fund predicting earnings, a bank screening loans, or an insurance firm processing claims, these tools – time-series forecasting, ML-based risk scoring, NLP-driven document analysis, and anomaly detection – are the technical foundation of financial AI. Understanding them is not optional for executives anymore – it’s the difference between leading innovation or being disrupted by it.</p>
<p><a target="_blank" href="https://lunartech.ai/programs/ai-for-executives"><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1752533043903/00fecad4-6dab-4cac-a109-5540e607b7d3.jpeg" alt="A financial candlestick chart showing a sharp upward trend on a dark background." class="image--center mx-auto" width="6000" height="4000" loading="lazy"></a></p>
<h2 id="heading-chapter-6-training-the-workforce-upskilling-executives-technical-and-non-technical-teams-in-fintech">Chapter 6: Training the Workforce – Upskilling Executives, Technical, and Non-Technical Teams in FinTech</h2>
<p>AI transformation in finance is both a technological shift and an organizational one. Success doesn’t depend solely on algorithms or data pipelines, but on <strong>people</strong>: the ones who design, deploy, fund, govern, and use AI.</p>
<p>And if there's one hard truth in AI transformation, it is this: Innovation starts at the top.</p>
<p>Whether you are running a regional bank, a global asset manager, or a fintech startup, your leaders must be AI-literate. Not necessarily technically fluent in code – but strategically fluent in AI’s business value, risks, and implementation realities.</p>
<h3 id="heading-ai-literacy-for-leadership-a-strategic-imperative">AI Literacy for Leadership: A Strategic Imperative</h3>
<p>The idea that AI is a luxury – or something to “consider later” – is a dangerous misconception. In the current financial landscape, AI is a necessity. And if decision-makers don’t understand it, they can’t lead it.</p>
<p>Executives are the ones who sign off on technology budgets, approve digital initiatives, and set strategic priorities. It doesn't matter how innovative your engineers are. If your leadership doesn’t “get” AI, the innovation dies on the boardroom table.</p>
<h4 id="heading-common-executive-blind-spots">Common Executive Blind Spots:</h4>
<ul>
<li><p>Confusing automation with true AI (for example, rules-based tools vs. learning systems)</p>
</li>
<li><p>Underestimating the cost and complexity of model deployment</p>
</li>
<li><p>Failing to understand data infrastructure dependencies</p>
</li>
<li><p>Viewing AI as a “tech problem” instead of a business enabler</p>
</li>
<li><p>Ignoring governance risks or regulatory exposure</p>
</li>
</ul>
<p>Here are some key topics in executive AI training:</p>
<ul>
<li><p>Understanding ML, NLP, and GenAI at a strategic level</p>
</li>
<li><p>Interpreting AI project KPIs and business ROI</p>
</li>
<li><p>Governance and model risk management</p>
</li>
<li><p>Ethical and regulatory frameworks (EU AI Act, GDPR, SEC AI enforcement)</p>
</li>
<li><p>Building cross-functional AI innovation teams</p>
</li>
</ul>
<blockquote>
<p>"You’re not going to lose your job to an AI, but you’re going to lose your job to someone who uses AI."<br>— Jensen Huang</p>
</blockquote>
<p>This is not hyperbole. It's already happening. In a 2024 survey by PwC, 72% of financial services CEOs admitted they lacked a clear understanding of how AI delivers ROI in their own organizations. Meanwhile, 60% of digital transformation failures in banking were attributed to “leadership misalignment”, not technical challenges.</p>
<h4 id="heading-the-cost-of-inaction">The Cost of Inaction:</h4>
<ul>
<li><p>Slower go-to-market for AI-based products</p>
</li>
<li><p>Missed competitive advantages (for example, predictive credit scoring, customer retention models)</p>
</li>
<li><p>Increased risk of non-compliance due to lack of AI governance</p>
</li>
<li><p>Talent attrition – top AI engineers don’t stay where innovation is blocked</p>
</li>
</ul>
<p>To address this, top-tier financial institutions are increasingly mandating structured AI education programs for senior leaders, including CEOs, CTOs, COOs, and board members. This isn't just optional professional development – it's often required to ensure alignment on AI strategy, ethical use, and ROI measurement.</p>
<h3 id="heading-why-mandating-ai-education-is-becoming-standard">Why Mandating AI Education is Becoming Standard</h3>
<p>The push for mandatory AI training stems from several factors:</p>
<h4 id="heading-1-strategic-imperative">1. Strategic Imperative</h4>
<p>A 2024 PwC survey cited in various reports notes that 72% of financial services CEOs lack a clear understanding of AI's ROI, contributing to 60% of digital transformation failures due to leadership misalignment. Mandated programs help bridge this by providing strategic fluency in machine learning (ML), natural language processing (NLP), generative AI, and regulatory frameworks like the EU AI Act or GDPR.</p>
<h4 id="heading-2-risk-mitigation">2. Risk Mitigation</h4>
<p>With AI introducing new risks (for example, bias in models, data privacy breaches), boards and executives need education to oversee governance. For instance, the Global Financial Stability Board warned in 2024 that inconsistent AI standards could pose systemic risks.</p>
<h4 id="heading-3-competitive-edge-and-talent-retention">3. Competitive Edge and Talent Retention</h4>
<p>Institutions that invest in executive education see faster AI adoption, better talent attraction, and reduced attrition. Training costs (for example, $5,000 per person annually) are often offset by savings from avoiding missteps, as outlined in the handbook.</p>
<h4 id="heading-4-regulatory-and-market-pressures">4. Regulatory and Market Pressures</h4>
<p>Bodies like the FDIC and OCC have released training resources (for example, FDIC videos on cybersecurity for bank directors), signaling expectations for AI literacy. Conferences like the 2024 FSOC AI &amp; Financial Stability event and Opal Group's Compliance in the Age of AI 2025 emphasize executive involvement.</p>
<p>These programs typically cover AI fundamentals, use cases in finance (for example, predictive analytics), ethical considerations, and hands-on tools like ChatGPT or custom platforms. Formats range from in-house workshops and reverse mentorships to external certifications and business school courses.</p>
<h3 id="heading-institutions-and-executives-mandating-ai-education">Institutions and Executives Mandating AI Education</h3>
<p>While adoption varies by region and institution size (stronger in the US and Asia, as you may be able to tell), several top-tier players are leading with mandated or structured programs. Let’s look at some key examples drawn from recent developments as of July 2025:</p>
<ol>
<li><p><strong>Bank of America</strong>: The bank has adopted a top-down approach to AI education, mandating briefings for senior leadership on generative AI's potential and risks starting around 2023. This includes required sessions for executives to understand AI integration in retail, small business, and wealth management. Hari Gopalkrishnan, CIO and Head of Retail, Small Business, and Wealth Technology, leads this initiative, ensuring C-suite alignment to drive efficient operations and mitigate risks. This reflects a broader trend where banks prioritize internal AI tools for employee training, extending to executives.</p>
</li>
<li><p><strong>Morgan Stanley</strong>: As a pioneer in AI deployment (for example, their COiN platform mentioned above), Morgan Stanley integrates mandatory AI training into tool rollouts for wealth management teams, including executives. Tools like the Morgan Stanley Assistant (launched September 2023, powered by OpenAI's GPT-4) and Morgan Stanley Debrief (June rollout) require user training embedded in the experience. Koren Picariello, Managing Director and Head of Wealth Management Generative AI, oversees this, emphasizing intuitive learning for financial advisors and support staff – though it extends to leadership for strategic oversight. This approach ensures executives are fluent in AI to support firm-wide adoption.</p>
</li>
<li><p><strong>Community Financial Institutions (CFIs) via Eltropy</strong>: Credit unions and community banks are mandating AI certification through Eltropy's program, launched post-EMERGE 2025 conference where over 130 professionals earned the Eltropy AI Practitioner Certificate. This self-paced, on-demand certification is required for employees across functions, including executives, covering foundational AI, Agentic AI, compliant usage in regulated environments, and hands-on bot-building with technologies like LLMs and prompt engineering. While not naming specific executives, it's tailored for CFI leaders to build and deploy AI immediately, addressing the handbook's call for upskilling in smaller institutions.</p>
</li>
<li><p><strong>General Banking Boards (for example, via BankDirector Guidance)</strong>: Many US banks mandate director education and onboarding focused on AI skills for board members to oversee implementation effectively. This includes reboarding programs to enhance technology expertise, with boards establishing governance committees and designating AI overseers. For example, boards are encouraged to support capital for AI infrastructure while receiving regular updates, ensuring members are trained to guide ethical integration and competitive strategies.</p>
</li>
<li><p><strong>Hedge Funds and Larger Institutions</strong>: A 2024 AIMA report on hedge funds shows that nearly half of larger managers (for example, those managing significant AUM) mandate Gen AI training for teams, including executives, though overall adoption is at 10% industry-wide. Firms like Citadel, Bridgewater Associates, and Renaissance Technologies (highlighted in Senate investigations) are creating multidisciplinary AI teams, implying required upskilling for quants and leaders. Bridgewater's CEO, Nir Bar Dea, has publicly discussed AI's role in altering hedge fund landscapes, suggesting internal education mandates.</p>
</li>
<li><p><strong>Broader Trends Involving CEOs and Boards</strong>: Across sectors, boards and CEOs are forming joint AI vision task forces that mandate quarterly meetings and ethical scorecards, often including reverse mentorship programs where board members pair with AI specialists for hands-on learning. Business schools are incorporating AI case studies into board training, as noted in WSJ reports, to address a 20% tech expertise gap per PwC. Advisory firms like RSM US recommend CEOs and boards seek external education for AI vision-building, with 67% of organizations needing outside help.</p>
</li>
</ol>
<p>These examples illustrate a shift toward mandatory AI literacy at the highest levels, aligning with our emphasis on transforming executives into innovation champions. Institutions like Bank of America and Morgan Stanley exemplify how this combats hesitation, fostering a culture where AI drives measurable value.</p>
<h3 id="heading-training-technical-teams-in-fintech">Training Technical Teams in FinTech</h3>
<p>While AI literacy for leadership is essential, innovation doesn’t happen from the boardroom alone. It must be embedded across technical teams – engineers, analysts, data scientists, and product professionals – who build and maintain the infrastructure for change.</p>
<p>But here’s the critical point: you cannot innovate with an exhausted, overburdened, and undertrained workforce.</p>
<p>Many companies today are asking their software engineers to become AI engineers overnight. They're assigning responsibilities for data science, MLOps, predictive modeling, or chatbot design to backend developers who lack the training to handle data pipelines, model deployment, or even fundamental AI architecture. This isn't just inefficient – <strong>it's a recipe for failure</strong>.</p>
<h4 id="heading-why-upskilling-pays-off">Why Upskilling Pays Off</h4>
<p>Let’s look at this through the lens of hard numbers.</p>
<p>A company with a technical team of 100 software engineers, data scientists, or IT professionals will, on average, lose <strong>13 team members per year</strong>. For every engineer who leaves, the cost of replacement – including hiring, onboarding, training, lost productivity, and project disruption – averages $83,000. That means the company loses around <strong>$1.08 million per year</strong> due to attrition alone.</p>
<p>And this figure only reflects <em>direct</em> costs. It doesn’t include lost time on strategic initiatives, intellectual capital, or the hidden tax of slower innovation. These losses compound over time – especially when the market is rapidly adopting AI and you're left with gaps in capability.</p>
<p>Now compare that with the cost of strategic upskilling.</p>
<p>If you invest in targeted AI and data training at a rate of $5,000 per person per year, your total investment for 100 engineers is <strong>$500,000 per year</strong>. That’s less than half the cost of attrition.</p>
<p>But the ROI is even bigger when you account for what you <em>gain</em>:</p>
<ul>
<li><p>Stronger employee retention (engineers are more likely to stay when growing their skill set)</p>
</li>
<li><p>Faster delivery of AI-powered features, internal tools, and customer experiences</p>
</li>
<li><p>Reduced need to hire external consultants or chase niche AI talent in a hyper-competitive market</p>
</li>
<li><p>Avoiding expensive failures caused by technical debt or improperly built models</p>
</li>
</ul>
<p>When engineers are trained in areas like machine learning, LLM integration, NLP, MLOps, and data pipelines, they become innovation enablers rather than just code executors.</p>
<h4 id="heading-hidden-cost-of-overburdening-engineers">Hidden Cost of Overburdening Engineers</h4>
<p>What many executives don’t realize is that undertrained engineers – especially when asked to build high-risk AI systems – can expose the company to massive business risk. They may build flawed recommendation systems, opaque risk models, or chatbot interactions that spiral into compliance disasters.</p>
<p>Modern AI systems require more than good coding skills. They also require:</p>
<ul>
<li><p>Deep understanding of how to clean, structure, and prepare data</p>
</li>
<li><p>Familiarity with supervised vs. unsupervised learning</p>
</li>
<li><p>Knowledge of transformer models, fine-tuning, vector search, embeddings</p>
</li>
<li><p>Awareness of AI ethics, explainability, and regulatory frameworks</p>
</li>
</ul>
<p>These skills are not taught in traditional software engineering programs, nor are they something engineers can "pick up on the job" during sprints. Asking your developers to do everything – from backend infrastructure to building black-box models – is not only unfair, it’s strategically reckless.</p>
<h4 id="heading-upskilling-is-not-a-cost-its-a-hedge-against-brain-drain">Upskilling Is Not a Cost — It’s a Hedge Against Brain Drain</h4>
<p>Here’s the basic math again:</p>
<ul>
<li><p><strong>Cost of attrition per year (100 engineers, 13 lost):</strong> $1,079,000</p>
</li>
<li><p><strong>Cost of upskilling per year (100 engineers, $5K each):</strong> $500,000</p>
</li>
<li><p><strong>Net savings from upskilling:</strong> $579,000 annually</p>
</li>
</ul>
<p>And this is before counting the additional business value from faster launches, higher employee morale, and innovation that drives new revenue streams.</p>
<p>Investing in upskilling not only saves you money – it future-proofs your talent pipeline and makes your team more self-sufficient. Engineers who stay and grow are more likely to build products that push your business forward.</p>
<h4 id="heading-motivation-through-growth">Motivation Through Growth</h4>
<p>One of the most overlooked retention strategies in tech is personal and professional development. Talented engineers <strong>want to work at companies where they grow</strong>. When organizations ignore this, they create frustration, stagnation, and ultimately attrition.</p>
<p>On the other hand, those who invest in upskilling create a sense of purpose and momentum. Upskilled engineers are more confident, more collaborative, and more likely to take initiative in applying AI to business problems.</p>
<p>Training isn't a perk – it's a competitive edge.</p>
<h3 id="heading-training-non-technical-professionals-empowering-the-95-with-ai-fluency">Training Non-Technical Professionals: Empowering the 95% with AI Fluency</h3>
<p>In the conversation around AI transformation, technical talent gets much of the attention – and rightly so. But the reality is this: <strong>95% of the workforce in most organizations is not technical</strong>. And yet, 95% of employees are now asking for training in generative AI, according to a 2024 global workplace survey by edX and The Harris Poll.</p>
<p>This signals a shift in awareness: non-technical professionals understand that generative AI isn’t just a tool for developers – it’s a work enhancer, a productivity multiplier, and a competitive necessity.</p>
<h4 id="heading-from-fear-to-fluency-why-non-tech-training-matters">From Fear to Fluency: Why Non-Tech Training Matters</h4>
<p>The fear narrative around AI – that it will take away jobs – is real and palpable in many organizations. But the more strategic view is this:</p>
<blockquote>
<p><strong>Don’t fire your workforce. Train them.</strong></p>
</blockquote>
<p>Rather than replacing administrative staff, compliance officers, relationship managers, operations teams, and analysts, leading financial organizations are upskilling their existing talent to work <em>with</em> AI, not <em>against</em> it.</p>
<p>Training non-technical team members in generative AI offers two major business advantages:</p>
<ol>
<li><p><strong>Productivity gains</strong>: Teams can automate repetitive, low-value tasks and focus more on decision-making and strategy.</p>
</li>
<li><p><strong>Talent retention</strong>: Employees feel more secure and valued when their employers invest in their future.</p>
</li>
</ol>
<h4 id="heading-use-cases-where-non-tech-teams-in-finance-can-gain-from-ai-training">Use Cases: Where Non-Tech Teams in Finance Can Gain from AI Training</h4>
<p>Non-technical employees in banking, asset management, insurance, and fintech can immediately apply generative AI tools across their workflows. Here’s how:</p>
<ol>
<li><strong>Compliance &amp; Legal Teams</strong></li>
</ol>
<ul>
<li><p>Use ChatGPT or Claude to summarize regulatory documents, contracts, and internal audit reports.</p>
</li>
<li><p>Use Phoenix to draft standard policies and regulatory templates, saving hours of manual editing.</p>
</li>
<li><p>Extract key clauses from loan agreements or KYC policies.</p>
</li>
<li><p>Draft internal memos or SAR summaries 2–3x faster.</p>
</li>
</ul>
<ol start="2">
<li><strong>Finance, Accounting, and Operations</strong></li>
</ol>
<ul>
<li><p>Automate spreadsheet generation and financial modeling using Microsoft Copilot in Excel.</p>
</li>
<li><p>Reconcile data from multiple sources and generate summary reports.</p>
</li>
<li><p>Draft and revise standard Jira tickets or issue documentation using Phoenix, bridging business and IT communication.</p>
</li>
</ul>
<ol start="3">
<li><strong>Sales, Relationship Management, and Customer Service</strong></li>
</ol>
<ul>
<li><p>Use generative chat tools to personalize client interactions.</p>
</li>
<li><p>Draft follow-up emails, presentations, and pitch summaries.</p>
</li>
<li><p>Summarize meeting transcripts and extract actionable items.</p>
</li>
</ul>
<ol start="4">
<li><strong>Marketing and Communications</strong></li>
</ol>
<ul>
<li><p>Use AI to generate segmented content for different client audiences.</p>
</li>
<li><p>Produce A/B tested campaign text, product updates, and social posts.</p>
</li>
<li><p>Translate campaigns quickly for global markets.</p>
</li>
</ul>
<ol start="5">
<li><strong>Risk &amp; Audit</strong></li>
</ol>
<ul>
<li><p>Summarize findings from large datasets or transaction logs.</p>
</li>
<li><p>Generate first-draft risk assessments and credit memos.</p>
</li>
<li><p>Highlight inconsistencies or anomalies with contextual explanation.</p>
</li>
</ul>
<h4 id="heading-the-cost-of-not-training-a-missed-opportunity">The Cost of Not Training: A Missed Opportunity</h4>
<p>Non-technical employees touch every part of your organization – operations, client relations, document handling, and decision support. If they are not AI-enabled, your business is flying with one wing.</p>
<p>Training these employees doesn't mean turning them into engineers. It means:</p>
<ul>
<li><p>Teaching them how to <strong>interact effectively with AI</strong></p>
</li>
<li><p>Helping them become <strong>critical evaluators</strong> of AI output</p>
</li>
<li><p>Guiding them to <strong>avoid over-reliance or misuse</strong> of AI tools</p>
</li>
</ul>
<p>This form of AI literacy is the new digital literacy – essential for everyone, not just technologists.</p>
<p><a target="_blank" href="https://lunartech.ai/programs/ai-for-executives"><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1752533088980/065eb980-be86-4ab2-b56f-2a21d83ab10a.jpeg" alt="A dimly lit pedestrian crossing signal glowing faintly against a dark background." class="image--center mx-auto" width="5184" height="3888" loading="lazy"></a></p>
<h2 id="heading-chapter-7-ai-for-executives-ai-education-amp-enablement-in-finance-workshops-tools-services-and-training-resources">Chapter 7: AI for Executives, AI Education &amp; Enablement in Finance – Workshops, Tools, Services, and Training Resources</h2>
<p>The most innovative financial institutions no longer see AI training as a "nice-to-have." In an increasingly algorithmic economy, where generative AI tools are reshaping everything from compliance to capital allocation, AI education is an investment in strategic resilience.</p>
<p>This section offers a clear, credible breakdown of how to get your teams – executive and operational – up to speed through trusted workshops, tools, agencies, and courses. It emphasizes the value of enabling internal transformation instead of relying solely on outside hires.</p>
<h3 id="heading-ai-certifications-for-banking-professionals">AI Certifications for Banking Professionals</h3>
<p>Several industry and educational organizations offer certification programs specifically designed for finance professionals:</p>
<ol>
<li><p><strong>Generative AI In Finance and Banking Certification</strong>: This program teaches applications of generative AI models, including generative adversarial networks (GANs) and transformers for predicting market trends, automating financial tasks, and enhancing customer experiences. You can <a target="_blank" href="https://www.coursera.org/learn/gen-ai-gov-financial-reporting">learn more about the cert here</a>.</p>
</li>
<li><p><strong>Certificate in Digital &amp; AI Evolution in Banking</strong>: This certification helps professionals understand the digital transformation in banking, including regulatory considerations and the risks and benefits of technology adoption. You can <a target="_blank" href="https://www.charteredbanker.com/qualification/certificate-in-digital-ai-evolution-in-banking.html">learn more about the cert here</a>.</p>
</li>
<li><p><strong>Machine Learning for Investment Professionals</strong>: Offered by the CFA Institute, this program focuses on machine learning applications specifically for investment management and analysis. You can learn more about the <a target="_blank" href="https://www.coursera.org/specializations/investment-management-python-machine-learning">Investment Management with Python and Machine Learning specialization here</a>, and the <a target="_blank" href="https://credentials.cfainstitute.org/beac8f10-6df8-43cc-8117-4b54ab119f9f#acc.53PylEDh">CFA Institute Machine Learning course here</a>.</p>
</li>
</ol>
<p>Columbia Business School's <a target="_blank" href="https://wallstreetprep.business.columbia.edu/ai-certification/">AI for Business &amp; Finance Certificate Program</a> is particularly noteworthy, as it "has been designed for professionals in the business and finance world who need to learn AI but don't really have a technical background". This eight-week course covers AI fundamentals, Python programming for finance, predictive analytics, and generative AI business applications.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>In an era where artificial intelligence is reshaping the financial landscape, executives and teams need to recognize that adapting to AI is not just a strategic advantage – it's a survival imperative. Just as we've successfully navigated previous technological revolutions, from the internet and cloud computing to blockchain and big data, AI presents an opportunity to democratize access to cutting-edge tools, empowering a broader range of professionals to innovate in ways that were once unimaginable.</p>
<p>This inclusivity has already sparked breakthroughs in predictive analytics, risk management, and personalized services, allowing even smaller institutions to compete on a global scale. That said, AI's integration into finance is far from novel. Leading institutions have deployed these technologies for years, embedding them into core operations like fraud detection and algorithmic trading.</p>
<p>Yet, for newcomers or those refreshing their approach, the relevance remains profound. Ongoing updates and advancements – such as enhanced natural language processing models and real-time data ingestion capabilities – continually amplify the potential for investment managers, AI specialists, and broader teams, unlocking efficiencies and insights that elevate professional capabilities to new heights.</p>
<p>To harness this potential and maintain a competitive edge, continuous upskilling is essential. Executives and teams alike should commit to updating their knowledge base through targeted education programs, workshops, and resources, ensuring they stay ahead of the curve.</p>
<p>Ultimately, AI can be a force for profound good. At LunarTech, we don't foresee it leading humanity to doom – instead, in a world facing complex challenges like economic volatility and climate risks, AI stands as a powerful ally, one that could very well guide us toward solutions and a brighter future. By embracing it thoughtfully, the financial sector can lead this transformation, fostering innovation that benefits all.</p>
<h3 id="heading-newsletters-to-follow-for-fintech">Newsletters to Follow for FinTech</h3>
<h4 id="heading-our-newsletter"><strong>Our Newsletter</strong></h4>
<p><strong>LUNARTECH Newsletter</strong> - <a target="_blank" href="https://lunartech.substack.com/">https://lunartech.substack.com/</a></p>
<h4 id="heading-us-personal-finance-amp-investment-newsletters">US Personal Finance &amp; Investment Newsletters</h4>
<ul>
<li><p><a target="_blank" href="https://www.bloomberg.com/account/newsletters/money-stuff">Money Stuff (Matt Levine, Bloomberg)</a>: Witty, in-depth takes on Wall Street and finance.</p>
</li>
<li><p><a target="_blank" href="https://tker.co/">TKer (Sam Ro)</a>: Stock market insights and long-term investment themes.</p>
</li>
<li><p><a target="_blank" href="https://www.jillonmoney.com/newsletter">Jill on Money (Jill Schlesinger)</a>: Financial news and expert advice, weekly.</p>
</li>
<li><p><a target="_blank" href="https://behaviorgap.com/newsletter">Behavior Gap (Carl Richards)</a>: Simple sketches and insights on money and decision-making.</p>
</li>
<li><p><a target="_blank" href="https://marketbriefs.com/">The Minority Mindset / Market Briefs (Jaspreet Singh)</a>: Daily, concise financial news and wealth-building tips.</p>
</li>
<li><p><a target="_blank" href="https://www.execsum.co/">Exec Sum (Litquidity)</a>: Quick, reliable summaries of major finance news.</p>
</li>
</ul>
<h4 id="heading-baltic-amp-regional-newsletters">Baltic &amp; Regional Newsletters</h4>
<ul>
<li><p><a target="_blank" href="https://www.fintechbaltic.com/">Fintech News Baltic</a>: News and trends in Baltic fintech, startups, and digital finance.</p>
</li>
<li><p><a target="_blank" href="https://www.linkedin.com/newsletters/fintech-digest-6889260213572755456/">Linas Beliūnas – FinTech Digest (LinkedIn)</a>: Personal insights on fintech, AI, and digital assets from a leading Lithuanian expert.</p>
</li>
<li><p><a target="_blank" href="https://changeventures.com/newsletter/">Change Ventures Weekly</a>: Baltic startup and VC news, funding rounds, and hiring.</p>
</li>
</ul>
<ul>
<li><a target="_blank" href="https://thecfoclub.com/subscribe/">CFO Club Newsletter</a>: Modern finance newsletter for tech sector CFOs and leaders-trends, tips, and innovation.</li>
</ul>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/7uidSyymA-Q" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<p> </p>
<h3 id="heading-lunartech-ai-for-executives"><strong>LunarTech AI for Executives</strong></h3>
<p>For leaders and frontline professionals who <em>feel the pressure to “get AI” but don’t speak code</em>, this 1- to 3-day program delivers exactly what you need: no fluff, no jargon. In clear language, we unpack how generative AI, large-language models, and regulatory frameworks such as the EU AI Act are reshaping compliance, risk, and client service.</p>
<p>Next, we roll up our sleeves. You’ll practice with ChatGPT, Phoenix, Gemini<strong>,</strong> and other curated tools to summarize 200-page reports in minutes, flag hidden risks, and automate repetitive workflows. Expect live demos, breakout labs, and case studies drawn straight from banking, asset management, and insurance.</p>
<p>By the final session you’ll have a road-ready playbook for piloting AI safely – from data-governance checklists to ROI metrics your CFO will love<em>.</em> Graduates leave with a certificate, a toolkit of prompts, and the confidence to champion AI initiatives inside their own departments.</p>
<ul>
<li><p><strong>Format:</strong> Online or on-site, 1–3 days</p>
</li>
<li><p><strong>Cost:</strong> $997 per participant</p>
</li>
</ul>
<p>Apply Here: <a target="_blank" href="https://lunartech.ai/programs/ai-for-executives">https://lunartech.ai/programs/ai-for-executives</a></p>
<p><a target="_blank" href="https://academy.lunartech.ai/"><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1752229023532/444209af-afa0-460c-bbc9-560a4d875654.png" alt="444209af-afa0-460c-bbc9-560a4d875654" class="image--center mx-auto" width="3448" height="1814" loading="lazy"></a></p>
<h3 id="heading-lunartech-academy">LunarTech Academy</h3>
<p>Our Academy is the always-on learning hub that keeps finance professionals current long after the headlines fade. Courses are modular and industry-specific, so a portfolio manager can master forecasting in Python while a relationship manager explores generative-AI productivity hacks – all under one roof.</p>
<p>Every track is written by practitioners who ship models in production, not theorists. Expect bite-size videos, step-by-step notebooks, and capstone projects pulled from real trading, risk, and compliance datasets. Learners can move at their own pace or join live cohorts for instructor feedback and peer discussion.</p>
<p>Managers love us for the built-in LMS integration, progress analytics, and team licensing that scales from five seats to five hundred. Whether you need to onboard new hires fast or reskill an entire division, the Academy delivers measurable, trackable outcomes.</p>
<ul>
<li><p><strong>Format:</strong> Self-paced or instructor-led; team licenses available</p>
</li>
<li><p><strong>Cost:</strong> $49.97 – $199.97 per month</p>
</li>
</ul>
<p>Apply Here: <a target="_blank" href="https://academy.lunartech.ai/">https://academy.lunartech.ai/</a></p>
<h3 id="heading-other-resources">Other Resources</h3>
<ul>
<li><p>Lens | LUNARTECH - <a target="_blank" href="https://lens.lunartech.ai/">https://lens.lunartech.ai/</a></p>
</li>
<li><p>YouTube | LUNARTECH - <a target="_blank" href="https://www.youtube.com/@lunartech_ai">https://www.youtube.com/@lunartech_ai</a></p>
</li>
<li><p>Linkedin | LUNARTECH - <a target="_blank" href="https://www.linkedin.com/company/lunartechai/">https://www.linkedin.com/company/lunartechai/</a></p>
</li>
<li><p>Substack | LUNARTECH - <a target="_blank" href="https://lunartech.substack.com/">https://lunartech.substack.com/</a></p>
</li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ A Beginner Developer's Guide to Scrum ]]>
                </title>
                <description>
                    <![CDATA[ Let me guess: you’re learning to code…alone. You’ve been grinding through tutorials. You've built a portfolio site, maybe deployed a few projects on GitHub. And now you're trying to land a job or join a team. Then the interviews start. Suddenly, peop... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/a-beginner-developers-guide-to-scrum/</link>
                <guid isPermaLink="false">68813c7579e092b166d373b6</guid>
                
                    <category>
                        <![CDATA[ Scrum ]]>
                    </category>
                
                    <category>
                        <![CDATA[ agile development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ project management ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Developer ]]>
                    </category>
                
                    <category>
                        <![CDATA[ interview ]]>
                    </category>
                
                    <category>
                        <![CDATA[ guide ]]>
                    </category>
                
                    <category>
                        <![CDATA[ education ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learning ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Productivity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Product Management ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Data Science ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career ]]>
                    </category>
                
                    <category>
                        <![CDATA[ workflow ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Aditya Vikram Kashyap ]]>
                </dc:creator>
                <pubDate>Wed, 23 Jul 2025 19:48:05 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1753300058064/7046dd6c-1d9e-4f06-9ca1-65b3bb7eec83.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Let me guess: you’re learning to code…alone.</p>
<p>You’ve been grinding through tutorials. You've built a portfolio site, maybe deployed a few projects on GitHub. And now you're trying to land a job or join a team.</p>
<p>Then the interviews start.</p>
<p>Suddenly, people ask:</p>
<ul>
<li><p>"Are you familiar with Agile?"</p>
</li>
<li><p>"Have you worked in a Scrum environment?"</p>
</li>
<li><p>"What’s your experience with sprints?"</p>
</li>
</ul>
<p>Cue the imposter syndrome. Because no one teaches this stuff in JavaScript 101.</p>
<p>This guide is for you.</p>
<p>I’ll help make the Scrum process – a very common way developers work together – <em>make actual sense</em>. I’ll walk you through the basics, but also tell you what developers actually <em>do</em>, how standups feel when you're new, and what’s expected of you when you’re no longer coding in a vacuum.</p>
<p>Let’s break it down.</p>
<h3 id="heading-heres-what-well-cover">Here’s what we’ll cover:</h3>
<ul>
<li><p><a class="post-section-overview" href="#heading-what-even-is-scrum">What Even Is Scrum?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-the-three-roles-in-scrum-and-who-does-what">The Three Roles in Scrum (and Who Does What)</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-the-scrum-rhythm-what-a-sprint-actually-looks-like">The Scrum Rhythm: What a Sprint Actually Looks Like</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-who-attends-the-ceremonies">Who attends the Ceremonies:</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-standups-where-you-talk-like-a-human-not-a-robot">Standups: Where You Talk Like a Human, Not a Robot</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-sprint-planning">Sprint Planning</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-whats-a-user-story-and-why-does-it-sound-like-a-childrens-book">What’s a User Story and Why Does It Sound Like a Children’s Book?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-counts-as-done-definition-of-done-and-why-its-important">What Counts as “Done”? Definition of Done and Why It’s Important</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-demos-retros-and-saying-the-hard-things">Demos, Retros, and Saying the Hard Things</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-tools-you-might-encounter">Tools You Might Encounter</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-if-youre-preparing-for-a-job-heres-what-you-can-do">If You’re Preparing for a Job, Here’s What You Can Do</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-final-thoughts">Final Thoughts</a></p>
</li>
</ul>
<h2 id="heading-what-even-is-scrum"><strong>What Even Is Scrum?</strong></h2>
<p>Scrum is not a tool. It’s not a software. It’s not some elite thing only PMs care about.</p>
<p>It’s a lightweight framework that helps software teams build things incrementally, together, in short focused cycles called sprints.</p>
<p>Scrum is used by everyone from FAANG teams to indie dev shops because it helps:</p>
<ul>
<li><p>Keep teams aligned</p>
</li>
<li><p>Deliver working software fast</p>
</li>
<li><p>Course-correct often</p>
</li>
<li><p>Spot problems early (before they go nuclear)</p>
</li>
</ul>
<p>It’s the opposite of the old-school “build for a year and pray it works” model.</p>
<h2 id="heading-the-three-roles-in-scrum-and-who-does-what"><strong>The Three Roles in Scrum (and Who Does What)</strong></h2>
<p>Scrum officially defines three roles. Here's what that means in practice:</p>
<h3 id="heading-1-product-owner-po"><strong>1. Product Owner (PO)</strong></h3>
<p>Think: Vision-holder. They decide <em>what</em> the team builds and <em>why</em>. A product owner:</p>
<ul>
<li><p>Writes user stories (think of these as feature requests written from a user’s point of view)</p>
</li>
<li><p>Prioritizes the work</p>
</li>
<li><p>Clarifies what success looks like</p>
</li>
<li><p>Says “yes” or “not yet” to features</p>
</li>
</ul>
<h3 id="heading-2-scrum-master-sm"><strong>2. Scrum Master (SM)</strong></h3>
<p>Think: Air-traffic controller meets therapist. They make sure the process works. The are master Facilitators, like between Dev and PO’s. A Scrum Master:</p>
<ul>
<li><p>Facilitates meetings</p>
</li>
<li><p>Removes blockers (“Your AWS access is stuck? I’ll escalate it.”)</p>
</li>
<li><p>Coaches the team on Scrum practices</p>
</li>
<li><p>Doesn’t manage people – manages <em>flow</em></p>
</li>
</ul>
<h3 id="heading-3-developers-you"><strong>3. Developers (YOU!)</strong></h3>
<p>Think: Builders. You write code, test it, ship it, fix it, and improve it. You also:</p>
<ul>
<li><p>Break down stories into tasks</p>
</li>
<li><p>Pick up work from the team board (like Jira or Trello)</p>
</li>
<li><p>Communicate progress</p>
</li>
<li><p>Demo what you’ve built at the end of the sprint</p>
</li>
</ul>
<p>You might also work with designers, testers, or DevOps folks – but within Scrum, you’re all “developers” building a product together.</p>
<h2 id="heading-the-scrum-rhythm-what-a-sprint-actually-looks-like"><strong>The Scrum Rhythm: What a Sprint Actually Looks Like</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1752809790048/253fd92b-1ebe-4f3e-bfbc-48719676dc82.png" alt="253fd92b-1ebe-4f3e-bfbc-48719676dc82" class="image--center mx-auto" width="900" height="530" loading="lazy"></p>
<p>Image Source: <a target="_blank" href="https://www.invensislearning.com/blog/what-are-scrum-ceremonies/">https://www.invensislearning.com/blog/what-are-scrum-ceremonies/</a></p>
<h3 id="heading-understanding-the-scrum-cycle"><strong>Understanding the Scrum Cycle</strong></h3>
<p>So, what does it <em>actually</em> look like when a team uses Scrum to build software?</p>
<p>Let’s walk through a full sprint – not just the buzzwords, but what really happens when a group of humans tries to plan, build, review, and improve together. Think of this as your backstage pass to the rhythm of modern teamwork.</p>
<h3 id="heading-step-1-build-and-refine-the-product-backlog">📦 Step 1: Build and Refine the Product Backlog</h3>
<p>Before any coding starts, the team needs to agree on <em>what</em> they might build – not just this week, but in the near future too.</p>
<p>That’s where the <strong>Product Backlog</strong> comes in. This is a big, running list of everything the product might need – features, bug fixes, improvements, ideas, and maybe a few wild dreams. It’s like the wishlist for the product, but more organized (ideally).</p>
<p>The Product Owner is responsible for maintaining and prioritizing this list. They decide what’s most important to work on based on customer needs, business goals, and feedback.</p>
<p>But the PO doesn’t do this in isolation. Enter the <strong>Backlog Refinement meeting</strong>.</p>
<p>In these sessions, the Scrum Team – that’s the PO, the Scrum Master (SM), and the Developers – come together to:</p>
<ul>
<li><p><strong>Review</strong> the most important upcoming items</p>
</li>
<li><p><strong>Clarify</strong> any vague or confusing parts of each task</p>
</li>
<li><p><strong>Break big items</strong> down into smaller, buildable pieces called <strong>user stories</strong></p>
</li>
<li><p><strong>Estimate effort</strong> (how much time or complexity is involved for each story)</p>
</li>
</ul>
<p>This meeting makes sure the team isn’t caught off guard in the sprint – that they understand the work ahead and can actually start sprinting when the time comes.</p>
<h3 id="heading-step-2-sprint-planning-what-are-we-building-this-time">🧭 Step 2: Sprint Planning – What Are We Building This Time?</h3>
<p>Now that we’ve got a solid backlog, it’s time to pick what to build <em>right now</em>.</p>
<p>At the start of each sprint (which typically lasts 1 to 4 weeks), the team holds a <strong>Sprint Planning meeting</strong>. This meeting sets the stage for the entire sprint – it’s like the huddle before the big game.</p>
<p>In Sprint Planning, the team:</p>
<ul>
<li><p>Reviews the top items from the backlog</p>
</li>
<li><p>Discusses what can realistically be completed based on their availability and capacity</p>
</li>
<li><p>Chooses a handful of these stories to commit to</p>
</li>
<li><p><strong>Defines a Sprint Goal</strong> – a simple statement that captures the purpose of this sprint</p>
</li>
</ul>
<p>For example, the Sprint Goal might be:<br>🎯 <em>“Allow users to reset their passwords.”</em></p>
<p>Every user story chosen should contribute to that goal. The collection of these stories becomes the <strong>Sprint Backlog</strong> – basically, the to-do list for the sprint.</p>
<p>So when we say:</p>
<p>“The team selects an ordered list of user stories to comprise the Sprint Backlog for the next sprint, which will be achievable to satisfy the Sprint Goal...”</p>
<p>We’re really just saying:<br>👉 <em>“Pick a realistic number of important tasks that, if completed, will help us hit our target for the sprint.”</em></p>
<p>Not too vague. Not too ambitious. Just achievable and focused.</p>
<h3 id="heading-step-3-daily-standups-stay-in-sync">☀️ Step 3: Daily Standups – Stay in Sync</h3>
<p>Now the sprint is underway! But how does everyone stay aligned and avoid working in silos?</p>
<p>That’s where the <strong>Daily Standup</strong> comes in. Every day – usually in the morning – the team has a quick check-in (about 15 minutes) where each person answers three questions:</p>
<ol>
<li><p><strong>What did I do yesterday?</strong></p>
</li>
<li><p><strong>What am I working on today?</strong></p>
</li>
<li><p><strong>Is anything blocking me?</strong> (that is, am I stuck?)</p>
</li>
</ol>
<p>Example:</p>
<p>“Yesterday I set up the login API integration. Today I’ll work on the UI validation. I’m blocked on getting access to the staging database — may need help.”</p>
<p>These standups keep the team in sync and surface blockers early so they can be addressed quickly. They’re not about micromanaging or showing off. They’re about visibility and support.</p>
<h3 id="heading-whats-a-sprint-burndown-chart">📉 What’s a Sprint Burndown Chart?</h3>
<p>You might hear your team mention a “burndown chart.” No, this isn’t about things going down in flames (hopefully).</p>
<p>A <strong>Sprint Burndown Chart</strong> is a graph that shows how much work is left in the sprint – day by day.</p>
<ul>
<li><p>The <strong>y-axis</strong> is the amount of work remaining (often measured in story points or tasks)</p>
</li>
<li><p>The <strong>x-axis</strong> is the number of days left in the sprint</p>
</li>
</ul>
<p>The line should ideally trend downward as work gets completed – hence “burning down.” If it flattens out or slopes up, that’s a red flag that the team might be stuck, behind schedule, or not updating the board.</p>
<p>Think of it as a visual heartbeat of the sprint. You can learn more via a practical example <a target="_blank" href="https://youtu.be/2K84aZn9AY8?si=tS8oMGxVD0CYtnlw">in this video</a>.</p>
<h3 id="heading-step-4-sprint-review-show-what-youve-built">🖥️ Step 4: Sprint Review – Show What You’ve Built</h3>
<p>At the end of the sprint, the team holds a <strong>Sprint Review</strong> (also called a “demo”). This is where you show what was actually built during the sprint.</p>
<ul>
<li><p>The <strong>Developers</strong> demo working features – live, not just screenshots</p>
</li>
<li><p>The <strong>Product Owner</strong> reviews whether the Sprint Goal was achieved</p>
</li>
<li><p>Stakeholders may ask questions, give feedback, or suggest tweaks</p>
</li>
</ul>
<p>This meeting isn’t just for show – it’s a feedback loop. It helps the team validate that what they built is useful, usable, and meets expectations. If changes are needed, those get added to the backlog for future sprints.</p>
<h3 id="heading-step-5-sprint-retrospective-look-back-to-move-forward">🔍 Step 5: Sprint Retrospective – Look Back to Move Forward</h3>
<p>Once the review is done, the team shifts focus from <em>what</em> they built to <em>how</em> they worked together.</p>
<p>Enter the <strong>Sprint Retrospective</strong> – a meeting to reflect on the process, not the product.</p>
<p>The team discusses:</p>
<ul>
<li><p>✅ What went well</p>
</li>
<li><p>❌ What didn’t go so well</p>
</li>
<li><p>🔁 What could be improved next time</p>
</li>
</ul>
<p>This isn’t about pointing fingers. It’s about learning, adapting, and continuously improving how the team collaborates.</p>
<p>The <strong>Scrum Master</strong> often facilitates this meeting and helps turn feedback into action items for the next sprint. For example:</p>
<p>“We underestimated testing time. Next sprint, let’s budget for QA earlier.”</p>
<p>The best teams take retros seriously. Why? Because even if your code is perfect, your <em>process</em> needs tuning too – and small process changes often lead to big gains.</p>
<h3 id="heading-scrum-is-a-loop">♻️ Scrum Is a Loop</h3>
<p>Here’s the rhythm:</p>
<ol>
<li><p>Plan the sprint</p>
</li>
<li><p>Check in daily</p>
</li>
<li><p>Build and demo the product</p>
</li>
<li><p>Reflect and improve</p>
</li>
</ol>
<p>Then do it all over again – with slightly better coordination and slightly more trust each time.</p>
<p>It’s not about being fast. It’s about being intentional, consistent, and collaborative.</p>
<h3 id="heading-example-sprint">Example Sprint</h3>
<p>Let’s say, for example, that your team does 4-week sprints. (Keep in mind that Sprints can differ by team, nature of product, release cycles, and so on.)</p>
<p>Here’s the rough beat:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Week</strong></td><td><strong>What Happens (Sprint Ceremonies)</strong></td><td><strong>Your Role</strong></td></tr>
</thead>
<tbody>
<tr>
<td>1</td><td><strong>Sprint Planning</strong></td><td>Help estimate effort, pick what to build</td></tr>
<tr>
<td>1-4</td><td><strong>Daily Stand ups</strong> (15 mins)</td><td>Share what you’re doing &amp; any blockers</td></tr>
<tr>
<td>1-3</td><td><strong>Development Time</strong></td><td>Code, test, commit, fix, push, repeat</td></tr>
<tr>
<td>3.5-4</td><td><strong>Sprint Review</strong></td><td>Demo what you built</td></tr>
<tr>
<td>4</td><td><strong>Sprint Retrospective</strong></td><td>Reflect on how the sprint went as a team</td></tr>
</tbody>
</table>
</div><p>Scrum works in <strong>loops</strong>. Every 2-4 weeks (depending on your cadence and sprint cycle), your team should have working, demo-able software to show for it – even if it’s small.</p>
<p>And no, it’s not about “speed.” It’s about consistency, communication, and collaboration.</p>
<h2 id="heading-who-attends-the-ceremonies"><strong>Who attends the Ceremonies:</strong></h2>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Ceremony</strong></td><td><strong>Who Attends</strong></td><td><strong>Why They’re There</strong></td></tr>
</thead>
<tbody>
<tr>
<td><strong>Sprint Planning</strong></td><td>Product Owner (PO), Scrum Master (SM), Development Team</td><td>To define what will be delivered and how the work will be accomplished</td></tr>
<tr>
<td><strong>Daily Standup</strong></td><td>Development Team, Scrum Master (optional), PO (optional)</td><td>To sync on progress, share blockers, and coordinate efforts</td></tr>
<tr>
<td><strong>Sprint Review</strong></td><td>Development Team, Scrum Master, Product Owner, Stakeholders</td><td>To demo the work, get feedback, and assess if goals were met</td></tr>
<tr>
<td><strong>Sprint Retrospective</strong></td><td>Development Team, Scrum Master, Product Owner (optional)</td><td>To reflect on the process, identify what worked/what didn’t, and improve the next sprint</td></tr>
<tr>
<td><strong>Backlog Refinement</strong></td><td>Product Owner, Development Team, Scrum Master (optional)</td><td>To clarify upcoming stories, estimate work, and prepare for future sprint planning</td></tr>
</tbody>
</table>
</div><p>Now lets dive deeper and understand practically how each of these ceremonies work:</p>
<h2 id="heading-standups-where-you-talk-like-a-human-not-a-robot"><strong>Standups: Where You Talk Like a Human, Not a Robot</strong></h2>
<p>So how does the team actually stay connected day to day? That’s where standups come in.</p>
<p>Every morning, your team meets briefly – usually on Zoom or in a circle – and you answer 3 questions:</p>
<ol>
<li><p>What did I work on yesterday?</p>
</li>
<li><p>What will I work on today?</p>
</li>
<li><p>What’s blocking me? Any impediments?</p>
</li>
</ol>
<p>Example:</p>
<p>"Yesterday I cleaned up the signup validation logic. Today I’m working on the email verification flow. I’m stuck on SendGrid config – might need help setting up credentials."</p>
<p>It’s not about impressing anyone. It’s about keeping everyone in sync. Some days you’ll say, “I spent the whole day debugging a CSS bug that turned out to be a semicolon.” That’s okay.</p>
<p>How does it work?</p>
<p>The Scrum Master gathers everyone in a huddle room, the PO and Dev Team included, and opens the the Standup. They are the facilitator of the ceremony. Everyone gets a chance to answer the 3 questions above (usually about 2-5 minutes each). It’s not a full report – it’s quick. When one person is done, they pass it on to someone else.</p>
<p>This ensures there is team cohesion and transparency.</p>
<p><a target="_blank" href="https://youtu.be/q_R9wQY4G5I?si=W1AcvcLXB-mnUM1f">Here is a video example of a standup</a>.</p>
<h2 id="heading-sprint-planning"><strong>Sprint Planning</strong></h2>
<p>The goal of the planning meeting is to answer the questions “What are we going to work on, and how are we going to do it?” It is critical for the team to have a shared goal and a shared commitment to this goal before beginning this ceremony.</p>
<p>Participants should:</p>
<ul>
<li><p>Measure growth</p>
</li>
<li><p>Sync with the Scrum Master</p>
</li>
<li><p>Sync with the Product Owner</p>
</li>
</ul>
<p>Sprint planning happens just before the sprint starts, and usually lasts for an hour or two. In this meeting, the team goes over a collection of <strong>user stories</strong> and discuss, plan, measure, and prioritize. This is where they decide what is going to be in scope for their upcoming sprint cycle.</p>
<p>The Product Owner will have a prioritized view of things in the backlog. They work with the team on each object or customer experience. Together, as a group they go through and make calculations, deciding to what they can commit.</p>
<h2 id="heading-whats-a-user-story-and-why-does-it-sound-like-a-childrens-book"><strong>What’s a User Story and Why Does It Sound Like a Children’s Book?</strong></h2>
<p>So you might be wondering: how do you know what to work on? What to build? So much work, so little time? Thats where <strong>user stories</strong> come in.</p>
<p>In Scrum, teams don’t just write vague tasks like “code the login.” Instead, they write user stories – short, human-centered feature descriptions that describe what the user needs, why they need it, and what success looks like.</p>
<p>Here’s an example:</p>
<p><em>As a user, I want to be able to reset my password, so I can access my account if I forget it.</em></p>
<p>User stories are the scaffolding of teamwork. They’re written with empathy, not just efficiency. And each one comes with <strong>acceptance criteria</strong> – a checklist that clarifies what “done” actually means:</p>
<ul>
<li><p>A “Forgot Password” link is visible</p>
</li>
<li><p>Clicking it shows a form</p>
</li>
<li><p>An email gets sent with a reset link</p>
</li>
</ul>
<p>Once a story is agreed upon, developers break it down into tasks, like “build form,” “hook into backend,” or “handle email validation.” It’s collaborative, not prescriptive. And user stories have priority so you know what’s the most important and what’s the least.</p>
<p>A helpful rule of thumb many teams use is the <a target="_blank" href="https://medium.com/@nic/writing-user-stories-with-gherkin-dda63461b1d2"><strong>Gherkin</strong>-style "Given–When–Then"</a> format:</p>
<ul>
<li><p><strong>Given</strong> some initial context</p>
</li>
<li><p><strong>When</strong> an event occurs</p>
</li>
<li><p><strong>Then</strong> a specific outcome should happen</p>
</li>
</ul>
<p>This ensures that everyone – devs, testers, and product owners – shares the same understanding of behavior and expectations.</p>
<p><a target="_blank" href="https://www.youtube.com/watch?v=7hoGqhb6qAs">Here is a great video example</a> thats outlines how to draft effective and powerful user stories.</p>
<h2 id="heading-what-counts-as-done-definition-of-done-and-why-its-important"><strong>What Counts as “Done”? Definition of Done and Why It’s Important</strong></h2>
<p>Now you might be wondering – how do I know when a task is done and can be closed out?</p>
<p>The <strong>Definition of Done</strong> is a type of documentation in the form of a <strong>team agreement</strong>. The Definition of Done identifies the conditions that need to be achieved in order for the product to be considered done (as in <strong>potentially shippable</strong>).</p>
<p>This is how we know that we "did the thing right". Meaning, we built the correct level of quality into the product. The Definition of Done is not the same as the acceptance criteria, which are written by the product owner to help us know we did the "right thing".</p>
<p>Every team has a Definition of Done – it’s not just “I pushed code.” It could mean:</p>
<ul>
<li><p>Code is written</p>
</li>
<li><p>Reviewed by a peer</p>
</li>
<li><p>Merged into main</p>
</li>
<li><p>Tested on staging</p>
</li>
<li><p>Possibly deployed</p>
</li>
</ul>
<p>This clarity keeps teams honest and accountable. No “it works on my machine” energy here. The DoD sets a quality bar. It prevents ambiguity, rework, and “it works on my machine” moments. When every card on the board passes the same finish line, teams move faster – and trust each other more.</p>
<p>Everyone should know what done is in a team. Either its Done as per DoD standards or its not.</p>
<p><a target="_blank" href="https://youtu.be/pYOJyQoBT3U?si=nVygkQQx79NaAOo4">Here is a beautiful video</a> highlighting the impotence of DoD.</p>
<h2 id="heading-demos-retros-and-saying-the-hard-things"><strong>Demos, Retros, and Saying the Hard Things</strong></h2>
<p>Once you’ve built the product, then comes demos (showcasing your work) and retros (analysis as a team on what when well and what areas to improve on).</p>
<p>In the retro, everyone’s encouraged to speak up:</p>
<ul>
<li><p>What went well?</p>
</li>
<li><p>What didn’t?</p>
</li>
<li><p>What should we try next time?</p>
</li>
</ul>
<p>Example:</p>
<p>“We missed a lot of stories because we didn’t account for testing time. Maybe we buffer next sprint with fewer tasks.”</p>
<p>The goal is not to blame – it’s to <em>improve</em>. Over time, this feedback loop becomes gold. The Scrum Master usually facilitates, collects feedback (via tools like Parabol, Miro, or sticky notes), and helps turn insights into actionable experiments for the next sprint.</p>
<p>Over time, retros become the heartbeat of team evolution.</p>
<p><a target="_blank" href="https://youtu.be/5eu1HotNmWs?si=1DZaSmztB6rHyawj">Here is a video</a> highlighting the importance of a Retro and Sprint Review.</p>
<h3 id="heading-why-retrospection-matters-more-than-you-think">🧠 Why Retrospection Matters More Than You Think</h3>
<p>The Sprint Retrospective is more than just another meeting. It’s a mirror for your team – a safe, structured space to pause, reflect, and improve together.</p>
<p>You discuss:</p>
<p>✅ what went well</p>
<p>❌ what did not go well</p>
<p>🔁 what could we do better next time</p>
<p>Great teams don't just deliver great software, they continually deliver better ways of working.</p>
<p>This is why many experienced Scrum practitioners consider the retro to be the most important event in Scrum. Code is deployed once, but process improvements grow exponentially, sprint after sprint.</p>
<h2 id="heading-tools-you-might-encounter"><strong>Tools You Might Encounter</strong></h2>
<p>Scrum doesn’t require software, but real-world teams use a variety of tools:</p>
<ul>
<li><p><strong>Jira</strong> – Tracks sprints, issues, velocity</p>
</li>
<li><p><strong>Trello</strong> – Simple board, good for small teams</p>
</li>
<li><p><strong>Slack</strong> – Where standups often happen if async</p>
</li>
<li><p><strong>Notion / Confluence</strong> – Docs, retros, notes</p>
</li>
<li><p><strong>GitHub Projects</strong> – Lightweight planning for devs</p>
</li>
</ul>
<p>Don’t worry if you’re not fluent in these yet. They’re tools – you’ll learn them on the job.</p>
<h2 id="heading-if-youre-preparing-for-a-job-heres-what-you-can-do"><strong>If You’re Preparing for a Job, Here’s What You Can Do</strong></h2>
<ul>
<li><p>✍️ Practice writing user stories from your side projects</p>
</li>
<li><p>🧪 Run a mini-sprint: Plan your weekend project, set goals, and “review” it at the end</p>
</li>
<li><p>🤝 Contribute to an open-source project that uses Scrum or Agile workflows</p>
</li>
<li><p>🧾 Write about what you learned – maybe as a tutorial (<em>hint hint</em>)</p>
</li>
</ul>
<h2 id="heading-final-thoughts"><strong>Final Thoughts</strong></h2>
<p>So to recap, Scrum is a simple yet powerful way for teams to work together, stay organized, and deliver results quickly. It runs in short cycles called <strong>sprints</strong>, where the team plans what to do, checks in daily, shows their progress at the end, and reflects on how to improve.</p>
<p>The four key ceremonies – <strong>Sprint Planning</strong>, <strong>Daily Scrum</strong>, <strong>Sprint Review</strong>, and <strong>Sprint Retrospective</strong> – help keep everyone aligned and focused. With clear roles and regular feedback, Scrum makes it easier to handle changes, solve problems early, and continuously get better as a team.</p>
<p>But scrum isn’t a magic spell. It’s just a way for humans to build complex things – together – without falling apart.</p>
<p>You don’t need to be a Scrum Master. You don’t need a certification. But if you understand how sprints work, what’s expected of you, and how to show up to meetings with clarity and candor, you’re 10 steps ahead of most.</p>
<p>Scrum helps teams talk, plan, build, and learn. And now? You can too.</p>
<p>If you liked this, please do share. You never know who it might help out.</p>
<p>Until then…keep learning, unlearning, and relearning!!!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How AI Agents Remember Things: The Role of Vector Stores in LLM Memory ]]>
                </title>
                <description>
                    <![CDATA[ When you talk to an AI assistant, it can feel like it remembers what you said before. But large language models (LLMs) don’t actually have memory on their own. They don’t remember conversations unless that information is given to them again. So, how ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-ai-agents-remember-things-vector-stores-in-llm-memory/</link>
                <guid isPermaLink="false">687903d3ccb68881821f3a68</guid>
                
                    <category>
                        <![CDATA[ AI ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Machine Learning ]]>
                    </category>
                
                    <category>
                        <![CDATA[ llm ]]>
                    </category>
                
                    <category>
                        <![CDATA[ memory-management ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Manish Shivanandhan ]]>
                </dc:creator>
                <pubDate>Thu, 17 Jul 2025 14:08:19 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1747753163050/26574896-6da9-4a30-af4f-1d0b7f38f43b.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>When you talk to an AI assistant, it can feel like it remembers what you said before.</p>
<p>But large language models (LLMs) don’t actually have memory on their own. They don’t remember conversations unless that information is given to them again.</p>
<p>So, how do they seem to recall things?</p>
<p>The answer lies in something called a vector store – and that’s what you’ll learn about in this article.</p>
<h2 id="heading-table-of-contents"><strong>Table of Contents</strong></h2>
<ul>
<li><p><a class="post-section-overview" href="#heading-what-is-a-vector-store">What Is a Vector Store?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-how-embeddings-work">How Embeddings Work</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-why-vector-stores-are-crucial-for-memory">Why Vector Stores Are Crucial for Memory</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-popular-vector-stores">Popular Vector Stores</a></p>
<ul>
<li><p><a class="post-section-overview" href="#heading-faiss-facebook-ai-similarity-searchhttpsaimetacomtoolsfaiss">FAISS (Facebook AI Similarity Search)</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-pineconehttpswwwpineconeio">Pinecone</a></p>
</li>
</ul>
</li>
<li><p><a class="post-section-overview" href="#heading-making-ai-seem-smart-with-retrieval-augmented-generation">Making AI Seem Smart with Retrieval-Augmented Generation</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-the-limits-of-vector-based-memory">The Limits of Vector-Based Memory</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-conclusion">Conclusion</a></p>
</li>
</ul>
<h2 id="heading-what-is-a-vector-store"><strong>What Is a Vector Store?</strong></h2>
<p>A vector store is a special type of database. Instead of storing text or numbers like a regular database, it stores vectors.</p>
<p>A vector is a list of numbers that represents the meaning of a piece of text. You get these vectors using a process called embedding.</p>
<p>The model takes a sentence and turns it into a high-dimensional point in space. In that space, similar meanings are close together.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1746419405154/214a0566-8dc6-4402-a0f1-e30f8d81003c.png" alt="214a0566-8dc6-4402-a0f1-e30f8d81003c" class="image--center mx-auto" width="1200" height="1121" loading="lazy"></p>
<p>For example, if I embed “I love sushi,” it might be close to “Sushi is my favourite food” in vector space. These embeddings help an AI agent find related thoughts even if the exact words differ.</p>
<h2 id="heading-how-embeddings-work"><strong>How Embeddings Work</strong></h2>
<p>Let’s say a user tells an assistant:</p>
<pre><code class="lang-plaintext">“I live in Austin, Texas.”
</code></pre>
<p>The model turns this sentence into a vector:</p>
<pre><code class="lang-plaintext">[0.23, -0.41, 0.77, ..., 0.08]
</code></pre>
<p>This vector doesn’t mean much to us, but to the AI, it’s a way to capture the sentence’s meaning. That vector gets stored in a vector database, along with some extra info – maybe a timestamp or a note that it came from this user.</p>
<p>Later, if the user says:</p>
<pre><code class="lang-plaintext">“Book a flight to my hometown.”
</code></pre>
<p>The model turns this new sentence into a new vector. It then searches the vector database to find the most similar stored vectors.</p>
<p>The closest match might be “I live in Austin, Texas.” Now the AI knows what you probably meant by “my hometown.”</p>
<p>This ability to look up related past inputs based on meaning – not just matching keywords – is what gives LLMs a form of memory.</p>
<h2 id="heading-why-vector-stores-are-crucial-for-memory"><strong>Why Vector Stores Are Crucial for Memory</strong></h2>
<p>LLMs process language using a context window. That’s the amount of text they can “see” at once.</p>
<p>For GPT-4-turbo, the window can handle up to 128,000 tokens, which sounds huge – but even that gets filled fast. You can’t keep the whole conversation there forever.</p>
<p>Instead, you use a vector store as long-term memory. You embed and save useful info.</p>
<p>Then, when needed, you query the vector store, retrieve the top relevant pieces, and feed them back into the LLM. This way, the model remembers just enough to act smart – without holding everything in its short-term memory.</p>
<h2 id="heading-popular-vector-stores"><strong>Popular Vector Stores</strong></h2>
<p>There are several popular vector databases in use. Each one has its strengths.</p>
<h3 id="heading-faiss-facebook-ai-similarity-searchhttpsaimetacomtoolsfaiss"><a target="_blank" href="https://ai.meta.com/tools/faiss">FAISS (Facebook AI Similarity Search)</a></h3>
<p>FAISS is an open-source library developed by Meta. It’s fast and works well for local or on-premise applications.</p>
<p>FAISS is great if you want full control and don’t need cloud hosting. It supports millions of vectors and provides tools for indexing and searching with high performance.</p>
<p>Here’s how you can use FAISS:</p>
<pre><code class="lang-plaintext">from sentence_transformers import SentenceTransformer
import faiss
import numpy as np
</code></pre>
<pre><code class="lang-plaintext"># Load a pre-trained sentence transformer model that converts sentences to numerical vectors (embeddings)
model = SentenceTransformer('all-MiniLM-L6-v2')

# Define the input sentence we want to store in memory
sentence = "User lives in Austin, Texas"

# Convert the sentence into a dense vector (embedding)
embedding = model.encode(sentence)

# Get the dimensionality of the embedding vector (needed to create the FAISS index)
dimension = embedding.shape[0]

# Create a FAISS index for L2 (Euclidean) similarity search using the embedding dimension
index = faiss.IndexFlatL2(dimension)

# Add the sentence embedding to the FAISS index (this is our "memory")
index.add(np.array([embedding]))

# Encode a new query sentence that we want to match against the stored memory
query = model.encode("Where is the user from?")

# Search the FAISS index for the top-1 most similar vector to the query
D, I = index.search(np.array([query]), k=1)

# Print the index of the most relevant memory (in this case, only one item in the index)
print("Most relevant memory index:", I[0][0])
</code></pre>
<p>This code uses a pre-trained model to turn a sentence like “User lives in Austin, Texas” into an embedding.</p>
<p>It stores this embedding in a FAISS index. When you ask a question like “Where is the user from?”, the code converts that question into another embedding and searches the index to find the stored sentence that’s most similar in meaning.</p>
<p>Finally, it prints the position (index) of the most relevant sentence in the memory.</p>
<p>FAISS is efficient, but it’s not hosted. That means you need to manage your own infrastructure.</p>
<h3 id="heading-pineconehttpswwwpineconeio"><a target="_blank" href="https://www.pinecone.io">Pinecone</a></h3>
<p>Pinecone is a cloud-native vector database. It’s managed for you, which makes it great for production systems.</p>
<p>You don’t need to worry about scaling or maintaining servers. Pinecone handles billions of vectors and offers filtering, metadata support, and fast queries. It integrates well with tools like LangChain and OpenAI.</p>
<p>Here’s how a basic Pinecone setup works:</p>
<pre><code class="lang-plaintext">import pinecone
from sentence_transformers import SentenceTransformer
</code></pre>
<pre><code class="lang-plaintext"># Initialize Pinecone with your API key and environment
pinecone.init(api_key="your-api-key", environment="us-west1-gcp")

# Connect to or create a Pinecone index named "memory-store"
index = pinecone.Index("memory-store")

# Load a pre-trained sentence transformer model to convert text into embeddings
model = SentenceTransformer('all-MiniLM-L6-v2')

# Convert a fact/sentence into a numerical embedding (vector)
embedding = model.encode("User prefers vegetarian food")

# Store (upsert) the embedding into Pinecone with a unique ID
index.upsert([("user-pref-001", embedding.tolist())])

# Encode the query sentence into an embedding
query = model.encode("What kind of food does the user like?")

# Search Pinecone to find the most relevant stored embedding for the query
results = index.query(queries=[query.tolist()], top_k=1)

# Print the ID of the top matching memory
print("Top match ID:", results['matches'][0]['id'])
</code></pre>
<p>Pinecone is ideal if you want scalability and ease of use without managing hardware.</p>
<p>Other popular vector stores include:</p>
<ul>
<li><p><a target="_blank" href="https://weaviate.io"><strong>Weaviate</strong></a> – Combines vector search with knowledge graphs. Offers strong semantic search with hybrid keyword support.</p>
</li>
<li><p><a target="_blank" href="https://www.trychroma.com"><strong>Chroma</strong></a> – Simple to use and good for prototyping. Often used in personal apps or demos.</p>
</li>
<li><p><a target="_blank" href="https://qdrant.tech"><strong>Qdrant</strong></a> – Open-source and built for high-performance vector search with filtering.</p>
</li>
</ul>
<p>Each of these has its place depending on whether you need speed, scale, simplicity, or special features.</p>
<h2 id="heading-making-ai-seem-smart-with-retrieval-augmented-generation"><strong>Making AI Seem Smart with Retrieval-Augmented Generation</strong></h2>
<p>This whole system – embedding user inputs, storing them in a vector database, and retrieving them later – is called <a target="_blank" href="https://www.freecodecamp.org/news/retrieval-augmented-generation-rag-handbook/">retrieval-augmented generation (RAG)</a>.</p>
<p>The AI still doesn’t have a brain, but it can act like it does. You choose what to remember, when to recall it, and how to feed it back into the conversation.</p>
<p>If the AI helps a user track project updates, you can store each project detail as a vector. When the user later asks, “What’s the status of the design phase?” you search your memory database, pull the most relevant notes, and let the LLM stitch them into a helpful answer.</p>
<h2 id="heading-the-limits-of-vector-based-memory"><strong>The Limits of Vector-Based Memory</strong></h2>
<p>While vector stores give AI agents a powerful way to simulate memory, this approach comes with some important limitations.</p>
<p>Vector search is based on similarity, not true understanding. That means the most similar stored embedding may not always be the most relevant or helpful in context. For instance, two sentences might be mathematically close in vector space but carry very different meanings. As a result, the AI can sometimes surface confusing or off-topic results, especially when nuance or emotional tone is involved.</p>
<p>Another challenge is that embeddings are static snapshots. Once stored, they don’t evolve or adapt unless explicitly updated. If a user changes their mind or provides new information, the system won’t "learn" unless the original vector is removed or replaced. Unlike human memory, which adapts and refines itself over time, vector-based memory is frozen unless developers actively manage it.</p>
<p>There are a few ways you can mitigate these challenges.</p>
<p>One is to include more context in the retrieval process, such as filtering results by metadata like timestamps, topics, or user intent. This helps narrow down results to what’s truly relevant at the moment.</p>
<p>Another approach is to reprocess or re-embed older memories periodically, ensuring that the information reflects the most current understanding of the user’s needs or preferences.</p>
<p>Beyond technical limitations, vector stores also raise privacy and ethical concerns. Key questions are: Who decides what gets saved? How long should that memory persist? And does the user have control over what is remembered or forgotten?</p>
<p>Ideally, these decisions should not be made solely by the developer or system. A more thoughtful approach is to make memory explicit. Let users choose what gets remembered. For example, by marking certain inputs as “important”, it adds a layer of consent and transparency. Similarly, memory retention should be time-bound where appropriate, with expiration policies based on how long the information remains useful.</p>
<p>Equally important is the ability for users to view, manage, or delete their stored data. Whether through a simple interface or a programmatic API, memory management tools are essential for trust. As the use of vector stores expands, so does the expectation that AI systems will respect user agency and privacy.</p>
<p>The broader AI community is still shaping best practices around these issues. But one thing is clear: simulated memory should be designed not just for accuracy and performance, but for accountability. By combining strong defaults with user control, developers can ensure vector-based memory systems are both smart and responsible.</p>
<h2 id="heading-conclusion"><strong>Conclusion</strong></h2>
<p>Vector stores give AI agents a way to fake memory – and they do it well. By embedding text into vectors and using tools like FAISS or Pinecone, we give models the power to recall what matters. It’s not real memory. But it makes AI systems feel more personal, more helpful, and more human.</p>
<p>As these tools grow more advanced, so does the illusion. But behind every smart AI is a simple system of vectors and similarity. If you can master that, you can build assistants that remember, learn, and improve with time.</p>
<p>Hope you enjoyed this article. <a target="_blank" href="https://www.linkedin.com/in/manishmshiva/"><strong>Connect with me on Linkedin</strong>.</a></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What is Technical Debt and How Do You Manage it? ]]>
                </title>
                <description>
                    <![CDATA[ You’ve probably heard someone say, “We’ll fix it later.” Maybe you’ve said it yourself. In the rush to launch a feature, meet a deadline, or impress a client, you take a shortcut. The code works – for now. The design passes – for now. But over time, ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-is-technical-debt-and-how-do-you-manage-it/</link>
                <guid isPermaLink="false">681e31e668aa6f9f0c37bb12</guid>
                
                    <category>
                        <![CDATA[ engineering ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Productivity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Product Management ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Manish Shivanandhan ]]>
                </dc:creator>
                <pubDate>Fri, 09 May 2025 16:48:38 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1746809303458/b4635ddc-d909-427a-9cc1-9b9f56ae1d41.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>You’ve probably heard someone say, “We’ll fix it later.”</p>
<p>Maybe you’ve said it yourself.</p>
<p>In the rush to launch a feature, meet a deadline, or impress a client, you take a shortcut. The code works – for now. The design passes – for now.</p>
<p>But over time, these choices pile up. They slow you down. They make every change harder. That’s technical debt.</p>
<p>Technical debt is a quiet, creeping cost. It doesn’t show up in metrics like churn or conversion rate. But it eats away at your product’s quality, your team’s velocity, and your ability to innovate.</p>
<p>You don’t notice it right away. Then, suddenly, everything feels slower. Nothing is simple anymore.</p>
<p>One bug fix breaks two new things. Engineers groan when they touch certain parts of the code. That’s when you realize you’re in debt.</p>
<p>Let’s talk about what technical debt really is, how it forms, and how you can deal with it before it kills your product.</p>
<h2 id="heading-what-is-technical-debt"><strong>What Is Technical Debt?</strong></h2>
<p>Think of technical debt like financial debt. When you borrow money, you get something now – at the cost of interest later.</p>
<p>In software, it’s the same. You make a quick decision to save time now, knowing it might cost you more effort down the line.</p>
<p>There’s nothing inherently wrong with that. Sometimes, taking on debt is smart. You might need to ship fast to test an idea or respond to the market.</p>
<p>But if you keep borrowing and never repay, the interest builds. And technical debt doesn’t just grow – it compounds. The longer you leave it, the worse it gets.</p>
<p>You don’t just end up paying more later. You slow down your whole team.</p>
<p>Every new feature takes longer. Bugs multiply. Morale drops. And eventually, your product feels fragile. That’s when the real damage begins.</p>
<h3 id="heading-types-of-technical-debt"><strong>Types of Technical Debt</strong></h3>
<p>Not all debt is the same. Some is like a short-term loan – you know you’re taking it and why. Other debt is like a bad mortgage – no one even knows it’s there until things break.</p>
<p>Here are the most common types:</p>
<ul>
<li><p><strong>Intentional debt</strong> — You cut corners to hit a deadline but log it and plan to fix it. This can be healthy if managed well.</p>
</li>
<li><p><strong>Unintentional debt</strong> — You didn’t realise the shortcut was harmful. Often happens with new tech or unclear requirements.</p>
</li>
<li><p><strong>Environmental debt</strong> — Your tools, libraries, or frameworks get outdated. Even if your code is clean, it sits on crumbling infrastructure.</p>
</li>
<li><p><strong>Process debt</strong> — The way you build software becomes inefficient. Poor handoffs, unclear documentation, or weak testing pipelines all contribute.</p>
</li>
</ul>
<p>Recognising which type you’re dealing with helps you prioritise. Not all debt needs immediate repayment. But all of it needs attention.</p>
<h2 id="heading-how-technical-debt-happens"><strong>How Technical Debt Happens</strong></h2>
<p>As you can probably imagine, technical debt shows up in many ways.</p>
<p>Sometimes it’s deliberate. You make a tradeoff. You know it’s a shortcut, and you plan to clean it up later. That’s manageable – if you actually clean it up.</p>
<p>But most technical debt isn’t planned. It sneaks in through decisions that feel small in the moment. A rushed feature. A new hire not trained on the codebase. A spec that changes mid-sprint. Over time, these small cracks become deep fractures.</p>
<p>Here’s a simple example:</p>
<pre><code class="lang-plaintext">// Temporary workaround for product discounts
function applyDiscount(price, productType) {
  if (productType === 'electronics') {
    return price * 0.9; // 10% off
  } else if (productType === 'clothing') {
    return price * 0.8; // 20% off
  } else if (productType === 'books') {
    return price * 0.95; // 5% off
  } else {
    return price;
  }
}
</code></pre>
<p>This started as a quick fix. But over time, new product types get added with more exceptions.</p>
<p>Soon, you will have twenty <code>if-else</code> branches. It’s fragile. Every change risks breaking something. That’s technical debt.</p>
<p>The worst part? You might not even notice until a year later, when a bug in that logic takes hours to trace. You wonder, “How did this get so messy?” The answer: <strong>one shortcut at a time.</strong></p>
<p>A better long-term approach in the above example would be a configuration-driven system or a discount rules engine.</p>
<pre><code class="lang-plaintext">// Config-driven discount logic
const discountRates = {
  electronics: 0.10,
  clothing: 0.20,
  books: 0.05
};
</code></pre>
<pre><code class="lang-plaintext">function applyDiscount(price, productType) {
  const discount = discountRates[productType] || 0;
  return price * (1 - discount);
}
</code></pre>
<h2 id="heading-why-technical-debt-can-be-dangerous"><strong>Why Technical Debt Can Be Dangerous</strong></h2>
<p>Technical debt slows you down. That’s its most visible cost.</p>
<p>A feature that should take a day now takes a week. Simple changes break unrelated things. Your team spends more time fixing than building.</p>
<p>But the real danger goes deeper. Technical debt makes you afraid to touch your code.</p>
<p>Engineers stop refactoring because “it’s too risky.” You start saying no to new ideas because the system can’t handle them. The product becomes rigid. You stop innovating.</p>
<p>It also hurts your team. Developers don’t like working in messy codebases. It leads to burnout. New hires struggle to onboard.</p>
<p>Your best engineers spend their time firefighting instead of creating. Eventually, people leave. And your debt remains.</p>
<h2 id="heading-how-to-manage-technical-debt"><strong>How to Manage Technical Debt</strong></h2>
<p>You can’t eliminate all technical debt. But you can manage it.</p>
<p>First, treat it like real debt. Track it. Prioritize it. Make regular payments.</p>
<p>Start by writing it down. Every time someone takes a shortcut, log it. You don’t need a fancy tool – a shared doc or Jira tag works fine. Just make it visible.</p>
<p>Next, build time into your workflow to pay it off. Use 10–20% of each sprint to refactor or improve the codebase. Don’t wait for a rewrite. Small, steady work adds up.</p>
<p>Code reviews help too. Encourage your team to ask: “Is this a shortcut?” If yes, make a conscious choice. Leave a clear comment. Note the tradeoff. Now it’s not a hidden cost – it’s a known one.</p>
<p>And when you do pay off debt, celebrate it. Make it part of your culture. The same way you’d celebrate shipping a feature, acknowledge when your team makes the codebase better. That builds pride and ownership.</p>
<h3 id="heading-knowing-when-to-refactor"><strong>Knowing When to Refactor</strong></h3>
<p>You can’t fix all the debt at once. So how do you choose?</p>
<p>Look for signs of pain. If a file breaks every sprint, fix it. If one part of the system takes days to test, improve it. If new hires always get stuck in one module, clean it up.</p>
<p>Focus on the code you touch often. There’s no point polishing a dead feature. But if something is part of your core flow, invest in it.</p>
<p>Also, listen to your team. Engineers know where the pain lives. If someone says, “This part scares me,” take that seriously. Fear in the codebase is a red flag.</p>
<h2 id="heading-when-debt-becomes-fatal"><strong>When Debt Becomes Fatal</strong></h2>
<p>Sometimes, the debt gets so bad that small fixes won’t save you. The system collapses under its own weight. Everything feels slow. Nothing is safe to change. That’s when teams start talking about rewrites.</p>
<p>But rewrites are risky. They take time. They often miss hidden business logic. And they can carry old debt into new code if not done carefully.</p>
<p>If you must rewrite, do it incrementally. Replace modules one at a time. Add tests. Migrate data with care.</p>
<p>And don’t forget why the old system failed. If you don’t fix the culture, the new system will rot too.</p>
<h2 id="heading-final-thoughts"><strong>Final Thoughts</strong></h2>
<p>Technical debt isn’t evil. It’s part of building software. But like financial debt, it needs discipline. You can’t just ignore it and hope it goes away.</p>
<p>Great products aren’t just well-designed. They’re well-maintained. The teams behind them care about quality — not just in what users see, but in what engineers live with every day.</p>
<p>So the next time you say, “We’ll fix it later,” ask yourself: will you? Or are you just borrowing against the future?</p>
<p>Hope you enjoyed this article. <a target="_blank" href="https://blog.manishshivanandhan.com/"><strong>Join my newsletter</strong></a> for similar articles and <a target="_blank" href="https://www.linkedin.com/in/manishmshiva/"><strong>connect with me on Linkedin</strong>.</a></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Simple Tips to Help You Write Clean Code ]]>
                </title>
                <description>
                    <![CDATA[ Being a developer isn’t as straightforward as many people think. It’s not just about learning a programming language and typing out code to build software. There’s a lot more to it. And one of the most confusing (and often frustrating) topics for dev... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/tips-for-writing-clean-code/</link>
                <guid isPermaLink="false">67a2380b9af7e36332fde944</guid>
                
                    <category>
                        <![CDATA[ programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ clean code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Productivity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Nitin Sharma ]]>
                </dc:creator>
                <pubDate>Tue, 04 Feb 2025 15:53:47 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1738684292390/6e844cd5-28f8-42e9-b9e3-cc6ded9ec72f.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Being a developer isn’t as straightforward as many people think.</p>
<p>It’s not just about learning a programming language and typing out code to build software. There’s a lot more to it. And one of the most confusing (and often frustrating) topics for developers is clean code.</p>
<p>So, what is clean code?</p>
<p>Simply put, it’s about writing code that’s so clear and well-organized that neither you nor anyone else will get frustrated trying to understand it six months later.</p>
<p>Think of clean code as the programming equivalent of great design — it’s functional, beautiful, and easy to work with.</p>
<p>And today, I won’t spend a lot of time explaining why clean code is important — you probably already know that. Instead, I’ll get straight to the point and share seven powerful hacks to help you write cleaner, better code.</p>
<h2 id="heading-table-of-contents"><strong>Table of Contents</strong></h2>
<ul>
<li><p><a class="post-section-overview" href="#heading-1-write-code-like-youre-explaining-it-to-a-5-year-old">1. Write Code Like You’re Explaining it to a 5-Year Old</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-2-use-ai-tools-or-an-ai-code-reviewer">2. Use AI Tools (or an AI Code Reviewer)</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-3-get-rid-of-unnecessary-comments">3. Get Rid of Unnecessary Comments</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-4-follow-the-dry-principle">4. Follow the DRY Principle</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-5-fix-your-code-formatting-amp-follow-a-consistent-style">5. Fix Your Code Formatting &amp; Follow a Consistent Style</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-6-dont-let-your-functions-do-too-much">6. Don’t Let Your Functions Do Too Much</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-7-organize-your-files-and-folders-properly">7. Organize Your Files and Folders Properly</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-wrapping-up">Wrapping Up</a></p>
</li>
</ul>
<h2 id="heading-1-write-code-like-youre-explaining-it-to-a-5-year-old"><strong>1. Write Code Like You’re Explaining it to a 5-Year Old</strong></h2>
<p>Let me be honest — if you are writing exceedingly clever code that your teammates or someone else can’t easily read, it won’t be helpful to anyone.</p>
<p>You need to write code so simple that anyone, including someone who just opened the file for the first time, can easily go through it.</p>
<p>For example, if your variable names look like this:</p>
<pre><code class="lang-plaintext">let x = y + z;
</code></pre>
<p>This isn’t helpful. No one will know what x, y, and z mean — not even you, three weeks later.</p>
<p>Variables should describe what they hold. Think of them as self-documenting comments. Here’s a better example:</p>
<pre><code class="lang-plaintext">let totalPrice = productPrice + shippingCost;
</code></pre>
<p>This simple best practice can be applied even when writing functions, comments, and more.</p>
<p>Here’s an example of hard to understand code:</p>
<pre><code class="lang-plaintext">function calc(itm) {
 let t = 0;
 for (let i = 0; i &lt; itm.length; i++) {
 t += itm[i].p;
 }
 return t;
}
</code></pre>
<p>You see, it doesn’t give you a proper idea about the function other than the logic.</p>
<p>Instead, try to write it like this:</p>
<pre><code class="lang-plaintext">function calculateTotalPrice(cartItems) {
    let totalPrice = 0;
    for (let i = 0; i &lt; cartItems.length; i++) {
        totalPrice += cartItems[i].price;
    }
    return totalPrice;
}
</code></pre>
<p>Now it’s clear just from looking at the code what’s going on.</p>
<h2 id="heading-2-use-ai-tools-or-an-ai-code-reviewer">2. Use AI Tools (or an AI Code Reviewer)</h2>
<p>AI is evolving quickly and is being used in almost every industry.</p>
<p>Well, as a developer, you can use AI to help you write clean and readable code — all thanks to AI tools like <a target="_blank" href="https://chatgpt.com/">ChatGPT</a>, <a target="_blank" href="https://claude.ai/">Claude</a>, and <a target="_blank" href="https://github.com/features/copilot">GitHub Copilot</a>.</p>
<p>For starters, you can copy and paste your code into an LLM and ask it to review your code. </p>
<p>Here’s an example of a request I made to ChatGPT:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1738673389541/558c64b6-f92e-4ede-bd00-8fe9c98623c0.png" alt="558c64b6-f92e-4ede-bd00-8fe9c98623c0" class="image--center mx-auto" width="1146" height="826" loading="lazy"></p>
<p>And here’s what ChatGPT recommended:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1738673434670/badadf50-2e1f-46f9-9f3b-c9b189dfaeeb.png" alt="badadf50-2e1f-46f9-9f3b-c9b189dfaeeb" class="image--center mx-auto" width="1696" height="1078" loading="lazy"></p>
<p>It even provided me with an improved version of the code. Here it is as follows:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1738673489244/3cf70568-a418-460b-9aa6-768a544965c2.png" alt="3cf70568-a418-460b-9aa6-768a544965c2" class="image--center mx-auto" width="1566" height="1178" loading="lazy"></p>
<p>Along with that, you can also use AI-powered code reviewers like <a target="_blank" href="https://www.coderabbit.ai/">CodeRabbit AI</a>, which integrates with your pull requests to offer automated code reviews, walkthroughs, and more.</p>
<p>In simple terms, when you install CodeRabbit AI, add it to your pull request, and then create a pull request, CodeRabbit AI provides you with summaries, code reviews, walkthroughs, and more.</p>
<p>Here’s an example from an open-source repository “<a target="_blank" href="https://github.com/bitbomdev/minefield/pull/158">minefield</a>” of a summary generated by CodeRabbit AI:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1738675580325/ef823a77-6969-4e8a-a141-640468d0169d.png" alt="ef823a77-6969-4e8a-a141-640468d0169d" class="image--center mx-auto" width="1600" height="967" loading="lazy"></p>
<p>In the above examples, CodeRabbit AI simply goes through the code and provides a great summary highlighting the new features, bug fixes, and unit tests added via a pull request.</p>
<p>If you want to learn more, <a target="_blank" href="https://docs.coderabbit.ai/getting-started/quickstart/">here’s</a> a quickstart guide that provides more info on how to get started and use CodeRabbit AI.</p>
<p>Note that, AI tools can be a great help in improving your code, but they should never replace your own thinking.</p>
<p>When AI suggests changes, always ask yourself: Does this actually make sense?</p>
<p>After all, AI isn’t perfect—it can generate incorrect code. It might also miss important details that only a human can fully understand.</p>
<p>So instead of blindly accepting AI’s suggestions, take a moment to understand why they were made.</p>
<p>Remember, the goal is to use AI to speed up your workflow, catch errors, and more—while keeping full control over your code.</p>
<h2 id="heading-3-get-rid-of-unnecessary-comments">3. Get Rid of Unnecessary Comments</h2>
<p>Writing good code comments can help others understand why your code is doing what it’s doing.</p>
<p>But I see developers writing too many comments, even where there is no need.</p>
<p>I believe that, whenever possible, good code should document itself.</p>
<p>Here’s an example of a not so helpful comment:</p>
<pre><code class="lang-plaintext">// Adding 10 to the result 
total = total + 10;
</code></pre>
<p>You see, here the comment doesn’t make sense, and it doesn’t really add anything to the code (or our understanding of it).</p>
<p>It’s a better practice to write comments only if they’re important in helping a reviewer understand why you did something in particular or if there’s some ambiguity that needs explaining.</p>
<p>Here’s an example:</p>
<pre><code class="lang-plaintext">// Adding 10 because the client requires a 10% buffer for calculations 
total = total + 10;
</code></pre>
<p>Now you can see that here the comment gives a clear idea about why the programmer added 10 to the total.</p>
<h2 id="heading-4-follow-the-dry-principle">4. Follow the DRY Principle</h2>
<p>I’ve seen a lot of programmers repeating the same logic or adding the same functionality in different files.</p>
<p>Well, you don’t need to repeat the same code everywhere because it makes the process much more complex. Keep your code DRY (Don’t Repeat Yourself).</p>
<p>Instead, abstract that logic into a single reusable function.</p>
<p>For example, instead of writing the same logic in different files:</p>
<pre><code class="lang-plaintext">if (user.age &gt; 18 &amp;&amp; user.age &lt; 65) { 
 // Do something 
}

if (user.age &gt; 18 &amp;&amp; user.age &lt; 65) { 
 // Do something else 
}
</code></pre>
<p>You can create a reusable function so that you can use the logic everywhere, as shown below:</p>
<pre><code class="lang-plaintext">function isWorkingAge(age) { 
 return age &gt; 18 &amp;&amp; age &lt; 65; 
}

if (isWorkingAge(user.age)) { 
 // Do something 
}
</code></pre>
<p>In short — write once, and use everywhere.</p>
<h2 id="heading-5-fix-your-code-formatting-amp-follow-a-consistent-style">5. Fix Your Code Formatting &amp; Follow a Consistent Style</h2>
<p>This is another simple hack, but many devs don’t even think about it.</p>
<p>First of all, you need to format your code with proper indentation.</p>
<p>You can just install a VS Code extension/linters like <a target="_blank" href="https://prettier.io/">Prettier</a>, <a target="_blank" href="https://eslint.org/">ESLint</a>, or <a target="_blank" href="https://pypi.org/project/flake8/">Flake8</a>, depending on the programming language you use. Configure a few settings, and you’re good to go.</p>
<p>These linters can help you write better code by finding mistakes, helping you follow coding rules, and keeping your code consistent. They can also catch errors, make your code easier to read, and save time on fixing bugs and reviews.</p>
<p>But fixing your formatting doesn’t just mean it’s clean code – it’s way more than that.</p>
<p>Beyond formatting, you should stick to a consistent style guide for things like function names or variable names.</p>
<p>For example, here’s some code that has an inconsistent style:</p>
<pre><code class="lang-plaintext">let total_price;  
let UserData;  
function getuser() {}
</code></pre>
<p>But some of you may ask, why is the code inconsistent?</p>
<p>Well, it uses several different naming conventions – like <code>total_price</code> uses snake_case, <code>UserData</code> uses PascalCase, and <code>getuser()</code> is in lowercase instead of camelCase.</p>
<p>This makes your code harder to read and more confusing. Instead, you can follow a consistent style. Here’s how:</p>
<pre><code class="lang-plaintext">let userData; 
let totalPrice; 
function getUser() {}
</code></pre>
<p>And just to let you know, JavaScript typically follows camelCase for variables and functions, so names like <code>getUser(), userData, and totalPrice</code> would be more consistent.</p>
<p>No matter whether you’re working in a team or solo, sticking to one style is a good idea. It makes the code clean, and the reviewer can easily go through it.</p>
<h2 id="heading-6-dont-let-your-functions-do-too-much">6. Don’t Let Your Functions Do Too Much</h2>
<p>As a programmer, I know that sometimes you need to write complex logic inside a function.</p>
<p>But most often, programmers include too much logic in a single function, causing it to do more than one thing at a time. These functions become too complex, making them hard to read or understand.</p>
<p>It’s better to create multiple smaller functions, with each function handling a single responsibility.</p>
<p>Here’s an example of a slightly too complex function:</p>
<pre><code class="lang-plaintext">function calculateCart(items) {
 let total = 0;
 for (let i = 0; i &lt; items.length; i++) {
 total += items[i].price * items[i].quantity;
 }
 return total &gt; 100 ? total * 0.9 : total;
}
</code></pre>
<p>You see, this single function does too much—it applies discounts if applicable, and calculates the total price based on quantity, making it hard to reuse for specific use cases.</p>
<p>A better way is to split it into three functions:</p>
<ul>
<li><p>One to apply the discount (if applicable).</p>
</li>
<li><p>One to calculate the total price based on quantity.</p>
</li>
<li><p>One to get the total and apply the discount if needed.</p>
</li>
</ul>
<p>This makes the code cleaner and easier to manage. Here’s an improved version:</p>
<pre><code class="lang-plaintext">function calculateCart(items) {
 const total = getCartTotal(items);
 return applyDiscount(total);
}

function getCartTotal(items) {
 return items.reduce((sum, item) =&gt; sum + item.price * item.quantity, 0);
}

function applyDiscount(total) {
 return total &gt; 100 ? total * 0.9 : total;
}
</code></pre>
<p>You see, instead of writing everything in one long block, the logic is broken into smaller, clearer functions.</p>
<p>And that’s what makes it easier for you (and everyone else) to understand.</p>
<h2 id="heading-7-organize-your-files-and-folders-properly">7. Organize Your Files and Folders Properly</h2>
<p>Now comes the most important part.</p>
<p>When you’re working on a big project, it makes no sense to dump all your code into one single folder with a bunch of random files. It’s become a nightmare for anyone trying to review the code or find a specific file.</p>
<p>Think about it — going through 50 files just to fix a bug. Nobody wants that.</p>
<p>Instead, try organizing your project into multiple folders based on pages or features.</p>
<p>And don’t stop there — break large files into smaller, specific modules based on functionality. This way, everything is neat, easy to find, and makes sense at first glance.</p>
<p>Here’s a bad example of a project structure: </p>
<pre><code class="lang-plaintext">project-folder/  
│  
├── index.html  
├── app.js  
├── helpers.js  
├── data.js  
├── user.js  
├── product.js
</code></pre>
<p>It’s messy, right? Now, here’s how you can improve it:</p>
<pre><code class="lang-plaintext">project-folder/  
│  
├── pages/  
│   ├── home/  
│   │   ├── HomePage.js  
│   │   ├── HomePage.css  
│   │   └── HomePage.test.js  
│   ├── user/  
│   │   ├── UserPage.js  
│   │   ├── UserPage.css  
│   │   └── UserPage.test.js  
│   └── product/  
│       ├── ProductPage.js  
│       ├── ProductPage.css  
│       └── ProductPage.test.js  
├── components/  
│   ├── Header.js  
│   ├── Footer.js  
│   └── Button.js  
├── utils/  
│   └── api.js  
└── index.js
</code></pre>
<p>See how simple this is?</p>
<p>You have separate folders for pages, components, and utilities. Inside each folder, files are organized by purpose and given clear names.</p>
<p>For example, if you need something for the product page, you’ll know exactly where to find it.</p>
<h2 id="heading-wrapping-up">Wrapping Up</h2>
<p>In this article, you learned the basics you need to get started writing clean, efficient, and maintainable code.</p>
<p>We discussed how to write clean code, use AI tools, apply proper code formatting techniques, structure functions effectively, and follow other best practices.</p>
<p>If you apply these tips consistently, you’ll significantly improve your coding skills and write cleaner code.</p>
<p>I hope you liked it.</p>
<p>You can connect with me on <a target="_blank" href="https://substack.com/@nitinfab">Substack</a>, and <a target="_blank" href="https://x.com/Nitinfab">Twitter</a>.</p>
<p>Also, if you're interested in learning more about AI, you can subscribe to my newsletter, <a target="_blank" href="https://aimadesimple0.substack.com/">AI Made Simple</a>, where I dive deeper into practical AI strategies for everyday people.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Understanding Modern Development Frameworks: A Guide for Developers and Technical Decision-makers ]]>
                </title>
                <description>
                    <![CDATA[ As a developer for over 20 years, I've seen firsthand how choosing the right framework can make or break a project. The term "framework" has become so broad that it's often misunderstood. Let's clear up the confusion and help you make better technica... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/understanding-modern-development-frameworks-guide-for-devs/</link>
                <guid isPermaLink="false">673cc307f6df251b434f7f90</guid>
                
                    <category>
                        <![CDATA[ Developer ]]>
                    </category>
                
                    <category>
                        <![CDATA[ framework ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Jesse Hall ]]>
                </dc:creator>
                <pubDate>Tue, 19 Nov 2024 16:55:35 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1731968979425/412c6bc7-e717-481b-aa9e-4962c9687115.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>As a developer for over 20 years, I've seen firsthand how choosing the right framework can make or break a project. The term "framework" has become so broad that it's often misunderstood. Let's clear up the confusion and help you make better technical decisions.</p>
<h2 id="heading-what-is-a-framework">What is a Framework?</h2>
<p>In terms of software development, a framework is a structured set of tools, libraries, and conventions that provides a foundation for building applications more efficiently by handling common functionalities so developers can focus on unique features.</p>
<p>A modern web application can combine multiple frameworks to handle different aspects of development efficiently:</p>
<ul>
<li><p>React with Tailwind CSS manages the user interface and styling.</p>
</li>
<li><p>FastAPI or Django with LangChain handle backend operations and AI functionality, while MongoDB acts as a memory store.</p>
</li>
</ul>
<p>These frameworks communicate through APIs and defined interfaces to work together—for example, a user interaction in the React front end can trigger an AI process through LangChain in the Python back end, which uses MongoDB Atlas Vector Search to retrieve relevant data and then display it back to the user with Tailwind CSS styles.</p>
<h2 id="heading-table-of-contents">Table of Contents:</h2>
<ul>
<li><p><a class="post-section-overview" href="#heading-the-framework-landscape-in-2024">The framework landscape in 2024</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-application-frameworks">Application frameworks</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-ai-frameworks">AI frameworks</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-web-frameworks">Web frameworks</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-cssui-frameworks">CSS/UI frameworks</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-testing-amp-infrastructure">Testing &amp; infrastructure</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-making-the-right-choice">Making the right choice</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-the-bottom-line">The bottom line</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-additional-resources">Additional resources</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-frequently-asked-questions-faq">Frequently asked questions (FAQ)</a></p>
</li>
</ul>
<h2 id="heading-the-framework-landscape-in-2024">The Framework Landscape in 2024</h2>
<p>Think of frameworks as tools in a technical toolbox. Understanding what each tool is designed to do—and what it isn't—ensures you use the right solution for the task at hand.</p>
<h3 id="heading-the-evolution-of-development-frameworks">The Evolution of Development Frameworks</h3>
<p>The framework landscape has transformed dramatically over the past decade. What started as simple libraries for rendering web pages has evolved into sophisticated ecosystems that can:</p>
<ul>
<li><p>Handle complex state management.</p>
</li>
<li><p>Process real-time data streams.</p>
</li>
<li><p>Integrate AI capabilities.</p>
</li>
<li><p>Scale automatically based on demand.</p>
</li>
<li><p>Deploy across multiple platforms from a single codebase.</p>
</li>
</ul>
<h3 id="heading-why-framework-choice-matters">Why Framework Choice Matters</h3>
<p>Frameworks are puzzle pieces: each has a unique shape and function. When chosen wisely, they fit together seamlessly to create a cohesive application. But forcing incompatible pieces together can lead to inefficiencies and broken functionality.</p>
<p>Here's why your choice matters:</p>
<h4 id="heading-technical-impact">Technical impact</h4>
<ul>
<li><p><strong>Performance</strong>: Different frameworks have different performance characteristics. Instagram chose React for its virtual DOM, which handles frequent updates efficiently.</p>
</li>
<li><p><strong>Scalability</strong>: Uber's back end uses Node.js because it excels at handling numerous concurrent connections.</p>
</li>
<li><p><strong>Maintenance</strong>: Shopify standardized on React Native to maintain a single codebase for mobile applications.</p>
</li>
</ul>
<h4 id="heading-business-impact">Business impact</h4>
<ul>
<li><p><strong>Development speed</strong>: The right framework can accelerate development by 2-3x.</p>
</li>
<li><p><strong>Team productivity</strong>: Familiar frameworks reduce onboarding time from months to weeks.</p>
</li>
<li><p><strong>Cost efficiency</strong>: Proper framework selection can significantly reduce hosting and maintenance costs.</p>
</li>
</ul>
<h4 id="heading-common-pitfalls">Common pitfalls</h4>
<ul>
<li><p><strong>Over-engineering</strong>: Using Next.js when a simple HTML page would suffice</p>
</li>
<li><p><strong>Under-engineering</strong>: Using vanilla JavaScript for a complex, state-heavy application</p>
</li>
<li><p><strong>Misaligned tools</strong>: Using Electron (a desktop app framework) to build a simple website</p>
</li>
<li><p><strong>Trend-chasing</strong>: Adopting the newest framework without considering maintenance implications</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1731967899960/8c8b60fb-4370-4bb1-91fd-5b8b18db22e9.png" alt="A diagram of frameworks and their categorizations" width="5971" height="3417" loading="lazy"></p>
<p>Let’s dive deeper into the various categories of development frameworks and how they can help you build better applications.</p>
<p><strong>Note</strong>: I give framework examples throughout this article, but these are not exhaustive lists and new frameworks are created <code>daily|weekly|monthly</code>.</p>
<h2 id="heading-application-frameworks">Application Frameworks</h2>
<p>These are your Swiss Army knives of development—comprehensive toolkits that handle the entire application lifecycle. While each framework has its specialties, they typically provide:</p>
<ul>
<li><p>Database integration and ORM support.</p>
</li>
<li><p>Authentication and authorization.</p>
</li>
<li><p>API routing and middleware.</p>
</li>
<li><p>Template engines or component systems.</p>
</li>
<li><p>Asset management.</p>
</li>
<li><p>Security features.</p>
</li>
<li><p>Development tools and debugging support.</p>
</li>
</ul>
<p><strong>What is an application?</strong> An application is the combination of individual components working together, including a user interface and backend services, to perform specific functions or a set of functions for users. It’s designed to be fully deployable and operate in production environments.</p>
<p>You'll encounter them in three main flavors:</p>
<h3 id="heading-full-stack-web-application-frameworks">Full-Stack Web Application Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://www.djangoproject.com/"><strong>Django</strong></a> <strong>and</strong> <a target="_blank" href="https://rubyonrails.org/"><strong>Rails</strong></a>: Perfect for data-heavy applications with complex business logic. They follow the "batteries included" philosophy, providing everything you need out of the box.</p>
</li>
<li><p><a target="_blank" href="https://nextjs.org/"><strong>Next.js</strong></a> <strong>and</strong> <a target="_blank" href="https://nuxtjs.org/"><strong>Nuxt.js</strong></a>: Modern full-stack frameworks optimized for React and Vue.js, respectively. They excel at building performant applications with capabilities like server-side rendering, static site generation, and API integration.</p>
</li>
<li><p><a target="_blank" href="https://spring.io/projects/spring-boot"><strong>Spring Boot</strong></a>: Enterprise-grade framework favored for large-scale Java applications, particularly in financial and banking sectors.</p>
</li>
</ul>
<h3 id="heading-mobile-application-frameworks">Mobile Application Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://flutter.dev/"><strong>Flutter</strong></a>: Google's toolkit for building natively compiled apps for mobile, web, and desktop from a single codebase. Known for smooth animations and native performance.</p>
</li>
<li><p><a target="_blank" href="https://reactnative.dev/"><strong>React Native</strong></a>: Ideal when you want to leverage your team's React knowledge for mobile development. Great for apps that need to feel native while maintaining code sharing between platforms.</p>
</li>
<li><p><a target="_blank" href="https://developer.apple.com/xcode/swiftui/"><strong>SwiftUI</strong></a> <strong>and</strong> <a target="_blank" href="https://developer.android.com/jetpack/compose"><strong>Jetpack Compose</strong></a>: Native frameworks for iOS and Android, respectively. Ideal when platform-specific features and optimal performance are crucial.</p>
</li>
</ul>
<h3 id="heading-desktop-application-frameworks">Desktop Application Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://www.electronjs.org/"><strong>Electron</strong></a>: Powers apps like VS Code and Slack. Ideal for leveraging existing web development knowledge without having to learn OS-specific languages to build cross-platform desktop applications.</p>
</li>
<li><p><a target="_blank" href="https://tauri.app/"><strong>Tauri</strong></a>: A modern alternative to Electron with smaller bundle sizes and better performance. Uses native system webviews to run apps more efficiently, with less memory and faster startup times. Developers can use their existing web development skills without learning new programming languages for each OS.</p>
</li>
<li><p><a target="_blank" href="https://wiki.python.org/moin/PyQt"><strong>PyQt</strong></a>: A good option for building GUI applications in Python, especially for data science projects. It has a rich set of libraries and widgets, suitable for both small tools and complex apps.</p>
</li>
</ul>
<h3 id="heading-gaming-frameworks">Gaming Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://unity.com/"><strong>Unity</strong></a>: A popular framework used for creating 2D and 3D games. It supports multiple platforms, making it a versatile choice for game developers. Unity is known for its user-friendly interface and extensive asset store.</p>
</li>
<li><p><a target="_blank" href="https://www.unrealengine.com/"><strong>Unreal Engine</strong></a>: Known for its high-quality graphics, Unreal Engine is a powerful framework used for both AAA games and indie projects. It provides advanced visual tools and real-time rendering capabilities.</p>
</li>
<li><p><a target="_blank" href="https://godotengine.org/"><strong>Godot</strong></a>: An open-source game engine that's lightweight and flexible. Godot is often used for smaller or indie game projects and features an intuitive scene system that makes development straightforward.</p>
</li>
</ul>
<h2 id="heading-ai-frameworks">AI Frameworks</h2>
<p>Here's a crucial point many miss: AI frameworks like TensorFlow or LangChain are powerful, but they're not standalone solutions. These frameworks require integration with other tools and frameworks for data handling, user interface, and deployment to create a complete, production-ready application. These are just another piece of the puzzle.</p>
<p><strong>The exception?</strong> Data scientists can use these tools directly in Jupyter notebooks for research and prototyping. But for production applications, you'll need more.</p>
<p>Let's look at the major players and their sweet spots:</p>
<h3 id="heading-ai-model-development-frameworks">AI Model Development Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://www.tensorflow.org/"><strong>TensorFlow</strong></a>: Google's powerhouse for deep learning, TensorFlow is perfect for applications involving computer vision, neural networks, and production-grade ML. Pinterest uses it for image recognition and recommendations, highlighting its strength in processing large amounts of image data efficiently.</p>
</li>
<li><p><a target="_blank" href="https://pytorch.org/"><strong>PyTorch</strong></a>: Developed by Facebook, PyTorch is a flexible framework ideal for research, natural language processing, and quick prototyping. Tesla has utilized PyTorch for various machine learning tasks, including research related to autonomous driving vision systems, demonstrating its versatility in cutting-edge applications.</p>
</li>
<li><p><a target="_blank" href="https://github.com/google/jax"><strong>JAX</strong></a>: A high-performance numerical computing framework by Google, JAX is well-suited for scientific computing and large-scale transformers. DeepMind has used JAX for advanced AI research, including projects like AlphaFold for protein structure prediction, showcasing its effectiveness in large-scale computational problems.</p>
</li>
</ul>
<h3 id="heading-ai-model-deployment-and-serving-frameworks">AI Model Deployment and Serving Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://github.com/tensorflow/serving"><strong>TensorFlow Serving</strong></a>: A deployment tool for TensorFlow models, perfect for serving high-performance ML models in production environments. For example, it has been used to serve image classification models for e-commerce platforms, ensuring rapid and scalable response times.</p>
</li>
<li><p><a target="_blank" href="https://pytorch.org/serve/"><strong>TorchServe</strong></a>: A robust tool for deploying PyTorch models, perfect for scalable PyTorch model serving. It has been used for deploying chatbot models for real-time customer support, providing flexibility and efficiency in managing conversational AI.</p>
</li>
<li><p><a target="_blank" href="https://developer.nvidia.com/triton-inference-server"><strong>NVIDIA Triton Inference Server</strong></a>: A multi-framework model serving tool, NVIDIA Triton Inference Server is capable of handling models from TensorFlow, PyTorch, ONNX, and more. It is ideal for managing inference requests for multi-modal AI applications, making it highly suitable for complex AI deployments.</p>
</li>
</ul>
<h3 id="heading-llm-integration-frameworks">LLM Integration Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://langchain.io/"><strong>LangChain</strong></a>: The Swiss Army knife for LLM applications. Ideal for building chatbots and document Q&amp;A systems. It has been employed to create customer service bots capable of accessing company knowledge bases, demonstrating its usefulness in enhancing customer interactions.</p>
</li>
<li><p><a target="_blank" href="https://www.llamaindex.ai/"><strong>LlamaIndex</strong></a>: Specializing in data connection, LlamaIndex is perfect for building search engines over private data. It has been used to create semantic search systems for internal documents, facilitating more effective data retrieval and organizational knowledge management.</p>
</li>
<li><p><a target="_blank" href="https://huggingface.co/docs/transformers/en/index"><strong>Hugging Face Transformers</strong></a>: A pre-trained model hub, Hugging Face Transformers allows for the quick deployment of state-of-the-art models. It has been used to add sentiment analysis to customer feedback systems, highlighting its capability in natural language understanding.</p>
</li>
</ul>
<h3 id="heading-ai-data-processing-frameworks">AI Data Processing Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://spark.apache.org/mllib/"><strong>Apache Spark (MLlib)</strong></a>: Ideal for large-scale data transformation and ML, used for processing millions of user interactions in recommendation systems. Its scalability and efficiency make it a popular choice for big data ML tasks.</p>
</li>
<li><p><a target="_blank" href="https://pandas.pydata.org/"><strong>Pandas</strong></a>: A widely-used data manipulation and analysis tool that is perfect for data cleaning, analysis, and feature engineering. It is often employed in preparing customer data for churn prediction models, owing to its intuitive data handling capabilities.</p>
</li>
<li><p><a target="_blank" href="https://www.pola.rs/"><strong>Polars</strong></a>: A high-performance data manipulation framework, used when Pandas is not fast enough for processing requirements. It has been applied in real-time financial data analysis, delivering faster data processing and efficiency.</p>
</li>
</ul>
<h3 id="heading-ai-automation-and-orchestration-frameworks">AI Automation and Orchestration Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://crewai.com/"><strong>CrewAI</strong></a>: Used to orchestrate multiple AI agents, making it perfect for complex workflows requiring multiple AI models. It has been used to create a content creation pipeline that plans, writes, and edits, showcasing its ability to automate creative processes.</p>
</li>
<li><p><a target="_blank" href="https://github.com/Torantulino/Auto-GPT"><strong>Auto-GPT</strong></a>: Develops autonomous AI agents, ideal for self-directed task completion. It has been utilized for automated research and data gathering, highlighting its potential for automating repetitive knowledge tasks.</p>
</li>
<li><p><a target="_blank" href="https://github.com/microsoft/semantic-kernel"><strong>Microsoft Semantic Kernel</strong></a>: An AI orchestration tool perfect for integrating AI into .NET applications. It has been used to add AI capabilities to existing enterprise applications, providing a seamless integration of AI functions into established workflows.</p>
</li>
</ul>
<h3 id="heading-ai-data-ingestion-and-document-processing-frameworks">AI Data Ingestion and Document Processing Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://nifi.apache.org/"><strong>Apache NiFi</strong></a>: A powerful tool for data flow automation, well-suited for real-time data ingestion and processing. It has been used to extract and transform log data before analysis, ensuring efficient data flow for various use cases.</p>
</li>
<li><p><a target="_blank" href="https://haystack.deepset.ai/"><strong>Haystack</strong></a>: Specialized in document processing for search and QA systems. It has been utilized to create pipelines for indexing documents and answering questions, making it ideal for building internal knowledge base searches.</p>
</li>
<li><p><a target="_blank" href="https://unstructured.io/"><strong>Unstructured</strong></a>: Designed for extracting data from a variety of formats, including PDFs, HTML, and images. It’s perfect for handling unstructured content in document processing workflows and has been used to extract relevant information from scanned documents for data analysis.</p>
</li>
<li><p><a target="_blank" href="https://airbyte.com/"><strong>Airbyte</strong></a>: An open-source data integration tool that is ideal for connecting and syncing data across multiple sources. It has been used to ingest data from third-party APIs into analytics systems, enabling effective data consolidation.</p>
</li>
</ul>
<h3 id="heading-interactive-ai-web-frameworks">Interactive AI Web Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://gradio.app/"><strong>Gradio</strong></a>: Simplifies the process of building web UIs for machine learning models, making it perfect for creating quick demos for ML models. It has been used to create interactive image classifiers for end users, providing an accessible interface for testing ML capabilities.</p>
</li>
<li><p><a target="_blank" href="https://streamlit.io/"><strong>Streamlit</strong></a>: A Python-based web app framework for ML and data science, ideal for turning data scripts into shareable web apps. It has been used to build user-friendly dashboards for exploring model predictions, enhancing the accessibility of ML models.</p>
</li>
</ul>
<h3 id="heading-mlops-and-ai-monitoring-frameworks">MLOps and AI Monitoring Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://mlflow.org/"><strong>MLflow</strong></a>: Used for experiment tracking and model lifecycle management, perfect for keeping track of experiments and model versions. It has been applied to manage multiple iterations of predictive models, supporting organized development workflows.</p>
</li>
<li><p><a target="_blank" href="https://www.kubeflow.org/"><strong>Kubeflow</strong></a>: A Kubernetes-native platform for MLOps, ideal for deploying, scaling, and managing machine learning models on Kubernetes. It has been used to run end-to-end ML workflows in production environments, ensuring scalability and consistency.</p>
</li>
<li><p><a target="_blank" href="https://prometheus.io/"><strong>Prometheus</strong></a> &amp; <a target="_blank" href="https://grafana.com/"><strong>Grafana</strong></a>: Monitoring and alerting tools for ML infrastructure, perfect for tracking model inference performance and system metrics. They have been used to monitor latency and resource usage of deployed ML services, ensuring optimal operational performance.</p>
</li>
</ul>
<h2 id="heading-web-frameworks">Web frameworks</h2>
<p>Web development has evolved into two distinct camps—think of them as the front-of-house and kitchen staff in a restaurant. Both essential, both specialized, but with very different responsibilities.</p>
<p><strong>Note</strong>: We already discussed full-stack web application frameworks above, which marry these two together.</p>
<h3 id="heading-frontend-frameworks">Frontend Frameworks</h3>
<p>Frontend frameworks handle what users see and interact with, managing everything from data display to user interactions, user input, and how the overall user experience is structured. These frameworks ensure that the interface is visually appealing, intuitive, and responsive to user actions.</p>
<p>They play a critical role in how smoothly data is presented, processed, and updated in real time, providing dynamic elements like animations, form validation, and client-side routing to enhance usability.</p>
<p>By using frontend frameworks, developers can create highly interactive and cohesive user experiences that feel natural and engaging.</p>
<ul>
<li><p><a target="_blank" href="https://reactjs.org/"><strong>React</strong></a>: Ideal for large-scale applications with complex state management. It features a virtual DOM for optimal performance, making it suitable for highly interactive user interfaces.</p>
</li>
<li><p><a target="_blank" href="https://vuejs.org/"><strong>Vue.js</strong></a>: Perfect for both small projects and enterprise applications. It has a gentle learning curve combined with powerful scalability, making it an approachable yet robust frontend solution.</p>
</li>
<li><p><a target="_blank" href="https://svelte.dev/"><strong>Svelte</strong></a>: Ideal for when you have performance-critical applications and want smaller bundles. It compiles away framework code for lighter applications, providing better performance and a smaller footprint.</p>
</li>
</ul>
<h3 id="heading-backend-frameworks">Backend Frameworks</h3>
<p>Backend frameworks manage server-side logic, data processing, and system integration, handling everything from receiving and processing client requests to interacting with databases and external APIs. These frameworks ensure that the server processes are efficient, scalable, and secure, supporting high concurrency and maintaining consistent data flows.</p>
<p>They provide the essential tools for developers to build, maintain, and optimize the server-side of applications, including tasks such as handling authentication, managing business logic, and ensuring data consistency.</p>
<p>A well-chosen backend framework allows developers to focus more on creating features rather than dealing with low-level server management.</p>
<ul>
<li><p><a target="_blank" href="https://expressjs.com/"><strong>Express.js</strong></a>: Perfect for APIs and microservices, offering minimal structure with maximum flexibility. It is highly popular in Node.js environments for building efficient server-side logic.</p>
</li>
<li><p><a target="_blank" href="https://fastapi.tiangolo.com/"><strong>FastAPI</strong></a>: Designed for high-performance APIs, with automatic API documentation and type checking. It is commonly used for fast and secure backend implementations in Python.</p>
</li>
<li><p><a target="_blank" href="https://nestjs.com/"><strong>NestJS</strong></a>: For large-scale Node.js applications, featuring an Angular-inspired architecture that enhances scalability. It provides a well-structured framework for enterprise-level backends.</p>
</li>
</ul>
<h2 id="heading-cssui-frameworks">CSS/UI Frameworks</h2>
<p>Modern CSS frameworks have evolved beyond simple styling to become complete design systems. Gone are the days when CSS frameworks just provided basic grid systems and button styles.</p>
<p>Today's frameworks are sophisticated tools that enable consistent design at scale. They offer features such as responsive layouts, dark mode support, accessibility enhancements, and interactive components.</p>
<p>They've become essential for maintaining design consistency across large applications and teams, while significantly reducing development time and technical debt. Some frameworks even include built-in performance optimization, design tokens for brand customization, and tools for managing design systems across multiple platforms.</p>
<p>They fall into two main categories:</p>
<h3 id="heading-utility-first-frameworks">Utility-first Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://tailwindcss.com/"><strong>Tailwind CSS</strong></a>: Custom designs with consistent systems. It features rapid prototyping capabilities, highly customizable design tokens, and small production bundles through PurgeCSS.</p>
</li>
<li><p><a target="_blank" href="https://unocss.dev/"><strong>UnoCSS</strong></a>: A customizable, efficient, utility-first CSS solution. It provides on-demand CSS for optimal performance and minimal bundle size, making it a modern tool for design system management.</p>
</li>
</ul>
<h3 id="heading-component-based-frameworks">Component-based Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://getbootstrap.com/"><strong>Bootstrap</strong></a>: Rapid prototyping and traditional web applications. It offers an extensive library of pre-built components, a responsive grid system, and a rich ecosystem of themes and plugins.</p>
</li>
<li><p><a target="_blank" href="https://mui.com/"><strong>Material UI</strong></a>: For applications following Material Design guidelines. It includes a comprehensive component library, a theming system, and accessibility compliance features.</p>
</li>
</ul>
<h2 id="heading-testing-and-infrastructure">Testing and Infrastructure</h2>
<p>These frameworks form the backbone of reliable, scalable applications. While they might not get as much attention as flashy frontend frameworks or AI tools, they're the critical infrastructure that keeps modern applications running smoothly at scale.</p>
<p>Testing frameworks ensure code quality and prevent regressions, while containerization and orchestration frameworks handle the increasingly complex world of cloud deployment and scaling.</p>
<p>In an era where a single code change can affect millions of users instantly, or where an application might need to scale from hundreds to millions of requests in minutes, these frameworks aren't just nice-to-have—they're essential for survival. Major tech companies like Netflix, Amazon, and Google rely on these tools to maintain their rapid development pace while ensuring reliability and performance at massive scale.</p>
<h3 id="heading-testing-frameworks">Testing Frameworks</h3>
<ul>
<li><p><a target="_blank" href="https://jestjs.io/"><strong>Jest</strong></a>: Features snapshot testing, code coverage, and mocking capabilities, making it a popular choice for ensuring the quality of JavaScript codebases.</p>
</li>
<li><p><a target="_blank" href="https://www.cypress.io/"><strong>Cypress</strong></a>: Provides real browser testing and time-travel debugging, ideal for end-to-end testing of web applications.</p>
</li>
<li><p><a target="_blank" href="https://docs.pytest.org/en/stable/"><strong>PyTest</strong></a>: Known for its simple syntax, powerful extensions, and easy fixture management, making it a go-to framework for testing Python applications.</p>
</li>
</ul>
<h3 id="heading-containerization-and-orchestration">Containerization and Orchestration</h3>
<ul>
<li><p><a target="_blank" href="https://www.docker.com/"><strong>Docker</strong></a>: Used for application containerization, providing consistent development and deployment environments with isolated dependencies and efficient resource usage.</p>
</li>
<li><p><a target="_blank" href="https://kubernetes.io/"><strong>Kubernetes</strong></a>: Orchestration of large-scale distributed applications. It provides automated scaling, self-healing deployments, and rolling updates, ensuring that containerized applications can grow as needed.</p>
</li>
</ul>
<h2 id="heading-making-the-right-choice">Making the Right Choice</h2>
<p>Selecting the right framework can determine the success of your entire project. Consider these critical points to guide your decision-making process:</p>
<h3 id="heading-1-application-type-and-scale">1. Application Type and Scale</h3>
<ul>
<li><p>Small site? Consider React or Vue.js.</p>
</li>
<li><p>Large application? Next.js or Django might be better.</p>
</li>
<li><p>Need SEO? Look for SSR capabilities.</p>
</li>
</ul>
<h3 id="heading-2-team-capabilities">2. Team Capabilities</h3>
<ul>
<li><p>Strong JavaScript? Consider Node.js ecosystem.</p>
</li>
<li><p>Python experts? Django or FastAPI might be better.</p>
</li>
<li><p>Need quick ramp-up? Combine key frameworks like Vue.js and Bootstrap.</p>
</li>
</ul>
<h3 id="heading-3-technical-requirements">3. Technical Requirements</h3>
<ul>
<li><p>High-performance computing? Consider Rust frameworks.</p>
</li>
<li><p>Real-time updates? Look at WebSocket support.</p>
</li>
<li><p>AI requirements? Integration with platforms like Hugging Face and frameworks like LangChain might be essential.</p>
</li>
</ul>
<h3 id="heading-4-scaling-strategy">4. Scaling Strategy</h3>
<ul>
<li><p>Vertical scaling? Simpler frameworks might suffice.</p>
</li>
<li><p>Horizontal scaling? You need frameworks with microservices support.</p>
</li>
<li><p>Global distribution? Consider edge computing capabilities.</p>
</li>
</ul>
<h3 id="heading-5-long-term-maintenance">5. Long-term Maintenance</h3>
<ul>
<li><p>Community size and activity</p>
</li>
<li><p>Available talent pool</p>
</li>
<li><p>Corporate backing and stability</p>
</li>
<li><p>Documentation quality</p>
</li>
<li><p>Upgrade path complexity</p>
</li>
</ul>
<h2 id="heading-the-bottom-line">The Bottom Line</h2>
<p>Framework selection isn't just a technical decision—it's a strategic one that affects your project's success, team productivity, and maintenance costs. So take the time to understand your options.</p>
<p>Now you should have all of the puzzle pieces, but it's up to you to put them together thoughtfully to create the perfect technology stack that meets both your current and future needs.</p>
<h2 id="heading-additional-resources">Additional Resources</h2>
<p>If you'd like to learn how <a target="_blank" href="https://mdb.link/register-frameworks">MongoDB</a> integrates seamlessly with many of the frameworks mentioned in this guide, check out the resources below. You'll find that it offers a flexible and scalable database solution that adapts to different use cases.</p>
<ul>
<li><p><a target="_blank" href="https://mdb.link/frameworks-nextjs">How to Integrate MongoDB Into Your Next.js App</a></p>
</li>
<li><p><a target="_blank" href="https://mdb.link/frameworks-farm">Introducing FARM Stack - FastAPI, React, and MongoDB</a></p>
</li>
<li><p><a target="_blank" href="https://mdb.link/frameworks-mern">How to Use MERN Stack: A Complete Guide</a></p>
</li>
<li><p><a target="_blank" href="https://mdb.link/frameworks-langchainjs">Build a JavaScript AI Agent With LangGraph.js and MongoDB</a></p>
</li>
<li><p><a target="_blank" href="https://mdb.link/frameworks-langchain">RAG with Atlas Vector Search, LangChain, and OpenAI</a></p>
</li>
</ul>
<h2 id="heading-frequently-asked-questions-faq"><strong>Frequently Asked Questions (FAQ)</strong></h2>
<h3 id="heading-what-is-a-development-framework">What is a development framework?</h3>
<p>A development framework is a set of tools, libraries, and conventions that provide a foundation for building applications efficiently. Frameworks handle common tasks so developers can focus on building unique features.</p>
<h3 id="heading-how-do-ai-and-development-frameworks-work-together">How do AI and development frameworks work together?</h3>
<p>AI frameworks can be combined with traditional development frameworks to create intelligent, data-driven applications. For instance, a backend framework like FastAPI can handle incoming requests, while an AI framework like LangChain processes natural language data, providing users with enhanced functionality like chatbots or recommendation systems.</p>
<h3 id="heading-why-is-choosing-the-right-framework-important">Why is choosing the right framework important?</h3>
<p>Choosing the right framework can impact your project's performance, scalability, and maintenance. It ensures that your application meets user expectations, is easy to manage, and can grow as needed.</p>
<h3 id="heading-how-do-i-decide-which-framework-to-use-for-my-project">How do I decide which framework to use for my project?</h3>
<p>Consider factors like application type, team expertise, performance needs, scalability, and long-term maintenance. Each of these can guide you in selecting a framework that matches your specific requirements.</p>
<h3 id="heading-can-i-use-multiple-frameworks-in-one-project">Can I use multiple frameworks in one project?</h3>
<p>Yes, combining multiple frameworks can be very effective. You might use one framework for the front end, another for backend services, and a third for AI integrations, ensuring that each part of your application is handled by the best-suited tool.</p>
<h3 id="heading-how-does-mongodb-fit-into-development-frameworks">How does MongoDB fit into development frameworks?</h3>
<p>MongoDB integrates with many frameworks, acting as the data layer for your applications. It provides a flexible, scalable solution that supports full-stack, backend, and AI frameworks to store and retrieve data efficiently.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Create a Music Bot Using Discord.js – Step-by-Step Tutorial ]]>
                </title>
                <description>
                    <![CDATA[ By Gabriel Tanner The Discord API provides you with an easy tool to create and use your own bots and tools.  In this tutorial, you'll learn how you can create a basic music bot and add it to your server. The bot will be able to play, skip, and ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-create-a-music-bot-using-discord-js-4436f5f3f0f8/</link>
                <guid isPermaLink="false">66d45ee33a8352b6c5a2aa55</guid>
                
                    <category>
                        <![CDATA[ bots ]]>
                    </category>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 28 Feb 2024 13:00:00 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/0*rFQhPUqebJY9N4Ue" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Gabriel Tanner</p>
<p>The Discord API provides you with an easy tool to create and use your own bots and tools. </p>
<p>In this tutorial, you'll learn how you can create a basic music bot and add it to your server. The bot will be able to play, skip, and stop the music, and will also support queuing functionality.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ol>
<li><a class="post-section-overview" href="#heading-prerequisites">Prerequisites</a></li>
<li><a class="post-section-overview" href="#heading-how-to-set-up-a-discord-bot">How to Set Up a Discord Bot</a><br>– <a class="post-section-overview" href="#heading-how-to-add-the-bot-to-your-server">How to add the bot to your server</a><br>– <a class="post-section-overview" href="#heading-how-to-create-your-project">How to create your project</a><br>– <a class="post-section-overview" href="#heading-discordjs-basics">Discord.js basics</a></li>
<li><a class="post-section-overview" href="#heading-discord-bot-version-013">Discord Bot Version 0.13</a><br>– <a class="post-section-overview" href="#heading-how-to-create-the-discord-player">How to create the Discord player</a><br>– <a class="post-section-overview" href="#heading-how-to-add-slash-commands">How to add slash commands</a><br>– <a class="post-section-overview" href="#id=&quot;how-to-implement-interactions&quot;">How to implement interactions</a><br>– <a class="post-section-overview" href="#heading-how-to-play-songs">How to play songs</a><br>– <a class="post-section-overview" href="#heading-how-to-skip-songs">How to skip songs</a><br>– <a class="post-section-overview" href="#heading-how-to-stop-songs">How to stop songs</a><br>– <a class="post-section-overview" href="#heading-complete-source-code-for-the-indexjs">Complete source code for index.js</a></li>
<li><a class="post-section-overview" href="#heading-discord-bot-version-012">Discord Bot Version 0.12</a><br>– <a class="post-section-overview" href="#heading-how-to-read-messages">How to read messages</a><br>– <a class="post-section-overview" href="#heading-how-to-add-songs">How to add songs</a><br>– <a class="post-section-overview" href="#heading-how-to-play-songs">How to play songs</a><br>– <a class="post-section-overview" href="#heading-how-to-skip-songs">How to skip songs</a><br>– <a class="post-section-overview" href="#heading-how-to-stop-songs">How to stop songs</a><br>– <a class="post-section-overview" href="#heading-complete-source-code-for-the-indexjs">Complete source code for index.js</a></li>
<li><a class="post-section-overview" href="#heading-conclusion">Conclusion</a></li>
</ol>
<h2 id="heading-prerequisites"><strong>Prerequisites</strong></h2>
<p>Before we get started creating the bot, make sure that you have installed all the tools you'll need:</p>
<ul>
<li><a target="_blank" href="https://nodejs.org/en/">Node</a></li>
<li><a target="_blank" href="https://www.npmjs.com/">NPM</a></li>
<li><a target="_blank" href="https://www.ffmpeg.org/">FFMPEG</a></li>
</ul>
<p>After you've installed these, you can continue by setting up your discord bot.</p>
<h2 id="heading-how-to-set-up-a-discord-bot"><strong>How to Set Up a Discord Bot</strong></h2>
<p>First, you need to create a new application on the discord development portal.</p>
<p>You can do so by visiting the <a target="_blank" href="https://discordapp.com/developers/applications/">portal</a> and clicking on New Application.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/Creating-application.webp.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Create a new Discord application</em></p>
<p>After that, you need to give your application a name and click the Create button.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/create-bot.webp.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Give your bot whatever name you like - I've chosen "music-bot"</em></p>
<p>After that, select the bot tab and click on Add Bot.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/image-148.png" alt="Image" width="600" height="400" loading="lazy">
<em>Add your bot under the "Bot" tab</em></p>
<p>Now your bot is created and you can continue with inviting it to your server.</p>
<h3 id="heading-how-to-add-the-bot-to-your-server">How to add the bot to your server</h3>
<p>After creating your bot, you can invite it using the OAuth2 URL Generator.</p>
<p>For that, you need to navigate to the OAuth2 page and select bot in the scope tap.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/oauth-url-generator.png.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Selecting "bot" on the 0Auth2 Generator page</em></p>
<p>After that, you need to select the needed permissions to play music and read messages.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/bot-permissions.png.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Select the permissions you'll need - "read messages/view channels", "send messages", "manage messages", "add reactions", "use slash commands", "connect", and "speak.</em></p>
<p>Then you can copy your generated URL and paste it into your browser.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/bot-invite-url.png.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Copy the URL</em></p>
<p>After pasting it, add it to your server by selecting the server and clicking the authorize button.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/english-image.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-how-to-create-your-project">How to create your project</h3>
<p>Now you can start creating your project using the terminal.</p>
<p>First, create a directory and move into it. You can do so by using these two commands:</p>
<pre><code class="lang-bash">mkdir musicbot &amp;&amp; <span class="hljs-built_in">cd</span> musicbot
</code></pre>
<p>After that, create your project modules using the <code>npm init</code> command. After entering the command, you will be asked some questions – just answer them and continue.</p>
<p>Then you just need to create the two files you will work in.</p>
<pre><code>touch index.js &amp;&amp; touch config.json
</code></pre><p>Now, open your project in your text editor. I personally use VS Code and can open it with the following command:</p>
<pre><code class="lang-bash">code .
</code></pre>
<h3 id="heading-discordjs-basics">Discord.js basics</h3>
<p>Now you need to install some dependencies before we can get started.</p>
<pre><code>npm install discord.js@^<span class="hljs-number">12.5</span><span class="hljs-number">.3</span> ffmpeg fluent-ffmpeg @discordjs/opus ytdl-core --save
</code></pre><p>After the installation finishes, you can continue with writing your config.json file. Here, save the token of your bot and the prefix it should listen for.</p>
<pre><code class="lang-json">{
<span class="hljs-attr">"prefix"</span>: <span class="hljs-string">"!"</span>,
<span class="hljs-attr">"token"</span>: <span class="hljs-string">"your-token"</span>
}
</code></pre>
<p>To get your token, you need to visit the discord developer portal again and copy it from the bot section.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/get-token.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Get your bot token by clicking "Copy" and save it somewhere safe</em></p>
<p>Those are the only things you need to do in your <code>config.json</code> file. So now it's time to start writing your JavaScript code. </p>
<p>The article includes two versions: one for the new discord.js v13, which uses slash commands combined with the discord-player library to implement the music functionality, and one for discord.js v12.5.3, which implements the functionality without a library. </p>
<p>The older version is better for learning purposes, and the newer version works with the current discord.js and is a lot easier to implement – so choose which you prefer.</p>
<h2 id="heading-discord-bot-version-013"><strong>Discord Bot Version 0.13</strong></h2>
<p>Now you just need to install some more dependencies before we can get started.</p>
<pre><code>npm install discord.js discord-player @discordjs/opus
</code></pre><p>After installing the dependencies, import them in your dependencies.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">const</span> { Client, GuildMember, Intents } = <span class="hljs-built_in">require</span>(<span class="hljs-string">"discord.js"</span>);
<span class="hljs-keyword">const</span> { Player, QueryType } = <span class="hljs-built_in">require</span>(<span class="hljs-string">"discord-player"</span>);
<span class="hljs-keyword">const</span> config = <span class="hljs-built_in">require</span>(<span class="hljs-string">"./config.json"</span>);
</code></pre>
<p>After that, create your client and log in using your token.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">const</span> client = <span class="hljs-keyword">new</span> Client({
    <span class="hljs-attr">intents</span>: [Intents.FLAGS.GUILD_VOICE_STATES, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILDS]
});
client.login(config.token);
</code></pre>
<p>Now add some basic listeners that console.log when they get executed.</p>
<pre><code>client.once(<span class="hljs-string">'ready'</span>, <span class="hljs-function">() =&gt;</span> {
 <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'Ready!'</span>);
});

client.on(<span class="hljs-string">"error"</span>, <span class="hljs-built_in">console</span>.error);
client.on(<span class="hljs-string">"warn"</span>, <span class="hljs-built_in">console</span>.warn);
</code></pre><p>After that, you can start your bot using the <code>node</code> command and the bot should be online on Discord and print “Ready!” in the console.</p>
<pre><code class="lang-bash">node index.js
</code></pre>
<h3 id="heading-how-to-create-the-discord-player">How to create the Discord player</h3>
<p>Now that you've created the client for the discord bot, you can continue by initializing your player. This will allow you to play and manage music in your Discord channel.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">const</span> player = <span class="hljs-keyword">new</span> Player(client);
</code></pre>
<p>You can also add some error handlers that will be called if an error occurs.</p>
<pre><code class="lang-javascript">player.on(<span class="hljs-string">"error"</span>, <span class="hljs-function">(<span class="hljs-params">queue, error</span>) =&gt;</span> {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">`[<span class="hljs-subst">${queue.guild.name}</span>] Error emitted from the queue: <span class="hljs-subst">${error.message}</span>`</span>);
});
player.on(<span class="hljs-string">"connectionError"</span>, <span class="hljs-function">(<span class="hljs-params">queue, error</span>) =&gt;</span> {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">`[<span class="hljs-subst">${queue.guild.name}</span>] Error emitted from the connection: <span class="hljs-subst">${error.message}</span>`</span>);
});
</code></pre>
<p>The last thing you need to do is add listeners for the different player events like a song starting or being added.</p>
<pre><code class="lang-javascript">player.on(<span class="hljs-string">"trackStart"</span>, <span class="hljs-function">(<span class="hljs-params">queue, track</span>) =&gt;</span> {
    queue.metadata.send(<span class="hljs-string">`🎶 | Started playing: **<span class="hljs-subst">${track.title}</span>** in **<span class="hljs-subst">${queue.connection.channel.name}</span>**!`</span>);
});

player.on(<span class="hljs-string">"trackAdd"</span>, <span class="hljs-function">(<span class="hljs-params">queue, track</span>) =&gt;</span> {
    queue.metadata.send(<span class="hljs-string">`🎶 | Track **<span class="hljs-subst">${track.title}</span>** queued!`</span>);
});

player.on(<span class="hljs-string">"botDisconnect"</span>, <span class="hljs-function">(<span class="hljs-params">queue</span>) =&gt;</span> {
    queue.metadata.send(<span class="hljs-string">"❌ | I was manually disconnected from the voice channel, clearing queue!"</span>);
});

player.on(<span class="hljs-string">"channelEmpty"</span>, <span class="hljs-function">(<span class="hljs-params">queue</span>) =&gt;</span> {
    queue.metadata.send(<span class="hljs-string">"❌ | Nobody is in the voice channel, leaving..."</span>);
});

player.on(<span class="hljs-string">"queueEnd"</span>, <span class="hljs-function">(<span class="hljs-params">queue</span>) =&gt;</span> {
    queue.metadata.send(<span class="hljs-string">"✅ | Queue finished!"</span>);
});
</code></pre>
<p>In most cases, you just send a message into the Discord text channel using the <code>send()</code> function.</p>
<h3 id="heading-how-to-add-slash-commands">How to add slash commands</h3>
<p>After you've set up the player successfully, you can continue by adding your Slash commands to your client. This step lets Discord know which commands the bot can execute.</p>
<pre><code class="lang-javascript">client.on(<span class="hljs-string">"messageCreate"</span>, <span class="hljs-keyword">async</span> (message) =&gt; {
        <span class="hljs-keyword">if</span> (message.author.bot || !message.guild) <span class="hljs-keyword">return</span>;
    <span class="hljs-keyword">if</span> (!client.application?.owner) <span class="hljs-keyword">await</span> client.application?.fetch();
});
</code></pre>
<p>You can do this by implementing a simple <code>!deploy</code> command that saves your commands in the <code>guild.commands</code> variable of a message. </p>
<p>A slash command has a name, a description, and an optional options field that contains the command’s parameters. For example, the play command takes a song query as an argument.</p>
<pre><code class="lang-javascript">client.on(<span class="hljs-string">"messageCreate"</span>, <span class="hljs-keyword">async</span> (message) =&gt; {
        ...

        if (message.content === <span class="hljs-string">"!deploy"</span> &amp;&amp; message.author.id === client.application?.owner?.id) {
        <span class="hljs-keyword">await</span> message.guild.commands.set([
            {
                <span class="hljs-attr">name</span>: <span class="hljs-string">"play"</span>,
                <span class="hljs-attr">description</span>: <span class="hljs-string">"Plays a song from youtube"</span>,
                <span class="hljs-attr">options</span>: [
                    {
                        <span class="hljs-attr">name</span>: <span class="hljs-string">"query"</span>,
                        <span class="hljs-attr">type</span>: <span class="hljs-string">"STRING"</span>,
                        <span class="hljs-attr">description</span>: <span class="hljs-string">"The song you want to play"</span>,
                        <span class="hljs-attr">required</span>: <span class="hljs-literal">true</span>
                    }
                ]
            },
            {
                <span class="hljs-attr">name</span>: <span class="hljs-string">"skip"</span>,
                <span class="hljs-attr">description</span>: <span class="hljs-string">"Skip to the current song"</span>
            },
            {
                <span class="hljs-attr">name</span>: <span class="hljs-string">"queue"</span>,
                <span class="hljs-attr">description</span>: <span class="hljs-string">"See the queue"</span>
            },
            {
                <span class="hljs-attr">name</span>: <span class="hljs-string">"stop"</span>,
                <span class="hljs-attr">description</span>: <span class="hljs-string">"Stop the player"</span>
            },
        ]);

        <span class="hljs-keyword">await</span> message.reply(<span class="hljs-string">"Deployed!"</span>);
    }
});
</code></pre>
<p>After entering <code>!deploy</code> in your Discord text chat, the slash commands will be added to your application. When typing <code>/</code> into the chat you should see something similar to this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/02/bot-slash-commands.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Example of using the slash commands</em></p>
<h3 id="heading-how-to-implement-interactions">How to implement interactions</h3>
<p>Once the interactions (slash commands) are defined, now you'll need to implement them. </p>
<p>All slash commands trigger the <code>interactionCreate</code> event and can be implemented inside the async function below. Before executing any functionality, run a few conditionals to check if the user is allowed to perform the given functionality.</p>
<pre><code class="lang-javascript">client.on(<span class="hljs-string">"interactionCreate"</span>, <span class="hljs-keyword">async</span> (interaction) =&gt; {
    <span class="hljs-keyword">if</span> (!interaction.isCommand() || !interaction.guildId) <span class="hljs-keyword">return</span>;

    <span class="hljs-keyword">if</span> (!(interaction.member <span class="hljs-keyword">instanceof</span> GuildMember) || !interaction.member.voice.channel) {
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.reply({ <span class="hljs-attr">content</span>: <span class="hljs-string">"You are not in a voice channel!"</span>, <span class="hljs-attr">ephemeral</span>: <span class="hljs-literal">true</span> });
    }

    <span class="hljs-keyword">if</span> (interaction.guild.me.voice.channelId &amp;&amp; interaction.member.voice.channelId !== interaction.guild.me.voice.channelId) {
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.reply({ <span class="hljs-attr">content</span>: <span class="hljs-string">"You are not in my voice channel!"</span>, <span class="hljs-attr">ephemeral</span>: <span class="hljs-literal">true</span> });
    }
});
</code></pre>
<p>After that, check which command is being executed by matching the <code>commandName</code> with the name of the commands you defined above.</p>
<pre><code class="lang-javascript">client.on(<span class="hljs-string">"interactionCreate"</span>, <span class="hljs-keyword">async</span> (interaction) =&gt; {
    ...

        if (interaction.commandName === <span class="hljs-string">"play"</span>) {
            <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> Implement play command</span>
        }
});
</code></pre>
<p>You can then add the implementation inside of the <code>if</code> statement.</p>
<h3 id="heading-how-to-play-songs">How to play songs</h3>
<p>The play command requires you to search for the provided song and add the result to the current queue of songs. </p>
<p>Let’s start by retrieving the user-provided query using the <code>options.get()</code> function. After that you can use the <code>player.search()</code> function to search for the desired song.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">if</span> (interaction.commandName === <span class="hljs-string">"play"</span>) {
    <span class="hljs-keyword">await</span> interaction.deferReply();

    <span class="hljs-keyword">const</span> query = interaction.options.get(<span class="hljs-string">"query"</span>).value;
    <span class="hljs-keyword">const</span> searchResult = <span class="hljs-keyword">await</span> player
        .search(query, {
            <span class="hljs-attr">requestedBy</span>: interaction.user,
            <span class="hljs-attr">searchEngine</span>: QueryType.AUTO
        })
        .catch(<span class="hljs-function">() =&gt;</span> {});
    <span class="hljs-keyword">if</span> (!searchResult || !searchResult.tracks.length) <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.followUp({ <span class="hljs-attr">content</span>: <span class="hljs-string">"No results were found!"</span> });
}
</code></pre>
<p>Now that you have the song, you can create a queue for the songs (if there is already a queue, the <code>createQueue</code> function will return the existing one). </p>
<p>Once the queue is created, you can try joining the user’s voice channel. If that is successful, add the song to the current queue using the <code>addTracks</code> function.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">if</span> (interaction.commandName === <span class="hljs-string">"play"</span>) {
    ...

        const queue = <span class="hljs-keyword">await</span> player.createQueue(interaction.guild, {
        <span class="hljs-attr">metadata</span>: interaction.channel
    });

    <span class="hljs-keyword">try</span> {
        <span class="hljs-keyword">if</span> (!queue.connection) <span class="hljs-keyword">await</span> queue.connect(interaction.member.voice.channel);
    } <span class="hljs-keyword">catch</span> {
        <span class="hljs-keyword">void</span> player.deleteQueue(interaction.guildId);
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.followUp({ <span class="hljs-attr">content</span>: <span class="hljs-string">"Could not join your voice channel!"</span> });
    }

    <span class="hljs-keyword">await</span> interaction.followUp({ <span class="hljs-attr">content</span>: <span class="hljs-string">`⏱ | Loading your <span class="hljs-subst">${searchResult.playlist ? <span class="hljs-string">"playlist"</span> : <span class="hljs-string">"track"</span>}</span>...`</span> });
    searchResult.playlist ? queue.addTracks(searchResult.tracks) : queue.addTrack(searchResult.tracks[<span class="hljs-number">0</span>]);
    <span class="hljs-keyword">if</span> (!queue.playing) <span class="hljs-keyword">await</span> queue.play();
}
</code></pre>
<p>Lastly, if the queue isn’t already playing, let’s start it using the <code>play()</code> function.</p>
<h3 id="heading-how-to-skip-songs">How to skip songs</h3>
<p>Skipping is quite easy – you can do it by calling the <code>skip()</code> function on the queue.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">if</span> (interaction.commandName === <span class="hljs-string">"skip"</span>) {
    <span class="hljs-keyword">await</span> interaction.deferReply();
    <span class="hljs-keyword">const</span> queue = player.getQueue(interaction.guildId);
    <span class="hljs-keyword">if</span> (!queue || !queue.playing) <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.followUp({ <span class="hljs-attr">content</span>: <span class="hljs-string">"❌ | No music is being played!"</span> });
    <span class="hljs-keyword">const</span> currentTrack = queue.current;
    <span class="hljs-keyword">const</span> success = queue.skip();
    <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.followUp({
        <span class="hljs-attr">content</span>: success ? <span class="hljs-string">`✅ | Skipped **<span class="hljs-subst">${currentTrack}</span>**!`</span> : <span class="hljs-string">"❌ | Something went wrong!"</span>
    });
}
</code></pre>
<p>If the action is successful, you can write a message to the Discord text channel using <code>interaction.followUp()</code>.</p>
<h3 id="heading-how-to-stop-songs">How to stop songs</h3>
<p>The stop functionality will remove all the songs from the queue and the bot will leave the voice channel. You can do this by destroying the current queue which automatically makes the bot leave the voice channel (unless you configure it otherwise in the player configuration).</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (interaction.commandName === <span class="hljs-string">"stop"</span>) {
        <span class="hljs-keyword">await</span> interaction.deferReply();
        <span class="hljs-keyword">const</span> queue = player.getQueue(interaction.guildId);
        <span class="hljs-keyword">if</span> (!queue || !queue.playing) <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.followUp({ <span class="hljs-attr">content</span>: <span class="hljs-string">"❌ | No music is being played!"</span> });
        queue.destroy();
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.followUp({ <span class="hljs-attr">content</span>: <span class="hljs-string">"🛑 | Stopped the player!"</span> });
    }
</code></pre>
<h3 id="heading-complete-source-code-for-the-indexjs">Complete source code for the index.js:</h3>
<p>Here you can get the complete source code for the music bot:</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">const</span> { Client, GuildMember, Intents } = <span class="hljs-built_in">require</span>(<span class="hljs-string">"discord.js"</span>);
<span class="hljs-keyword">const</span> { Player, QueryType } = <span class="hljs-built_in">require</span>(<span class="hljs-string">"discord-player"</span>);
<span class="hljs-keyword">const</span> config = <span class="hljs-built_in">require</span>(<span class="hljs-string">"./config.json"</span>);

<span class="hljs-keyword">const</span> client = <span class="hljs-keyword">new</span> Client({
    <span class="hljs-attr">intents</span>: [Intents.FLAGS.GUILD_VOICE_STATES, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILDS]
});

client.on(<span class="hljs-string">"ready"</span>, <span class="hljs-function">() =&gt;</span> {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">"Bot is online!"</span>);
    client.user.setActivity({
        <span class="hljs-attr">name</span>: <span class="hljs-string">"🎶 | Music Time"</span>,
        <span class="hljs-attr">type</span>: <span class="hljs-string">"LISTENING"</span>
    });
});
client.on(<span class="hljs-string">"error"</span>, <span class="hljs-built_in">console</span>.error);
client.on(<span class="hljs-string">"warn"</span>, <span class="hljs-built_in">console</span>.warn);

<span class="hljs-keyword">const</span> player = <span class="hljs-keyword">new</span> Player(client);

player.on(<span class="hljs-string">"error"</span>, <span class="hljs-function">(<span class="hljs-params">queue, error</span>) =&gt;</span> {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">`[<span class="hljs-subst">${queue.guild.name}</span>] Error emitted from the queue: <span class="hljs-subst">${error.message}</span>`</span>);
});
player.on(<span class="hljs-string">"connectionError"</span>, <span class="hljs-function">(<span class="hljs-params">queue, error</span>) =&gt;</span> {
    <span class="hljs-built_in">console</span>.log(<span class="hljs-string">`[<span class="hljs-subst">${queue.guild.name}</span>] Error emitted from the connection: <span class="hljs-subst">${error.message}</span>`</span>);
});

player.on(<span class="hljs-string">"trackStart"</span>, <span class="hljs-function">(<span class="hljs-params">queue, track</span>) =&gt;</span> {
    queue.metadata.send(<span class="hljs-string">`🎶 | Started playing: **<span class="hljs-subst">${track.title}</span>** in **<span class="hljs-subst">${queue.connection.channel.name}</span>**!`</span>);
});

player.on(<span class="hljs-string">"trackAdd"</span>, <span class="hljs-function">(<span class="hljs-params">queue, track</span>) =&gt;</span> {
    queue.metadata.send(<span class="hljs-string">`🎶 | Track **<span class="hljs-subst">${track.title}</span>** queued!`</span>);
});

player.on(<span class="hljs-string">"botDisconnect"</span>, <span class="hljs-function">(<span class="hljs-params">queue</span>) =&gt;</span> {
    queue.metadata.send(<span class="hljs-string">"❌ | I was manually disconnected from the voice channel, clearing queue!"</span>);
});

player.on(<span class="hljs-string">"channelEmpty"</span>, <span class="hljs-function">(<span class="hljs-params">queue</span>) =&gt;</span> {
    queue.metadata.send(<span class="hljs-string">"❌ | Nobody is in the voice channel, leaving..."</span>);
});

player.on(<span class="hljs-string">"queueEnd"</span>, <span class="hljs-function">(<span class="hljs-params">queue</span>) =&gt;</span> {
    queue.metadata.send(<span class="hljs-string">"✅ | Queue finished!"</span>);
});

client.on(<span class="hljs-string">"messageCreate"</span>, <span class="hljs-keyword">async</span> (message) =&gt; {
    <span class="hljs-keyword">if</span> (message.author.bot || !message.guild) <span class="hljs-keyword">return</span>;
    <span class="hljs-keyword">if</span> (!client.application?.owner) <span class="hljs-keyword">await</span> client.application?.fetch();

    <span class="hljs-keyword">if</span> (message.content === <span class="hljs-string">"!deploy"</span> &amp;&amp; message.author.id === client.application?.owner?.id) {
        <span class="hljs-keyword">await</span> message.guild.commands.set([
            {
                <span class="hljs-attr">name</span>: <span class="hljs-string">"play"</span>,
                <span class="hljs-attr">description</span>: <span class="hljs-string">"Plays a song from youtube"</span>,
                <span class="hljs-attr">options</span>: [
                    {
                        <span class="hljs-attr">name</span>: <span class="hljs-string">"query"</span>,
                        <span class="hljs-attr">type</span>: <span class="hljs-string">"STRING"</span>,
                        <span class="hljs-attr">description</span>: <span class="hljs-string">"The song you want to play"</span>,
                        <span class="hljs-attr">required</span>: <span class="hljs-literal">true</span>
                    }
                ]
            },
            {
                <span class="hljs-attr">name</span>: <span class="hljs-string">"skip"</span>,
                <span class="hljs-attr">description</span>: <span class="hljs-string">"Skip to the current song"</span>
            },
            {
                <span class="hljs-attr">name</span>: <span class="hljs-string">"stop"</span>,
                <span class="hljs-attr">description</span>: <span class="hljs-string">"Stop the player"</span>
            },
        ]);

        <span class="hljs-keyword">await</span> message.reply(<span class="hljs-string">"Deployed!"</span>);
    }
});

client.on(<span class="hljs-string">"interactionCreate"</span>, <span class="hljs-keyword">async</span> (interaction) =&gt; {
    <span class="hljs-keyword">if</span> (!interaction.isCommand() || !interaction.guildId) <span class="hljs-keyword">return</span>;

    <span class="hljs-keyword">if</span> (!(interaction.member <span class="hljs-keyword">instanceof</span> GuildMember) || !interaction.member.voice.channel) {
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.reply({ <span class="hljs-attr">content</span>: <span class="hljs-string">"You are not in a voice channel!"</span>, <span class="hljs-attr">ephemeral</span>: <span class="hljs-literal">true</span> });
    }

    <span class="hljs-keyword">if</span> (interaction.guild.me.voice.channelId &amp;&amp; interaction.member.voice.channelId !== interaction.guild.me.voice.channelId) {
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.reply({ <span class="hljs-attr">content</span>: <span class="hljs-string">"You are not in my voice channel!"</span>, <span class="hljs-attr">ephemeral</span>: <span class="hljs-literal">true</span> });
    }

    <span class="hljs-keyword">if</span> (interaction.commandName === <span class="hljs-string">"play"</span>) {
        <span class="hljs-keyword">await</span> interaction.deferReply();

        <span class="hljs-keyword">const</span> query = interaction.options.get(<span class="hljs-string">"query"</span>).value;
        <span class="hljs-keyword">const</span> searchResult = <span class="hljs-keyword">await</span> player
            .search(query, {
                <span class="hljs-attr">requestedBy</span>: interaction.user,
                <span class="hljs-attr">searchEngine</span>: QueryType.AUTO
            })
            .catch(<span class="hljs-function">() =&gt;</span> {});
        <span class="hljs-keyword">if</span> (!searchResult || !searchResult.tracks.length) <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.followUp({ <span class="hljs-attr">content</span>: <span class="hljs-string">"No results were found!"</span> });

        <span class="hljs-keyword">const</span> queue = <span class="hljs-keyword">await</span> player.createQueue(interaction.guild, {
            <span class="hljs-attr">metadata</span>: interaction.channel
        });

        <span class="hljs-keyword">try</span> {
            <span class="hljs-keyword">if</span> (!queue.connection) <span class="hljs-keyword">await</span> queue.connect(interaction.member.voice.channel);
        } <span class="hljs-keyword">catch</span> {
            <span class="hljs-keyword">void</span> player.deleteQueue(interaction.guildId);
            <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.followUp({ <span class="hljs-attr">content</span>: <span class="hljs-string">"Could not join your voice channel!"</span> });
        }

        <span class="hljs-keyword">await</span> interaction.followUp({ <span class="hljs-attr">content</span>: <span class="hljs-string">`⏱ | Loading your <span class="hljs-subst">${searchResult.playlist ? <span class="hljs-string">"playlist"</span> : <span class="hljs-string">"track"</span>}</span>...`</span> });
        searchResult.playlist ? queue.addTracks(searchResult.tracks) : queue.addTrack(searchResult.tracks[<span class="hljs-number">0</span>]);
        <span class="hljs-keyword">if</span> (!queue.playing) <span class="hljs-keyword">await</span> queue.play();
    } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (interaction.commandName === <span class="hljs-string">"skip"</span>) {
        <span class="hljs-keyword">await</span> interaction.deferReply();
        <span class="hljs-keyword">const</span> queue = player.getQueue(interaction.guildId);
        <span class="hljs-keyword">if</span> (!queue || !queue.playing) <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.followUp({ <span class="hljs-attr">content</span>: <span class="hljs-string">"❌ | No music is being played!"</span> });
        <span class="hljs-keyword">const</span> currentTrack = queue.current;
        <span class="hljs-keyword">const</span> success = queue.skip();
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.followUp({
            <span class="hljs-attr">content</span>: success ? <span class="hljs-string">`✅ | Skipped **<span class="hljs-subst">${currentTrack}</span>**!`</span> : <span class="hljs-string">"❌ | Something went wrong!"</span>
        });
    } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (interaction.commandName === <span class="hljs-string">"stop"</span>) {
        <span class="hljs-keyword">await</span> interaction.deferReply();
        <span class="hljs-keyword">const</span> queue = player.getQueue(interaction.guildId);
        <span class="hljs-keyword">if</span> (!queue || !queue.playing) <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.followUp({ <span class="hljs-attr">content</span>: <span class="hljs-string">"❌ | No music is being played!"</span> });
        queue.destroy();
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">void</span> interaction.followUp({ <span class="hljs-attr">content</span>: <span class="hljs-string">"🛑 | Stopped the player!"</span> });
    } <span class="hljs-keyword">else</span> {
        interaction.reply({
            <span class="hljs-attr">content</span>: <span class="hljs-string">"Unknown command!"</span>,
            <span class="hljs-attr">ephemeral</span>: <span class="hljs-literal">true</span>
        });
    }
});

client.login(config.token);
</code></pre>
<h2 id="heading-discord-bot-version-012"><strong>Discord Bot Version 0.12</strong></h2>
<p>Now you'll just need to install some dependencies before we can get started.</p>
<pre><code>npm install discord.js ffmpeg fluent-ffmpeg @discordjs/opus ytdl-core --save
</code></pre><p>After installing the dependencies, import them in your dependencies.</p>
<pre><code><span class="hljs-keyword">const</span> Discord = <span class="hljs-built_in">require</span>(<span class="hljs-string">'discord.js'</span>);
<span class="hljs-keyword">const</span> {
    prefix,
    token,
} = <span class="hljs-built_in">require</span>(<span class="hljs-string">'./config.json'</span>);
<span class="hljs-keyword">const</span> ytdl = <span class="hljs-built_in">require</span>(<span class="hljs-string">'ytdl-core'</span>);
</code></pre><p>After that, create your client and login using your token.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">const</span> client = <span class="hljs-keyword">new</span> Discord.Client();
client.login(token);
</code></pre>
<p>Now let’s add some basic listeners that console.log when they get executed.</p>
<pre><code>client.once(<span class="hljs-string">'ready'</span>, <span class="hljs-function">() =&gt;</span> {
 <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'Ready!'</span>);
});
client.once(<span class="hljs-string">'reconnecting'</span>, <span class="hljs-function">() =&gt;</span> {
 <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'Reconnecting!'</span>);
});
client.once(<span class="hljs-string">'disconnect'</span>, <span class="hljs-function">() =&gt;</span> {
 <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'Disconnect!'</span>);
});
</code></pre><p>After that, you can start your bot using the <code>node</code> command and it should be online on Discord and print “Ready!” in the console.</p>
<pre><code class="lang-bash">node index.js
</code></pre>
<h3 id="heading-how-to-read-messages">How to read messages</h3>
<p>Now that your bot is on your server and able to go online, you can start reading chat messages and responding to them.</p>
<p>To read messages, you only need to write one simple function:</p>
<pre><code class="lang-javascript">client.on(<span class="hljs-string">'message'</span>, <span class="hljs-keyword">async</span> message =&gt; {

}
</code></pre>
<p>Here, you're creating a listener for the message event, getting the message, and saving it into a message object if it's triggered.</p>
<p>Now you need to check if the message is from your own bot and ignore it if it is.</p>
<pre><code><span class="hljs-keyword">if</span> (message.author.bot) <span class="hljs-keyword">return</span>;
</code></pre><p>In this line, you're checking if the author of the message is your bot and returning if it is.</p>
<p>After that, check if the message starts with the prefix you defined earlier and return if it doesn’t.</p>
<pre><code><span class="hljs-keyword">if</span> (!message.content.startsWith(prefix)) <span class="hljs-keyword">return</span>;
</code></pre><p>After that, you can check which command you need to execute. You can do so using some simple if statements:</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">const</span> serverQueue = queue.get(message.guild.id);

<span class="hljs-keyword">if</span> (message.content.startsWith(<span class="hljs-string">`<span class="hljs-subst">${prefix}</span>play`</span>)) {
    execute(message, serverQueue);
    <span class="hljs-keyword">return</span>;
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (message.content.startsWith(<span class="hljs-string">`<span class="hljs-subst">${prefix}</span>skip`</span>)) {
    skip(message, serverQueue);
    <span class="hljs-keyword">return</span>;
} <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (message.content.startsWith(<span class="hljs-string">`<span class="hljs-subst">${prefix}</span>stop`</span>)) {
    stop(message, serverQueue);
    <span class="hljs-keyword">return</span>;
} <span class="hljs-keyword">else</span> {
    message.channel.send(<span class="hljs-string">"You need to enter a valid command!"</span>);
}
</code></pre>
<p>In this code block, you're checking which command to execute and calling the command. If the input command isn’t valid, you're writing an error message into the chat using the <code>send()</code> function.</p>
<p>Now that you know which command you need to execute, you can start implementing these commands.</p>
<h3 id="heading-how-to-add-songs">How to add songs</h3>
<p>Let’s start by adding the play command. For that, you'll need a song and a guild (a guild represents an isolated collection of users and channels and is often referred to as a server). You'll also need the ytdl library you installed earlier.</p>
<p>First, create a map with the name of the queue where you save all the songs you type in the chat.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">const</span> queue = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Map</span>();
</code></pre>
<p>After that, create an async function called execute and check if the user is in a voice chat and if the bot has the right permissions. If not, write an error message and return.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">execute</span>(<span class="hljs-params">message, serverQueue</span>) </span>{
  <span class="hljs-keyword">const</span> args = message.content.split(<span class="hljs-string">" "</span>);

  <span class="hljs-keyword">const</span> voiceChannel = message.member.voice.channel;
  <span class="hljs-keyword">if</span> (!voiceChannel)
    <span class="hljs-keyword">return</span> message.channel.send(
      <span class="hljs-string">"You need to be in a voice channel to play music!"</span>
    );
  <span class="hljs-keyword">const</span> permissions = voiceChannel.permissionsFor(message.client.user);
  <span class="hljs-keyword">if</span> (!permissions.has(<span class="hljs-string">"CONNECT"</span>) || !permissions.has(<span class="hljs-string">"SPEAK"</span>)) {
    <span class="hljs-keyword">return</span> message.channel.send(
      <span class="hljs-string">"I need the permissions to join and speak in your voice channel!"</span>
    );
  }
}
</code></pre>
<p>Now you can continue with getting the song info and saving it into a song object. For that, use your <code>ytdl</code> library which gets the song information from the YouTube link.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">const</span> songInfo = <span class="hljs-keyword">await</span> ytdl.getInfo(args[<span class="hljs-number">1</span>]);
<span class="hljs-keyword">const</span> song = {
 <span class="hljs-attr">title</span>: songInfo.title,
 <span class="hljs-attr">url</span>: songInfo.video_url,
};
</code></pre>
<p>This will get the information of the song using the <code>ytdl</code> library you installed earlier. Then, save the information you need into a song object.</p>
<p>After saving the song info, you just need to create a contract you can add to your queue. </p>
<p>To do so, first check if your serverQueue is already defined which means that music is already playing. If so, add the song to your existing serverQueue and send a success message. If not, create it and try to join the voice channel and start playing music.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">if</span> (!serverQueue) {

}<span class="hljs-keyword">else</span> {
 serverQueue.songs.push(song);
 <span class="hljs-built_in">console</span>.log(serverQueue.songs);
 <span class="hljs-keyword">return</span> message.channel.send(<span class="hljs-string">`<span class="hljs-subst">${song.title}</span> has been added to the queue!`</span>);
}
</code></pre>
<p>Here, check if the <code>serverQueue</code>is empty and add the song to it if it’s not. Now you just need to create your contract if the <code>serverQueue</code> is null.</p>
<pre><code class="lang-javascript"><span class="hljs-comment">// Creating the contract for our queue</span>
<span class="hljs-keyword">const</span> queueContruct = {
 <span class="hljs-attr">textChannel</span>: message.channel,
 <span class="hljs-attr">voiceChannel</span>: voiceChannel,
 <span class="hljs-attr">connection</span>: <span class="hljs-literal">null</span>,
 <span class="hljs-attr">songs</span>: [],
 <span class="hljs-attr">volume</span>: <span class="hljs-number">5</span>,
 <span class="hljs-attr">playing</span>: <span class="hljs-literal">true</span>,
};
<span class="hljs-comment">// Setting the queue using our contract</span>
queue.set(message.guild.id, queueContruct);
<span class="hljs-comment">// Pushing the song to our songs array</span>
queueContruct.songs.push(song);

<span class="hljs-keyword">try</span> {
 <span class="hljs-comment">// Here we try to join the voicechat and save our connection into our object.</span>
 <span class="hljs-keyword">var</span> connection = <span class="hljs-keyword">await</span> voiceChannel.join();
 queueContruct.connection = connection;
 <span class="hljs-comment">// Calling the play function to start a song</span>
 play(message.guild, queueContruct.songs[<span class="hljs-number">0</span>]);
} <span class="hljs-keyword">catch</span> (err) {
 <span class="hljs-comment">// Printing the error message if the bot fails to join the voicechat</span>
 <span class="hljs-built_in">console</span>.log(err);
 queue.delete(message.guild.id);
 <span class="hljs-keyword">return</span> message.channel.send(err);
}
</code></pre>
<p>In this code block, you created a contract and added your song to the songs array. After that, you tried to join the voice chat of the user and called your <code>play()</code> function you'll implement after that.</p>
<h3 id="heading-how-to-play-songs-1">How to play songs</h3>
<p>Now that you can add our songs to your queue and create a contract if there isn’t one yet, you can implement the play functionality.</p>
<p>First, create a function called play which takes two parameters (the guild and the song you want to play) and checks if the song is empty. If so, just leave the voice channel and delete the queue.</p>
<pre><code class="lang-javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">play</span>(<span class="hljs-params">guild, song</span>) </span>{
  <span class="hljs-keyword">const</span> serverQueue = queue.get(guild.id);
  <span class="hljs-keyword">if</span> (!song) {
    serverQueue.voiceChannel.leave();
    queue.delete(guild.id);
    <span class="hljs-keyword">return</span>;
  }
}
</code></pre>
<p>After that, start playing your song using the <code>play()</code> function of the connection and passing the URL of your song.</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">const</span> dispatcher = serverQueue.connection
    .play(ytdl(song.url))
    .on(<span class="hljs-string">"finish"</span>, <span class="hljs-function">() =&gt;</span> {
        serverQueue.songs.shift();
        play(guild, serverQueue.songs[<span class="hljs-number">0</span>]);
    })
    .on(<span class="hljs-string">"error"</span>, <span class="hljs-function"><span class="hljs-params">error</span> =&gt;</span> <span class="hljs-built_in">console</span>.error(error));
dispatcher.setVolumeLogarithmic(serverQueue.volume / <span class="hljs-number">5</span>);
serverQueue.textChannel.send(<span class="hljs-string">`Start playing: **<span class="hljs-subst">${song.title}</span>**`</span>);
</code></pre>
<p>Here, you created a stream and passed it the URL of our song. You also added two listeners that handle the end and error events.</p>
<p><strong>Note:</strong> This is a recursive function which means that it calls itself over and over again. We're using recursion so it plays the next song when the song is finished.</p>
<p>Now you're ready to play a song by just typing the !play URL in the chat.</p>
<h3 id="heading-how-to-skip-songs-1">How to skip songs</h3>
<p>Now you can implement the skipping functionality. For that, you just need to end the dispatcher you created in your <code>play()</code> function so it starts the next song.</p>
<pre><code class="lang-javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">skip</span>(<span class="hljs-params">message, serverQueue</span>) </span>{
  <span class="hljs-keyword">if</span> (!message.member.voice.channel)
    <span class="hljs-keyword">return</span> message.channel.send(
      <span class="hljs-string">"You have to be in a voice channel to stop the music!"</span>
    );
  <span class="hljs-keyword">if</span> (!serverQueue)
    <span class="hljs-keyword">return</span> message.channel.send(<span class="hljs-string">"There is no song that I could skip!"</span>);
  serverQueue.connection.dispatcher.end();
}
</code></pre>
<p>Here, you're checking if the user that typed the command is in a voice channel and if there is a song to skip.</p>
<h3 id="heading-how-to-stop-songs-1">How to stop songs</h3>
<p>The <code>stop()</code> function is almost the same as <code>skip()</code>, except that you clear the songs array which will make your bot delete the queue and leave the voice chat.</p>
<pre><code class="lang-javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">stop</span>(<span class="hljs-params">message, serverQueue</span>) </span>{
  <span class="hljs-keyword">if</span> (!message.member.voice.channel)
    <span class="hljs-keyword">return</span> message.channel.send(
      <span class="hljs-string">"You have to be in a voice channel to stop the music!"</span>
    );
  serverQueue.songs = [];
  serverQueue.connection.dispatcher.end();
}
</code></pre>
<h3 id="heading-complete-source-code-for-the-indexjs-1">Complete source code for the index.js:</h3>
<p>Here you can get the complete source code for the music bot:</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">const</span> Discord = <span class="hljs-built_in">require</span>(<span class="hljs-string">"discord.js"</span>);
<span class="hljs-keyword">const</span> { prefix, token } = <span class="hljs-built_in">require</span>(<span class="hljs-string">"./config.json"</span>);
<span class="hljs-keyword">const</span> ytdl = <span class="hljs-built_in">require</span>(<span class="hljs-string">"ytdl-core"</span>);

<span class="hljs-keyword">const</span> client = <span class="hljs-keyword">new</span> Discord.Client();

<span class="hljs-keyword">const</span> queue = <span class="hljs-keyword">new</span> <span class="hljs-built_in">Map</span>();

client.once(<span class="hljs-string">"ready"</span>, <span class="hljs-function">() =&gt;</span> {
  <span class="hljs-built_in">console</span>.log(<span class="hljs-string">"Ready!"</span>);
});

client.once(<span class="hljs-string">"reconnecting"</span>, <span class="hljs-function">() =&gt;</span> {
  <span class="hljs-built_in">console</span>.log(<span class="hljs-string">"Reconnecting!"</span>);
});

client.once(<span class="hljs-string">"disconnect"</span>, <span class="hljs-function">() =&gt;</span> {
  <span class="hljs-built_in">console</span>.log(<span class="hljs-string">"Disconnect!"</span>);
});

client.on(<span class="hljs-string">"message"</span>, <span class="hljs-keyword">async</span> message =&gt; {
  <span class="hljs-keyword">if</span> (message.author.bot) <span class="hljs-keyword">return</span>;
  <span class="hljs-keyword">if</span> (!message.content.startsWith(prefix)) <span class="hljs-keyword">return</span>;

  <span class="hljs-keyword">const</span> serverQueue = queue.get(message.guild.id);

  <span class="hljs-keyword">if</span> (message.content.startsWith(<span class="hljs-string">`<span class="hljs-subst">${prefix}</span>play`</span>)) {
    execute(message, serverQueue);
    <span class="hljs-keyword">return</span>;
  } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (message.content.startsWith(<span class="hljs-string">`<span class="hljs-subst">${prefix}</span>skip`</span>)) {
    skip(message, serverQueue);
    <span class="hljs-keyword">return</span>;
  } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (message.content.startsWith(<span class="hljs-string">`<span class="hljs-subst">${prefix}</span>stop`</span>)) {
    stop(message, serverQueue);
    <span class="hljs-keyword">return</span>;
  } <span class="hljs-keyword">else</span> {
    message.channel.send(<span class="hljs-string">"You need to enter a valid command!"</span>);
  }
});

<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">execute</span>(<span class="hljs-params">message, serverQueue</span>) </span>{
  <span class="hljs-keyword">const</span> args = message.content.split(<span class="hljs-string">" "</span>);

  <span class="hljs-keyword">const</span> voiceChannel = message.member.voice.channel;
  <span class="hljs-keyword">if</span> (!voiceChannel)
    <span class="hljs-keyword">return</span> message.channel.send(
      <span class="hljs-string">"You need to be in a voice channel to play music!"</span>
    );
  <span class="hljs-keyword">const</span> permissions = voiceChannel.permissionsFor(message.client.user);
  <span class="hljs-keyword">if</span> (!permissions.has(<span class="hljs-string">"CONNECT"</span>) || !permissions.has(<span class="hljs-string">"SPEAK"</span>)) {
    <span class="hljs-keyword">return</span> message.channel.send(
      <span class="hljs-string">"I need the permissions to join and speak in your voice channel!"</span>
    );
  }

  <span class="hljs-keyword">const</span> songInfo = <span class="hljs-keyword">await</span> ytdl.getInfo(args[<span class="hljs-number">1</span>]);
  <span class="hljs-keyword">const</span> song = {
    <span class="hljs-attr">title</span>: songInfo.title,
    <span class="hljs-attr">url</span>: songInfo.video_url
  };

  <span class="hljs-keyword">if</span> (!serverQueue) {
    <span class="hljs-keyword">const</span> queueContruct = {
      <span class="hljs-attr">textChannel</span>: message.channel,
      <span class="hljs-attr">voiceChannel</span>: voiceChannel,
      <span class="hljs-attr">connection</span>: <span class="hljs-literal">null</span>,
      <span class="hljs-attr">songs</span>: [],
      <span class="hljs-attr">volume</span>: <span class="hljs-number">5</span>,
      <span class="hljs-attr">playing</span>: <span class="hljs-literal">true</span>
    };

    queue.set(message.guild.id, queueContruct);

    queueContruct.songs.push(song);

    <span class="hljs-keyword">try</span> {
      <span class="hljs-keyword">var</span> connection = <span class="hljs-keyword">await</span> voiceChannel.join();
      queueContruct.connection = connection;
      play(message.guild, queueContruct.songs[<span class="hljs-number">0</span>]);
    } <span class="hljs-keyword">catch</span> (err) {
      <span class="hljs-built_in">console</span>.log(err);
      queue.delete(message.guild.id);
      <span class="hljs-keyword">return</span> message.channel.send(err);
    }
  } <span class="hljs-keyword">else</span> {
    serverQueue.songs.push(song);
    <span class="hljs-keyword">return</span> message.channel.send(<span class="hljs-string">`<span class="hljs-subst">${song.title}</span> has been added to the queue!`</span>);
  }
}

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">skip</span>(<span class="hljs-params">message, serverQueue</span>) </span>{
  <span class="hljs-keyword">if</span> (!message.member.voice.channel)
    <span class="hljs-keyword">return</span> message.channel.send(
      <span class="hljs-string">"You have to be in a voice channel to stop the music!"</span>
    );
  <span class="hljs-keyword">if</span> (!serverQueue)
    <span class="hljs-keyword">return</span> message.channel.send(<span class="hljs-string">"There is no song that I could skip!"</span>);
  serverQueue.connection.dispatcher.end();
}

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">stop</span>(<span class="hljs-params">message, serverQueue</span>) </span>{
  <span class="hljs-keyword">if</span> (!message.member.voice.channel)
    <span class="hljs-keyword">return</span> message.channel.send(
      <span class="hljs-string">"You have to be in a voice channel to stop the music!"</span>
    );
  serverQueue.songs = [];
  serverQueue.connection.dispatcher.end();
}

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">play</span>(<span class="hljs-params">guild, song</span>) </span>{
  <span class="hljs-keyword">const</span> serverQueue = queue.get(guild.id);
  <span class="hljs-keyword">if</span> (!song) {
    serverQueue.voiceChannel.leave();
    queue.delete(guild.id);
    <span class="hljs-keyword">return</span>;
  }

  <span class="hljs-keyword">const</span> dispatcher = serverQueue.connection
    .play(ytdl(song.url))
    .on(<span class="hljs-string">"finish"</span>, <span class="hljs-function">() =&gt;</span> {
      serverQueue.songs.shift();
      play(guild, serverQueue.songs[<span class="hljs-number">0</span>]);
    })
    .on(<span class="hljs-string">"error"</span>, <span class="hljs-function"><span class="hljs-params">error</span> =&gt;</span> <span class="hljs-built_in">console</span>.error(error));
  dispatcher.setVolumeLogarithmic(serverQueue.volume / <span class="hljs-number">5</span>);
  serverQueue.textChannel.send(<span class="hljs-string">`Start playing: **<span class="hljs-subst">${song.title}</span>**`</span>);
}

client.login(token);
</code></pre>
<h2 id="heading-conclusion"><strong>Conclusion</strong></h2>
<p>You made it all the way until the end! Hope that this article helped you understand the Discord API and how you can use it to create a simple bot. </p>
<p>If you want to see an example of a more advanced discord bot, you can visit my <a target="_blank" href="https://github.com/TannerGabriel/discord-bot">GitHub repository</a>.</p>
<p>If you have found this useful, please consider recommending and sharing it with other fellow developers.</p>
<p>If you have any questions or feedback, let me know and I'd be happy to help.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ CSS Transform Handbook – Complete Guide to CSS Transform Functions and Properties ]]>
                </title>
                <description>
                    <![CDATA[ CSS transform allows you to translate, rotate, skew, scale, or add perspective effects to HTML elements. This tutorial discusses everything you need to know to transform HTML elements like a pro. Table of Contents What is the CSS transform Property?... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/complete-guide-to-css-transform-functions-and-properties/</link>
                <guid isPermaLink="false">66ba0de37fb82b484b253a29</guid>
                
                    <category>
                        <![CDATA[ code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ HTML ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Oluwatobi Sofela ]]>
                </dc:creator>
                <pubDate>Mon, 19 Jun 2023 21:13:33 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1738338625918/27521e84-35de-4453-a153-1d419e1d0e2b.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p><strong>CSS transform</strong> allows you to translate, rotate, skew, scale, or add perspective effects to HTML elements.</p>
<p>This tutorial discusses everything you need to know to transform HTML elements like a pro.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ol>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-transform-property">What is the CSS <code>transform</code> Property?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-rotate-function">What is the CSS <code>rotate()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-rotatex-function">What is the CSS <code>rotateX()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-rotatey-function">What is the CSS <code>rotateY()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-rotatez-function">What is the CSS <code>rotateZ()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-rotate3d-function">What is the CSS <code>rotate3d()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-css-rotate-functions-vs-rotate-property-whats-the-difference">CSS Rotate Functions vs. <code>rotate</code> Property: What's the Difference?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-scale-function">What is the CSS <code>scale()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-css-scale-function-vs-scale-property-whats-the-difference">CSS <code>scale()</code> Function vs. <code>scale</code> Property: What's the Difference?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-scalez-function">What is the CSS <code>scaleZ()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-scale3d-function">What is the CSS <code>scale3d()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-skew-function">What is the CSS <code>skew()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-translate-function">What is the CSS <code>translate()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-translatez-function">What is the CSS <code>translateZ()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-translate3d-function">What is the CSS <code>translate3d()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-css-translate-functions-vs-translate-property-whats-the-difference">CSS Translate Functions vs. <code>translate</code> Property: What's the Difference?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-perspective-function">What is the CSS <code>perspective()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-css-perspective-function-vs-perspective-property-whats-the-difference">CSS <code>perspective()</code> Function vs. <code>perspective</code> Property: What's the Difference?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-the-css-matrix-function">What is the CSS <code>matrix()</code> Function?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-why-does-the-css-transform-functions-order-matter">Why Does the CSS Transform Functions' Order Matter?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-tools-for-converting-transform-functions-to-matrix">Tools for Converting Transform Functions to <code>matrix()</code></a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-important-stuff-to-know-about-transforming-elements-in-css">Important Stuff to Know about Transforming Elements in CSS</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-wrapping-up">Wrapping Up</a></p>
</li>
</ol>
<p>So, without further ado, let's discuss the CSS <code>transform</code> property.</p>
<h2 id="heading-what-is-the-css-transform-property">What Is the CSS <code>transform</code> Property?</h2>
<p>The CSS <code>transform</code> property specifies the transformational effect you wish to apply to an HTML element.</p>
<p><strong>Here's the syntax:</strong></p>
<pre><code class="lang-css"><span class="hljs-selector-tag">html-element</span> {
  <span class="hljs-attribute">transform</span>: value;
}
</code></pre>
<p>The CSS <code>transform</code> property accepts the following values:</p>
<ul>
<li><p><code>inherit</code>: Transforms the element with its parent element's <code>transform</code> value.</p>
</li>
<li><p><code>initial</code>: Transforms the HTML element with its default <code>transform</code> value.</p>
</li>
<li><p><code>matrix()</code>: Transforms the element two-dimensionally with a matrix of six values.</p>
</li>
<li><p><code>matrix3d()</code>: Transforms the HTML element three-dimensionally with a 4x4 matrix of sixteen values.</p>
</li>
<li><p><code>none</code>: Applies <em>no</em> transformation to the HTML element.</p>
</li>
<li><p><code>perspective()</code>: Transforms a 3D transformed element with a perspective view.</p>
</li>
<li><p><code>rotate()</code>: Transforms the element by rotating it two-dimensionally.</p>
</li>
<li><p><code>rotate3d()</code>: Transforms the element by rotating it three-dimensionally.</p>
</li>
<li><p><code>rotateX()</code>: Transforms the element by rotating it three-dimensionally along the X-axis.</p>
</li>
<li><p><code>rotateY()</code>: Transforms the element by rotating it three-dimensionally along the Y-axis.</p>
</li>
<li><p><code>rotateZ()</code>: Transforms the HTML element by rotating it three-dimensionally along the Z-axis.</p>
</li>
<li><p><code>scale()</code>: Transforms the element by scaling it two-dimensionally.</p>
</li>
<li><p><code>scale3d()</code>: Transforms the element by scaling it three-dimensionally.</p>
</li>
<li><p><code>scaleX()</code>: Transforms the element by scaling it along the X-axis.</p>
</li>
<li><p><code>scaleY()</code>: Transforms the element by scaling it along the Y-axis.</p>
</li>
<li><p><code>scaleZ()</code>: Transforms the HTML element by scaling it three-dimensionally along the Z-axis.</p>
</li>
<li><p><code>skew()</code>: Transforms the element by skewing it two-dimensionally along the X- and Y-axis.</p>
</li>
<li><p><code>skewX()</code>: Transforms the element by skewing it two-dimensionally along the X-axis.</p>
</li>
<li><p><code>skewY()</code>: Transforms the element by skewing it two-dimensionally along the Y-axis.</p>
</li>
<li><p><code>translate()</code>: Transforms the HTML element by translating (moving) it two-dimensionally.</p>
</li>
<li><p><code>translate3d()</code>: Transforms the element by translating it three-dimensionally.</p>
</li>
<li><p><code>translateX()</code>: Transforms the element by translating it along the X-axis.</p>
</li>
<li><p><code>translateY()</code>: Transforms the element by translating it along the Y-axis.</p>
</li>
<li><p><code>translateZ()</code>: Transforms the element by translating it three-dimensionally along the Z-axis.</p>
</li>
</ul>
<p><strong>Note:</strong> The <code>transform</code> property accepts one or more <a target="_blank" href="https://codesweetly.com/web-tech-terms-c#css-transform-functions">CSS transform functions</a>. For instance, here's a valid <code>transform</code> declaration:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">div</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">perspective</span>(<span class="hljs-number">370px</span>) <span class="hljs-built_in">scaleZ</span>(<span class="hljs-number">5</span>) <span class="hljs-built_in">rotate</span>(<span class="hljs-number">17deg</span>);
}
</code></pre>
<p>In the snippet above, we assigned three transform functions to the <code>transform</code> property. Let's talk more about some of <code>transform</code>'s values.</p>
<h2 id="heading-what-is-the-css-rotate-function">What is the CSS <code>rotate()</code> Function?</h2>
<p><code>rotate()</code> transforms an element by rotating it two-dimensionally around a fixed point.</p>
<p><strong>Note:</strong></p>
<ul>
<li><p>"Transform origin" is the fixed point around which an element rotates.</p>
</li>
<li><p>You can define your element's fixed point using the CSS <a target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/transform-origin"><code>transform-origin</code></a> property. But the default is <code>center</code>.</p>
</li>
</ul>
<h3 id="heading-syntax-of-the-css-rotate-function">Syntax of the CSS <code>rotate()</code> function</h3>
<p><code>rotate()</code> accepts a single <a target="_blank" href="https://codesweetly.com/javascript-arguments-vs-parameters">argument</a>. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotate</span>(angle);
}
</code></pre>
<p><strong>Note the following:</strong></p>
<ul>
<li><p>The <code>rotate(angle)</code> function is equivalent to <code>rotate3d(0, 0, 1, angle)</code> or <code>rotateZ(angle)</code>.</p>
</li>
<li><p>The <code>angle</code> argument specifies the element's angle of rotation.</p>
</li>
<li><p><code>angle</code> can be in <a target="_blank" href="https://en.wikipedia.org/wiki/Degree_%28angle%29">degrees</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Gradian">gradians</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Radian">radians</a>, or <a target="_blank" href="https://en.wikipedia.org/wiki/Turn_\(angle\)">turns</a>.</p>
</li>
<li><p>An <code>angle</code> argument consists of a number followed by the unit you wish to use—for instance, <code>45deg</code>.</p>
</li>
<li><p>Your browser's writing direction determines the element's direction of rotation.</p>
</li>
<li><p>A positive angle will rotate the element clockwise in a left-to-right writing direction. But a negative angle will do a counterclockwise rotation.</p>
</li>
<li><p>A positive angle will rotate the element counterclockwise in a right-to-left writing context. But a negative angle will do a clockwise rotation.</p>
</li>
</ul>
<h3 id="heading-examples-of-the-css-rotate-function">Examples of the CSS <code>rotate()</code> function</h3>
<p>Below are some examples of how the CSS <code>rotate()</code> function works.</p>
<h4 id="heading-how-to-do-a-zero-degree-rotation-in-css">How to do a zero-degree rotation in CSS:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotate</span>(<span class="hljs-number">0deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-zcgvaa?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotate()</code> function to specify a zero-degree (0⁰) rotation for the image element.</p>
<h4 id="heading-how-to-do-a-45-degree-rotation-in-css">How to do a 45-degree rotation in CSS:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotate</span>(<span class="hljs-number">45deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-86xhmx?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotate()</code> function to specify a forty-five-degree (45⁰) rotation for the image element.</p>
<h4 id="heading-how-to-do-a-negative-seventy-degree-rotation-in-css">How to do a negative seventy-degree rotation in CSS:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotate</span>(-<span class="hljs-number">70deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-3gb1my?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotate()</code> function to specify a negative seventy-degree (70⁰) rotation for the image element.</p>
<h2 id="heading-what-is-the-css-rotatex-function">What is the CSS <code>rotateX()</code> Function?</h2>
<p><code>rotateX()</code> transforms an element by rotating it three-dimensionally around the X-axis.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/06/cartesian-coordinate-system-three-dimensional-diagram-codesweetly.png" alt="Illustration of the 3D Cartesian coordinate system" width="600" height="400" loading="lazy"></p>
<p><em>A three-dimensional Cartesian coordinate system showing the X-, Y-, and Z-axis</em></p>
<h3 id="heading-syntax-of-the-css-rotatex-function">Syntax of the CSS <code>rotateX()</code> function</h3>
<p><code>rotateX()</code> accepts a single argument. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotateX</span>(angle);
}
</code></pre>
<p><strong>Note the following:</strong></p>
<ul>
<li><p>The <code>rotateX(angle)</code> function is equivalent to <code>rotate3d(1, 0, 0, angle)</code>.</p>
</li>
<li><p>The <code>angle</code> argument specifies the element's angle of rotation.</p>
</li>
<li><p><code>angle</code> can be in degree, gradian, radian, or turn.</p>
</li>
<li><p>An <code>angle</code> argument consists of a number followed by the unit you wish to use—for instance, <code>45deg</code>.</p>
</li>
</ul>
<h3 id="heading-examples-of-the-css-rotatex-function">Examples of the CSS <code>rotateX()</code> function</h3>
<p>Below are some examples of how the CSS <code>rotateX()</code> function works.</p>
<h4 id="heading-how-to-do-a-zero-degree-rotation-around-the-x-axis">How to do a zero-degree rotation around the X-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotateX</span>(<span class="hljs-number">0deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-ej9ent?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotateX()</code> function to specify a zero-degree (0⁰) rotation for the image around the X-axis.</p>
<h4 id="heading-how-to-do-a-70-degree-rotation-around-the-x-axis">How to do a 70-degree rotation around the X-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotateX</span>(<span class="hljs-number">70deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-fvhyjx?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotateX()</code> function to specify a seventy-degree (70⁰) rotation for the image around the X-axis.</p>
<h2 id="heading-what-is-the-css-rotatey-function">What is the CSS <code>rotateY()</code> Function?</h2>
<p><code>rotateY()</code> transforms an element by rotating it three-dimensionally around the Y-axis.</p>
<h3 id="heading-syntax-of-the-css-rotatey-function">Syntax of the CSS <code>rotateY()</code> function</h3>
<p><code>rotateY()</code> accepts a single argument. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotateY</span>(angle);
}
</code></pre>
<p><strong>Note the following:</strong></p>
<ul>
<li><p>The <code>rotateY(angle)</code> function is equivalent to <code>rotate3d(0, 1, 0, angle)</code>.</p>
</li>
<li><p>The <code>angle</code> argument specifies the element's angle of rotation.</p>
</li>
<li><p><code>angle</code> can be in degrees, gradians, radians, or turns.</p>
</li>
<li><p>An <code>angle</code> argument consists of a number followed by the unit you wish to use—for instance, <code>45deg</code>.</p>
</li>
</ul>
<h3 id="heading-examples-of-the-css-rotatey-function">Examples of the CSS <code>rotateY()</code> function</h3>
<p>Below are some examples of how the CSS <code>rotateY()</code> function works.</p>
<h4 id="heading-how-to-do-a-zero-degree-rotation-around-the-y-axis">How to do a zero-degree rotation around the Y-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotateY</span>(<span class="hljs-number">0deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-frg3ks?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotateY()</code> function to specify a zero-degree (0⁰) rotation for the image around the Y-axis.</p>
<h4 id="heading-how-to-do-a-70-degree-rotation-around-the-y-axis">How to do a 70-degree rotation around the Y-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotateY</span>(<span class="hljs-number">70deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-yvydga?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotateY()</code> function to specify a seventy-degree (70⁰) rotation for the image around the Y-axis.</p>
<h2 id="heading-what-is-the-css-rotatez-function">What is the CSS <code>rotateZ()</code> Function?</h2>
<p><code>rotateZ()</code> transforms an element by rotating it three-dimensionally around the Z-axis.</p>
<h3 id="heading-syntax-of-the-css-rotatez-function">Syntax of the CSS <code>rotateZ()</code> function</h3>
<p><code>rotateZ()</code> accepts a single argument. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotateZ</span>(angle);
}
</code></pre>
<p><strong>Note the following:</strong></p>
<ul>
<li><p>The <code>rotateZ(angle)</code> function is equivalent to <code>rotate3d(0, 0, 1, angle)</code> or <code>rotate(angle)</code>.</p>
</li>
<li><p>The <code>angle</code> argument specifies the element's angle of rotation.</p>
</li>
<li><p><code>angle</code> can be in degrees, gradians, radians, or turns.</p>
</li>
<li><p>An <code>angle</code> argument consists of a number followed by the unit you wish to use—for instance, <code>45deg</code>.</p>
</li>
</ul>
<h3 id="heading-examples-of-the-css-rotatez-function">Examples of the CSS <code>rotateZ()</code> function</h3>
<p>Below are some examples of how the CSS <code>rotateZ()</code> function works.</p>
<h4 id="heading-how-to-do-a-zero-degree-rotation-around-the-z-axis">How to do a zero-degree rotation around the Z-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotateZ</span>(<span class="hljs-number">0deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-ozqupq?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotateZ()</code> function to specify a zero-degree (0⁰) rotation for the image around the Z-axis.</p>
<h4 id="heading-how-to-do-a-70-degree-rotation-around-the-z-axis">How to do a 70-degree rotation around the Z-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotateZ</span>(<span class="hljs-number">70deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-g6qrwc?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotateZ()</code> function to specify a seventy-degree (70⁰) rotation for the image around the Z-axis.</p>
<h2 id="heading-what-is-the-css-rotate3d-function">What is the CSS <code>rotate3d()</code> Function?</h2>
<p><code>rotate3d()</code> transforms an element by rotating it three-dimensionally around the x-, y-, and z-axis.</p>
<h3 id="heading-syntax-of-the-css-rotate3d-function">Syntax of the CSS <code>rotate3d()</code> function</h3>
<p><code>rotate3d()</code> accepts four arguments. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotate3d</span>(x, y, z, angle);
}
</code></pre>
<p><strong>Note the following:</strong></p>
<ul>
<li><p>The <code>x</code>, <code>y</code>, and <code>z</code> arguments are numbers specifying the x-, y-, and z-coordinates.</p>
</li>
<li><p>The coordinates are the axis around which the element will rotate.</p>
</li>
<li><p>The <code>angle</code> argument specifies the element's angle of rotation.</p>
</li>
<li><p><code>angle</code> can be in degrees, gradians, radians, or turns.</p>
</li>
<li><p>An <code>angle</code> argument consists of a number followed by the unit you wish to use—for instance, <code>45deg</code>.</p>
</li>
</ul>
<h3 id="heading-examples-of-the-css-rotate3d-function">Examples of the CSS <code>rotate3d()</code> function</h3>
<p>Below are some examples of how the CSS <code>rotate3d()</code> function works.</p>
<h4 id="heading-how-to-do-a-70-degree-rotation-around-the-z-axis-1">How to do a 70-degree rotation around the Z-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotate3d</span>(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">1</span>, <span class="hljs-number">70deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-i6f9pr?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotate3d()</code> function to specify a seventy-degree (70⁰) rotation for the image around the Z-axis.</p>
<h4 id="heading-how-to-do-a-70-degree-rotation-around-the-x-y-and-z-axis">How to do a 70-degree rotation around the X-, Y-, and Z-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">rotate3d</span>(<span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">70deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-ctws81?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotate3d()</code> function to specify a seventy-degree (70⁰) rotation for the image around the x-, y-, and z-axis.</p>
<h2 id="heading-css-rotate-functions-vs-rotate-property-whats-the-difference">CSS Rotate Functions vs. <code>rotate</code> Property: What's the Difference?</h2>
<p>CSS rotate functions and CSS <code>rotate</code> property provides two similar ways to specify rotation transformations.</p>
<p>The main differences between the two rotation techniques are as follows:</p>
<ul>
<li><p>The CSS <code>rotate</code> property allows rotating an element without using the CSS <code>transform</code> property.</p>
</li>
<li><p>The CSS <code>rotate</code> property's syntax is shorter than its function alternative.</p>
</li>
<li><p>The CSS <code>rotate</code> property saves you from remembering the specific order to position the <a target="_blank" href="https://codesweetly.com/web-tech-terms-c#css-transform-functions">transform functions</a>.</p>
</li>
<li><p>Browsers calculate the transform functions' matrix in the order you assigned them to the CSS <code>transform</code> property—from left to right.</p>
</li>
<li><p>Browsers calculate the transform properties' matrix in the following <a target="_blank" href="https://www.w3.org/TR/css-transforms-2/#ctm">transformation matrix order</a>:</p>
<ol>
<li><p><code>translate</code></p>
</li>
<li><p><code>rotate</code></p>
</li>
<li><p><code>scale</code></p>
</li>
</ol>
</li>
</ul>
<p>Below are some examples.</p>
<h3 id="heading-how-to-use-css-rotate-property-vs-function-to-do-a-45-degree-rotation">How to use CSS <code>rotate</code> property vs. function to do a 45-degree rotation</h3>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">rotate</span>: <span class="hljs-number">45deg</span>; <span class="hljs-comment">/* Equivalent to a transform: rotate(45deg) property */</span>
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-rdw9a5?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotate</code> property to specify a forty-five-degree (45⁰) rotation for the image element.</p>
<h3 id="heading-how-to-use-css-rotate-property-vs-function-to-do-a-70-degree-rotation-around-the-x-axis">How to use CSS <code>rotate</code> property vs. function to do a 70-degree rotation around the X-axis</h3>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">rotate</span>: x <span class="hljs-number">70deg</span>; <span class="hljs-comment">/* Equal to a transform: rotateX(70deg) property */</span>
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-pal1am?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotate</code> property to specify a seventy-degree (70⁰) rotation for the image around the X-axis.</p>
<h3 id="heading-how-to-use-css-rotate-property-vs-function-to-do-a-70-degree-rotation-around-the-y-axis">How to use CSS <code>rotate</code> property vs. function to do a 70-degree rotation around the Y-axis</h3>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">rotate</span>: y <span class="hljs-number">70deg</span>; <span class="hljs-comment">/* Equal to a transform: rotateY(70deg) property */</span>
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-ldnmfd?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotate</code> property to specify a seventy-degree (70⁰) rotation for the image around the Y-axis.</p>
<h3 id="heading-how-to-use-css-rotate-property-vs-function-to-do-a-70-degree-rotation-around-the-z-axis">How to use CSS <code>rotate</code> property vs. function to do a 70-degree rotation around the Z-axis</h3>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">rotate</span>: z <span class="hljs-number">70deg</span>; <span class="hljs-comment">/* Equal to a transform: rotateZ(70deg) property */</span>
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-stf9ty?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotate</code> property to specify a seventy-degree (70⁰) rotation for the image around the Z-axis.</p>
<h3 id="heading-how-to-use-css-rotate-property-vs-function-to-do-a-70-degree-rotation-around-the-x-y-and-z-axis">How to use CSS <code>rotate</code> property vs. function to do a 70-degree rotation around the X-, Y-, and Z-axis</h3>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">rotate</span>: <span class="hljs-number">1</span> <span class="hljs-number">1</span> <span class="hljs-number">1</span> <span class="hljs-number">70deg</span>; <span class="hljs-comment">/* Equal to a transform: rotate3d(1, 1, 1, 70deg) property */</span>
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-qfflxq?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>rotate</code> property to specify a seventy-degree (70⁰) rotation for the image around the x-, y-, and z-axis.</p>
<p><strong>Note:</strong> A <code>none</code> value tells browsers <em>not</em> to rotate the selected element.</p>
<h2 id="heading-what-is-the-css-scale-function">What is the CSS <code>scale()</code> Function?</h2>
<p><code>scale()</code> transforms an element by resizing (scaling) it two-dimensionally from a fixed point.</p>
<p><strong>Note:</strong></p>
<ul>
<li><p>"Transform origin" is the fixed point from which the computer scales an element.</p>
</li>
<li><p>You can define your element's fixed point using the CSS <code>transform-origin</code> property. But the default is <code>center</code>.</p>
</li>
</ul>
<h3 id="heading-syntax-of-the-css-scale-function">Syntax of the CSS <code>scale()</code> function</h3>
<p><code>scale()</code> accepts two arguments. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scale</span>(x, y);
}
</code></pre>
<p><strong>Note the following:</strong></p>
<ul>
<li><p>The <code>x</code> argument can be a number or percentage. It specifies the element's scaling factor along the x-axis.</p>
</li>
<li><p>The <code>y</code> argument can also be a number or percentage. It defines the element's scaling factor along the y-axis.</p>
</li>
<li><p>Y-axis' default value is <code>x</code>. Therefore, if you do not provide a <code>y</code> argument, the browser automatically uses <code>x</code>'s value.</p>
</li>
<li><p>Suppose <code>x</code> and <code>y</code> are equal. In that case, browsers will scale your element uniformly and preserve its aspect ratio.</p>
</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/06/cartesian-coordinate-system-two-dimensional-diagram-codesweetly.png" alt="Illustration of the 2D Cartesian coordinate system" width="600" height="400" loading="lazy"></p>
<p><em>A two-dimensional Cartesian coordinate system showing the X- and Y-axis</em></p>
<h3 id="heading-examples-of-the-css-scale-function">Examples of the CSS <code>scale()</code> function</h3>
<p>Below are some examples of how the CSS <code>scale()</code> function works.</p>
<h4 id="heading-how-to-scale-an-element-uniformly-along-the-x-and-y-axis-in-css">How to scale an element uniformly along the X- and Y-axis in CSS:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scale</span>(<span class="hljs-number">0.3</span>);
  <span class="hljs-attribute">transform-origin</span>: left;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-k3d6nm?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>scale()</code> function to specify a <code>0.3</code> scaling factor for the image element along the X- and Y-axis.</p>
<p><strong>Note:</strong></p>
<ul>
<li><p><code>scale(0.3)</code> is equivalent to <code>scale(0.3, 0.3)</code>.</p>
</li>
<li><p>The percentage equivalence of <code>scale(0.3)</code> is <code>scale(30%)</code>.</p>
</li>
</ul>
<h4 id="heading-how-to-scale-an-element-non-uniformly-along-the-x-and-y-axis-in-css">How to scale an element non-uniformly along the X- and Y-axis in CSS:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scale</span>(<span class="hljs-number">0.3</span>, <span class="hljs-number">65%</span>);
  <span class="hljs-attribute">transform-origin</span>: top left;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-fxjhwb?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>scale()</code> function to specify a <code>0.3</code> scaling factor for the image along the X-axis and <code>65%</code> along the Y-axis.</p>
<h4 id="heading-how-to-scale-an-element-along-only-the-x-axis">How to scale an element along only the X-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scale</span>(<span class="hljs-number">0.3</span>, <span class="hljs-number">1</span>);
  <span class="hljs-attribute">transform-origin</span>: top left;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-7mwvto?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>scale()</code> function to specify a <code>0.3</code> scaling factor for the image along only the X-axis.</p>
<p><strong>Note:</strong></p>
<ul>
<li><p>A scale factor of <code>1</code> or <code>100%</code> tells browsers <em>not</em> to apply any scaling effect on the selected element.</p>
</li>
<li><p><code>scale(0.3, 1)</code> is equivalent to <code>scaleX(0.3)</code>.</p>
</li>
</ul>
<h4 id="heading-how-to-scale-an-element-along-only-the-y-axis">How to scale an element along only the Y-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scale</span>(<span class="hljs-number">100%</span>, <span class="hljs-number">0.2</span>);
  <span class="hljs-attribute">transform-origin</span>: top left;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-i5yrt4?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>scale()</code> function to specify a <code>0.2</code> scaling factor for the image along only the Y-axis.</p>
<p><strong>Note:</strong></p>
<ul>
<li><p>A <code>100%</code> or <code>1</code> scale factor tells browsers <em>not</em> to apply any scaling effect on the selected element.</p>
</li>
<li><p><code>scale(100%, 0.2)</code> is equivalent to <code>scaleY(0.2)</code>.</p>
</li>
</ul>
<h2 id="heading-css-scale-function-vs-scale-property-whats-the-difference">CSS <code>scale()</code> Function vs. <code>scale</code> Property: What's the Difference?</h2>
<p>The CSS <code>scale()</code> function and the CSS <code>scale</code> property provide two similar ways to specify a scale transformation.</p>
<p>The main differences between the two scaling techniques are as follows:</p>
<ul>
<li><p>The CSS <code>scale</code> property allows scaling an element without using the CSS <code>transform</code> property.</p>
</li>
<li><p>The CSS <code>scale</code> property's syntax is shorter than its function alternative.</p>
</li>
<li><p>The CSS <code>scale</code> property saves you from remembering the specific order to position the transform functions.</p>
</li>
<li><p>Browsers calculate the transform functions' matrix in the order you assigned them to the CSS <code>transform</code> property—from left to right.</p>
</li>
<li><p>Browsers calculate the transform properties' matrix in the following order:</p>
<ol>
<li><p><code>translate</code></p>
</li>
<li><p><code>rotate</code></p>
</li>
<li><p><code>scale</code></p>
</li>
</ol>
</li>
</ul>
<p><strong>Here's an example:</strong></p>
<p>Use the CSS <code>scale</code> property to scale an element nonuniformly along the X- and Y-axis.</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">scale</span>: <span class="hljs-number">0.3</span> <span class="hljs-number">65%</span>; <span class="hljs-comment">/* Equal to a transform: scale(0.3, 65%) property */</span>
  <span class="hljs-attribute">transform-origin</span>: top left;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-exkib5?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>scale</code> property to specify a <code>0.3</code> scaling factor for the image along the X-axis and <code>65%</code> along the Y-axis.</p>
<p><strong>Note:</strong> A <code>none</code> value tells browsers <em>not</em> to scale the selected element.</p>
<h2 id="heading-what-is-the-css-scalez-function">What is the CSS <code>scaleZ()</code> Function?</h2>
<p><code>scaleZ()</code> transforms an element by resizing (scaling) it three-dimensionally from a fixed point along the z-axis.</p>
<p><strong>Note:</strong></p>
<ul>
<li><p>"Transform origin" is the fixed point from which the computer scales an element.</p>
</li>
<li><p>You can define your element's fixed point using the CSS <code>transform-origin</code> property. But the default is <code>center</code>.</p>
</li>
</ul>
<h3 id="heading-syntax-of-the-css-scalez-function">Syntax of the CSS <code>scaleZ()</code> function</h3>
<p><code>scaleZ()</code> accepts a single argument. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scaleZ</span>(number);
}
</code></pre>
<p><strong>Note:</strong></p>
<ul>
<li><p>The <code>scaleZ(number)</code> function is equivalent to <code>scale3d(1, 1, number)</code>.</p>
</li>
<li><p>The <code>number</code> argument specifies the element's scaling factor along the z-axis.</p>
</li>
</ul>
<h3 id="heading-examples-of-the-css-scalez-function">Examples of the CSS <code>scaleZ()</code> function</h3>
<p>We often use <code>scaleZ()</code> with other CSS functions such as <code>perspective()</code>, <code>translateZ()</code>, and <code>rotateX()</code>. Below are some examples.</p>
<h4 id="heading-how-to-use-scalez-with-css-perspective-and-rotatex-functions">How to use <code>scaleZ()</code> with CSS <code>perspective()</code> and <code>rotateX()</code> functions:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">perspective</span>(<span class="hljs-number">370px</span>) <span class="hljs-built_in">scaleZ</span>(<span class="hljs-number">5</span>) <span class="hljs-built_in">rotateX</span>(<span class="hljs-number">17deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-kqmccz?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here's what we did in the snippet above:</p>
<ol>
<li><p>We used the <code>perspective()</code> function to define a <code>370px</code> distance between the user and the <a target="_blank" href="https://codesweetly.com/css-perspective-function#what-is-the-z0-plane">z=0 plane</a>.</p>
</li>
<li><p>The <code>scaleZ()</code> function specifies a scale factor of <code>5</code> for the image along the z-axis.</p>
</li>
<li><p>We used the <code>rotateX()</code> function to rotate the image seventeen-degree (17⁰) around the x-axis.</p>
</li>
</ol>
<p><strong>Note:</strong></p>
<ul>
<li><p>List <code>perspective()</code> first whenever you chain it with other <a target="_blank" href="https://codesweetly.com/web-tech-terms-c#css-transform-functions">CSS transform functions</a>. Otherwise, browsers might transform the selected element incorrectly.</p>
</li>
<li><p>List the <code>scaleZ()</code> function before <code>rotateX()</code>. Otherwise, the browser will <em>not</em> scale the element.</p>
</li>
</ul>
<h4 id="heading-how-to-use-scalez-with-css-perspective-and-translatez-functions">How to use <code>scaleZ()</code> with CSS <code>perspective()</code> and <code>translateZ()</code> functions:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">width</span>: <span class="hljs-number">40%</span>;
}

<span class="hljs-selector-class">.second-image</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">perspective</span>(<span class="hljs-number">370px</span>) <span class="hljs-built_in">scaleZ</span>(<span class="hljs-number">5</span>) <span class="hljs-built_in">translateZ</span>(<span class="hljs-number">30px</span>);
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-uyw767?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here's what we did in the snippet above:</p>
<ol>
<li><p>We used the <code>perspective()</code> function to define a <code>370px</code> distance between the user and the z=0 plane.</p>
</li>
<li><p>The <code>scaleZ()</code> function specifies a scale factor of <code>5</code> for the image along the z-axis.</p>
</li>
<li><p>We used the <code>translateZ()</code> function to reposition the <code>second-image</code> thirty pixels (<code>30px</code>) away from its original position along the z-axis.</p>
</li>
</ol>
<h2 id="heading-what-is-the-css-scale3d-function">What is the CSS <code>scale3d()</code> Function?</h2>
<p><code>scale3d()</code> transforms an element by resizing (scaling) it three-dimensionally from a fixed point along the x-, y-, and z-axis.</p>
<p><strong>Note:</strong></p>
<ul>
<li><p>"Transform origin" is the fixed point from which the computer scales an element.</p>
</li>
<li><p>You can define your element's fixed point using the CSS <code>transform-origin</code> property. But the default is <code>center</code>.</p>
</li>
</ul>
<h3 id="heading-syntax-of-the-css-scale3d-function">Syntax of the CSS <code>scale3d()</code> function</h3>
<p><code>scale3d()</code> accepts three arguments. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scale3d</span>(x, y, z);
}
</code></pre>
<p>The <code>x</code>, <code>y</code>, and <code>z</code> arguments are numbers specifying the x-, y-, and z-coordinates. The coordinates are the axis along which browsers will scale the element.</p>
<h3 id="heading-examples-of-the-css-scale3d-function">Examples of the CSS <code>scale3d()</code> function</h3>
<p>Below are some examples of how the CSS <code>scale3d()</code> function works.</p>
<h4 id="heading-how-to-use-scale3d-with-css-perspective-and-rotatex-functions">How to use <code>scale3d()</code> with CSS <code>perspective()</code> and <code>rotateX()</code> functions:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">perspective</span>(<span class="hljs-number">370px</span>) <span class="hljs-built_in">scale3d</span>(<span class="hljs-number">1</span>, <span class="hljs-number">1</span>, <span class="hljs-number">5</span>) <span class="hljs-built_in">rotateX</span>(<span class="hljs-number">17deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-inndft?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here's what we did in the snippet above:</p>
<ol>
<li><p>We used the <code>perspective()</code> function to define a <code>370px</code> distance between the user and the z=0 plane.</p>
</li>
<li><p>The <code>scale3d()</code> function specifies a scale factor of <code>1</code>, <code>1</code>, and <code>5</code> for the image along the x-, y-, and z-axis.</p>
</li>
<li><p>We used the <code>rotateX()</code> function to rotate the image seventeen-degrees (17⁰) around the x-axis.</p>
</li>
</ol>
<p><strong>Note:</strong></p>
<ul>
<li><p>A scale factor of <code>1</code> will apply <em>no</em> scaling effect on the element.</p>
</li>
<li><p>List <code>perspective()</code> first whenever you chain it with other CSS transform functions. Otherwise, browsers might transform the selected element incorrectly.</p>
</li>
<li><p>List the <code>scale3d()</code> function before <code>rotateX()</code>. Otherwise, the browser will <em>not</em> scale the element.</p>
</li>
</ul>
<h4 id="heading-how-to-scale-elements-three-dimensionally">How to scale elements three-dimensionally:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">width</span>: <span class="hljs-number">40%</span>;
}

<span class="hljs-selector-class">.second-image</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scale3d</span>(<span class="hljs-number">5</span>, <span class="hljs-number">3</span>, <span class="hljs-number">0.05</span>);
  <span class="hljs-attribute">transform-origin</span>: top left;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-hq8kbr?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>We used the <code>scale3d()</code> function to specify a scale factor of <code>5</code>, <code>3</code>, and <code>0.05</code> for the image along the x-, y-, and z-axis.</p>
<h2 id="heading-what-is-the-css-skew-function">What is the CSS <code>skew()</code> Function?</h2>
<p><code>skew()</code> transforms an element by slanting (skewing) it two-dimensionally around a fixed point.</p>
<p><strong>Note:</strong></p>
<ul>
<li><p>"Transform origin" is the fixed point from which the computer skews an element.</p>
</li>
<li><p>You can define your element's fixed point using the CSS <code>transform-origin</code> property. But the default is <code>center</code>.</p>
</li>
</ul>
<h3 id="heading-syntax-of-the-css-skew-function">Syntax of the CSS <code>skew()</code> function</h3>
<p><code>skew()</code> accepts two arguments. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">skew</span>(aX, aY);
}
</code></pre>
<p><strong>Note the following:</strong></p>
<ul>
<li><p>The <code>aX</code> argument specifies the element's skewing angle along the x-axis.</p>
</li>
<li><p>The <code>aY</code> argument specifies the element's skewing angle along the y-axis.</p>
</li>
<li><p><code>aX</code> and <code>aY</code> can be in degrees, gradians, radians, or turns.</p>
</li>
<li><p>An <code>angle</code> argument consists of a number followed by the unit you wish to use—for instance, <code>45deg</code>.</p>
</li>
<li><p><code>aY</code> is an optional argument.</p>
</li>
</ul>
<h3 id="heading-examples-of-the-css-skew-function">Examples of the CSS <code>skew()</code> function</h3>
<p>Below are some examples of how the CSS <code>skew()</code> function works.</p>
<h4 id="heading-how-to-skew-an-element-along-only-the-x-axis">How to skew an element along only the X-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">skew</span>(<span class="hljs-number">30deg</span>);
  <span class="hljs-attribute">transform-origin</span>: top;
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-gx5dy4?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>skew()</code> function to apply a thirty-degree (30⁰) slant on the image along only the x-axis.</p>
<p><strong>Note:</strong> <code>skew(30deg)</code> is equivalent to <code>skewX(30deg)</code>.</p>
<h4 id="heading-how-to-skew-an-element-along-only-the-y-axis">How to skew an element along only the Y-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">skew</span>(<span class="hljs-number">0</span>, <span class="hljs-number">40deg</span>);
  <span class="hljs-attribute">transform-origin</span>: top left;
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-nbkjfj?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>skew()</code> function to apply a forty-degree (40⁰) slant on the image along only the y-axis.</p>
<p><strong>Note:</strong></p>
<ul>
<li><p>A zero (<code>0</code>) skew degree tells browsers <em>not</em> to apply any skewing effect on the selected element.</p>
</li>
<li><p><code>skew(0, 40deg)</code> is equivalent to <code>skewY(40deg)</code>.</p>
</li>
</ul>
<h4 id="heading-how-to-skew-an-element-along-the-x-and-y-axis">How to skew an element along the X- and Y-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">skew</span>(<span class="hljs-number">30deg</span>, <span class="hljs-number">40deg</span>);
  <span class="hljs-attribute">transform-origin</span>: top left;
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-ofrk9v?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>skew()</code> function to apply a thirty-degree (30⁰) slant on the image along the x-axis. And forty-degree (40⁰) along the y-axis.</p>
<h2 id="heading-what-is-the-css-translate-function">What is the CSS <code>translate()</code> Function?</h2>
<p><code>translate()</code> transforms an element by repositioning (translating) it two-dimensionally.</p>
<h3 id="heading-syntax-of-the-css-translate-function">Syntax of the CSS <code>translate()</code> function</h3>
<p><code>translate()</code> accepts two arguments. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translate</span>(x, y);
}
</code></pre>
<p><strong>Note the following:</strong></p>
<ul>
<li><p>The <code>x</code> argument can be a length or percentage value. It specifies the distance you wish to move the element from its original x-axis position.</p>
</li>
<li><p>The <code>y</code> argument can be a length or percentage value. It defines the distance you wish to move the element from its original y-axis position.</p>
</li>
<li><p><code>y</code> is an optional argument.</p>
</li>
</ul>
<h3 id="heading-examples-of-the-css-translate-function">Examples of the CSS <code>translate()</code> function</h3>
<p>Below are some examples of how the CSS <code>translate()</code> function works.</p>
<h4 id="heading-how-to-translate-an-element-along-only-the-x-axis">How to translate an element along only the X-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translate</span>(<span class="hljs-number">150px</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-kuaqzz?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>translate()</code> function to reposition the image <code>150px</code> away from its original position along the x-axis.</p>
<p>You can also write it like this, specifying the <code>X</code>:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translateX</span>(<span class="hljs-number">150px</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>
</code></pre>
<p><strong>Note:</strong> <code>translate(150px)</code> is equivalent to <code>translateX(150px)</code>.</p>
<h4 id="heading-how-to-translate-an-element-along-only-the-y-axis">How to translate an element along only the Y-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translate</span>(<span class="hljs-number">0</span>, <span class="hljs-number">55%</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-2bchbd?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>translate()</code> function to reposition the image <code>55%</code> away from its original position along the y-axis.</p>
<p><strong>Note:</strong></p>
<ul>
<li><p>A zero (<code>0</code>) translate distance tells browsers <em>not</em> to apply any translating effect on the selected element.</p>
</li>
<li><p><code>translate(0, 55%)</code> is equivalent to <code>translateY(55%)</code>.</p>
</li>
</ul>
<h4 id="heading-how-to-translate-an-element-along-the-x-and-y-axis">How to translate an element along the X- and Y-axis:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translate</span>(<span class="hljs-number">60%</span>, <span class="hljs-number">300px</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-uwpvu4?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>translate()</code> function to reposition the image <code>60%</code> away from its original position along the x-axis and <code>300px</code> from its y-axis.</p>
<h2 id="heading-what-is-the-css-translatez-function">What is the CSS <code>translateZ()</code> Function?</h2>
<p><code>translateZ()</code> transforms an element by repositioning (translating) it three-dimensionally along the z-axis.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/06/cartesian-coordinate-system-three-dimensional-diagram-codesweetly-1.png" alt="Illustration of the 3D Cartesian coordinate system" width="600" height="400" loading="lazy"></p>
<p><em>A three-dimensional Cartesian coordinate system showing the X-, Y-, and Z-axis</em></p>
<h3 id="heading-syntax-of-the-css-translatez-function">Syntax of the CSS <code>translateZ()</code> function</h3>
<p><code>translateZ()</code> accepts a single argument. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translateZ</span>(length);
}
</code></pre>
<p>The <code>length</code> argument specifies the distance you wish to move the element from its original z-axis position.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/06/cartesian-coordinate-system-three-dimensional-length-diagram-codesweetly.png" alt="Illustration of the CSS translateZ's length argument" width="600" height="400" loading="lazy"></p>
<p><em>A three-dimensional Cartesian coordinate system with a red arrow defining the green plane's translateZ length</em></p>
<h3 id="heading-examples-of-the-css-translatez-function">Examples of the CSS <code>translateZ()</code> function</h3>
<p>We often use <code>translateZ()</code> with the <code>perspective()</code> function. Below are some examples.</p>
<h4 id="heading-how-to-use-translatez-with-the-css-perspective-function">How to use <code>translateZ()</code> with the CSS <code>perspective()</code> function:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">width</span>: <span class="hljs-number">40%</span>;
}

<span class="hljs-selector-class">.second-image</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">perspective</span>(<span class="hljs-number">33px</span>) <span class="hljs-built_in">translateZ</span>(<span class="hljs-number">10px</span>);
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-hvf8bb?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here's what we did in the snippet above:</p>
<ol>
<li><p>We used the <code>perspective()</code> function to define a <code>33px</code> distance between the user and the <a target="_blank" href="https://codesweetly.com/css-perspective-function#what-is-the-z0-plane">z=0 plane</a>.</p>
</li>
<li><p>We used the <code>translateZ()</code> function to reposition the <code>second-image</code> ten pixels (<code>10px</code>) away from its original position along the z-axis.</p>
</li>
</ol>
<p><strong>Note:</strong></p>
<ul>
<li><p>Suppose the <code>second-image</code>'s z-axis position is larger than or equal to the <code>perspective()</code> function's <a target="_blank" href="https://codesweetly.com/javascript-arguments-vs-parameters">argument</a>. In that case, the image will disappear as though it is behind the user. In other words, the selected item disappears when the user is in the same position as the element (or when the element is behind the user).</p>
</li>
<li><p>The larger the user's distance to the element's z-axis position, the less intensive the perspective effect will be, and vice-versa.</p>
</li>
</ul>
<h4 id="heading-how-to-use-translatez-with-a-70px-perspective">How to use <code>translateZ()</code> with a <code>70px</code> perspective:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">width</span>: <span class="hljs-number">40%</span>;
}

<span class="hljs-selector-class">.second-image</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">perspective</span>(<span class="hljs-number">70px</span>) <span class="hljs-built_in">translateZ</span>(<span class="hljs-number">10px</span>);
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-vqd7mm?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here's what we did in the snippet above:</p>
<ol>
<li><p>We used the <code>perspective()</code> function to define a <code>70px</code> distance between the user and the z=0 plane.</p>
</li>
<li><p>We used the <code>translateZ()</code> function to reposition the <code>second-image</code> ten pixels (<code>10px</code>) away from its original position along the z-axis.</p>
</li>
</ol>
<h2 id="heading-what-is-the-css-translate3d-function">What is the CSS <code>translate3d()</code> Function?</h2>
<p><code>translate3d()</code> transforms an element by repositioning (translating) it three-dimensionally along the x-, y-, and z-axis.</p>
<h3 id="heading-syntax-of-the-css-translate3d-function">Syntax of the CSS <code>translate3d()</code> function</h3>
<p><code>translate3d()</code> accepts three arguments. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translate3d</span>(x, y, z);
}
</code></pre>
<p><strong>Note the following:</strong></p>
<ul>
<li><p>The <code>x</code> argument can be a length or percentage value. It specifies the distance you wish to move the element from its original x-axis position.</p>
</li>
<li><p>The <code>y</code> argument can be a length or percentage value. It defines the distance you wish to move the element from its original y-axis position.</p>
</li>
<li><p><code>z</code> can only be a length—not a percentage. It defines the distance you wish to move the element from its original z-axis position.</p>
</li>
</ul>
<h3 id="heading-examples-of-the-css-translate3d-function">Examples of the CSS <code>translate3d()</code> function</h3>
<p>Below are some examples of how the CSS <code>translate3d()</code> function works.</p>
<h4 id="heading-how-to-translate-an-element-along-only-the-x-axis-1">How to translate an element along only the X-axis</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translate3d</span>(<span class="hljs-number">150px</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-qrxxmx?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>translate3d()</code> function to reposition the image <code>150px</code> away from its original position along the x-axis.</p>
<p><strong>Note:</strong> <code>translate3d(150px, 0, 0)</code> is equivalent to <code>translateX(150px)</code>.</p>
<h4 id="heading-how-to-translate-elements-three-dimensionally">How to translate elements three-dimensionally:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">width</span>: <span class="hljs-number">40%</span>;
}

<span class="hljs-selector-class">.second-image</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">perspective</span>(<span class="hljs-number">300px</span>) <span class="hljs-built_in">translate3d</span>(<span class="hljs-number">15%</span>, <span class="hljs-number">45%</span>, <span class="hljs-number">200px</span>);
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-rksery?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>translate3d()</code> function to reposition the image <code>15%</code> away from its original position along the x-axis, <code>45%</code> from its y-axis, and <code>200px</code> from its z-axis.</p>
<h2 id="heading-css-translate-functions-vs-translate-property-whats-the-difference">CSS Translate Functions vs. <code>translate</code> Property: What's the Difference?</h2>
<p>The CSS translate functions and the CSS <code>translate</code> property provide two similar ways to specify a translation transformation.</p>
<p>The main differences between the two translation techniques are as follows:</p>
<ul>
<li><p>The CSS <code>translate</code> property allows translating an element without using the CSS <code>transform</code> property.</p>
</li>
<li><p>The CSS <code>translate</code> property's syntax is shorter than its function alternative.</p>
</li>
<li><p>The CSS <code>translate</code> property saves you from remembering the specific order to position the transform functions.</p>
</li>
<li><p>Browsers calculate the transform functions' matrix in the order you assigned them to the CSS <code>transform</code> property—from left to right.</p>
</li>
<li><p>Browsers calculate the transform properties' matrix in the following order:</p>
<ol>
<li><p><code>translate</code></p>
</li>
<li><p><code>rotate</code></p>
</li>
<li><p><code>scale</code></p>
</li>
</ol>
</li>
</ul>
<p>Below are some examples.</p>
<h3 id="heading-how-to-use-css-translate-property-vs-function-to-translate-an-element-along-the-x-and-y-axis">How to use CSS <code>translate</code> property vs. function to translate an element along the X- and Y-axis</h3>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">translate</span>: <span class="hljs-number">60%</span> <span class="hljs-number">300px</span>; <span class="hljs-comment">/* Equal to a transform: translate(60%, 300px) property */</span>
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-mhrmbj?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>translate</code> property to reposition the image <code>60%</code> away from its original position along the x-axis. And <code>300px</code> from its y-axis.</p>
<p><strong>Note:</strong> Suppose you wish to translate an element along the z-axis. In that case, set a <code>perspective</code> property on the "parent element" of the element you want to translate. Otherwise, the element will not move along its z-axis.</p>
<h3 id="heading-how-to-use-css-translate-property-vs-function-to-translate-an-element-along-the-z-axis">How to use CSS <code>translate</code> property vs. function to translate an element along the Z-axis</h3>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">width</span>: <span class="hljs-number">40%</span>;
}

<span class="hljs-selector-tag">div</span> {
  <span class="hljs-attribute">perspective</span>: <span class="hljs-number">35px</span>;
}

<span class="hljs-selector-class">.second-image</span> {
  <span class="hljs-attribute">translate</span>: <span class="hljs-number">0px</span> <span class="hljs-number">0px</span> <span class="hljs-number">17px</span>; <span class="hljs-comment">/* Equal to a transform: translateZ(17px) property */</span>
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-gjr5sl?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here's what we did in the snippet above:</p>
<ol>
<li><p>We used the <code>perspective</code> property to define a <code>35px</code> distance between the user and the z=0 plane.</p>
</li>
<li><p>We used the <code>translate</code> property to reposition the <code>second-image</code> seventeen pixels (<code>17px</code>) away from its original position along the z-axis.</p>
</li>
</ol>
<h3 id="heading-how-to-use-css-translate-property-vs-function-to-translate-an-element-three-dimensionally">How to use CSS <code>translate</code> property vs. function to translate an element three-dimensionally</h3>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">width</span>: <span class="hljs-number">40%</span>;
}

<span class="hljs-selector-tag">div</span> {
  <span class="hljs-attribute">perspective</span>: <span class="hljs-number">300px</span>;
}

<span class="hljs-selector-class">.second-image</span> {
  <span class="hljs-attribute">translate</span>: <span class="hljs-number">50%</span> <span class="hljs-number">25%</span> <span class="hljs-number">200px</span>; <span class="hljs-comment">/* Equal to a transform: translate3d(50%, 25%, 200px) property */</span>
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-pgqrgc?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The snippet above used the <code>translate</code> property to reposition the image <code>50%</code> away from its original position along the x-axis, <code>25%</code> from its y-axis, and <code>200px</code> from its z-axis.</p>
<p><strong>Note:</strong> A <code>none</code> value tells browsers <em>not</em> to translate the selected element.</p>
<h2 id="heading-what-is-the-css-perspective-function">What is the CSS <code>perspective()</code> Function?</h2>
<p><code>perspective()</code> transforms an element by adding some perspective effects to it.</p>
<h3 id="heading-syntax-of-the-css-perspective-function">Syntax of the CSS <code>perspective()</code> function</h3>
<p><code>perspective()</code> accepts only one argument. Here is the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">element</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">perspective</span>(length);
}
</code></pre>
<p>The <code>length</code> argument specifies the user's distance to the <a target="_blank" href="https://codesweetly.com/css-perspective-function#what-is-the-z0-plane">z=0 plane</a>.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/06/cartesian-coordinate-system-perspective-method-illustration-codesweetly.png" alt="Illustration of the CSS perspective() method" width="600" height="400" loading="lazy"></p>
<p><em>A three dimensional Cartesian coordinate system with a red arrow defining the distance between the user and the z=0 plane</em></p>
<h3 id="heading-examples-of-the-css-perspective-function">Examples of the CSS <code>perspective()</code> function</h3>
<p>We often use <code>perspective()</code> with other CSS functions such as <code>translateZ()</code>, <code>rotateX()</code>, and <code>rotateY()</code>. Below are some examples.</p>
<h4 id="heading-how-to-use-perspective-with-the-css-translatez-function">How to use <code>perspective()</code> with the CSS <code>translateZ()</code> function:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">width</span>: <span class="hljs-number">40%</span>;
}

<span class="hljs-selector-class">.second-image</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">perspective</span>(<span class="hljs-number">33px</span>) <span class="hljs-built_in">translateZ</span>(<span class="hljs-number">10px</span>);
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-hvf8bb?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here's what we did in the snippet above:</p>
<ol>
<li><p>We used the <code>perspective()</code> function to define a <code>33px</code> distance between the user and the z=0 plane.</p>
</li>
<li><p>We used the <code>translateZ()</code> function to reposition the <code>second-image</code> ten pixels (<code>10px</code>) away from its original position along the z-axis.</p>
</li>
</ol>
<p><strong>Note the following:</strong></p>
<ul>
<li><p>Suppose the <code>second-image</code>'s z-axis position is larger than or equal to the <code>perspective()</code> function's argument. In that case, the image will disappear as though it is behind the user. In other words, the selected item disappears when the user is in the same position as the element (or when the element is behind the user).</p>
</li>
<li><p>The larger the user's distance to the element's z-axis position, the less intensive the perspective effect will be, and vice-versa.</p>
</li>
</ul>
<h4 id="heading-how-to-use-perspective-with-the-css-rotatey-function">How to use <code>perspective()</code> with the CSS <code>rotateY()</code> function:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">width</span>: <span class="hljs-number">40%</span>;
}

<span class="hljs-selector-class">.second-image</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">perspective</span>(<span class="hljs-number">33px</span>) <span class="hljs-built_in">rotateY</span>(-<span class="hljs-number">10deg</span>);
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-tptutx?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here's what we did in the snippet above:</p>
<ol>
<li><p>We used the <code>perspective()</code> function to define a <code>33px</code> distance between the user and the z=0 plane.</p>
</li>
<li><p>We used the <code>rotateY()</code> function to rotate the <code>second-image</code> negative ten-degree (-10⁰) around the y-axis.</p>
</li>
</ol>
<h4 id="heading-how-to-use-perspective-with-the-css-rotatex-function">How to use <code>perspective()</code> with the CSS <code>rotateX()</code> function:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">width</span>: <span class="hljs-number">40%</span>;
}

<span class="hljs-selector-class">.second-image</span> {
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">perspective</span>(<span class="hljs-number">33px</span>) <span class="hljs-built_in">rotateX</span>(<span class="hljs-number">17deg</span>);
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-8ddydv?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here's what we did in the snippet above:</p>
<ol>
<li><p>We used the <code>perspective()</code> function to define a <code>33px</code> distance between the user and the z=0 plane.</p>
</li>
<li><p>We used the <code>rotateX()</code> function to rotate the <code>second-image</code> seventeen-degree (17⁰) around the x-axis.</p>
</li>
</ol>
<h2 id="heading-css-perspective-function-vs-perspective-property-whats-the-difference">CSS <code>perspective()</code> Function vs. <code>perspective</code> Property: What's the Difference?</h2>
<p>The CSS <code>perspective()</code> function and the <code>perspective</code> property provide two similar ways to add perspective effects to HTML elements.</p>
<p>The main differences between the two perspective techniques are as follows:</p>
<ul>
<li><p>We apply the <code>perspective()</code> function "directly on the element" we want to add some perspective effects to.</p>
</li>
<li><p>We apply the <code>perspective</code> property "on the parent element" of the element we want to add some perspective effects to.</p>
</li>
<li><p>The <code>perspective()</code> function works as a <code>transform</code> property's value.</p>
</li>
<li><p>The CSS <code>perspective</code> property allows you to create perspective effects without using the CSS <code>transform</code> property.</p>
</li>
</ul>
<p><strong>Here's an example:</strong></p>
<p>Use CSS <code>perspective</code> property to add perspective effect to a child element:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">width</span>: <span class="hljs-number">40%</span>;
}

<span class="hljs-selector-tag">div</span> {
  <span class="hljs-attribute">perspective</span>: <span class="hljs-number">33px</span>;
}

<span class="hljs-selector-class">.second-image</span> {
  <span class="hljs-attribute">rotate</span>: x <span class="hljs-number">17deg</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-psssbh?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here's what we did in the snippet above:</p>
<ol>
<li><p>We used the <code>perspective</code> property to define a <code>33px</code> distance between the user and the z=0 plane.</p>
</li>
<li><p>We used the <code>rotate</code> property to rotate the <code>second-image</code> seventeen-degree (17⁰) around the x-axis.</p>
</li>
</ol>
<p><strong>Note:</strong></p>
<ul>
<li><p>The CSS <code>perspective</code> property saves you from remembering the specific order to position the transform functions.</p>
</li>
<li><p>A <code>none</code> value tells browsers <em>not</em> to add any perspective effect to the selected element's children.</p>
</li>
</ul>
<h2 id="heading-what-is-the-css-matrix-function">What is the CSS <code>matrix()</code> Function?</h2>
<p>The CSS <code>matrix()</code> function is a shorthand for the following 2D transform functions:</p>
<ul>
<li><p><code>scaleX()</code></p>
</li>
<li><p><code>skewY()</code></p>
</li>
<li><p><code>skewX()</code></p>
</li>
<li><p><code>scaleY()</code></p>
</li>
<li><p><code>translateX()</code></p>
</li>
<li><p><code>translateY()</code></p>
</li>
</ul>
<p>In other words, instead of writing:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translateX</span>(<span class="hljs-number">100px</span>) <span class="hljs-built_in">translateY</span>(<span class="hljs-number">250px</span>) <span class="hljs-built_in">scaleX</span>(<span class="hljs-number">2</span>) <span class="hljs-built_in">scaleY</span>(<span class="hljs-number">0.9</span>)
    <span class="hljs-built_in">skewX</span>(<span class="hljs-number">10deg</span>) <span class="hljs-built_in">skewY</span>(<span class="hljs-number">35deg</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-jquhyy?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>You can alternatively use the <code>matrix()</code> function to shorten your code like so:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">matrix</span>(<span class="hljs-number">2.24693</span>, <span class="hljs-number">0.630187</span>, <span class="hljs-number">0.352654</span>, <span class="hljs-number">0.9</span>, <span class="hljs-number">100</span>, <span class="hljs-number">250</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-zzlwhn?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<h3 id="heading-the-css-matrix-functions-syntax">The CSS <code>matrix()</code> function's syntax</h3>
<p>The <code>matrix()</code> function accepts six values. Here's the syntax:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">matrix</span>(<span class="hljs-selector-tag">scaleX</span>(), <span class="hljs-selector-tag">skewY</span>(), <span class="hljs-selector-tag">skewX</span>(), <span class="hljs-selector-tag">scaleY</span>(), <span class="hljs-selector-tag">translateX</span>(), <span class="hljs-selector-tag">translateY</span>())
</code></pre>
<p>You can represent the CSS matrix's values as <a target="_blank" href="https://en.wikipedia.org/wiki/Homogeneous_coordinates">homogeneous coordinates</a> on <a target="_blank" href="https://en.wikipedia.org/wiki/Real_projective_space">ℝℙ<sup>2</sup></a> like so:</p>
<pre><code class="lang-txt">| scX skX tX | ← x-axis
| skY scY tY | ← y-axis
|  0   0   1 | ← constants
</code></pre>
<p><strong>Note the following:</strong></p>
<ul>
<li><p><code>scX</code> and <code>skX</code> are numbers describing an element's scale and skew linear transformation on the x-axis.</p>
</li>
<li><p><code>tX</code> is a number representing an element's translation on the x-axis.</p>
</li>
<li><p><code>skY</code> and <code>scY</code> are numbers describing an element's skew and scale linear transformation on the y-axis.</p>
</li>
<li><p><code>tY</code> is a number representing an element's translation on the y-axis.</p>
</li>
<li><p><code>0</code>, <code>0</code>, <code>1</code> are constants.</p>
</li>
<li><p>We do not pass the constants as <a target="_blank" href="https://codesweetly.com/javascript-arguments-vs-parameters">arguments</a> to the <code>matrix()</code> function because the computer implies them automatically.</p>
</li>
</ul>
<h3 id="heading-examples-of-the-css-matrix-function">Examples of the CSS <code>matrix()</code> function</h3>
<p>Below are some examples of the CSS <code>matrix()</code> function.</p>
<h4 id="heading-how-to-convert-scalex-to-matrix-function">How to convert <code>scaleX()</code> to <code>matrix()</code> function:</h4>
<p>Consider the following <code>transform</code> property:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scaleX</span>(<span class="hljs-number">2</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-9r2euo?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here is the <code>matrix()</code> equivalent of the above <code>scaleX()</code> function:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">matrix</span>(<span class="hljs-number">2</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">1</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>); <span class="hljs-comment">/* scX, skY, skX, scY, tX, tY */</span>
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-bypfbf?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Let's also represent the matrix's values as homogeneous coordinates on ℝℙ<sup>2</sup>:</p>
<pre><code class="lang-txt">| 2 0 0 | ← x-axis
| 0 1 0 | ← y-axis
| 0 0 1 | ← constants
</code></pre>
<p>Below is another example.</p>
<h4 id="heading-how-to-convert-translatey-to-matrix-function">How to convert <code>translateY()</code> to <code>matrix()</code> function:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translateY</span>(<span class="hljs-number">250px</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-w25f3w?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here is the <code>matrix()</code> equivalent of the above <code>translateY()</code> function:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">matrix</span>(<span class="hljs-number">1</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">1</span>, <span class="hljs-number">0</span>, <span class="hljs-number">250</span>); <span class="hljs-comment">/* scX, skY, skX, scY, tX, tY */</span>
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-1coxrt?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Let's also represent the matrix's values as homogeneous coordinates on ℝℙ<sup>2</sup>:</p>
<pre><code class="lang-txt">| 1 0 0   | ← x-axis
| 0 1 250 | ← y-axis
| 0 0 1   | ← constants
</code></pre>
<p>Below is a third example.</p>
<h4 id="heading-how-to-convert-translatex-and-scale-to-matrix-function">How to convert <code>translateX()</code> and <code>scale()</code> to <code>matrix()</code> function:</h4>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translateX</span>(<span class="hljs-number">100px</span>) <span class="hljs-built_in">scale</span>(<span class="hljs-number">2</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-wje2fa?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here is the syntax for converting the above <code>transform</code> property's value to <code>matrix()</code>:</p>
<pre><code class="lang-txt">matrix = (translateX's homogeneous coordinates) x (scale's homogeneous coordinates)
</code></pre>
<p>Let's begin the conversion by defining <code>translateX(100px)</code>'s homogeneous coordinates:</p>
<pre><code class="lang-txt">| 1 0 100 | ← x-axis
| 0 1 0   | ← y-axis
| 0 0 1   | ← constants
</code></pre>
<p>Let's also define <code>scale(2)</code>'s homogeneous coordinates:</p>
<pre><code class="lang-txt">| 2 0 0 | ← x-axis
| 0 2 0 | ← y-axis
| 0 0 1 | ← constants
</code></pre>
<p>It's now time to multiply the two homogeneous coordinates by using the following syntax:</p>
<pre><code class="lang-txt">| a d g |   | j m p |   | aj + dk + gl   am + dn + go   ap +dq  + gr |
| b e h | x | k n q | = | bj + ek + hl   bm + en + ho   bp + eq + hr |
| c f i |   | l o r |   | cj + fk + il   cm + fn + io   cp + fq + ir |
</code></pre>
<p>Let's implement the above syntax like so:</p>
<pre><code class="lang-txt">| 1 0 100 |   | 2 0 0 |   | 2 + 0 + 0   0 + 0 + 0   0 + 0 + 100 |
| 0 1  0  | x | 0 2 0 | = | 0 + 0 + 0   0 + 2 + 0   0 + 0 +  0  |
| 0 0  1  |   | 0 0 1 |   | 0 + 0 + 0   0 + 0 + 0   0 + 0 +  1  |
</code></pre>
<p>The next step is to resolve the addition. So, let's do that now.</p>
<pre><code class="lang-txt">| 1 0 100 |   | 2 0 0 |   | 2 0 100 |
| 0 1  0  | x | 0 2 0 | = | 0 2  0  |
| 0 0  1  |   | 0 0 1 |   | 0 0  1  |
</code></pre>
<p>The addition's result above gives us the homogeneous coordinates of the <code>transform: translateX(100px) scale(2)</code> property.</p>
<p>In other words, the product of <code>(translateX's homogeneous coordinates)</code> and <code>(scale's homogeneous coordinates)</code> equal:</p>
<pre><code class="lang-txt">| 2 0 100 | ← x-axis
| 0 2  0  | ← y-axis
| 0 0  1  | ← constants
</code></pre>
<p>Therefore, the matrix equivalence of <code>transform: translateX(100px) scale(2)</code> is <code>transform: matrix(2, 0, 0, 2, 100, 0)</code>.</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">matrix</span>(<span class="hljs-number">2</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">2</span>, <span class="hljs-number">100</span>, <span class="hljs-number">0</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-njrg4k?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Please note that <code>transform: translateX(100px) scale(2)</code> and <code>transform: scale(2) translateX(100px)</code> return different matrixes. Let's see an example of the second arrangement below.</p>
<h4 id="heading-how-to-convert-scale-and-translatex-to-matrix-function">How to convert <code>scale()</code> and <code>translateX()</code> to <code>matrix()</code> function:</h4>
<p>Consider the following <code>transform</code> property:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scale</span>(<span class="hljs-number">2</span>) <span class="hljs-built_in">translateX</span>(<span class="hljs-number">100px</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-39trog?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Here is the syntax for converting the above <code>transform</code> property's value to <code>matrix()</code>:</p>
<pre><code class="lang-txt">matrix = (scale's homogeneous coordinates) x (translateX's homogeneous coordinates)
</code></pre>
<p>Let's begin the conversion by defining <code>scale(2)</code>'s homogeneous coordinates:</p>
<pre><code class="lang-txt">| 2 0 0 | ← x-axis
| 0 2 0 | ← y-axis
| 0 0 1 | ← constants
</code></pre>
<p>Let's also define <code>translateX(100px)</code>'s homogeneous coordinates:</p>
<pre><code class="lang-txt">| 1 0 100 | ← x-axis
| 0 1  0  | ← y-axis
| 0 0  1  | ← constants
</code></pre>
<p>It's now time to multiply the two homogeneous coordinates by using the following syntax:</p>
<pre><code class="lang-txt">| a d g |   | j m p |   | aj + dk + gl   am + dn + go   ap +dq  + gr |
| b e h | x | k n q | = | bj + ek + hl   bm + en + ho   bp + eq + hr |
| c f i |   | l o r |   | cj + fk + il   cm + fn + io   cp + fq + ir |
</code></pre>
<p>Let's implement the above syntax like so:</p>
<pre><code class="lang-txt">| 2 0 0 |   | 1 0 100 |   | 2 + 0 + 0   0 + 0 + 0   200 + 0 + 0 |
| 0 2 0 | x | 0 1  0  | = | 0 + 0 + 0   0 + 2 + 0    0 + 0 + 0  |
| 0 0 1 |   | 0 0  1  |   | 0 + 0 + 0   0 + 0 + 0    0 + 0 + 1  |
</code></pre>
<p>The next step is to resolve the addition. So, let's do that now.</p>
<pre><code class="lang-txt">| 2 0 0 |   | 1 0 100 |   | 2 0 200 |
| 0 2 0 | x | 0 1  0  | = | 0 2  0  |
| 0 0 1 |   | 0 0  1  |   | 0 0  1  |
</code></pre>
<p>The addition's result above gives us the homogeneous coordinates of the <code>transform: scale(2) translateX(100px)</code> property.</p>
<p>In other words, the product of <code>(scale's homogeneous coordinates)</code> and <code>(translateX's homogeneous coordinates)</code> equal:</p>
<pre><code class="lang-txt">| 2 0 200 | ← x-axis
| 0 2  0  | ← y-axis
| 0 0  1  | ← constants
</code></pre>
<p>Therefore, the matrix equivalence of <code>transform: scale(2) translateX(100px)</code> is <code>transform: matrix(2, 0, 0, 2, 200, 0)</code>.</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">matrix</span>(<span class="hljs-number">2</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">2</span>, <span class="hljs-number">200</span>, <span class="hljs-number">0</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-3m4vgk?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>Notice that <code>transform: scale(2) translateX(100px)</code> equals <code>transform: matrix(2, 0, 0, 2, 200, 0)</code>. And <code>transform: translateX(100px) scale(2)</code> is equivalent to <code>transform: matrix(2, 0, 0, 2, 100, 0)</code>.</p>
<p>In other words, the order in which you write the transform functions matters. Let's discuss more on this below.</p>
<h2 id="heading-why-does-the-css-transform-functions-order-matter">Why Does the CSS Transform Functions' Order Matter?</h2>
<p>The order in which you write <a target="_blank" href="https://codesweetly.com/web-tech-terms-c#css-transform-functions">CSS transform functions</a> matters because of the way browsers calculate the matrix's values.</p>
<p>For instance, consider the following snippet:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">div</span> {
  <span class="hljs-attribute">position</span>: absolute;
  <span class="hljs-attribute">width</span>: <span class="hljs-number">100px</span>;
  <span class="hljs-attribute">height</span>: <span class="hljs-number">100px</span>;
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
}

<span class="hljs-selector-class">.red</span> {
  <span class="hljs-attribute">border</span>: <span class="hljs-number">3px</span> solid red;
  <span class="hljs-attribute">background-color</span>: <span class="hljs-built_in">rgba</span>(<span class="hljs-number">255</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0.5</span>);
}

<span class="hljs-selector-class">.green</span> {
  <span class="hljs-attribute">border</span>: <span class="hljs-number">3px</span> solid green;
  <span class="hljs-attribute">background-color</span>: <span class="hljs-built_in">rgba</span>(<span class="hljs-number">0</span>, <span class="hljs-number">128</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0.5</span>);
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">translateX</span>(<span class="hljs-number">100px</span>) <span class="hljs-built_in">scale</span>(<span class="hljs-number">2</span>);
}

<span class="hljs-selector-class">.blue</span> {
  <span class="hljs-attribute">border</span>: <span class="hljs-number">3px</span> solid blue;
  <span class="hljs-attribute">background-color</span>: <span class="hljs-built_in">rgba</span>(<span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">255</span>, <span class="hljs-number">0.5</span>);
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scale</span>(<span class="hljs-number">2</span>) <span class="hljs-built_in">translateX</span>(<span class="hljs-number">100px</span>);
}
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-rvkagy?file=style.css"><strong>Try it on StackBlitz</strong></a></p>
<p>The only difference between the green and the blue <code>div</code>s is the order in which we wrote their transform functions.</p>
<p>However, the computer translated the two containers using different values (<code>100px</code> for the green <code>div</code> and <code>200px</code> for the blue one).</p>
<p>So, why did the transform functions' order affect the <code>div</code>s' translation values? Here's the reason:</p>
<ul>
<li>Browsers multiply each transform function's homogeneous coordinates in order—from left to right.</li>
</ul>
<p>In other words, the computer used the following syntax to compute the green <code>div</code>'s matrix:</p>
<ul>
<li><a class="post-section-overview" href="#how-to-convert-translatex-and-scale-to-matrix-function">Green <code>div</code>'s matrix</a> = (translateX's homogeneous coordinates) x (scale's homogeneous coordinates)</li>
</ul>
<p>And it used the following syntax to calculate the blue <code>div</code>'s matrix:</p>
<ul>
<li><a class="post-section-overview" href="#how-to-convert-scale-and-translatex-to-matrix-function">Blue <code>div</code>'s matrix</a> = (scale's homogeneous coordinates) x (translateX's homogeneous coordinates)</li>
</ul>
<p>Therefore, the position of the transform functions determined the matrix's <a target="_blank" href="https://codesweetly.com/javascript-arguments-vs-parameters">arguments</a> because browsers began the calculation in order from the leftmost function to the right.</p>
<p>Knowing how to convert transform functions to <code>matrix()</code> is beneficial. And having some conversion tools can come in handy. So, let's discuss some helpful tools you can use.</p>
<h2 id="heading-tools-for-converting-transform-functions-to-matrix">Tools for Converting Transform Functions to <code>matrix()</code></h2>
<p>The two tools you can use to do a quick conversion of transform functions to <code>matrix()</code> are:</p>
<ul>
<li><p>JavaScript's <code>window.getComputedStyle()</code> method</p>
</li>
<li><p>Eric Meyer and Aaron Gustafson's matrix resolution tool</p>
</li>
</ul>
<h3 id="heading-how-to-use-windowgetcomputedstyle-to-convert-transform-functions-to-matrix">How to use <code>window.getComputedStyle()</code> to convert transform functions to <code>matrix()</code></h3>
<p>Suppose you want to convert the following transform functions to matrix:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scale</span>(<span class="hljs-number">2</span>) <span class="hljs-built_in">translateX</span>(<span class="hljs-number">100px</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p>You will add an <code>id</code> attribute to the image element:</p>
<pre><code class="lang-html"><span class="hljs-tag">&lt;<span class="hljs-name">img</span>
  <span class="hljs-attr">src</span>=<span class="hljs-string">"https://cdn.pixabay.com/photo/2022/09/26/23/26/african-american-7481724_960_720.jpg"</span>
  <span class="hljs-attr">alt</span>=<span class="hljs-string">""</span>
  <span class="hljs-attr">id</span>=<span class="hljs-string">"image"</span>
/&gt;</span>
</code></pre>
<p>Then, in JavaScript, you will:</p>
<ol>
<li><p>Use the <code>id</code> attribute to get the image element.</p>
</li>
<li><p>Use the <a target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle"><code>window.getComputedStyle()</code></a> method to get the image's <code>transform</code> property's value.</p>
</li>
</ol>
<p><strong>Here's the code:</strong></p>
<pre><code class="lang-js"><span class="hljs-comment">// Get the image element by its id name:</span>
<span class="hljs-keyword">const</span> image = <span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">"image"</span>);

<span class="hljs-comment">// Get the image element's transform property's value:</span>
<span class="hljs-keyword">const</span> matrix = <span class="hljs-built_in">window</span>.getComputedStyle(image).getPropertyValue(<span class="hljs-string">"transform"</span>);

<span class="hljs-comment">// Log the matrix variable's value to the console:</span>
<span class="hljs-built_in">console</span>.log(matrix);
</code></pre>
<p><a target="_blank" href="https://stackblitz.com/edit/js-39trog?devToolsHeight=33&amp;file=index.js"><strong>Try it on StackBlitz</strong></a></p>
<p>Browsers, by default, convert a CSS <code>transform</code> property's value to its matrix equivalent. So, the snippet above returned the image's computed value.</p>
<p>Let's now discuss the second conversion tool.</p>
<h3 id="heading-how-to-use-the-matrix-resolutions-tool-to-convert-transform-functions-to-matrix">How to use the matrix resolutions tool to convert transform functions to <code>matrix()</code></h3>
<p>Suppose you want to convert the following transform functions to a <code>matrix()</code>:</p>
<pre><code class="lang-css"><span class="hljs-selector-tag">img</span> {
  <span class="hljs-attribute">transform-origin</span>: <span class="hljs-number">0</span> <span class="hljs-number">0</span>;
  <span class="hljs-attribute">transform</span>: <span class="hljs-built_in">scale</span>(<span class="hljs-number">2</span>) <span class="hljs-built_in">translateX</span>(<span class="hljs-number">100px</span>);
  <span class="hljs-attribute">width</span>: <span class="hljs-number">80%</span>;
}
</code></pre>
<p>You will do the following:</p>
<ol>
<li><p>Go to The Matrix Resolutions website: <a target="_blank" href="https://meyerweb.com/eric/tools/matrix/">https://meyerweb.com/eric/tools/matrix/</a>.</p>
</li>
<li><p>Paste your transform functions (<code>scale(2) translateX(100px)</code>) into the first text field.</p>
</li>
<li><p>Click "The Red Pill" button to generate the transform functions' matrix equivalence.</p>
</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/06/how-to-use-the-matrix-resolutions-tool-codesweetly.jpg" alt="The matrix resolutions tool's screenshot" width="600" height="400" loading="lazy"></p>
<p><em>Click the red pill button to convert CSS transform functions to a matrix() function</em></p>
<p><strong>Tip:</strong> Use <a target="_blank" href="https://codesweetly.com/css-matrix3d-function">matrix3d()</a> to create a 3D transformation matrix.</p>
<h2 id="heading-important-stuff-to-know-about-transforming-elements-in-css">Important Stuff to Know about Transforming Elements in CSS</h2>
<p>Here are three essential facts to remember when you transform elements in CSS.</p>
<h3 id="heading-1-transform-creates-a-stacking-context">1. Transform creates a stacking context</h3>
<p>Suppose you set the <code>transform</code> property to any value other than <code>none</code>. In that case, the browser will create a <a target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context">stacking context</a>. And the transformed element will serve as a <a target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block">containing block</a> to any <a target="_blank" href="https://codesweetly.com/css-position-property#what-is-position-absolute-in-css">absolute</a> or <a target="_blank" href="https://codesweetly.com/css-position-property#what-is-position-fixed-in-css">fixed</a> positioned elements it contains.</p>
<h3 id="heading-2-scaling-and-zooming-animations-cause-accessibility-issues">2. Scaling and zooming animations cause accessibility issues</h3>
<p>Whenever you include scaling or zooming animations in your app, provide users an option to turn off animations. This option is necessary because scaling and zooming animations cause <a target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/transform#accessibility_concerns">accessibility issues</a>.</p>
<h3 id="heading-3-not-all-elements-are-transformable">3. Not all elements are transformable</h3>
<p>You cannot transform the following <a target="_blank" href="https://codesweetly.com/css-box-model">box models</a>:</p>
<ul>
<li><p><a target="_blank" href="https://codesweetly.com/css-transform-property#non-replaced-vs-replaced-elements-whats-the-difference">Non-replaced</a> inline elements</p>
</li>
<li><p><a target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col">table-column</a> boxes</p>
</li>
<li><p><a target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup">table-column-group</a></p>
</li>
</ul>
<h2 id="heading-wrapping-up">Wrapping Up</h2>
<p>In this article, we discussed all the CSS transform tools you need to translate, rotate, skew, scale, or add perspective effects to HTML elements.</p>
<p>I hope you've found this article helpful.</p>
<h3 id="heading-thanks-for-reading">Thanks for reading!</h3>
<p>If you like this tutorial, you will enjoy my <a target="_blank" href="https://amzn.to/3N3XUws">CSS Flexbox book</a>. It is a handy quick reference guide that uses images and live examples to explain Flexbox.</p>
<p><a target="_blank" href="https://amzn.to/3N3XUws"><img src="https://www.freecodecamp.org/news/content/images/2023/06/css-flexbox-book-get-banner-codesweetly.png" alt="Get CodeSweetly's CSS Flexbox book at Amazon" width="600" height="400" loading="lazy"></a></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ I uncovered 1700 Coursera Courses that Are Still Completely Free ]]>
                </title>
                <description>
                    <![CDATA[ By Dhawal Shah Is Coursera Free? At Class Central, we get that question so often that I wrote a guide to answer it. Nowadays, most Coursera courses are free to audit. But if you want to complete graded assignments or get a course certificate, you hav... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/coursera-free-online-courses-6d84cdb30da/</link>
                <guid isPermaLink="false">66d45e9a182810487e0ce17a</guid>
                
                    <category>
                        <![CDATA[ Data Science ]]>
                    </category>
                
                    <category>
                        <![CDATA[ education ]]>
                    </category>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 15 Mar 2023 10:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/02/coursera-free-courses.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Dhawal Shah</p>
<p>Is Coursera Free? At <a target="_blank" href="https://www.classcentral.com/">Class Central</a>, we get that question so often that I wrote <a target="_blank" href="https://www.classcentral.com/report/coursera-signup-for-free/">a guide to answer it</a>. Nowadays, most Coursera courses are free to audit. But if you want to complete graded assignments or get a course certificate, you have to pay.</p>
<p>Coursera’s entire catalog used to be entirely free. But in late 2015, they <a target="_blank" href="https://blog.coursera.org/an-update-on-assessments-grades-and/">introduced a paywall</a>. Over the following years, this monetization approach expanded to other online course providers, <a target="_blank" href="https://www.classcentral.com/report/edx-paywall-graded-assignments/">including edX</a>.</p>
<p>But I always knew that there were a few courses on Coursera that remained completely free. When you enroll in these courses, they offer a “<em>Full Course, No Certificate</em>” option, as you can see below.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/03/coursera-free-course-no-certificate.png" alt="Image" width="600" height="400" loading="lazy">
<em>Free Coursera course: “Full Course, No Certificate” option (with graded assignments)</em></p>
<p>By contrast, other courses tend to offer a more restrictive free-to-audit option, which doesn’t include graded assignments. This option is also quite easy to miss. You have to look for the “<em>audit</em>” link at the very bottom of the window that pops up when you enroll.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/03/coursera-free-audit-course.png" alt="Image" width="600" height="400" loading="lazy">
<em>Free Coursera course: Free audit option (without graded assignments)</em></p>
<h2 id="heading-which-courses-are-entirely-free">Which Courses are Entirely Free?</h2>
<blockquote>
<p>Out of Coursera’s 7000 or so active courses, I expected to find about 50 fully-free courses. Imagine my surprise (shock, really) when I found that close to 1700 Coursera courses are still completely free</p>
</blockquote>
<p>The biggest challenge is finding <em>which</em> Coursera courses are entirely free. The Coursera website doesn’t provide any “free course” filter. To know if a course is fully free, you have to log into Coursera, enroll in the course, and look for the “<em>Full Course, No Certificate</em>” option.</p>
<p>But there are thousands of courses on Coursera, so short of checking them one by one, it’s tricky to manually put together a list of their fully-free courses. So instead, we went with an automated approach.</p>
<p>Originally, I used the browser automation tool <a target="_blank" href="https://www.classcentral.com/subject/selenium">Selenium</a> to check the courses for me. My colleague <a target="_blank" href="https://www.classcentral.com/@bob">Bob</a> set me up with an <a target="_blank" href="https://www.classcentral.com/institution/aws">AWS instance</a> and <a target="_blank" href="https://aws.amazon.com/cloud9/">Cloud9 IDE</a>, where I could do this automation. Below is a screenshot of the setup. (Yes, I prefer PHP.)</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/03/cloud9-selenium-php-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Automating the search for free Coursera courses with Selenium</em></p>
<p>Out of Coursera’s 7000 or so active courses, I expected to find about 50 fully-free courses. Imagine my surprise (shock, really) when I found that close to 1700 Coursera courses are still completely free (that is, including the graded assignments, minus only the free certificate).</p>
<h2 id="heading-free-coursera-courses">Free Coursera Courses</h2>
<p>Below, I've compiled the 1700 entirely free courses offered on Coursera. It includes a number of highly-rated courses, including a few from Class Central’s <a target="_blank" href="https://www.classcentral.com/collection/top-free-online-courses">Best Online Courses of All Time</a>, such as Barbara Oakley's <a target="_blank" href="https://www.classcentral.com/course/learning-how-to-learn-2161">Learning How to Learn</a>.</p>
<p>Here are some stats about the course list:</p>
<ul>
<li>Combined, these courses have <strong>76M</strong> enrollments.</li>
<li>Combined, they have received <strong>41K</strong> reviews on Class Central.</li>
<li>There are <strong>9</strong> courses with over <strong>1M</strong> enrollments.</li>
<li>The most popular one, <a target="_blank" href="https://www.classcentral.com/course/the-science-of-well-being-10346">Yale's Science of Well-Being</a>, has <strong>4.3M</strong> enrollments.</li>
<li><strong>58%</strong> of the courses are in English and <strong>14%</strong> are in Spanish.</li>
</ul>
<p>To help you navigate the course list, I’ve broken it down by subject. Click on one to jump to the corresponding courses.</p>
<ul>
<li><a class="post-section-overview" href="#heading-personal-development-78">Personal Development (78)</a></li>
<li><a class="post-section-overview" href="#heading-health-amp-medicine-196">Health &amp; Medicine (196)</a></li>
<li><a class="post-section-overview" href="#heading-science-194">Science (194)</a></li>
<li><a class="post-section-overview" href="#heading-humanities-197">Humanities (197)</a></li>
<li><a class="post-section-overview" href="#heading-computer-science-103">Computer Science (103)</a></li>
<li><a class="post-section-overview" href="#heading-programming-81">Programming (81)</a></li>
<li><a class="post-section-overview" href="#heading-mathematics-44">Mathematics (44)</a></li>
<li><a class="post-section-overview" href="#heading-engineering-88">Engineering (88)</a></li>
<li><a class="post-section-overview" href="#heading-social-sciences-212">Social Sciences (212)</a></li>
<li><a class="post-section-overview" href="#heading-business-255">Business (255)</a></li>
<li><a class="post-section-overview" href="#heading-art-amp-design-67">Art &amp; Design (67)</a></li>
<li><a class="post-section-overview" href="#heading-data-science-45">Data Science (45)</a></li>
<li><a class="post-section-overview" href="#heading-education-amp-teaching-85">Education &amp; Teaching (85)</a></li>
<li><a class="post-section-overview" href="#heading-information-security-infosec-16">Information Security (InfoSec) (16)</a></li>
</ul>
<h2 id="heading-more-free-courses">More Free Courses</h2>
<p>If you don’t find what you need in the course list below, <a target="_blank" href="https://www.classcentral.com/subjects">y</a>ou may want to have a look at my other freeCodeCamp articles:</p>
<ul>
<li><a target="_blank" href="https://www.freecodecamp.org/news/free-certificates/">1000+ Free Developer Certifications</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/ivy-league-free-online-courses-a0d7ae675869/">Here are 850+ Ivy League Courses You Can Take Right Now for Free</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/free-online-programming-cs-courses/">860+ Free Online Programming &amp; Computer Science Courses</a></li>
</ul>
<hr>
<h2 id="heading-personal-development-78">Personal Development (78)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/learning-how-to-learn-2161">Learning How to Learn: Powerful mental tools to help you master tough subjects</a> from <em>Deep Teaching Solutions</em> ★★★★★(23000)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mindshift-8289">Mindshift: Break Through Obstacles to Learning and Discover Your Hidden Potential</a> from <em>McMaster University</em> ★★★★★(7364)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/learning-how-to-learn-youth-12569">Learning How To Learn for Youth</a> from <em>Arizona State University</em> ★★★★★(948)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/apprendre-comment-apprendre-18067">Apprendre comment apprendre (ACA) : Des outils mentaux puissants qui vous aideront à maîtriser des sujets difficiles</a> from <em>Deep Teaching Solutions</em> ★★★★★(377)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/successfulnegotiation-2460">Successful Negotiation: Essential Strategies and Skills</a> from <em>University of Michigan</em> ★★★★★(217)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/aprendo-4631">Aprender</a> from <em>Universidad Nacional Autónoma de México</em> ★★★★★(106)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/know-thyself-the-examined-life-432">Know Thyself - The Value and Limits of Self-Knowledge: The Examined Life</a> from <em>University of Edinburgh</em> ★★★★★(30)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/skills-management-11218">How to Get Skilled: Introduction to Individual Skills Management (Project-Centered Course)</a> from <em>State University of New York</em> ★★★★☆(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mindware-8128">Mindware: Critical Thinking for the Information Age</a>  from <em>University of Michigan</em> ★★★★★(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/human-needs-8253">The Arts and Science of Relationships: Understanding Human Needs</a> from <em>University of Toronto</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/aprender-4227">Aprendendo a aprender: ferramentas mentais poderosas para ajudá-lo a dominar assuntos difíceis (em Português) [Learning How to Learn]</a> from <em>Deep Teaching Solutions</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/competencias-digitales-ofimatica-13590">Competencias digitales. Herramientas de ofimática (Microsoft Word, Excel, Power Point)</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/digital-footprint-8277">Digital Footprint</a> from <em>University of Edinburgh</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/transmedia-storytelling-7173">Transmedia Storytelling: Narrative worlds, emerging technologies, and global audiences</a> from <em>University of New South Wales</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/operating-system-foundations-117538">Operating System Foundations</a> from <em>Infosec</em> ★★☆☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/learning-how-to-learn-ar-13352">تعّلم كيف تتعلم: أدوات ذهنية قوية لمساعدتك على إتقان موضوعات صعبة</a> from <em>Deep Teaching Solutions</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ruhe-xuexi-5699">学会如何学习：帮助你掌握复杂学科的强大智力工具（Learning How to Learn）</a> from <em>Deep Teaching Solutions</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/managing-emotions-uncertainty-stress-22856">Managing Emotions in Times of Uncertainty &amp; Stress</a> from <em>Yale University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/-genius-106126">The Nature of Genius</a> from <em>Yale University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/lesson-small-talk-and-conversational-vocabulary-17922">Lesson | Small Talk &amp; Conversational Vocabulary</a> from <em>Georgia Institute of Technology</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/e-learning-5921">Mastering Remote Work and Online Study in U.S. in the post-COVID Era</a> from <em>State University of New York</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/get-hired-7091">Job Success: Get Hired or Promoted in 3 Steps</a> from <em>State University of New York</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/manage-stress-police-21650">Understanding and Managing the Stresses of Police Work</a> from <em>University of Toronto</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/makingprogress-13366">"Making" Progress Teach-Out</a> from <em>Emory University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/familia-trabajo-sociedad-9572">Trabajar para ser feliz</a> from <em>Universidad Austral</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/research-for-impact-13093">Research for Impact</a> from <em>University of Cape Town</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/translation-in-practice-9775">Translation in Practice</a> from <em>Nanjing University</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/media-2839">English for Media Literacy</a> from <em>University of Pennsylvania</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/success-ar-13183">علم النجاح: ما يجب أن تعرفه من الباحثين</a>  from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/brilliant-passionate-you-22019">Brilliant, Passionate You</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/negotiation-skills-fr-32666">Réussir une négociation : Stratégies et compétences clés</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/negotiation-skills-de-32667">Erfolgreich Verhandeln: Strategien und Fähigkeiten</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/influencing-people-ar-32776">التأثير على الأشخاص</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/influencing-people-pt-32814">Como influenciar pessoas</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/negociacion-4188">Negociación exitosa: Estrategias y habilidades esenciales (en español)</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/negociacao-4217">Negociações de sucesso: estratégias e habilidades essenciais (em Português)</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/international-travel-8782">International Travel Preparation, Safety, &amp; Wellness</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/intro-learning-transfer-13683">Introduction to Learning Transfer and Life Long Learning (3L)</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/upravlinnya-chasom-5261">Працюйте розумніше, а не більше: управління часом для особистої та професійної продуктивності</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/negotiation-ar-13419">مقدمة عن التفاوض: دليل استراتيجي لتصبح مُفاوضًا ذا مبادئ ومُقنعًا</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/negotiation-ru-45211">Введение: как стать убедительным переговорщиком</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lesson-express-yourself-pronunciation-17918">Lesson | Express Yourself: Pronunciation</a> from <em>Georgia Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lesson-organize-your-pitch-17919">Lesson | Organize Your Pitch</a> from <em>Georgia Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lesson-get-ready-for-the-interview-17920">Lesson | Get Ready for the Interview</a> from <em>Georgia Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lesson-understand-and-be-understood-on-the-phone-17921">Lesson | Understand and Be Understood on the Phone</a> from <em>Georgia Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lesson-telephone-language-17923">Lesson | Telephone Language</a> from <em>Georgia Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lesson-video-conferencing-face-to-face-but-online-17924">Lesson | Video Conferencing: Face to Face but Online</a> from <em>Georgia Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/persuade-speech-ar-13351">الخطابة الإقناعية: تحفيز الجماهير بالحجج المُقنِعة واللغة المؤثِّرة</a> from <em>University of Washington</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/teamwork-and-creativity-es-64341">Trabajo en equipo y creatividad</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/organizational-concepts-and-language-ar-64343">اللغة والمفاهيم التنظيمية</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/teamwork-and-creativity-fr-64344">Travail d'équipe et créativité</a>  from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/teamwork-and-creativity-ar-64345">العمل الجماعي والإبداع</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/empowering-yourself-post-truth-world-15225">Empowering Yourself in a Post-Truth World</a> from <em>State University of New York</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/poweronboarding-2256">Power Onboarding</a> from <em>Northwestern University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/esprit-critique-35099">Exercer son esprit critique à l’ère informationnelle</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/futureofwork-12539">Designing the Future of Work</a> from <em>University of New South Wales</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/conflict-transformation-8457">Conflict Transformation</a> from <em>Emory University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/fondamentaux-negociation-11052">Les Fondamentaux de la Négociation</a>  from <em>ESSEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/zhichang-suyang-2369">職場素養 (Professionalism)</a>  from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/etica-4639">La solución del conflicto ético</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/competencias-digitales-access-13589">Competencias digitales de ofimática: Microsoft Access</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/competencias-digitales-herramientas-basi-13591">Competencias digitales. Conceptos y herramientas básicas</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/formacion-pensamiento-critico-40301">La formación del pensamiento crítico en la era digital</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/hablar-bien-en-publico-10518">Cómo hablar bien en público</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/pensamiento-sistemico-en-el-siglo-xxi-110387">Pensamiento Sistémico en el Siglo XXI</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/competencias-empleabilidad-linkyou-19404">Competencias para la empleabilidad</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/negociacion-iae-11560">Negociación 4.0</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/communicate-with-impact-ru-22769">Повествование и влияние: Эффектная коммуникация</a> from <em>Macquarie University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/communicate-with-impact-fr-22772">Storytelling et influence : Communiquer pour convaincre</a> from <em>Macquarie University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/career-guide-and-interview-prep-for-data-analyst--89740">Data Analyst Career Guide and Interview Preparation</a> from <em>IBM</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/communicating-trustworthy-information-in-the-digi-66528">Science Communication: Communicating Trustworthy Information in the Digital World</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mi-primer-empleo-9375">Mi Primer Empleo (MPE)</a> from <em>Universidad de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/etkilikonusma-3660">Etkili Konuşma (Effective Speaking)</a> from <em>Koç University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/professionalism-in-an-era-of-change-13563">Professionalism in an era of change</a> from <em>Utrecht University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/como-engajar-equipes-e-criar-cultura-em-ambientes-54367">Como engajar equipes e criar cultura em ambientes virtuais</a> from <em>Fundação Instituto de Administração</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/critical-thinking-1-110430">التفكير الناقد | Critical Thinking</a> from <em>Alfaisal University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/a-tanulas-tanulasa-17984">A tanulás tanulása: Hatékony mentális eszközök, melyek segítenek megbirkózni a nehéz tantárgyakkal (Learning How to Learn)</a> from <em>Deep Teaching Solutions</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/land-your-next-role-119583">Land Your Next Role</a> from <em>Aptly</em></li>
</ul>
<h2 id="heading-health-amp-medicine-196">Health &amp; Medicine (196)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/clinical-research-5037">Understanding Clinical Research: Behind the Statistics</a> from <em>University of Cape Town</em> ★★★★★(735)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/medical-research-19515">Understanding Medical Research: Your Facebook Friend is Wrong</a> from <em>Yale University</em> ★★★★★(364)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/health-concepts-chinese-medicine-9496">Health Concepts in Chinese Medicine</a> from <em>The Hong Kong University of Science and Technology</em> ★★★★★(86)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/vitalsigns-1887">Vital Signs: Understanding What the Body Is Telling Us</a> from <em>University of Pennsylvania</em> ★★★★★(51)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/epidemiology-733">Epidemiology: The Basic Science of Public Health</a> from <em>The University of North Carolina at Chapel Hill</em> ★★★★☆(29)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/severe-to-profound-intellectual-disabili-15206">Severe to Profound Intellectual Disability: Circles of Care and Education</a> from <em>University of Cape Town</em> ★★★★★(24)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/positive-psychiatry-8783">Positive Psychiatry and Mental Health</a>  from <em>The University of Sydney</em> ★★★★★(21)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid-19-contact-tracing-19669">COVID-19 Contact Tracing</a> from <em>Johns Hopkins University</em> ★★★★★(16)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/get-active-5260">Sit Less, Get Active</a> from <em>University of Edinburgh</em> ★★★★☆(16)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/organ-donation-8708">Organ Donation: From Death to Life</a>  from <em>University of Cape Town</em> ★★★★★(14)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/manage-health-covid-19-19289">Mind Control: Managing Your Mental Health During COVID-19</a> from <em>University of Toronto</em> ★★★★★(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/epidemics-678">Epidemics - the Dynamics of Infectious Diseases</a> from <em>Pennsylvania State University</em> ★★★★☆(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid-19-what-you-need-to-know-19270">COVID-19: What You Need to Know</a> from <em>Osmosis University</em> ★★★★★(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/clinicalterminology-839">Clinical Terminology for International and U.S. Students</a> from <em>University of Pittsburgh</em> ★★★★★(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid-19-training-healthcare-20907">COVID-19 Training for Healthcare Workers</a> from <em>Stanford University</em> ★★★★★(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/dentmedpenn-2902">Introduction to Dental Medicine</a> from <em>University of Pennsylvania</em> ★★★★☆(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/infection-prevention-5062">Infection Prevention in Nursing Homes</a> from <em>The University of North Carolina at Chapel Hill</em> ★★★★★(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/bacteria-3203">Bacteria and Chronic Infections</a> from <em>University of Copenhagen</em> ★★★★★(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/physical-therapy-exercise-11686">Managing Your Health: The Role of Physical Therapy and Exercise</a> from <em>University of Toronto</em> ★★★★☆(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/diabetes-664">Diabetes - a Global Challenge</a> from <em>University of Copenhagen</em> ★★★★☆(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/chemhealth-2053">Chemicals and Health</a> from <em>Johns Hopkins University</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/chronicpain-1769">Preventing Chronic Pain: A Human Systems Approach</a> from <em>University of Minnesota</em> ★★★★★(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid-19-19029">Science Matters: Let's Talk About COVID-19</a> from <em>Imperial College London</em> ★★★★★(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/health-gender-spectrum-8300">Health Across the Gender Spectrum</a> from <em>Stanford University</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid19-epidemiology-19250">Fighting COVID-19 with Epidemiology: A Johns Hopkins Teach-Out</a> from <em>Johns Hopkins University</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/systems-thinking-5723">Systems Thinking In Public Health</a> from <em>Johns Hopkins University</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/edivet-1675">EDIVET: Do you have what it takes to be a veterinarian?</a> from <em>University of Edinburgh</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mentalhealth-400">The Social Context of Mental Health and Illness</a> from <em>University of Toronto</em> ★★★☆☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/screening-4793">Disease Screening in Public Health</a> from <em>University of Geneva</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/datamanagement-540">Data Management for Clinical Research</a> from <em>Vanderbilt University</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/abdomen-anatomy-4420">Anatomy of the Abdomen and Pelvis; a journey from basis to clinic.</a>  from <em>Leiden University</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/newnordicdiet-669">The New Nordic Diet - from Gastronomy to Health</a>  from <em>University of Copenhagen</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/breastfeeding-10633">Stanford's Short Course on Breastfeeding</a> from <em>Stanford University</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/clinicalskills-2574">Teaching and Assessing Clinical Skills</a> from <em>University of Michigan</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/measuring-and-maximizing-impact-of-covid-19-conta-20985">Measuring and Maximizing Impact of COVID-19 Contact Tracing</a> from <em>Johns Hopkins University</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/adhd-everyday-strategies-6041">ADHD: Everyday Strategies for Elementary Students</a> from <em>State University of New York</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ebolaessentials-3326">Ebola: Essential Knowledge for Health Professionals</a> from <em>University of Amsterdam</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/antibiotic-stewardship-11992">Antibiotic Stewardship</a>  from <em>Stanford University</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/michigan-sport-related-concussion-traini-15223">Michigan Sport-Related Concussion Training Certification</a>  from <em>University of Michigan</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/aidsfearandhope-3153">AIDS: Fear and Hope</a> from <em>University of Michigan</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/strategies-senior-housing-covid19-23267">Strategies for Senior Housing Communities during COVID-19</a> from <em>Johns Hopkins University</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/trunk-anatomy-10390">Anatomy of the Chest, Neck, Abdomen, and Pelvis</a> from <em>Yale University</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/onehealth-20756">Bats, Ducks, and Pandemics: An Introduction to One Health Policy</a> from <em>Princeton University</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/parasitology-3154">Tropical Parasitology: Protozoans, Worms, Vectors and Human Diseases</a> from <em>Duke University</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/hha-3726">Foundations for Assisting in Home Care</a> from <em>State University of New York</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/chickens-2937">Chicken Behaviour and Welfare</a> from <em>University of Edinburgh</em> ★★★☆☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/globalhealthoverview-685">Global Health: An Interdisciplinary Overview</a> from <em>University of Geneva</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ebola-3202">Ebola Virus Disease: An Evolving Epidemic</a> from <em>Emory University</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/clinical-kidney-transplantation-4422">Clinical Kidney, Pancreas and Islet Transplantation</a> from <em>Leiden University</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/everyday-chinese-medicine-9386">Everyday Chinese Medicine</a> from <em>The Chinese University of Hong Kong</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/implant-dentistry-7191">Implant Dentistry</a> from <em>The University of Hong Kong</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-health-introduction-2076">An Introduction to Global Health</a> from <em>University of Copenhagen</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/cataractsurgery-2344">Introduction to Cataract Surgery</a> from <em>University of Michigan</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid-vaccine-ambassador-61414">COVID Vaccine Ambassador Training: How to Talk to Parents</a>  from <em>Johns Hopkins University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/addiction-treatment-17925">Addiction Treatment: Clinical Skills for Healthcare Providers</a> from <em>Yale University</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/health-behavior-change-19269">Health Behavior Change: From Evidence to Action</a> from <em>Yale University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/essentials-global-health-7337">Essentials of Global Health</a> from <em>Yale University</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/healthcarejobs-3084">Career 911: Your Future Job in Medicine and Healthcare</a> from <em>Northwestern University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/pregnancychildbirth-1404">Childbirth: A Global Perspective</a> from <em>Emory University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/actualizacion-manejo-diabetes-tipo-2-12593">Actualización en el manejo del paciente con diabetes mellitus tipo 2</a> from <em>Universidad Nacional Autónoma de México</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/zhong-yao-zhi-shi-4329">杏林探宝——认知中药</a> from <em>Shanghai Jiao Tong University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/everyday-chinese-medicine-2-18189">Everyday Chinese Medicine 2</a> from <em>The Chinese University of Hong Kong</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/diabetes-essential-facts-7632">Diabetes – the Essential Facts</a> from <em>University of Copenhagen</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/easing-the-burden-of-obesity-diabetes-cv-8663">Easing the burden of obesity, diabetes and cardiovascular disease</a> from <em>The University of Sydney</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mrifundamentals-5043">MRI Fundamentals</a> from <em>Korea Advanced Institute of Science and Technology</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/healthcare-it-7664">Health Care IT: Challenges and Opportunities</a> from <em>Icahn School of Medicine at Mount Sinai</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/clinicalepidemiology-5970">Clinical Epidemiology</a> from <em>Utrecht University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid-19-capacitacion-trabajadores-de-la-salud-23194">Capacitación sobre COVID-19 para trabajadores de salud</a> from <em>Stanford University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/stories-of-infection-8444">Stories of Infection</a> from <em>Stanford University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/oralcavity-9263">The Oral Cavity: Portal to Health and Disease</a> from <em>University of Pennsylvania</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/thoracic-oncology-6908">Thoracic Oncology</a> from <em>University of Michigan</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/humanitarian-public-health-2-17156">Public Health in Humanitarian Crises 2</a> from <em>Johns Hopkins University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/strategies-assisted-living-covid19-23187">Strategies for Assisted Living Communities during COVID-19</a> from <em>Johns Hopkins University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/-dyslexia-116700">Overcoming Dyslexia</a> from <em>Yale University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-health-diplomacy-6750">Global Health Diplomacy</a> from <em>State University of New York</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/precision-medicine-21640">Precision Medicine</a> from <em>University of Geneva</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/personalizedmed-2573">Case Studies in Personalized Medicine</a> from <em>Vanderbilt University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/hwts-1721">Introduction to Household Water Treatment and Safe Storage</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/foodsafetytox-2941">食品安全與毒理 (Food Safety &amp; Toxicology)</a> from <em>National Taiwan University</em> ★★☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/foodsafety2-8863">食品安全與風險分析（Food Safety＆Risk Analysis）</a> from <em>National Taiwan University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/nutricion-obesidad-sobrepeso-12594">Nutrición y obesidad: control de sobrepeso</a> from <em>Universidad Nacional Autónoma de México</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/actua-dolor-cronico-12048">Actúa ante el dolor crónico</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/implant-dentistry-chinese-9265">口腔种植学 （Implant Dentistry）</a> from <em>The University of Hong Kong</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/urbanisation-health-promoting-sustainable-solutio-45899">Urbanisation and Health - Promoting Sustainable Solutions</a> from <em>University of Copenhagen</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/health-care-innovation-6017">Innovating Solutions for Aging Populations</a> from <em>University of Copenhagen</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/acute-stroke-race-scale-13754">Prehospital care of acute stroke and patient selection for endovascular treatment using the RACE scale</a> from <em>University of Barcelona</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/alimentacion-vuelta-al-mundo-7417">Alimentación y dietética para una vuelta al mundo a vela</a> from <em>University of Barcelona</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ehealth-6876">eHealth: More than just an electronic record</a> from <em>The University of Sydney</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/quality-healthcare-6316">Leading Healthcare Quality and Safety</a> from <em>George Washington University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/cuidados-del-recien-nacido-10309">Cuidados y procedimientos generales en la atención del recién nacido</a> from <em>Universidad de Chile</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/medical-applications-particle-accelerato-12557">Medical Applications of Particle Accelerators (NPAP MOOC)</a> from <em>Lund University</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/infertilite-4858">İnfertilite Hemşireliği (Infertility Nursing)</a> from <em>Koç University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid-19lectureseries-19497">Lecture Series for Preventing and Controlling COVID-19</a> from <em>Xi'an Jiaotong University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid-19-training-healthcare-hindi-48172">स्वास्थ्य कर्मचारियों के लिए कोविड-19 ट्रेनिंग</a> from <em>Stanford University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/health-after-cancer-cancer-survivorship-for-prima-48384">Health After Cancer: Cancer Survivorship for Primary Care</a> from <em>Stanford University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid-19-training-healthcare-portuguese-br-55980">Formação sobre a COVID-19 para Profissionais de Saúde</a> from <em>Stanford University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/formation-covid-19-pour-personnels-de-sante-58310">Formation COVID-19 pour personnels de santé</a> from <em>Stanford University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/teaching-lgbtq-health-121090">Teaching LGBTQ+ Health</a> from <em>Stanford University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/feedingtheworld-3913">Feeding the World</a> from <em>University of Pennsylvania</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/hearing-loss-in-children-19627">Hearing Loss in Children</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/va-health-care-6216">Service Transformed: Lessons in U.S. Veteran Centered Care</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/rastreamento-contatos-covid-19-20780">Rastreamento de contato da COVID-19</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/rastreo-contactos-covid-19-20781">Rastreo de los contactos de la COVID-19</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lets-talk-about-it-a-health-and-immigration-teach-54610">Let's talk about it: A Health and Immigration Teach Out</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid-vaccine-ambassador-spanish-89845">Embajador de la Vacuna COVID: Cómo Hablar con los Padres</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-quality-maternal-and-newborn-care-22339">Global Quality Maternal and Newborn Care</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/planetary-health-for-nurses-ysn-120105">Planetary Health for Nurses</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/the-science-of-well-being-for-teens-121052">The Science of Well-Being for Teens</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/hacking-covid-19--course-3-unraveling-origins-of--61352">Hacking COVID-19 — Course 3: Unraveling COVID-19's Origins</a> from <em>University of California, San Diego</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/health-resilience-healthcare-workers-45896">Mental Health and Resilience for Healthcare Workers</a> from <em>University of Toronto</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/2022-prevent-cancer-89864">2022 Cancer Prevention Web-Based Activity</a> from <em>University of Virginia</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/adolescenthealth-3333">Global Adolescent Health</a> from <em>University of Melbourne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/bjmuepiabc-2355">流行病学基础（上）</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/methodologysocial-2387">社会调查与研究方法 （上）Methodologies in Social Research (Part I)</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/methodologysocial2-2783">社会调查与研究方法 （下）Methodologies in Social Research (Part 2)</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/geng-nian-qi-4242">更年期综合管理</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/yoga-8829">大学生瑜伽</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sexuality-and-disability-25534">Community Awareness Course: Sexuality and Disability</a> from <em>University of Minnesota</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/supervision-raisonnement-clinique-13135">Supervision du raisonnement clinique</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/international-health-regulations-13838">Global Health Security, Solidarity and Sustainability through the International Health Regulations</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/troubles-spectre-autisme-diagnostic-17359">Troubles du spectre de l'autisme : diagnostic</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid-19-recherche-contacts-22528">COVID-19 : à la recherche des contacts</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/troubles-spectre-autisme-biologie-neurosciences-37632">Troubles du spectre de l'autisme : biologie et neurosciences</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/troubles-spectre-autisme-interventions-46027">Troubles du spectre de l'autisme : interventions</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ebola-vaincre-ensemble-4299">Ebola : Vaincre ensemble !</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/zika-6827">In the footsteps of Zika… approaching the unknown</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/violence-against-healthcare-8713">Violence Against Healthcare</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/recruitment-minorities-clinical-trials-13466">Faster Together, Enhancing the Recruitment of Minorities in Clinical Trials</a>  from <em>Vanderbilt University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/health-society-and-wellness-in-covid-19-times-33579">Health, Society, and Wellness in COVID-19 Times</a>  from <em>University of Colorado Boulder</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/talkmentalillness-34079">#talkmentalillness</a> from <em>University of Colorado Boulder</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ghresponder-3283">Foundations for Global Health Responders</a> from <em>University of Colorado System</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/engineering-humanitarian-9504">Introduction to Public Health Engineering in Humanitarian Contexts</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/taiwan-medical-33433">Pioneers of Medicine and Medical Breakthroughs in Taiwan</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lung-cancer-9971">一堂課讓你認識肺癌（Basic Concepts of Lung Cancer: Diagnosis and Treatment）</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/dialisis-peritoneal-12587">Diálisis peritoneal</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/farmaco-odontologos-12588">Farmacología para odontólogos</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/farmacovigilancia-ocular-12591">Farmacovigilancia ocular</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cuidado-heridas-12592">Cuidado de heridas en el ámbito hospitalario</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tratamiento-caries-12761">Manejo moderno de la caries dental</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cancer-prostata-12790">Cáncer de próstata</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/residente-22138">El rol docente del médico residente</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/evaluacion-aprendizaje-escenarios-clinicos-18033">Evaluación del Aprendizaje en Escenarios Clínicos</a> from <em>Tecnológico de Monterrey</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/fundamentals-population-health-managemen-13057">Population Health: Fundamentals of Population Health Management</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/population-health-governance-13330">Population Health: Governance</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/healthbehaviour-13568">Population Health: Health &amp; Health Behaviour</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/population-health-study-design-14402">Population Health: Study Design</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/responsible-data-analysis-15156">Population Health: Responsible Data Analysis</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/alternativepaymentmodels-17048">Population Health: Alternative Payment Models</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/panelmanagement-17893">Population Health: Panel Management Next Level</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/anticonconcepcion-hormonal-12362">Anticoncepción hormonal al alcance de todos</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/pap-covid19-19344">Primeros Auxilios Psicológicos (PAP). Edición especial COVID-19</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/curanderismo-influencias-globales-58307">Curanderismo:Influencias Globales de la Medicina Tradicional</a> from <em>University of New Mexico</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tools-and-practices-for-addressing-pandemic-chall-93328">Tools and Practices for Addressing Pandemic Challenges</a> from <em>Politecnico di Milano</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/trustworthy-ai-for-healthcare-management-110634">Trustworthy AI for Healthcare Management</a> from <em>Politecnico di Milano</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/reaching-vulnerable-groups-through-pandemic-polic-116695">Reaching Vulnerable Groups through Pandemic Policy</a> from <em>Politecnico di Milano</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/dolor-neuropatico-anestesiologia-18146">Diagnóstico y tratamiento del dolor neuropático en atención primaria</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/anticoagulacion-104060">Anticoagulación</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid19clinicalupdate-19358">COVID-19 - A clinical update</a> from <em>University of Florida</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/biomedvis-19382">Biomedical Visualisation</a> from <em>University of Glasgow</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/the-social-dimensions-of-antimicrobial-resistance-94882">The Social Dimensions of Antimicrobial Resistance</a> from <em>University of Amsterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/yoga-sjtu-22273">循序渐进练瑜伽</a> from <em>Shanghai Jiao Tong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sjtuyoga-22558">Improving Immunity Based on Traditional Eastern Exercises</a> from <em>Shanghai Jiao Tong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/chang-jian-man-xing-bing-4271">常见慢性病的健康管理</a> from <em>Shanghai Jiao Tong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/materials-oral-health-8301">Materials in Oral Health</a> from <em>The University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/epidemics-hkux-hku01x-8745">Epidemics</a> from <em>The University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-health-policy-7652">Global Health Policy</a> from <em>University of Tokyo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/business-models-innovative-care-9799">Business Models for Innovative Care for Older People</a> from <em>University of Copenhagen</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/non-communicable-diseases-in-humanitaria-12223">Non-Communicable Diseases in Humanitarian Settings</a> from <em>University of Copenhagen</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/patient-perspectives-on-medications-21555">Understanding Patient Perspectives on Medications</a> from <em>University of Copenhagen</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/non-alcoholic-fatty-liver-disease--the-essentials-22725">Non-Alcoholic Fatty Liver Disease – The Essentials</a> from <em>University of Copenhagen</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/patient-perspectives-on-medications-qualitative-i-36579">Patient Perspectives on Medications: Qualitative Interviews</a> from <em>University of Copenhagen</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/kangjunyao-chaojixijun-5038">抗菌药与超级细菌 －－天使与魔鬼的博弈</a> from <em>Fudan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/quanqiu-weisheng-7295">全球卫生导论</a> from <em>Fudan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ictus-agudo-escala-race-13755">Atención prehospitalaria del ictus agudo y selección de pacientes para tratamiento endovascular con la escala RACE</a> from <em>University of Barcelona</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/avc-echelle-race-14480">ÉCHELLE RACE: Dépistage préhospitalier de l’AVC impliquant une occlusion de gros vaisseaux cérébraux</a> from <em>University of Barcelona</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/covid-19-esp-32153">Manejo del enfermo semicrítico y crítico por COVID-19</a> from <em>University of Barcelona</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/health-1365">Global Health and Humanitarianism</a> from <em>University of Manchester</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/clinical-research-biostatistics-wolfram-13693">Doing Clinical Research: Biostatistics with the Wolfram Language</a> from <em>University of Cape Town</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/trauma-surgery-basics-17026">The Basics of Trauma Surgery</a> from <em>Technische Universität München (Technical University of Munich)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/unfallchirurgie-12057">Grundlagen der Unfallchirurgie</a> from <em>Technische Universität München (Technical University of Munich)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/clinicalsimulations-13804">Essentials in Clinical Simulations Across the Health Professions</a> from <em>George Washington University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/idea-2-impact-17047">idea 2 IMPACT: An Introduction to Translating Assistive Health Technologies and Other Products</a> from <em>University of Pittsburgh</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/self-reflection-meditation-11054">Meditation: A way to achieve your goals in your life</a> from <em>Korea Advanced Institute of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/manejopromocion-21024">Manejo de Crisis Epilépticas y Promoción de la Inclusión Social</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/recuperacionoptimizadacirugiacolorrectal-40257">Recuperación Optimizada en Cirugía Colorrectal</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sistemas-y-modelos-de-organizacion-de-la-atencion-120195">Sistemas y modelos de organización de la atención en salud</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/enfermedades-no-transmisibles-10325">Atención Primaria en Salud: El desafío de las Enfermedades no Transmisibles</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/regulated-competition-healthcare-systems-16978">Regulated Competition in Healthcare Systems: Theory &amp; Practice</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/circaclock-2664">Circadian clocks: how rhythms structure life</a> from <em>Ludwig-Maximilians-Universität München</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/yingyang-jiankang-4344">营养与健康</a> from <em>Nanjing University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/virology-epidemiology-92431">Virology and Epidemiology in the Time of COVID-19</a> from <em>American Museum of Natural History</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/revisao-sistematica-19330">Revisão Sistemática e Meta-análise</a> from <em>Universidade Estadual de Campinas</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cosmetologia-34259">Cosmetologia em prol do envelhecimento com saúde e beleza</a> from <em>Universidade Estadual de Campinas</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cosmeticos-78904">Cosmetologia: Prática de Manipulação de Cosméticos</a> from <em>Universidade Estadual de Campinas</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sbe-10520">Saúde Baseada em Evidências</a> from <em>Universidade Estadual de Campinas</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/engaging-strategic-management-healthcare-organiza-126765">Engaging in Strategic Management in Healthcare Organizations</a> from <em>Northeastern University</em></li>
</ul>
<h2 id="heading-science-194">Science (194)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/mountains-101-7455">Mountains 101</a> from <em>University of Alberta</em> ★★★★★(597)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/dino101-1057">Dino 101: Dinosaur Paleobiology</a> from <em>University of Alberta</em> ★★★★★(139)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/medicalneuro-384">Medical Neuroscience</a> from <em>Duke University</em> ★★★★★(51)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/solarsystem-1813">The Science of the Solar System</a> from <em>California Institute of Technology</em> ★★★★★(51)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/theropods-birds-5236">Paleontology: Theropod Dinosaurs and the Origin of Birds</a> from <em>University of Alberta</em> ★★★★★(42)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/astrobio-415">Astrobiology and the Search for Extraterrestrial Life</a> from <em>University of Edinburgh</em> ★★★★★(33)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/geneticsevolution-381">Introduction to Genetics and Evolution</a> from <em>Duke University</em> ★★★★★(31)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/climate-change-mitigation-5054">Climate Change Mitigation in Developing Countries</a> from <em>University of Cape Town</em> ★★★★★(30)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/humanphysio-380">Introductory Human Physiology</a> from <em>Duke University</em> ★★★★☆(29)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ancient-marine-reptiles-5235">Paleontology: Ancient Marine Reptiles</a> from <em>University of Alberta</em> ★★★★★(29)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/how-things-work-431">How Things Work: An Introduction to Physics</a> from <em>University of Virginia</em> ★★★★★(28)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/neurobio-1606">Understanding the Brain: The Neurobiology of Everyday Life</a> from <em>The University of Chicago</em>  ★★★★★(28)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/early-vertebrate-evolution-5417">Paleontology: Early Vertebrate Evolution</a> from <em>University of Alberta</em> ★★★★★(27)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/astro-3007">Astronomy: Exploring Time and Space</a> from <em>University of Arizona</em> ★★★★★(23)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/einstein-765">Understanding Einstein: The Special Theory of Relativity</a> from <em>Stanford University</em> ★★★★★(19)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/coursera-dog-emotion-and-cognition-3627">Dog Emotion and Cognition</a> from <em>Duke University</em> ★★★★☆(19)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/bigbang-722">From the Big Bang to Dark Energy</a> from <em>University of Tokyo</em> ★★★★☆(17)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ntufsc-1264">Introduction to Forensic Science</a> from <em>Nanyang Technological University</em> ★★★★☆(17)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/animal-1357">Animal Behaviour and Welfare</a> from <em>University of Edinburgh</em> ★★★★☆(13)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/disasterprep-481">Disaster Preparedness</a> from <em>University of Pittsburgh</em> ★★★★☆(13)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/physicalchemistry-1456">Introduction to Physical Chemistry</a> from <em>University of Manchester</em> ★★★★☆(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/neuromarketing-1395">An Introduction to Consumer Neuroscience &amp; Neuromarketing</a>  from <em>Copenhagen Business School</em> ★★★☆☆(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/astrotech-1360">AstroTech: The Science and Technology behind Astronomical Discovery</a> from <em>University of Edinburgh</em> ★★★★☆(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/cats-and-dogs-8318">The Truth About Cats and Dogs</a> from <em>University of Edinburgh</em> ★★★★★(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/behavioralgenetics-1765">Introduction to Human Behavioral Genetics</a> from <em>University of Minnesota</em> ★★★★★(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/plantknows-975">Understanding Plants - Part I: What a Plant Knows</a> from <em>Tel Aviv University</em> ★★★★★(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/eqp-554">Exploring Quantum Physics</a> from <em>University of Maryland, College Park</em> ★★★★☆(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/microbiome-2305">Gut Check: Exploring Your Microbiome</a> from <em>University of Colorado Boulder</em> ★★★★☆(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/bibrain-2667">The Bilingual Brain</a> from <em>University of Houston System</em> ★★★★☆(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/bluebrain-504">Synapses, Neurons and Brains</a>  from <em>Hebrew University of Jerusalem</em> ★★★★☆(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/chem991-2375">Introduction to Chemistry: Reactions and Ratios</a> from <em>Duke University</em> ★★★★★(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/compneuro-449">Computational Neuroscience</a> from <em>University of Washington</em> ★★★★☆(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/black-holes-astro-101-11460">Astro 101: Black Holes</a> from <em>University of Alberta</em> ★★★★★(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-warming-1151">Global Warming I: The Science and Modeling of Climate Change</a> from <em>The University of Chicago</em>  ★★★★☆(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/water-1364">Water Supply and Sanitation Policy in Developing Countries Part 1: Understanding Complex Problems</a> from <em>University of Manchester</em> ★★★★★(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ecology-conservation-10618">Ecology: Ecosystem Dynamics and Conservation</a> from <em>American Museum of Natural History</em> ★★★★★(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/advancedchemistry-1468">Advanced Chemistry</a> from <em>University of Kentucky</em> ★★★★★(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/origins-668">Origins - Formation of the Universe, Solar System, Earth and Life</a> from <em>University of Copenhagen</em> ★★★★★(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/greeningtheeconomy-2167">Greening the Economy: Lessons from Scandinavia</a> from <em>Lund University</em> ★★★★☆(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/visualpercepbrain-2363">Visual Perception and the Brain</a> from <em>Duke University</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/archaeoastronomy-7789">Archaeoastronomy</a> from <em>Politecnico di Milano</em> ★★★★★(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/analyze-709">Analyzing the Universe</a> from <em>Rutgers University</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/spectroscopy-8550">Introduction to Molecular Spectroscopy</a> from <em>University of Manchester</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/agriculture-economics-nature-3067">Agriculture, Economics and Nature</a> from <em>University of Western Australia</em> ★★★★★(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/introthermodynamics-815">Introduction to Thermodynamics: Transferring Energy from Here to There</a> from <em>University of Michigan</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/sleep-3233">Sleep: Neurobiology, Medicine, and Society</a> from <em>University of Michigan</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/materials-science-5074">Materials Science: 10 Things Every Engineer Should Know</a> from <em>University of California, Davis</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/coursera-general-chemistry-concept-development-and-application-3885">General Chemistry: Concept Development and Application</a> from <em>Rice University</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/circular-economy-metals-9659">A Circular Economy of Metals: Towards a Sustainable Societal Metabolism</a> from <em>Leiden University</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ourearth-1378">Our Earth: Its Climate, History, and Processes</a> from <em>University of Manchester</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/finiteelementmethods-3537">The Finite Element Method for Problems in Physics</a> from <em>University of Michigan</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/chem992-2665">Introduction to Chemistry: Structures and Solutions</a> from <em>Duke University</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/music-as-biology-5439">Music as Biology: What We Like to Hear and Why</a> from <em>Duke University</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/fisica-sperimentale-meccanica-termodinam-11210">Introduzione alla fisica sperimentale: meccanica, termodinamica</a> from <em>Politecnico di Milano</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/plant-biology-6799">Understanding Plants - Part II: Fundamentals of Plant Biology</a> from <em>Tel Aviv University</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/otherearths-1271">Imagining Other Earths</a> from <em>Princeton University</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ciencia-673">Pensamiento científico</a> from <em>Universidad Nacional Autónoma de México</em> ★★★☆☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/thehorsecourse-1809">The Horse Course: Introduction to Basic Care and Management</a> from <em>University of Florida</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/stem-cells-10745">The Science of Stem Cells</a> from <em>American Museum of Natural History</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/smac-1299">Statistical Mechanics: Algorithms and Computations</a> from <em>École normale supérieure</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/emergent-phenomena-5705">Emergent Phenomena in Science and Everyday Life</a> from <em>University of California, Irvine</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/material-behavior-5944">Material Behavior</a> from <em>Georgia Institute of Technology</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/sustainablefood-1402">Sustainable Food Production Through Livestock Health Management</a> from <em>University of Illinois at Urbana-Champaign</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/chemical-biology-21800">Chemical Biology</a> from <em>University of Geneva</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/extrasolarplanets-723">The Diversity of Exoplanets</a> from <em>University of Geneva</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/water-management-5319">Water Resources Management and Policy</a> from <em>University of Geneva</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/thermo-base-5793">Thermodynamique : fondements</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/air-pollution-health-threat-9829">Air Pollution – a Global Threat to our Health</a> from <em>University of Copenhagen</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-driven-astronomy-8140">Data-driven Astronomy</a> from <em>The University of Sydney</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/best-practice-farming-sustainable-2050-9575">Discover Best Practice Farming for a Sustainable 2050</a> from <em>University of Western Australia</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/experiments-2052">Experimentation for Improvement</a> from <em>McMaster University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/amnhevolution-862">Evolution: A Course for Educators</a> from <em>American Museum of Natural History</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/amnhearth-863">The Dynamic Earth: A Course for Educators</a> from <em>American Museum of Natural History</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/chimp-13137">Chimpanzee Behavior and Conservation</a> from <em>Duke University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/postharvestloss-2990">Global Postharvest Loss Prevention: Fundamentals, Technologies, and Actors</a> from <em>University of Illinois at Urbana-Champaign</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/reproductive-health-4252">Introduction to Reproduction</a> from <em>Northwestern University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/advanced-neurobiology1-6029">Advanced Neurobiology I</a> from <em>Peking University</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/advancedneurobiologyii-7367">Advanced Neurobiology II</a> from <em>Peking University</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-health-human-animal-ecosystem-8336">Global Health at the Human-Animal-Ecosystem Interface</a> from <em>University of Geneva</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/eclipse-8105">The Sun and the Total Eclipse of August 2017</a> from <em>University of Colorado Boulder</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/particles2planets-1382">Mechanics: Motion, Forces, Energy and Gravity, from Particles to Planets</a> from <em>University of New South Wales</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mecanique-newton-4428">Mécanique de Newton</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mecanique-point-materiel-4502">Mécanique du point matériel</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/faecalsludge-8258">Introduction to Faecal Sludge Management</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/estaciones-clima-4600">Las estaciones del año y el clima</a> from <em>Universidad Nacional Autónoma de México</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/quimica-en-mi-casa-4625">¡¿Cómo?! ¿Química en mi casa?</a> from <em>Universidad Nacional Autónoma de México</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/evolution-today-6975">Evolution Today</a>  from <em>Leiden University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/fsi-4880">Fundamentals of Fluid-Solid Interactions</a> from <em>École Polytechnique</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mecanique-quantique-10371">Mécanique quantique</a> from <em>École Polytechnique</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/fisica-sperimentale-fisica-moderna-11208">Introduzione alla fisica sperimentale: elettromagnetismo, ottica, fisica moderna</a> from <em>Politecnico di Milano</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/arctic-introduction-climate-5036">Introduction to the Arctic: Climate</a> from <em>University of Alberta</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/science-and-religion-101-9341">Science &amp; Religion 101</a> from <em>University of Alberta</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/sustainableag-539">Sustainable Agricultural Land Management</a> from <em>University of Florida</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/coursera-the-evolving-universe-3626">The Evolving Universe</a> from <em>California Institute of Technology</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/transformation-global-food-system-19696">Transformation of the Global Food System</a> from <em>University of Copenhagen</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/origensdavida-2579">Origens da Vida no Contexto Cósmico</a> from <em>Universidade de São Paulo</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/astronomy-704">Confronting The Big Questions: Highlights of Modern Astronomy</a> from <em>University of Rochester</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/oceanography-8578">Oceanography: a key to better understand our world</a> from <em>University of Barcelona</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/estrategiasparaganar-meteorologia-6762">Estrategias para ganar. Meteorología en la vuelta al mundo</a> from <em>University of Barcelona</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/industrial-biotech-8886">Industrial Biotechnology</a> from <em>University of Manchester</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/climate-science-1328">From Climate Science to Action</a> from <em>Online Learning Campus - World Bank Group</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/human-spaceflight-4535">A Brief History of Human Spaceflight</a> from <em>University of Houston System</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/climate-change-and-human-rights-104326">Climate Change and Human Rights</a> from <em>New York University (NYU)</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/patenting-bio-ipr-8559">Patenting in Biotechnology</a> from <em>Technical University of Denmark (DTU)</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-warming-model-5704">Global Warming II: Create Your Own Models in Python</a> from <em>The University of Chicago</em>  ★★☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/acoustics2-2288">Introduction to Acoustics (Part 2)</a> from <em>Korea Advanced Institute of Science and Technology</em> ★★☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/astrobiology-exploring-other-worlds-13556">Astrobiology: Exploring Other Worlds</a> from <em>University of Arizona</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/biosphere-science-future-10470">Biosphere 2 Science for the Future of Our Planet</a> from <em>University of Arizona</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/shengwu-huaxue-4553">结构生物化学（Structural Biochemistry)</a> from <em>Nanjing University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/wood-science-8134">Wood Science: Beyond Building</a> from <em>West Virginia University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/explorelight-3589">Exploring Light: Hands-on Activities and Strategies for Teachers</a> from <em>Exploratorium</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/black-agricultural-solutions-64533">Black Agricultural Solutions to Food Apartheid: A Teach-Out</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tropicalforests101-65775">Tropical Forest Landscapes 101: Conservation &amp; Restoration</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/yuzhou-duihua-9460">宇宙之旅：对话 (Journey of the Universe: Weaving Knowledge and Action)</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/diqiu-fanrong-9461">Thomas Berry的世界观：地球社区的繁荣 (The Worldview of Thomas Berry: The Flourishing of the Earth Community)</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/yuzhou-zhi-lu-9462">宇宙之旅：展现生命 (Journey of the Universe: The Unfolding of Life)</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/algae-biotechnology-23182">Algae Biotechnology</a> from <em>University of California, San Diego</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-to-seaweeds-126266">Introduction to Seaweeds</a> from <em>University of California, San Diego</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/algae-10442">Introduction to Algae</a> from <em>University of California, San Diego</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/space-medicine-duke-58595">Space Medicine</a> from <em>Duke University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sheng-li-xue-4208">人体生理学导论（中文版）</a> from <em>Duke University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/material-informatics-6534">Materials Data Sciences and Informatics</a> from <em>Georgia Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/dianci-2356">电磁学上——恒定电场</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/biologicalevolution-2357">生物演化</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/da-xue-hua-xue-4514">大学化学</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/dianci-2-4536">电磁学下——恒磁场与时变电磁场</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/genetic-lab-4796">遗传学实验</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/biologyconcept-9647">生物学概念与途径</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/understanding-modern-physics-1-relativity-and-cos-55080">Understanding Modern Physics I: Relativity and Cosmology</a> from <em>The Hong Kong University of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/understanding-modern-physics-3-simplicity-and-com-58206">Understanding Modern Physics III: Simplicity and Complexity</a> from <em>The Hong Kong University of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/physique-particules-5837">Physique des particules - une introduction</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/papers-molecular-genetics-5872">Classical papers in molecular genetics</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/climate-changes-mountains-water-10522">Climate Change and Water in Mountains: A Global Concern</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/genetic-epidemiology-32239">Genetic Epidemiology Foundations</a> from <em>University of Colorado System</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/m-scopy-1-4752">Transmission electron microscopy for materials science</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mecanique-solide-5039">Mécanique : Solide Indéformable</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mecanique-lagrangienne-5084">Mécanique Lagrangienne</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/thermo-apps-6343">Thermodynamique : applications</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sanitation-fr-6886">Planification et Design de Systèmes et Technologies d’Assainissement</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/intro-sig-2-7334">Introduction aux Systèmes d’Information Géographique - Partie 2</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-arctic-11729">Global Arctic</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/electricity-1373">Electric Industry Operations and Markets</a> from <em>Moscow Institute of Physics and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/agribusiness-management-56517">農企業管理學 (Agribusiness Management)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/wuli-2714">普通物理學-電磁學、光學及近代物理 (General Physics (1))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ji-chu-guang-xue-4214">基礎光學一 (Introduction to Optics (1))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mechanics-of-materials-1-5053">材料力學一 (Mechanics of Materials (1))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/darwin-origen-evolucionismo-moderno-17354">Charles Darwin: El origen del evolucionismo moderno</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/qimica-carbono-19110">Una aproximación a la química del carbono</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/seguridad-hidrica-19217">Seguridad hídrica</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/geotermia-9053">Introducción a la geotermia</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/estudio-bienes-comunes-9967">Introducción al estudio de los bienes comunes</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cyhfisica-1150">Conceptos y Herramientas para la Física Universitaria</a> from <em>Tecnológico de Monterrey</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/fisica-dimension-movimiento-11320">Física: Dimensión y Movimiento</a> from <em>Tecnológico de Monterrey</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mind-of-the-universe-genetic-privacy-10675">Mind of the Universe - Genetic Privacy: should we be concerned?</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/women-environmental-biology-17295">Women in environmental biology</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/physique-2-infinis-liens-12182">D'un infini à l'autre - Voyages de l'infiniment grand à l'infiniment petit</a> from <em>École Polytechnique</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/fundamentals-waves-vibrations-12271">Fundamentals of waves and vibrations</a> from <em>École Polytechnique</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/physique-2-infinis-infiniment-grand-12528">Vers l'infiniment grand - Voyages de l'infiniment grand à l'infiniment petit</a> from <em>École Polytechnique</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/quantum-optics-two-photons-16900">Quantum Optics 2 - Two photons and more</a> from <em>École Polytechnique</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/density-functional-theory-27988">Density Functional Theory</a> from <em>École Polytechnique</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/physique-infiniment-petit-10177">Vers l'infiniment petit - Voyages de l'infiniment grand à l'infiniment petit</a> from <em>École Polytechnique</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/physique-2-infinis-et-nous-10674">Les deux infinis et nous - Voyages de l'infiniment grand à l'infiniment petit</a> from <em>École Polytechnique</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/advanced-functional-ceramics-19337">Advanced Functional Ceramics</a> from <em>Yonsei University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tesoros-de-la-fisica-4646">Tesoros de la Física y sus Descubridores I</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/arctic-development-34234">Arctic Development</a> from <em>University of Alberta</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/science-literacy-9966">Science Literacy</a>  from <em>University of Alberta</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/coursera-getting-started-in-cryo-em-3544">Getting started in cryo-EM</a> from <em>California Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/fundamentals-of-materials-science-34050">Fundamentals of Materials Science</a> from <em>Shanghai Jiao Tong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/shengming-kexue-fazhanshi-5873">生命科学发展史</a> from <em>Shanghai Jiao Tong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/conceptos-estudio-del-medio-ambiente-11769">Conceptos base para el estudio del medio ambiente</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/meteorology-8297">Strategies for winning. Meteorology in a round the world regatta</a>  from <em>University of Barcelona</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tecnicas-microscopicas-caracterizacion-6473">Técnicas Microscópicas de Caracterización</a>  from <em>University of Barcelona</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/oceanografia-6755">Oceanografía: una clave para entender mejor nuestro mundo</a> from <em>University of Barcelona</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/water-part-2-8292">Water Supply and Sanitation Policy in Developing Countries Part 2: Developing Effective Interventions</a> from <em>University of Manchester</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/bajemostemperatura-3432">Bajemos la temperatura: De la ciencia climática a la acción</a> from <em>Online Learning Campus - World Bank Group</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/large-marine-ecosystems-10792">Large Marine Ecosystems: Assessment and Management</a> from <em>University of Cape Town</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/climate-adaptation-11521">Climate Adaptation in Africa</a> from <em>University of Cape Town</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sex-from-molecules-to-elephants-61339">Sex from Molecules to Elephants</a> from <em>Hebrew University of Jerusalem</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/metagenomics-11323">Metagenomics applied to surveillance of pathogens and antimicrobial resistance</a> from <em>Technical University of Denmark (DTU)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/stathermo-3440">Statistical Thermodynamics: Molecules to Machines</a> from <em>Carnegie Mellon University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/california-ecosystems-9578">Ecosystems of California</a> from <em>University of California, Santa Cruz</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/demanda-de-transporte-7119">Introducción a los modelos de demanda de transporte</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/deceptiondetox-7328">Deception Detox - using research methods and statistics to change the world</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/planning-climate-change-african-cities-9146">Planning for Climate Change in African Cities</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mind-of-the-universe-science-in-progress-10719">Mind of the Universe: Science in Progress</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tianwenxue-5275">天文探秘</a> from <em>Nanjing University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/intro-astronomy-nju-11757">走进天文学</a> from <em>Nanjing University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/climate-change-nj-93370">Climate and Climate Change in New Jersey</a> from <em>American Museum of Natural History</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/amnhclimate-4193">Our Earth's Future</a> from <em>American Museum of Natural History</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/fundamentals-particle-accelerator-techno-13281">Fundamentals of particle accelerator technology (NPAP MOOC)</a> from <em>Lund University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/organic-chemistry-4267">有机化学</a> from <em>Xi'an Jiaotong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/challenging-forensic-science-12477">Challenging Forensic Science: How Science Should Speak to Court</a> from <em>University of Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/science-forensique-tribunal-13465">La science forensique au tribunal: témoin digne de foi ?</a>  from <em>University of Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ecologie-4892">Comprendre l'écologie, pour une économie innovante</a> from <em>ESCP Europe</em></li>
</ul>
<h2 id="heading-humanities-197">Humanities (197)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/happiness-2860">A Life of Happiness and Fulfillment</a> from <em>Indian School of Business</em> ★★★★★(508)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/modpo-356">Modern &amp; Contemporary American Poetry (“ModPo”)</a> from <em>University of Pennsylvania</em> ★★★★★(190)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/humanlanguage-2940">Miracles of Human Language: An Introduction to Linguistics</a> from <em>Leiden University</em> ★★★★★(90)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/introphil-418">Introduction to Philosophy</a> from <em>University of Edinburgh</em> ★★★★☆(75)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/philosophy-science-religion-3-10623">Philosophy, Science and Religion: Religion and Science</a> from <em>University of Edinburgh</em> ★★★★☆(60)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/hy-2353">Chinese for Beginners</a> from <em>Peking University</em> ★★★★☆(59)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/food-and-health-5057">Stanford Introduction to Food and Health</a> from <em>Stanford University</em> ★★★★☆(46)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/moralities-911">Moralities of Everyday Life</a> from <em>Yale University</em> ★★★★★(42)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/childnutrition-816">Child Nutrition and Cooking</a> from <em>Stanford University</em> ★★★★☆(31)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ancientgreeks-502">The Ancient Greeks</a> from <em>Wesleyan University</em> ★★★★★(31)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/modern-world-430">The Modern World, Part One: Global History from 1760 to 1910</a> from <em>University of Virginia</em> ★★★★★(25)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/modernmiddleeast1-976">The Emergence of the Modern Middle East - Part I</a> from <em>Tel Aviv University</em> ★★★★★(25)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/careerdevelopment-6011">English for Career Development</a> from <em>University of Pennsylvania</em> ★★★★★(24)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/philosophy-science-religion-2-9085">Philosophy, Science and Religion: Philosophy and Religion</a> from <em>University of Edinburgh</em> ★★★★☆(23)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mythology-353">Greek and Roman Mythology</a> from <em>University of Pennsylvania</em> ★★★★★(21)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/modern-postmodern-1-598">The Modern and the Postmodern (Part 1)</a> from <em>Wesleyan University</em> ★★★★★(21)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/composition-617">English Composition I</a> from <em>Duke University</em> ★★★☆☆(19)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/poetry-workshop-4185">Sharpened Visions: A Poetry Workshop</a> from <em>California Institute of the Arts</em> ★★★★☆(19)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/henry-8669">Patrick Henry: Forgotten Founder</a> from <em>University of Virginia</em> ★★★★★(16)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/magicmiddleages-3477">Magic in the Middle Ages</a> from <em>University of Barcelona</em> ★★★★☆(16)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/journalism-6009">English for Journalism</a> from <em>University of Pennsylvania</em> ★★★★☆(15)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/sciwrite-464">Writing in the Sciences</a> from <em>Stanford University</em> ★★★★★(14)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/newchinahistory1-520">Understanding China, 1700-2000: A Data Analytic Approach, Part 1</a> from <em>The Hong Kong University of Science and Technology</em> ★★★★★(13)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/big-history-4485">Big History: Connecting Knowledge</a> from <em>Macquarie University</em> ★★★★☆(13)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/plato-5237">Ancient Philosophy: Plato &amp; His Predecessors</a> from <em>University of Pennsylvania</em> ★★★★★(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/stem-6538">English for Science, Technology, Engineering, and Mathematics</a> from <em>University of Pennsylvania</em> ★★★★★(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/learn-speak-korean1-6645">Learn to Speak Korean 1</a> from <em>Yonsei University</em> ★★★★★(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/kierkegaard-667">Søren Kierkegaard - Subjectivity, Irony and the Crisis of Modernity</a> from <em>University of Copenhagen</em> ★★★★☆(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/effectivealtruism-3446">Effective Altruism</a> from <em>Princeton University</em> ★★★★☆(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/hisfiction-1173">Plagues, Witches, and War: The Worlds of Historical Fiction</a> from <em>University of Virginia</em> ★★★★☆(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/modernmiddleeast2-3204">The Emergence of the Modern Middle East - Part II</a> from <em>Tel Aviv University</em> ★★★★★(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/muslimworld-663">Constitutional Struggles in the Muslim World</a> from <em>University of Copenhagen</em> ★★★★★(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/intellectual-humility-practice-7656">Intellectual Humility: Practice</a> from <em>University of Edinburgh</em> ★★★★★(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/jefferson-1343">Age of Jefferson</a> from <em>University of Virginia</em> ★★★★★(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/aristotle-5238">Ancient Philosophy: Aristotle and His Successors</a> from <em>University of Pennsylvania</em> ★★★★☆(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/philosophy-physical-sciences-1356">Philosophy and the Sciences: Introduction to the Philosophy of Physical Sciences</a> from <em>University of Edinburgh</em> ★★★★★(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/intellectual-humility-science-7657">Intellectual Humility: Science</a> from <em>University of Edinburgh</em> ★★★★★(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/jerusalem-974">The Fall and Rise of Jerusalem</a> from <em>Tel Aviv University</em> ★★★★☆(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/soulbeliefs-703">Soul Beliefs: Causes and Consequences - Unit 1: Historical Foundations</a> from <em>Rutgers University</em> ★★★☆☆(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/sports-518">Sports and Society</a> from <em>Duke University</em> ★★★★★(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/calvin-659">Calvin - Histoire et réception d'une Réforme</a> from <em>University of Geneva</em> ★★★★☆(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/business-6010">English for Business and Entrepreneurship</a> from <em>University of Pennsylvania</em> ★★★★★(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/more-chinese-for-beginners-5988">More Chinese for Beginners</a> from <em>Peking University</em> ★★★★★(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/holocaust-introduction-1-5280">The Holocaust - An Introduction (I): Nazi Germany: Ideology, The Jews and the World</a> from <em>Yad Vashem - The World Holocaust Remembrance Center</em> ★★★★★(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/history-israel-4791">The History of Modern Israel - Part I: From an Idea to a State</a> from <em>Tel Aviv University</em> ★★★★☆(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/introancientegypt-7326">Introduction to Ancient Egypt and Its Civilization</a> from <em>University of Pennsylvania</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/modern-world-2-4355">The Modern World, Part Two: Global History since 1910</a> from <em>University of Virginia</em> ★★★★★(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/holocaust-introduction-2-5368">The Holocaust - An Introduction (II): The Final Solution</a> from <em>Yad Vashem - The World Holocaust Remembrance Center</em> ★★★★★(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/unethicaldecision-1389">Unethical Decision Making in Organizations</a> from <em>University of Lausanne</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/wondersancientegypt-9577">Wonders of Ancient Egypt</a> from <em>University of Pennsylvania</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/chinesecharacters-4433">Chinese Characters for beginner 汉字</a> from <em>Peking University</em> ★★★☆☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/reasonandpersuasion-980">Reason and Persuasion: Thinking Through Three Dialogues By Plato</a> from <em>National University of Singapore</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/foreigneyes-3705">America Through Foreign Eyes</a> from <em>Rice University</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/shiji-1652">史記 (Shi Ji)</a> from <em>National Taiwan University</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/etudier-en-france-7629">Étudier en France: French Intermediate course B1-B2</a> from <em>École Polytechnique</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/classics-chinese-humanities-653">Classics of Chinese Humanities: Guided Readings</a> from <em>The Chinese University of Hong Kong</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mediterraneanhistory-5041">The Mediterranean, a Space of Exchange (from the Renaissance to Enlightenment)</a> from <em>University of Barcelona</em> ★☆☆☆☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/western-christianity-200-1650-8106">A Journey through Western Christianity: from Persecuted Faith to Global Religion (200 - 1650)</a>  from <em>Yale University</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/philosophy-cognitive-sciences-7055">Philosophy and the Sciences: Introduction to the Philosophy of Cognitive Sciences</a> from <em>University of Edinburgh</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/the-talmud-5915">The Talmud: A Methodological Introduction</a> from <em>Northwestern University</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/hsk-4-10480">Chinese for HSK 4</a> from <em>Peking University</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/newchinahistory2-3792">Understanding China, 1700-2000: A Data Analytic Approach, Part 2</a> from <em>The Hong Kong University of Science and Technology</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/qin-shi-huang-702">中國古代歷史與人物：秦始皇（Qin Shi Huang)</a> from <em>National Taiwan University</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/portestrangeiros-3693">Pluralidades em Português Brasileiro</a> from <em>Universidade Estadual de Campinas</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/archoftitus-5077">Arch of Titus: Rome and the Menorah</a> from <em>Yeshiva University</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ancientegypt-3597">Ancient Egypt</a> from <em>University of Pennsylvania</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/911-attack-1011">Understanding 9/11: Why 9/11 Happened &amp; How Terrorism Affects Our World Today</a> from <em>Duke University</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/know-thyself-the-unconscious-12835">Know Thyself - The Value and Limits of Self-Knowledge: The Unconscious</a> from <em>University of Edinburgh</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/sports-marketing-12178">Sports Marketing</a> from <em>Northwestern University</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/chinese-for-hsk5-12224">Chinese for HSK 5</a> from <em>Peking University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/dpc-3318">東坡詞 (Ci Poetry of Su Dong Po)</a> from <em>National Taiwan University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/correccion-estilo-variaciones-5340">Corrección, estilo y variaciones de la lengua española</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/valle-de-los-reyes-8793">El Valle de los Reyes</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/social-change-korea-8299">Gender, Family, and Social Change in Contemporary South Korea</a> from <em>Yonsei University</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/macondo-gabriel-garcia-marquez-4767">Leer a Macondo: la obra de Gabriel García Márquez</a> from <em>Universidad de los Andes</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/youth-sports-6208">The Science of Training Young Athletes</a> from <em>University of Florida</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/bighistory-7638">Big History - From the Big Bang until Today</a> from <em>University of Amsterdam</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/history-israel-sovereign-state-6969">The History of Modern Israel - Part II: Challenges of Israel as a sovereign state</a> from <em>Tel Aviv University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/soulbeliefs3-4228">Soul Beliefs: Causes and Consequences - Unit 3: How Does It All End?</a> from <em>Rutgers University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/writing-your-world-8794">Writing your World: Finding yourself in the academic space</a>  from <em>University of Cape Town</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/cultural-competence-aboriginal-sydney-8237">Cultural Competence - Aboriginal Sydney</a> from <em>The University of Sydney</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/shakespeare-10410">Introduction to Who Wrote Shakespeare</a> from <em>Goldsmiths University of London</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/the-holocaust-4222">The Holocaust: The Destruction of European Jewry</a> from <em>University of California, Santa Cruz</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/russian-history-lenin-putin-9573">Russian History: from Lenin to Putin</a> from <em>University of California, Santa Cruz</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/organising-empire-assyrian-way-10145">Organising an Empire: The Assyrian Way</a> from <em>Ludwig-Maximilians-Universität München</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/doping-5274">Doping : Sports, Organizations and Sciences</a> from <em>University of Lausanne</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-science-ethics-9630">Data Science Ethics</a> from <em>University of Michigan</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/relativism-13660">Relativism</a> from <em>University of California, Irvine</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/business-english-skills-how-to-navigate-tone-form-17304">Lesson | Business English Skills: How to Navigate Tone, Formality, and Directness in Emails</a> from <em>University of Washington</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/zhexue-daolun-4345">哲学导论（中文版）</a> from <em>University of Edinburgh</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/philosophy-science-religion-1-8024">Philosophy, Science and Religion: Science and Philosophy</a> from <em>University of Edinburgh</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/hanzi-2-10324">Chinese Characters for beginner (2) 汉字(2)</a> from <em>Peking University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ethique-3886">Le Bien, le Juste, l'Utile. Introduction aux éthiques philosophiques</a> from <em>University of Geneva</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/medieval-europe-7661">Deciphering Secrets: The Illuminated Manuscripts of Medieval Europe</a> from <em>University of Colorado System</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/rcd-1419">紅樓夢(The Red Chamber Dream)</a> from <em>National Taiwan University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ntuugp-1604">活用希臘哲學 (Understanding the Greek Philosophy)</a> from <em>National Taiwan University</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/learn-chinese-mandarin-11931">Learning Chinese : Start From Scratch (零到一學中文)</a> from <em>National Taiwan University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/medieval-arabia-12400">The Cosmopolitan Medieval Arabic World</a> from <em>Leiden University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/como-persuadir-8062">¿Cómo persuadir? Jugando con palabras, imágenes y números</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/recherche-documentaire-6506">La recherche documentaire</a> from <em>École Polytechnique</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/god-korean-context-9388">Re-imaging God in Korean Context</a> from <em>Yonsei University</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/intellectual-change-early-china-the-warr-10759">Intellectual Change in Early China: Warring States and Han</a> from <em>The Chinese University of Hong Kong</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/historia-reglas-futbol-7080">Historia de las reglas del fútbol en Inglaterra y en Argentina</a> from <em>Universidad Austral</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/nigro-levante-occidente-8298">Alle origini della civiltà mediterranea: archeologia della città dal Levante all’Occidente - III-I millennio a.C.</a> from <em>Sapienza University of Rome</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/alfabetizacao-midiatica-20860">Alfabetização Midiática, Informacional e Diálogo Intercultural - UNESCO e UNICAMP</a> from <em>Universidade Estadual de Campinas</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/benjamin-franklin-and-his-world-120108">Benjamin Franklin and His World</a> from <em>University of Pennsylvania</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/skepticism-13615">Skepticism</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/christianity-ecology-58919">Christianity &amp; Ecology</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lesson-business-english-skills-introducing-yourse-17302">Lesson | Business English Skills: Introducing Yourself in Business Settings</a>  from <em>University of Washington</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lesson-business-english-skills-how-to-write-effec-17303">Lesson | Business English Skills: How to Write Effective Openings and Closings to Emails</a> from <em>University of Washington</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ukraine-history-culture-and-identities-121126">Ukraine: History, Culture and Identities</a> from <em>University of Washington</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ethics-culture-and-global-perspectives-ar-64338">الأخلاقيات والثقافة ووجهات النظر العالمية</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ethics-culture-and-global-perspectives-fr-64339">Éthique, culture et perspectives mondiales</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ethics-culture-and-global-perspectives-es-64340">Ética, cultura y perspectivas globales</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/player-evaluation-team-performance-and-roster-man-121050">Player Evaluation, Team Performance and Roster Management</a> from <em>State University of New York</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/magna-carta-13872">Magna Carta and its Legacies: Freedom and protest</a> from <em>University of London International Programmes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/uol-public-history-22023">Applied Public History: Places, People, Stories</a> from <em>University of London International Programmes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/write-your-first-novel-18955">Write Your First Novel</a> from <em>Michigan State University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/luther-and-the-west-7071">Luther and the West</a> from <em>Northwestern University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/spanish-in-healthcare-settings-11166">Spanish for Successful Communication in Healthcare Settings</a> from <em>Rice University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/englishspeech-3228">Essentials for English Speeches and Presentations 英语演讲与演示</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/paradox-4430">悖论：思维的魔方</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lunwen-xiezuo-chujie-5949">论文写作初阶（Academic Writing and Research）</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/business-chinese-6177">中级商务汉语（入职与营销篇）</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/intermediatechinesebusiness-7422">中级商务汉语——商务活动篇</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/hanyu-yufa-8551">现代汉语核心语法</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/zhongri-jiaoliushi-8563">中日文化交流史</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/archeology-22247">A l’avènement du christianisme : l’archéologie des derniers païens</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/litterature-mondiale-66349">Littérature mondiale</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/langues-diversite-92873">Langues et diversité: de la variation au plurilinguisme</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/geographie-politique-culturelle-frontier-9417">Frontières en tous genres</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/old-norse-mythology-sources-58199">Old Norse Mythology in the Sources</a> from <em>University of Colorado Boulder</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/leadership-excellence-sport-15236">Leadership d'excellence par le sport de haut niveau</a> from <em>ESSEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/zhuangzi-renqing-12169">莊子─人情 (Zhuangzi─Between People)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/learn-intermediate-chinese-mandarin-12501">是誰在說話 -- 可愛的臺灣。（Intermediate Chinese）</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/poetry-prose-novel-12657">現代文學導讀：詩、散文、小說</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/the-red-chamber-dream-daguan-garden-33431">又見大觀：《紅樓夢》中的烏托邦 (The Red Chamber Dream (3): Daguan Garden)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/inquiry-into-confucius-and-mencius-33432">深扣孔孟 (An Inquiry into Confucius and Mencius)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/chinese-garden-literature-1-59538">中國園林文學 (一) (Chinese Garden Literature (1))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/rcd2-2359">紅樓夢-母神崇拜 (The Red Chamber Dream (2))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mencius1-4104">東亞儒學：孟子一(East Asian Confucianisms: Mencius (1))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mencius2-6296">東亞儒學：孟子二 (East Asian Confucianisms: Mencius(2))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tang-poems-6850">唐詩新思路 (Tang Poetry)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/east-asian-confucianisms-humanism1-8250">東亞儒家：人文精神一(East Asian Confucianisms: Humanism (1))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/developmental-psychology-8391">發展心理學：哲學觀與方法論 (Developmental Psychology: Philosophical Bases and Methodology)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/east-asian-confucianisms-humanism2-9629">東亞儒家：人文精神二(East Asian Confucianisms: Humanism (2))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/quimica-etica-13219">Química, guerra y ética</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/escritura-esp-13496">Fundamentos de la escritura</a> from <em>Tecnológico de Monterrey</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/escritura-academica-esp-13497">Fundamentos de la escritura académica</a> from <em>Tecnológico de Monterrey</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/importance-power-music-our-society-10447">The Importance and Power of Music in our Society</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/roosevelt-4424">The Rooseveltian Century</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ue-historia-instituciones-politicas-22662">Unión Europea: Historia, Instituciones y Políticas</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/oralpha-literacy-for-new-citizens-for-trainers-33504">Oralpha: Literacy for new citizens, a course for trainers</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/leeramacondo-laobradegabrielgarciamarque-4662">Leer a Macondo: la obra de Gabriel García Márquez</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/newhorrizon-23240">Try RRI! A guide for Responsible Research and Innovation</a> from <em>University of Amsterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/media-ethics-governance-9312">Media ethics &amp; governance</a> from <em>University of Amsterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/enpublicspeaking-65952">Training and Practicing in English Public Speaking</a> from <em>Shanghai Jiao Tong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/zhong-yi-yao-wen-hua-4244">中医药与中华传统文化</a>  from <em>Shanghai Jiao Tong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/structuring-values-modern-china-12712">Structuring Values in Modern China</a> from <em>The Chinese University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/religion-thought-modern-china-12713">Religion and Thought in Modern China: the Song, Jin, and Yuan</a> from <em>The Chinese University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/china-strategy-es-66330">La estrategia china</a> from <em>The Chinese University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/religious-transformation-early-china-the-11711">Religious Transformation in Early China: the Period of Division</a> from <em>The Chinese University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/conciencia-lingstica-54335">Conciencia Lingüística</a> from <em>Universidad Autónoma de Madrid</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/japanese-language-1-86185">Let’s Read! Learning Japanese through Science &amp; Technology-1</a> from <em>University of Tokyo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/japanese-language-2-93291">Let’s Read! Learning Japanese through Science &amp; Technology-2</a> from <em>University of Tokyo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/missoes-jesuitas-guaranis-historia-antropologia-56499">I. Missões jesuíticas nos territórios guaranis: história</a> from <em>Universidade de São Paulo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/max-weber-4317">《新教伦理与资本主义精神》导读</a> from <em>Fudan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/womens-spirituality-12226">A Voice of Their Own. Women's Spirituality in the Middle Ages.</a> from <em>University of Barcelona</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/deaf-culture-8555">American Deaf Culture</a> from <em>University of Houston System</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/hebrewpoetry1-3235">Modern Hebrew Poetry שירה עברית מודרנית</a>  from <em>Hebrew University of Jerusalem</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/moses-6020">Moses' Face: Moses' images as reflected in Jewish literature</a> from <em>Hebrew University of Jerusalem</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ai-empathy-ethics-80063">AI, Empathy &amp; Ethics</a> from <em>University of California, Santa Cruz</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/odessa-102550">Odessa: Jews in the Modern World</a> from <em>University of California, Santa Cruz</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/odesa-104383">Odesa: Jews in the Modern World</a> from <em>University of California, Santa Cruz</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/history-of-medicine-119388">The History of Medicine: Philosophy, Science, and Psychology</a> from <em>University of California, Santa Cruz</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/asian-environmental-humanities-11209">Asian Environmental Humanities: Landscapes in Transition</a> from <em>University of Zurich</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ingenieria-gastronomica-ciencia-cocina-33403">Introducción a la Ingeniería Gastronómica - ¡Ciencia en la Cocina!</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/thought-experiments-56522">Thought Experiments: An introduction to philosophy</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/metaphysics-95206">Reality Bites: Introduction to metaphysics</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/epistemology-95207">The Epistemic Quest for Truth: Introduction to epistemology</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/diversifying-transforming-football-leadership-119978">A Guide to Diversifying and Transforming Football Leadership</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/erasmus-philosophy-skepticism-8622">The Politics of Skepticism</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ma-ke-si-4241">理解马克思</a> from <em>Nanjing University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/egitto-13405">L’Egitto prima e dopo i faraoni. Dalla nascita dello Stato (3000 a.C. ca.) alle prime comunità cristiane (IV secolo d.C.)</a> from <em>Sapienza University of Rome</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/egypt-sapienza-40836">Egypt before and after pharaohs.</a>  from <em>Sapienza University of Rome</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/paesaggi-roma-antica-9311">Paesaggi di Roma Antica. Archeologia e storia del Palatino.</a> from <em>Sapienza University of Rome</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/writing-english-university-7189">Writing in English at University</a> from <em>Lund University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/akademiskt-skrivande-7192">Akademiskt skrivande</a> from <em>Lund University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/solutions-future-food-problem-8775">Unravelling solutions for Future Food problems</a> from <em>Utrecht University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/improving-statistical-questions-17049">Improving Your Statistical Questions</a> from <em>Eindhoven University of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/chinese-philosophy-4322">中国哲学经典著作导读</a> from <em>Xi'an Jiaotong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/kongzi-6209">《论语》的智慧</a> from <em>Xi'an Jiaotong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/daojiao-6220">品读道家的智慧</a> from <em>Xi'an Jiaotong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/dopage-1400">Dopage : Sports, Organisations et Sciences</a> from <em>University of Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/silla-science-technology-11046">Science and Technology in the Silla Cultural Heritage</a> from <em>Pohang University of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/chosenissues-20790">Chosen Issues in Holocaust History</a> from <em>Yad Vashem - The World Holocaust Remembrance Center</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/el-holocausto-94405">El Holocausto: el abismo de la humanidad</a> from <em>Yad Vashem - The World Holocaust Remembrance Center</em></li>
</ul>
<h2 id="heading-computer-science-103">Computer Science (103)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/information-systems-audit-17979">Information Systems Auditing, Controls and Assurance</a> from <em>The Hong Kong University of Science and Technology</em> ★★★★★(488)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/algs4partI-339">Algorithms, Part I</a> from <em>Princeton University</em> ★★★★★(59)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/crypto-616">Cryptography I</a> from <em>Stanford University</em> ★★★★★(53)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/insidetheinternet-335">Internet History, Technology, and Security</a> from <em>University of Michigan</em> ★★★★★(41)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/algs4partII-340">Algorithms, Part II</a> from <em>Princeton University</em> ★★★★★(21)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/bitcointech-3655">Bitcoin and Cryptocurrency Technologies</a> from <em>Princeton University</em> ★★★★☆(21)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/intrologic-329">Introduction to Logic</a> from <em>Stanford University</em> ★★★☆☆(20)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/optimization-487">Discrete Optimization</a> from <em>University of Melbourne</em> ★★★★☆(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/images-462">Image and Video Processing: From Mars to Hollywood with a Stop at the Hospital</a> from <em>Duke University</em> ★★★★☆(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/comparch-342">Computer Architecture</a> from <em>Princeton University</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/aofa-921">Analysis of Algorithms</a> from <em>Princeton University</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/interactivegraphics-2067">Interactive Computer Graphics</a> from <em>University of Tokyo</em> ★★★☆☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/internet-of-things-dragonboard-4260">Internet of Things: Setting Up Your DragonBoard™ Development Platform</a> from <em>University of California, San Diego</em>  ★★★☆☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/crypto2-425">Cryptography II</a> from <em>Stanford University</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/programming-languages-part-b-6920">Programming Languages, Part B</a> from <em>University of Washington</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/deteccion-objetos-3194">Detección de objetos</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/quantitative-formal-modeling-1-4864">Quantitative Formal Modeling and Worst-Case Performance Analysis</a> from <em>EIT Digital</em> ★★★☆☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/programming-languages-part-c-7187">Programming Languages, Part C</a> from <em>University of Washington</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ntumlone-mathematicalfoundations-1326">機器學習基石上 (Machine Learning Foundations)---Mathematical Foundations</a> from <em>National Taiwan University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mastering-digital-twins-13294">Mastering Digital Twins</a> from <em>EIT Digital</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/network-transformation-101-12216">Intel® Network Academy - Network Transformation 101</a> from <em>Intel</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/approximation-algorithms-part-1-5026">Approximation Algorithms Part I</a> from <em>École normale supérieure</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/cs-programming-java-13151">Computer Science: Programming with a Purpose</a> from <em>Princeton University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ntumltwo-2847">機器學習技法 (Machine Learning Techniques)</a> from <em>National Taiwan University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/iot-software-architecture-6507">Software Architecture for the Internet of Things</a> from <em>EIT Digital</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/electrones-en-accion-4726">Electrones en Acción: Electrónica y Arduinos para tus propios Inventos</a> from <em>Pontificia Universidad Católica de Chile</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/northeastern-data-privacy-20025">Data Privacy Fundamentals</a> from <em>Northeastern University</em>  ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-to-embedded-machine-learning-32821">Introduction to Embedded Machine Learning</a> from <em>Edge Impulse</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/internet-of-things-sensing-actuation-4182">Internet of Things: Sensing and Actuation From Devices</a> from <em>University of California, San Diego</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/internet-of-things-capstone-5124">Internet of Things Capstone: Build a Mobile Surveillance System</a> from <em>University of California, San Diego</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/algorithms-part1-ru-39397">Алгоритмы, часть I</a> from <em>Princeton University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/computerscience2-10671">Computer Science: Algorithms, Theory, and Machines</a> from <em>Princeton University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ml-foundations-ko-60054">머신 러닝 기초: 사례 연구 접근 방식</a> from <em>University of Washington</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/uol-machine-learning-for-all-ko-61441">모두를 위한 머신 러닝</a> from <em>University of London International Programmes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-to-applied-cryptography-118914">Introduction to Applied Cryptography</a> from <em>University of London International Programmes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/advancedmodeling-cn-7758">Advanced Modeling for Discrete Optimization 离散优化建模高阶篇</a> from <em>The Chinese University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/basic-modeling-cn-7760">Basic Modeling for Discrete Optimization 离散优化建模基础篇</a> from <em>The Chinese University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lisan-youhua-jianmo-jichupian-7772">离散优化建模基础篇 Basic Modeling for Discrete Optimization</a> from <em>The Chinese University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lisan-youhua-jianmo-gaojiepian-7775">离散优化建模高阶篇 Advanced Modeling for Discrete Optimization</a> from <em>The Chinese University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lisan-youhua-suanfapian-11217">离散优化算法篇 Solving Algorithms for Discrete Optimization</a> from <em>The Chinese University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/solving-algorithms-discrete-optimization-11219">Solving Algorithms for Discrete Optimization</a> from <em>University of Melbourne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/movingtothecloud-6607">Moving to the Cloud</a> from <em>University of Melbourne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/osvirtsecurity-2348">操作系统与虚拟化安全</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/pkuco-2351">计算机组成 Computer Organization</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/catmooc-2354">计算机辅助翻译原理与实践 Principles and Practice of Computer-Aided Translation</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/algorithms-3230">算法设计与分析 Design and Analysis of Algorithms</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/industrial-iot-markets-security-ko-60061">산업용 IoT 시장 및 보안</a> from <em>University of Colorado Boulder</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/linux-kernel-programming-yocto-project-119207">Linux Kernel Programming and Introduction to Yocto Project</a> from <em>University of Colorado Boulder</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/operations-research-modeling-33417">Operations Research (1): Models and Applications</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/operations-research-algorithms-33430">Operations Research (2): Optimization Algorithms</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ntumlone-algorithmicfoundations-9737">機器學習基石下 (Machine Learning Foundations)---Algorithmic Foundations</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/rengong-zhineng-10375">人工智慧：搜尋方法與邏輯推論 (Artificial Intelligence - Search &amp; Logic)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ai2-11519">人工智慧：機器學習與理論基礎 (Artificial Intelligence - Learning &amp; Theory)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/getting-started-with-tensor-flow2-ko-60051">TensorFlow 2 시작하기</a> from <em>Imperial College London</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/arduino-aplicaciones-7108">Arduino y algunas aplicaciones</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/population-health-predictive-analytics-19151">Population Health: Predictive Analytics</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/clasificacion-imagenes-4609">Clasificación de imágenes: ¿cómo reconocer el contenido de una imagen?</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/deep-learning-business-9431">Deep Learning for Business</a> from <em>Yonsei University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduccion-a-la-inteligencia-artificial-contemp-108438">Introducción a la inteligencia artificial contemporánea</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/blockchain-decision-maker-13811">Blockchain for the decision maker</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/io-efficient-algorithms-16913">I/O-efficient algorithms</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/iot-devices-6748">Introduction to Architecting Smart IoT Devices</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/iot-architecture-6839">Architecting Smart IoT Devices</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/system-validation-behavior-7420">System Validation (2): Model process behaviour</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/system-validation-software-protocols-7803">System Validation (4): Modelling Software, Protocols, and other behaviour</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/system-validation-modal-formulas-7808">System Validation (3): Requirements by modal formulas</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/moocimage-filtrage-85211">Traitement d'images : introduction au filtrage</a> from <em>Institut Mines-Télécom</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/limpieza-de-datos-para-el-procesamiento-de-lengua-46001">Limpieza de datos para el procesamiento de lenguaje natural</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/optimizacin-de-redes-neuronales-profundas-55115">Optimización de Redes Neuronales Profundas</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/nlp-modelos-y-algoritmos-61634">NLP Modelos y Algoritmos</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/foundations-google-kubernetes-engine-gke-it-66031">Architecting Google Kubernetes Engine: Foundations in italiano</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/linux-on-linuxone-110655">Linux on LinuxONE</a> from <em>IBM</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tech-support-career-guide-and-interview-preparati-121053">Tech Support Career Guide and Interview Preparation</a> from <em>IBM</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sdn-97397">Software Defined Networking</a> from <em>The University of Chicago</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mlops-fundamentals-ko-104079">MLOps (Machine Learning Operations) Fundamentals 한국어</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mlops-fundamentals-br-104322">MLOps (Machine Learning Operations) Fundamentals Português</a>  from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mlops-fundamentals-fr-106119">MLOps (Machine Learning Operations) Fundamentals en Français</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/feature-engineering-ko-120103">Feature Engineering - 한국어</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tensorflow-on-google-cloud---espaol-120571">TensorFlow on Google Cloud - Español</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/blockchain-scalability-21843">Blockchain Scalability and its Foundations in Distributed Systems</a> from <em>The University of Sydney</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cyber-physical-systems-1-9791">Cyber-Physical Systems: Modeling and Simulation</a> from <em>University of California, Santa Cruz</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/procesamiento-de-imagenes-102586">Procesamiento de Imágenes</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/machine-learning-projects-ko-60049">머신 러닝 프로젝트 구조화</a> from <em>DeepLearning.AI</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/nlp-sequence-models-ko-60050">시퀀스 모델</a> from <em>DeepLearning.AI</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/neural-networks-deep-learning-ko-60052">신경망 및 딥 러닝</a> from <em>DeepLearning.AI</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/deep-neural-network-ko-60053">심층 신경망 개선: 하이퍼파라미터 튜닝, 정규화 및 최적화</a> from <em>DeepLearning.AI</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/convolutional-neural-networks-ko-60055">컨볼루션 신경망</a> from <em>DeepLearning.AI</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/jisuanji-caozuo-xitong-4316">计算机操作系统</a> from <em>Nanjing University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ai-ethics-56498">Artificial Intelligence: Ethics &amp; Societal Challenges</a> from <em>Lund University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/network-transformation-102-13264">Intel® Network Academy - Network Transformation 102</a> from <em>Intel</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/opencl-fpga-introduction-18979">Introduction to OpenCL on FPGAs</a> from <em>Intel</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/approximation-algorithms-part-2-5688">Approximation Algorithms Part II</a> from <em>École normale supérieure</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/videogames-5778">A complexidade sensível: Um paralelo entre videogames e arte</a> from <em>Universidade Estadual de Campinas</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/machinetranslation-21135">Machine Translation</a> from <em>Karlsruhe Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cnns-and-rnns-32772">Fundamentals of CNNs and RNNs</a> from <em>Sungkyunkwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/machine-learning-basics-66360">Machine Learning Basics</a> from <em>Sungkyunkwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-iot-boards-12535">Introduction and Programming with IoT Boards</a> from <em>Pohang University of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cloud-iot-platform-12536">Programming with Cloud IoT Platforms</a> from <em>Pohang University of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ai-privacy-and-convenience-ko-121159">AI 프라이버시 및 편의성</a> from <em>LearnQuest</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/blockchain-security-121428">Blockchain Security</a> from <em>Infosec</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/aruba-mobility-basics-spanish-89674">Aruba Mobility Basics for Spanish Speakers</a>  from <em>Aruba</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/aruba-network-security-arabic-116696">Aruba Network Security Basics for Arabic Speakers</a> from <em>Aruba</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/computer-vision-with-embedded-machine-learning-55075">Computer Vision with Embedded Machine Learning</a> from <em>Edge Impulse</em></li>
</ul>
<h2 id="heading-programming-81">Programming (81)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/python-statistics-financial-analysis-12648">Python and Statistics for Financial Analysis</a> from <em>The Hong Kong University of Science and Technology</em> ★★★★☆(437)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/programming1-385">Learn to Program: The Fundamentals</a> from <em>University of Toronto</em> ★★★★★(109)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/androidpart1-1178">Programming Mobile Applications for Android Handheld Systems: Part 1</a> from <em>University of Maryland, College Park</em> ★★★★☆(41)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/programming-languages-452">Programming Languages, Part A</a> from <em>University of Washington</em> ★★★★★(27)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/androidpart2-3076">Programming Mobile Applications for Android Handheld Systems: Part 2</a> from <em>University of Maryland, College Park</em> ★★★★☆(15)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/codeyourself-2938">Code Yourself! An Introduction to Programming</a> from <em>University of Edinburgh</em> ★★★★☆(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/digitalmedia-529">Creative Programming for Digital Media &amp; Mobile Apps</a> from <em>University of London International Programmes</em> ★★★★☆(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/controle-moderno-8482">Introdução ao Controle Moderno</a> from <em>Instituto Tecnológico de Aeronáutica</em> ★★★★★(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/programming2-390">Learn to Program: Crafting Quality Code</a> from <em>University of Toronto</em> ★★★★☆(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/onlinegames-544">Online Games: Literature, New Media, and Narrative</a> from <em>Vanderbilt University</em> ★★★★★(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/intropoocpp-849">Introduction à la programmation orientée objet (en C++)</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/problem-solving-programming-video-games-11500">Problem Solving, Python Programming, and Video Games</a> from <em>University of Alberta</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/initprogcpp-644">Initiation à la programmation (en C++)</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/containerized-apps-on-aws-19698">Building Containerized Applications on AWS</a> from <em>Amazon Web Services</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/r-programming-ar-37043">R البرمجة باستخدام لغة</a> from <em>Johns Hopkins University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/intropoojava-441">Introduction à la programmation orientée objet (en Java)</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/initprogjava-643">Initiation à la programmation (en Java)</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/hipython-4286">用Python玩转数据 Data Processing Using Python</a> from <em>Nanjing University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/sas-programming-certification-review-12859">Practical SAS Programming and Certification Review</a> from <em>SAS</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/python-databases-ko-60097">Python에서 데이터베이스 사용하기</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/r-programming-ko-60066">R 프로그래밍</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/java-programming-arrays-lists-data-ar-36568">برمجة Java: المصفوفات، والقوائم، والبيانات المصنفة</a> from <em>Duke University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/java-programming-ar-37626">برمجة Java: حل المشكلات باستخدام البرامج</a> from <em>Duke University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sql-for-data-science-de-65147">SQL für Data Science</a> from <em>University of California, Davis</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ruanjian-gongcheng-102549">软件工程</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/aoo-1737">面向对象技术高级课程（The Advanced Object-Oriented Technology）</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/pkujava-3227">Java程序设计</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/se-6082">软件工程</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sheng-c-biancheng-6294">C#程序设计</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/programmation-56642">Introduction à la programmation</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/matlab-ko-62882">MATLAB을 사용한 프로그래밍 소개</a> from <em>Vanderbilt University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/projet-programmation-java-12186">Projet de programmation (en Java)</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/scala2-functional-programming-45173">Functional Programming Principles in Scala (Scala 2 version)</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/c-bian-cheng-2337">計算機程式設計 (Computer Programming)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/pbc1-10425">用 Python 做商管程式設計（一）(Programming for Business Computing in Python (1))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/pbc3-11205">用 Python 做商管程式設計（三）(Programming for Business Computing in Python (3))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introjava-4621">Introducción a Java</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-to-software-product-management-pt-34086">Introdução ao Gerenciamento de produtos de software</a> from <em>University of Alberta</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/containerized-applications-on-aws-92393">Containerized Applications on AWS</a> from <em>Amazon Web Services</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/machine-learning-on-aws-119182">Introduction to Machine Learning on AWS</a> from <em>Amazon Web Services</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/preparing-cloud-professional-cloud-architect-exam-17890">Preparing for the Google Cloud Professional Cloud Architect Exam em Português Brasileiro</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/deploying-and-managing-windows-workloads-on-googl-64793">Deploying and Managing Windows Workloads on Google Cloud</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lab-poo-parte-1-33509">Laboratório de Programação Orientada a Objetos - Parte 1</a> from <em>Universidade de São Paulo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/lab-poo-parte-2-57730">Laboratório de Programação Orientada a Objetos - Parte 2</a> from <em>Universidade de São Paulo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/intro-teste-de-software-10389">Introdução ao Teste de Software</a> from <em>Universidade de São Paulo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/360-vr-video-production-9814">VR and 360 Video Production</a> from <em>Google Daydream Impact</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ar-11596">Introduction to Augmented Reality and ARCore</a> from <em>Google Daydream Impact</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/python-crash-course-ko-60041">파이썬 단기집중과정</a> from <em>Google</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ibm-building-cloud-native-and-multicloud-32718">Building Cloud Native and Multicloud</a> from <em>IBM</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/career-guide-and-interview-prep-for-full-stack-cl-86347">Software Developer Career Guide and Interview Preparation</a> from <em>IBM</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/google-kubernetes-engine-it-58787">Getting Started with Google Kubernetes Engine in italiano</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/preparing-cloud-professional-cloud-architect-exam-58868">Preparing Cloud Professional Cloud Architect Exam italiano</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/google-kubernetes-engine-fr-59058">Getting Started with Google Kubernetes Engine en français</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/google-kubernetes-engine-ko-59505">Getting Started with Google Kubernetes Engine 한국어</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/logging-monitoring-observability-google-cloud-fr-59510">Logging, Monitoring and Observability in Google Cloud en Français</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/developing-a-google-sre-culture-fr-59752">Developing a Google SRE Culture en Français</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/deploying-secure-kubernetes-containers-in-product-70704">Architecting Google Kubernetes Engine Production in italiano</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ml-pipelines-google-cloud-ko-106118">ML Pipelines on Google Cloud - 한국어</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tensorflow-on-google-cloud-ko-120179">TensorFlow on Google Cloud - 한국어</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/essential-cloud-infrastructure-core-services-zhtw-120181">Essential Google Cloud Infrastructure: Core Services - 繁體中文</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/google-cloud-fundamentals-core-infrastructure-zht-120182">Google Cloud Fundamentals: Core Infrastructure - 繁體中文</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/essential-google-cloud-infrastructure-foundation--120183">Essential Google Cloud Infrastructure: Foundation - 繁體中文</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/elastic-cloud-infrastructure-scaling-and-automati-120572">Elastic Cloud Infrastructure: Scaling and Automation - 繁體中文</a>  from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/machine-learning-in-enterprise-fr-121060">Machine Learning in the Enterprise - Français</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tensorflow-on-google-cloud---portugues-brasileiro-126261">TensorFlow on Google Cloud - Português Brasileiro</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/programacion-en-python-ii-aprendiendo-a-estructur-119222">Programación en Python II: aprendiendo a estructurar datos</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/softwaretesting-3357">软件测试 (Software Testing)</a> from <em>Nanjing University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introducao-aplicativos-android-10721">Introdução ao Desenvolvimento de Aplicativos Android</a> from <em>Universidade Estadual de Campinas</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/jisuanji-wangluo-4198">系统平台与计算环境</a> from <em>Xi'an Jiaotong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cloud-computing-basics-ko-60044">클라우드 컴퓨팅 기초(Cloud 101)</a> from <em>LearnQuest</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mobile-architecture-94690">Mobile Architecture</a> from <em>Meta</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/meta-software-development-practices-94893">Software Development Practices</a> from <em>Meta</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/advanced-ios-development-104045">Advanced iOS Development</a> from <em>Meta</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/what-is-the-metaverse-110388">What is the Metaverse?</a> from <em>Meta</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/whatsapp-business-platform-for-developers-122067">WhatsApp Business Platform for Developers</a> from <em>Meta</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/automation-360-54964">Getting Started with Automation 360</a> from <em>Automation Anywhere</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tencent-cloud-practitioner-43702">Tencent Cloud Practitioner</a> from <em>Tencent Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tencent-cloud-solutions-architect-associate-56220">Tencent Cloud Solutions Architect Associate</a>  from <em>Tencent Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tencent-cloud-sysops-associate-58982">Tencent Cloud SysOps Associate</a> from <em>Tencent Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tencent-cloud-solutions-architect-professional-70699">Tencent Cloud Solutions Architect Professional</a> from <em>Tencent Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tencent-cloud-developer-associate-99652">Tencent Cloud Developer Associate</a> from <em>Tencent Cloud</em></li>
</ul>
<h2 id="heading-mathematics-44">Mathematics (44)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/fibonacci-6684">Fibonacci Numbers and the Golden Ratio</a> from <em>The Hong Kong University of Science and Technology</em> ★★★★★(229)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/maththink-370">Introduction to Mathematical Thinking</a> from <em>Stanford University</em> ★★★★☆(53)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/single-variable-calculus-5066">Calculus: Single Variable Part 1 - Functions</a> from <em>University of Pennsylvania</em> ★★★★★(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/differentiation-calculus-5068">Calculus: Single Variable Part 2 - Differentiation</a> from <em>University of Pennsylvania</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-to-calculus-12547">Introduction to Calculus</a> from <em>The University of Sydney</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/integration-calculus-5069">Calculus: Single Variable Part 3 - Integration</a> from <em>University of Pennsylvania</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/applications-calculus-5070">Calculus: Single Variable Part 4 - Applications</a> from <em>University of Pennsylvania</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ac-922">Analytic Combinatorics</a> from <em>Princeton University</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/probability-statistics-11755">Probability and Statistics: To p or not to p?</a> from <em>University of London International Programmes</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/complex-analysis-6418">Introduction to Complex Analysis</a> from <em>Wesleyan University</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/introductiontoprobability-7792">An Intuitive Introduction to Probability</a> from <em>University of Zurich</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ordinary-differential-equations-9736">Differential Equations Part I Basic Theory</a> from <em>Korea Advanced Institute of Science and Technology</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/matrix-methods-13644">Matrix Methods</a> from <em>University of Minnesota</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduccion-al-calculo-4225">Pre-Calculus</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/power-sample-size-14413">Power and Sample Size for Multilevel and Longitudinal Study Designs</a> from <em>University of Florida</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/hesap-calculus-dersi-1412">Çok değişkenli Fonksiyon I: Kavramlar / Multivariable Calculus I: Concepts</a> from <em>Koç University</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/statistical-inferences-7353">Improving your statistical inferences</a> from <em>Eindhoven University of Technology</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/stanford-statistics-33479">Introduction to Statistics</a> from <em>Stanford University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/discrete-calculus-5067">Single Variable Calculus</a> from <em>University of Pennsylvania</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/causal-inference-12136">Causal Inference</a> from <em>Columbia University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/causal-inference-2-13095">Causal Inference 2</a> from <em>Columbia University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/probability-intro-ko-60065">R을 사용한 확률 및 데이터 소개</a> from <em>Duke University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/inferential-statistics-intro-de-65371">Inferenzstatistik</a> from <em>Duke University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/dmathgen-4431">离散数学概论 Discrete Mathematics Generality</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/prob1-7800">頑想學概率：機率一 (Probability (1))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/estadistica-probabilidad-13773">Estadística y probabilidad</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/funciones-algebraicas-19727">Funciones algebraicas y trascendentes</a>  from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/algebra-basica-4653">Álgebra básica</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/calculo-4-4167">4.- El Cálculo - Otros Modelos</a> from <em>Tecnológico de Monterrey</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/calculo-2-4226">2.- El Cálculo - Modelo Cuadrático</a> from <em>Tecnológico de Monterrey</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/calculo-1-4231">1.- El Cálculo - Modelo Lineal</a> from <em>Tecnológico de Monterrey</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/calculo-3-4284">3.- El Cálculo - Modelo Cúbico</a> from <em>Tecnológico de Monterrey</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/calculodiferencial-4760">5.- Cálculo Diferencial e Integral unidos por el Teorema Fundamental del Cálculo</a> from <em>Tecnológico de Monterrey</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/calculo-diferencial-4884">Cálculo Diferencial e Integral unidos por el Teorema Fundamental del Cálculo</a> from <em>Tecnológico de Monterrey</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/discrete-mathematics-8133">Discrete Mathematics</a> from <em>Shanghai Jiao Tong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/discrete-mathematics-ch-8275">离散数学</a> from <em>Shanghai Jiao Tong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/jiegou-fangcheng-moxing-696">Structural Equation Model and its Applications | 结构方程模型及其应用 (普通话)</a> from <em>The Chinese University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/structural-equation-model-cantonese-5947">Structural Equation Model and its Applications | 结构方程模型及其应用 (粤语)</a> from <em>The Chinese University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-to-math-1938">Invitation to Mathematics הזמנה למתמטיקה</a> from <em>Hebrew University of Jerusalem</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introgalois-1298">Introduction à la théorie de Galois</a> from <em>École normale supérieure</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/multivarii-1958">Çok Değişkenli Fonksiyonlarda Türev ve Entegral II: İleri Konular ve Uygulamalar / Multivariable Calculus II: Applications and Advanced Topics</a> from <em>Koç University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/calculus-diferansiyel-hesap-4165">Çok değişkenli Fonksiyon II: Uygulamalar / Multivariable Calculus II: Applications</a> from <em>Koç University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/linearalgebra1-5045">Doğrusal Cebir I: Uzaylar ve İşlemciler / Linear Algebra I: Spaces and Operators</a> from <em>Koç University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/linearalgebra2-5046">Doğrusal Cebir II: Kare Matrisler, Hesaplama Yöntemleri ve Uygulamalar / Linear Algebra II: Square Matrices, Calculation Methods and Applications</a> from <em>Koç University</em></li>
</ul>
<h2 id="heading-engineering-88">Engineering (88)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/statics1-564">Introduction to Engineering Mechanics</a> from <em>Georgia Institute of Technology</em> ★★★★★(170)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mechanics-1-5031">Mechanics of Materials I: Fundamentals of Stress &amp; Strain and Axial Loading</a> from <em>Georgia Institute of Technology</em> ★★★★★(110)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/intro-indoor-air-quality-9706">Introduction to Indoor Air Quality</a> from <em>The Hong Kong University of Science and Technology</em> ★★★★★(91)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/statics2-1148">Applications in Engineering Mechanics</a> from <em>Georgia Institute of Technology</em> ★★★★★(63)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mastering-statics-13737">Mastering Statics</a> from <em>The Hong Kong University of Science and Technology</em> ★★★★★(35)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/dynamics-7788">Engineering Systems in Motion: Dynamics of Particles and Bodies in 2D Motion</a> from <em>Georgia Institute of Technology</em> ★★★★★(34)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/3dmotion-2064">Advanced Engineering Systems in Motion: Dynamics of Three Dimensional (3D) Motion</a> from <em>Georgia Institute of Technology</em> ★★★★★(32)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mechanics2-5385">Mechanics of Materials II: Thin-Walled Pressure Vessels and Torsion</a> from <em>Georgia Institute of Technology</em> ★★★★★(27)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/materials-structures-6188">Mechanics of Materials IV: Deflections, Buckling, Combined Loading &amp; Failure Theories</a> from <em>Georgia Institute of Technology</em> ★★★★★(21)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/beam-bending-6184">Mechanics of Materials III: Beam Bending</a> from <em>Georgia Institute of Technology</em> ★★★★★(20)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ourenergyfuture-2055">Our Energy Future</a> from <em>University of California, San Diego</em>  ★★★★★(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/machine-design1-7404">Machine Design Part I</a> from <em>Georgia Institute of Technology</em> ★★★★★(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/introse-1381">Introduction to Systems Engineering</a> from <em>University of New South Wales</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/opv-1822">Organic Solar Cells - Theory and Practice</a> from <em>Technical University of Denmark (DTU)</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/analysenumerique-846">Analyse numérique pour ingénieurs</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/sanitation-2230">Planning &amp; Design of Sanitation Systems and Technologies</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/bim-fundamentals-12179">BIM Fundamentals for Engineers</a> from <em>National Taiwan University</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-energy-6189">Politics and Economics of International Energy</a> from <em>Institut d'Etudes Politiques de Paris</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/fluidpower-1770">Fundamentals of Fluid Power</a> from <em>University of Minnesota</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/robotica-inicial-4659">Robótica</a> from <em>Universidad Nacional Autónoma de México</em> ★★☆☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/onl-2232">Optique non-linéaire</a> from <em>École Polytechnique</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/geodesign-2016">Geodesign: Change Your World</a> from <em>Pennsylvania State University</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/analisis-sistemas-de-transporte-4728">Análisis de Sistemas de Transporte</a> from <em>Pontificia Universidad Católica de Chile</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/globalenergyandclimatepolicy-8604">Global Energy and Climate Policy</a> from <em>SOAS University of London</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mosfet-547">MOS Transistors</a> from <em>Columbia University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/nanotechnology-9262">Nanotechnology: A Maker’s Course</a> from <em>Duke University</em> ★★☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/modeling-simulation-natural-processes-8554">Simulation and modeling of natural processes</a> from <em>University of Geneva</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/gis-1-13293">Geographical Information Systems - Part 1</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/structures-1187">L'art des structures 1 : Câbles et arcs</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/microcontroleurs-1238">Comprendre les Microcontroleurs</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/geomatique-1605">Éléments de Géomatique</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/intro-sig-1-6205">Introduction aux Systèmes d’Information Géographique - Partie 1</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/bim-application-12117">BIM Application for Engineers</a> from <em>National Taiwan University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/sistemas-digitales-1457">Sistemas Digitales: De las puertas lógicas al procesador</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/digital-systems-7359">Digital Systems: From Logic Gates to Processors</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/nanosar1-1012">التقانة والمستشعرات النانوية - الجزء الاول</a> from <em>Technion - Israel Institute of Technology</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/nanosensors1-5200">Nanotechnology and Nanosensors, Part1</a> from <em>Technion - Israel Institute of Technology</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ingenieria-trafico-11950">Ingeniería de Tráfico</a> from <em>Pontificia Universidad Católica de Chile</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/spobuildaerodynamics-1392">Sports and Building Aerodynamics</a> from <em>Eindhoven University of Technology</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/exploring-renewable-energy-17025">Exploring Renewable Energy Schemes</a> from <em>University of Pennsylvania</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/material-science-engineering-6210">Material Processing</a> from <em>Georgia Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/high-throughput-6537">Introduction to High-Throughput Materials Development</a> from <em>Georgia Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/linear-circuits-ac-analysis-9474">Linear Circuits 2: AC Analysis</a>  from <em>Georgia Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/city-and-you-find-best-place-8668">The City and You: Find Your Best Place</a> from <em>University of Toronto</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/gestion-eau-4753">Gestion et Politique de l'eau</a>  from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mobiurba-4409">Mobilité et urbanisme</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/env-urbain-afrique-4515">Villes africaines: Environnement et enjeux de développement durable</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/bidonvilles-4516">Villes africaines : Restructuration des quartiers précaires</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mobilite-afrique-4589">Villes africaines: Mobilités et transports urbains</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sig-1-8801">Systèmes d’Information Géographique - Partie 1</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sig-2-8802">Systèmes d’Information Géographique - Partie 2</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/enseignes-et-afficheurs-led-9206">Enseignes et afficheurs à LED</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/3d-cad-fundamental-9997">3D CAD Fundamental</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/3d-cad-application-10672">3D CAD Application</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/como-autoconstruir-tu-vivienda-segunda-e-12387">Cómo autoconstruir tu vivienda. Segunda etapa</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/pensamiento-sistemico-4332">Pensamiento sistémico</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/como-autoconstruir-tu-vivienda-4642">Cómo autoconstruir tu vivienda</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/hydro-wind-solar-power-resources-variability-fore-56510">Hydro, Wind &amp; Solar power: Resources, Variability &amp; Forecast</a> from <em>École Polytechnique</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/plastic-electronics-10161">Plastic electronics</a> from <em>École Polytechnique</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/freeform-electronics-17374">Recent Advances in Freeform Electronics</a> from <em>Yonsei University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/wireless-communications-7503">Wireless Communications for Everybody</a> from <em>Yonsei University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/copy-of-fpga-intro-58997">FPGA computing systems: Partial Dynamic Reconfiguration</a> from <em>Politecnico di Milano</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/fpga-computing-systems-58998">FPGA computing systems: A Bird’s Eye View</a> from <em>Politecnico di Milano</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/analisis-sistemas-electricos-y-transicion-energet-108440">Análisis de Sistemas Eléctricos y Transición Energética</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/quantitative-model-checking-7502">Quantitative Model Checking</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/informationtheory-316">Information Theory</a> from <em>The Chinese University of Hong Kong</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/4g-principes-des-reseaux-mobiles-86349">4G : Principes des réseaux mobiles</a> from <em>Institut Mines-Télécom</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/4g-network-fundamentals-89696">4G Network Fundamentals</a> from <em>Institut Mines-Télécom</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/renewable-energy-fundamentals-32691">Renewable Energy: Fundamentals and Job Opportunities</a> from <em>University at Buffalo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/corrosion-15237">Protecting the World: Introducing Corrosion Science and Engineering</a> from <em>University of Manchester</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/environmental-management-ethics-8803">Environmental Management &amp; Ethics</a> from <em>Technical University of Denmark (DTU)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/nanosensors2-5199">Nanotechnology and Nanosensors, Part 2</a> from <em>Technion - Israel Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/taknulujia-alnnanu2-5452">التقانة والمستشعرات النانوية - الجزء الثاني</a> from <em>Technion - Israel Institute of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-basic-vibrations-13421">Introduction to Basic Vibrations</a> from <em>Korea Advanced Institute of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-advanced-vibrations-13685">Introduction to Advanced Vibrations</a> from <em>Korea Advanced Institute of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/electronica-digital-bit-a-bit-disenando-circuitos-54373">Electrónica Digital Bit a Bit: Diseñando en Verilog para FPGA</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/electronica-digital-bit-a-bit-fundamentos-54374">Electrónica Digital Bit a Bit: Fundamentos, Verilog y FPGA</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/equilibrio-7113">Equilibrio, ¿por qué se caen las cosas?</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/computers-waves-simulations-13150">Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python</a> from <em>Ludwig-Maximilians-Universität München</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/transiao-energtica-e-ecologica-em-paises-do-sul-46418">Transição energética e ecológica em países do sul</a> from <em>École normale supérieure</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/pds-2576">Processamento Digital de Sinais - Amostragem</a> from <em>Universidade Estadual de Campinas</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/controle-5870">Introdução ao Controle de Sistemas</a> from <em>Instituto Tecnológico de Aeronáutica</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/resposta-frequencia-6179">Controle Usando a Resposta em Frequência</a> from <em>Instituto Tecnológico de Aeronáutica</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/microwave-antenna-22094">Microwave engineering and antennas</a> from <em>Eindhoven University of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/rf-mmwave-circuit-design-32152">RF and millimeter-Wave Circuit Design</a> from <em>Eindhoven University of Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ferrous-technology-1-10362">Ferrous Technology I</a> from <em>Pohang University of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ferrous-technology-2-10363">Ferrous Technology II</a> from <em>Pohang University of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/developments-of-structural-dynamics-60064">Developments of structural dynamics</a> from <em>ISAE-SUPAERO</em></li>
</ul>
<h2 id="heading-social-sciences-212">Social Sciences (212)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/socialpsychology-555">Social Psychology</a> from <em>Wesleyan University</em> ★★★★★(87)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/modelthinking-317">Model Thinking</a> from <em>University of Michigan</em> ★★★★★(66)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/eu-making-europe-work-7408">EU policy and implementation: making Europe work!</a>  from <em>Leiden University</em> ★★★★★(51)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/game-theory-1-308">Game Theory</a> from <em>Stanford University</em> ★★★★☆(35)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/chinesepolitics1-3790">Chinese Politics Part 1 – China and Political Science</a> from <em>The Hong Kong University of Science and Technology</em> ★★★★★(31)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/the-science-of-well-being-10346">The Science of Well-Being</a> from <em>Yale University</em> ★★★★★(29)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-psych-647">Introduction to Psychology</a> from <em>University of Toronto</em> ★★★★★(27)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/terrorism-701">Terrorism and Counterterrorism: Comparing Theory and Practice</a> from <em>Leiden University</em> ★★★★★(25)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/monetary-policy-asia-pacific-11646">Monetary Policy in the Asia Pacific</a> from <em>The Hong Kong University of Science and Technology</em> ★★★★★(24)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/econtransform1-8348">China’s Economic Transformation Part 1: Economic Reform and Growth in China</a> from <em>The Hong Kong University of Science and Technology</em> ★★★★★(20)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/americanlaw-2872">An Introduction to American Law</a> from <em>University of Pennsylvania</em> ★★★★★(19)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-psychology-12509">Introduction to Psychology</a>  from <em>Yale University</em> ★★★★★(16)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/welcomegametheory-2883">Welcome to Game Theory</a> from <em>University of Tokyo</em> ★★★★★(16)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/moral-politics-2986">Moral Foundations of Politics</a>  from <em>Yale University</em> ★★★★☆(15)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/researchmethods-1767">Understanding Research Methods</a> from <em>University of London International Programmes</em> ★★★★☆(15)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/arbitration-10152">International Law in Action: the Arbitration of International Disputes</a> from <em>Leiden University</em> ★★★★★(15)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/susdev-1533">The Age of Sustainable Development</a> from <em>Columbia University</em> ★★★★★(14)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/chinesepolitics2-3791">Chinese Politics Part 2 – China and the World</a> from <em>The Hong Kong University of Science and Technology</em> ★★★★★(14)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/security-safety-globalized-world-7770">Security &amp; Safety Challenges in a Globalized World</a> from <em>Leiden University</em> ★★★★★(14)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/classical-sociological-theory-4298">Classical Sociological Theory</a>  from <em>University of Amsterdam</em> ★★★★★(13)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/warparadoxes-1361">Paradoxes of War</a> from <em>Princeton University</em> ★★★★☆(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/networksonline-744">Social and Economic Networks: Models and Analysis</a> from <em>Stanford University</em> ★★★★★(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/environlaw-725">Introduction to Environmental Law and Policy</a> from <em>The University of North Carolina at Chapel Hill</em> ★★★★★(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/intlcriminallaw-712">Introduction to International Criminal Law</a> from <em>Case Western Reserve University</em> ★★★★★(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/gametheory2-1469">Game Theory II: Advanced Applications</a> from <em>Stanford University</em> ★★★★☆(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/awc-2677">America's Written Constitution</a> from <em>Yale University</em> ★★★★☆(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mswm-4080">Municipal Solid Waste Management in Developing Countries</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★★(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/memory-and-movies-5254">Understanding Memory: Explaining the Psychology of Memory through Movies</a> from <em>Wesleyan University</em> ★★★★☆(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/international-law-in-action-4423">International Law in Action: A Guide to the International Courts and Tribunals in The Hague</a> from <em>Leiden University</em> ★★★★★(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/cfel-2137">Copyright for Educators &amp; Librarians</a> from <em>Duke University</em> ★★★★★(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/risk-in-modern-society-10210">Risk in Modern Society</a>  from <em>Leiden University</em> ★★★★★(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/commscience-1198">Introduction to Communication Science</a> from <em>University of Amsterdam</em> ★★★★☆(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/erasmus-econometrics-4723">Econometrics: Methods and Applications</a> from <em>Erasmus University Rotterdam</em> ★★★★☆(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/microeconomics-part1-624">Microeconomics: The Power of Markets</a> from <em>University of Pennsylvania</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/constitution-2082">Introduction to Key Constitutional Concepts and Supreme Court Cases</a> from <em>University of Pennsylvania</em> ★★★★★(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/digitaldemocracy-337">Securing Digital Democracy</a> from <em>University of Michigan</em> ★★★★★(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/formadores-ciudadania-8046">Formadores de Ciudadanía</a> from <em>Universidad de los Andes</em> ★★★★★(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/womens-health-human-rights-8615">International Women's Health and Human Rights</a> from <em>Stanford University</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/microeconomics-part2-5295">Microeconomics: When Markets Fail</a> from <em>University of Pennsylvania</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/auc-3008">America's Unwritten Constitution</a> from <em>Yale University</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/comparative-political-economy-1676">Configuring the World, part 1: Comparative Political Economy</a> from <em>Leiden University</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/globalenvmanangement-4087">Global Environmental Management</a> from <em>Technical University of Denmark (DTU)</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/political-philosophy-4234">Revolutionary Ideas: Utility, Justice, Equality, Freedom</a> from <em>University of Pennsylvania</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/law-student-4897">A Law Student's Toolkit</a> from <em>Yale University</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/egypt-738">Egiptología (Egyptology)</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★☆☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/cgt-636">Games without Chance: Combinatorial Game Theory</a>  from <em>Georgia Institute of Technology</em> ★★★☆☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/international-water-law-10234">International Water Law</a> from <em>University of Geneva</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/emotions-3159">Emotions: a Philosophical Introduction</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/after-the-arab-spring-8807">After the Arab Spring – Democratic Aspirations and State Failure</a> from <em>University of Copenhagen</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/internetgiants-3586">Internet Giants: The Law and Economics of Media Platforms</a> from <em>The University of Chicago</em>  ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/international-security-management-17930">International Security Management</a> from <em>Erasmus University Rotterdam</em> ★★★☆☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/roman-art-archaeology-5796">Roman Art and Archaeology</a> from <em>University of Arizona</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/political-philosophy-2-4171">Revolutionary Ideas: Borders, Elections, Constitutions, Prisons</a> from <em>University of Pennsylvania</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/norms-5910">Social Norms, Social Change I</a> from <em>University of Pennsylvania</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/everyday-parenting-8875">Everyday Parenting: The ABCs of Child Rearing</a> from <em>Yale University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-systemic-risk-55173">Global Systemic Risk</a>  from <em>Princeton University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/resilienceinchildren-1768">Resilience in Children Exposed to Trauma, Disaster and War: Global Perspectives</a> from <em>University of Minnesota</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/droitshomme-1596">Introduction aux Droits de l’Homme</a> from <em>University of Geneva</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/m-infra-1-4576">Management of Urban Infrastructures – part 1</a> from <em>École Polytechnique Fédérale de Lausanne</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/korean-economy-6207">The Korean Economic Development</a> from <em>Yonsei University</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/bienestar-equidad-derechos-humanos-8487">Bienestar, equidad y derechos humanos</a> from <em>Universidad de los Andes</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/economic-growth-part-1-5733">Economic Growth and Distributive Justice Part I - The Role of the State</a> from <em>Tel Aviv University</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-sustainable-development-10311">The Sustainable Development Goals – A global, transdisciplinary vision for the future</a> from <em>University of Copenhagen</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/geopolitics-europe-7225">Geopolitics of Europe</a> from <em>Institut d'Etudes Politiques de Paris</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/urban-education-5675">Critical Issues in Urban Education</a> from <em>The University of Chicago</em>  ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/gender-sexuality-8384">Gender and Sexuality: Diversity and Inclusion in the Workplace</a> from <em>University of Pittsburgh</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/feminism-social-justice-13290">Feminism and Social Justice</a> from <em>University of California, Santa Cruz</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/sdgbusiness-13760">Driving business towards the Sustainable Development Goals</a> from <em>Erasmus University Rotterdam</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/recoveringthepast-700">Recovering the Humankind's Past and Saving the Universal Heritage</a> from <em>Sapienza University of Rome</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/geopoliticaygobernanzaglobal-4630">Geopolítica y gobernanza global: riesgos y oportunidades</a> from <em>ESADE Business and Law School</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/love-social-justice-8844">Love as a Force for Social Justice</a> from <em>Stanford University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/change-7429">Social Norms, Social Change II</a> from <em>University of Pennsylvania</em> ★★☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/networkdynamics-9306">Network Dynamics of Social Behavior</a> from <em>University of Pennsylvania</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/copyright-for-multimedia-5369">Copyright for Multimedia</a> from <em>Emory University</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-diplomacy-un-8620">Global Diplomacy: the United Nations in the World</a> from <em>University of London International Programmes</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/intro-common-law-12100">Introduction to English Common Law</a> from <em>University of London International Programmes</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/enfant-developpement-16876">Développement psychologique de l'enfant</a> from <em>University of Geneva</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/contrats-3158">Rédaction de contrats</a> from <em>University of Geneva</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ecosystem-services-8088">Ecosystem Services: a Method for Sustainable Development</a> from <em>University of Geneva</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/genre-9351">Genre : quels enjeux ? Violences, globalisation, biomédecine, sexualités.</a> from <em>University of Geneva</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/nonviolence-4872">From Freedom Rides to Ferguson: Narratives of Nonviolence in the American Civil Rights Movement</a> from <em>Emory University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/lawandecon-524">Property and Liability: An Introduction to Law and Economics</a> from <em>Wesleyan University</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/shaonian-fuli-4838">少年福利與權利 (Welfare and Rights of Youth)</a> from <em>National Taiwan University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/international-humanitarian-law-12277">International Humanitarian Law in Theory and Practice</a>  from <em>Leiden University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/representaciones-culturales-1969">Representaciones culturales de las sexualidades</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/democracia-2083">Democracia y decisiones públicas. Introducción al análisis de políticas públicas</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/pap-3224">Primeros Auxilios Psicológicos (PAP)</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/sustainability-social-ecological-systems-8795">Sustainability of Social-Ecological Systems: the Nexus between Water, Energy and Food</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/corporate-governance-mitos-realidades-10750">Corporate governance. Mitos y realidades</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/sexualidad-4637">Sexualidad...mucho más que sexo</a> from <em>Universidad de los Andes</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/market-power-4898">The Power of Markets I: The Basics of Supply and Demand and Consumer Behavior</a>  from <em>University of Rochester</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/afrique-mondialisation-9757">Afrique et mondialisation, regards croisés</a> from <em>Institut d'Etudes Politiques de Paris</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/enjoyable-econometrics-16977">Enjoyable Econometrics</a> from <em>Erasmus University Rotterdam</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/whendisastermeetsconflict-17360">When Disaster Meets Conflict</a> from <em>Erasmus University Rotterdam</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/reputationcrisisfacebookmeetscambridgeanalytica-22704">Reputation Crisis? Facebook meets Cambridge Analytica</a> from <em>Erasmus University Rotterdam</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/local-economic-development-10376">Local Economic Development</a> from <em>Erasmus University Rotterdam</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/archaeology-city-levant-west-8558">At the Origins of the Mediterranean Civilization: Archaeology of the City from the Levant to the West - 3rd-1st millennium BC</a> from <em>Sapienza University of Rome</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/palatine-carafa-8624">The Changing Landscape of Ancient Rome. Archaeology and History of the Palatine Hill</a> from <em>Sapienza University of Rome</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/america-latina-5909">América Latina en los cambios internacionales: amenazas y oportunidades.</a>  from <em>Universidad de Chile</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/technology-shaping-democracy-2020-election-22196">How Technology is Shaping Democracy and the 2020 Election</a> from <em>Stanford University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/police-brutality-in-the-united-states-22211">Community Awareness: Police Brutality in the U.S.</a>  from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/questionnaire-design-es-66320">Diseño de cuestionarios para encuestas sociales</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/justice-and-equity-in-technology-policy-118912">Justice and Equity in Technology Policy</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/leading-for-equity-diversity-inclusion-8736">Leading for Equity, Diversity and Inclusion in Higher Education</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/firearm-licensing-17978">Firearm Purchaser Licensing Teach-Out: The Background Check Policy Not Enough People Are Talking About</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/erpo-22041">ERPO: A Civil Approach to Gun Violence Prevention Teach-Out</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/black-lives-matter-40644">Black Lives Matter</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/preventative-law-avoiding-negative-court-involvem-120188">Helping Families Avoid Negative Court Involvement Teach-Out</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/race-cultural-diversity-american-life-9082">Race and Cultural Diversity in American Life and History</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/health-and-safety-of-home-based-childcare-center-117507">Health and Safety of a Home-Based Childcare Center</a> from <em>State University of New York</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/refugees-21st-century-18077">Refugees in the 21st Century</a> from <em>University of London International Programmes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/citizenship-rule-of-law-18188">Citizenship and the Rule of Law</a> from <em>University of London International Programmes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/foundations-of-diversity-and-inclusion-at-work-te-21397">Foundations of Diversity and Inclusion at Work TeachOut</a> from <em>University of Virginia</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sustainability-through-soccer-8302">Sustainability through Soccer: Systems-Thinking in Action</a> from <em>University of Virginia</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/criminallaw-1736">刑法学总论 Criminal Law</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/pkufamilysociology-4432">家庭社会学导论</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tgnc-gender-identity-social-change-8603">What does it mean to identify as Transgender or Gender Non-Conforming (TGNC)?</a> from <em>University of Minnesota</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/social-science-research-chinese-society-8628">Social Science Approaches to the Study of Chinese Society Part 2</a> from <em>The Hong Kong University of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/russian-water-management-20210">Политика и управление водными ресурсами</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mentaliser-55914">Mentaliser : de la théorie à l’intervention clinique</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/international-organizations-56553">International Organizations for Interpreters</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/research-humanitarian-114643">Operational Research for Humanitarians</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/childrens-rights-7767">Children's Human Rights - An Interdisciplinary Introduction</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/drugs-11600">Drugs, drug use, drug policy and health</a>  from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/the-sustainability-imperative-59520">The Sustainability Imperative</a> from <em>University of Colorado Boulder</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/economic-policy-ar-13295">فهم صنع السياسات الاقتصادية</a> from <em>IE Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/african-cities1-12187">African cities : An Introduction to Urban Planning</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/iglus-19062">Innovative Governance of Large Urban Systems</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/villes-africaines-1-1282">Villes africaines I: Introduction à la planification urbaine</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ecosol1-4410">Economie du sol et de l'immobilier I</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/economie-sol-immobilier-2-6035">Economie du sol et de l'immobilier II</a> from <em>École Polytechnique Fédérale de Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/originalite-et-modernite-du-mutualisme-11543">Originalité et modernité du mutualisme</a> from <em>ESSEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/taiwan-law-in-focus-economy-society-and-democracy-55167">Taiwan Law in Focus: Economy, Society and Democracy</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/shiyan-jingji-xue-2370">實驗經濟學 (Experimental Economics: Behavioral Game Theory)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/economics-8796">經濟學概論：誘因與市場（Introduction to Economics: Incentive and Markets）</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/game-theory-and-business-strategy-10743">賽局與產業競爭策略 (Game Theory and Business Strategy)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/anticorrupcion-introduccion-14490">Anticorrupción: Introducción a conceptos y perspectiva práctica</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/gestion-riesgo-16921">Gestión integral del riesgo de desastres</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/gobiernos-locales-8236">Los gobiernos locales como actores internacionales</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sustainability-global-challenges-and-local-action-121146">The Great Sustainability Transition: Global challenges, Local actions</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/international-law-in-action-2-5973">International Law In Action: Investigating and Prosecuting International Crimes</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/political-economy-8960">Political Economy of Institutions and Development</a> from <em>Leiden University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/iniciacion-jeroglificos-egipcios-12580">Iniciación a los jeroglíficos egipcios</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/proteccion-datos-37633">Ley de protección de datos. Conoce tus derechos</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/accion-comunitaria-110347">Acción Comunitaria. Enfoques para la transformación social</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ciudades-politicas-urbanas-10444">Ciudades en crisis y nuevas políticas urbanas</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/accessibility-scenic-arts-11497">Accessibility to the Scenic Arts</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/interculturalidad-17291">Comprender las dimensiones interculturales en la cotidianidad</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/arctic-economy-23272">Arctic Economy</a>  from <em>University of Alberta</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/orbitalperspective-8291">Introduction to the Orbital Perspective</a> from <em>University of Arizona</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/alternative-mobility-narratives-24344">Alternative Mobility Narratives</a> from <em>University of Amsterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/dangdai-yingyong-xinli-xue-4554">当代应用心理学</a> from <em>Shanghai Jiao Tong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ethnic-yunnan-43783">The amazing world of the ethnic groups of Yunnan Province</a> from <em>Shanghai Jiao Tong University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/economic-growth-part-2-5732">Economic Growth and Distributive Justice Part II - Maximize Social Wellbeing</a> from <em>Tel Aviv University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/legaltech-19503">El Abogado del Futuro: Legaltech y la Transformación Digital del Derecho</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-literacy-what-is-why-matters-58297">Data Literacy – What is it and why does it matter?</a> from <em>Sorbonne Universités</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/european-citizenship-47283">European Citizenship – Development, Scope, and Challenges</a> from <em>University of Copenhagen</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sustainable-development-ideas-and-imaginaries-110312">Sustainable Development - Ideas and Imaginaries</a> from <em>University of Copenhagen</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/econometria-basica-aplicada-10703">Econometria Básica Aplicada</a> from <em>Universidade de São Paulo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introducao-analise-macroeconomica-10706">Introdução à Análise Macroeconômica</a> from <em>Universidade de São Paulo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/market-efficiency-4899">The Power of Markets III: Input Markets and Promoting Efficiency</a> from <em>University of Rochester</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/market-structure-4900">The Power of Markets II: Market Structure and Firm Behavior</a> from <em>University of Rochester</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/responsiblemgmnt-3745">Managing Responsibly: Practicing Sustainability, Responsibility and Ethics</a> from <em>University of Manchester</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/donnes-et-gouvernance-urbaine-60073">Données et Gouvernance Urbaine</a> from <em>Institut d'Etudes Politiques de Paris</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-urban-governance-60074">Data and Urban Governance</a> from <em>Institut d'Etudes Politiques de Paris</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/desarrollo-urbano-6622">Cities are back in town : sociología urbana para un mundo globalizado</a> from <em>Institut d'Etudes Politiques de Paris</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/geopolitique-6953">Géopolitique de l'Europe</a> from <em>Institut d'Etudes Politiques de Paris</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/grand-paris-metropolis-11069">Searching for the Grand Paris</a> from <em>Institut d'Etudes Politiques de Paris</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/israel-7329">Israel State and Society</a>  from <em>Hebrew University of Jerusalem</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/urban-air-mobility-80069">Urban Air Mobility</a> from <em>Technische Universität München (Technical University of Munich)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/valuechains-8966">The Economics of Agro-Food Value Chains</a> from <em>Technische Universität München (Technical University of Munich)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/conspiracy-planet-58671">Conspiracy Planet</a> from <em>University of California, Santa Cruz</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/equilibrio-redes-transporte-19268">¿Cómo viajamos por la ciudad? Asignación y equilibrio en redes de transporte.</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sustentabilida-desafios-latinoamerica-120194">Sustentabilidad: los desafíos desde Latinoamérica</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/corp-sustainability-10667">Corporate Sustainability. Understanding and Seizing the Strategic Opportunity</a>  from <em>Università Bocconi</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/transport-eu-law-12380">Cross-border road transport in EU law context</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/enable20-12589">Business Model Innovation for Sustainable Landscape Restoration</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/studying-cities-social-science-methods-f-13837">Studying Cities: Social Science Methods for Urban Research</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/earth-economics-19587">Earth Economics</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/effective-engagement-of-csos-in-development-32155">Effective Engagement of Civil Society in Development</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/effective-engagement-of-civil-society-in-developm-32194">Effective Engagement of Civil Society in Development</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/participacion-eficaz-de-la-sociedad-civil-en-el-d-45209">Participación eficaz de la sociedad civil en el desarrollo</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/engagement-efficace-de-la-societe-civile-dans-le--45212">L’engagement efficace de la société civile dans le développement</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/necessary-condition-analysis-95169">Necessary Condition Analysis (NCA)</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/landscape-restoration-sustainable-develo-8547">A Business Approach to Sustainable Landscape Restoration</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/xin-li-xue-sheng-huo-4180">心理学与生活</a> from <em>Nanjing University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/competencias-lab-8290">Competencias Laborales: Perfiles, Evaluación y Capacitación.</a> from <em>Universidad de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sustentabilidad-economias-sociales-8315">Sustentabilidad y Economías Sociales</a> from <em>Universidad de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/working-for-a-sustainable-future-86177">Working for a sustainable future: concepts and approaches</a> from <em>Lund University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/transiciones-energeticas-y-ecologicas-en-los-pais-19376">Transiciones energéticas y ecológicas en los países del Sur</a> from <em>École normale supérieure</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ecological-and-energetical-transitions-in-souther-19383">Ecological and Energy Transitions in Southern Countries</a> from <em>École normale supérieure</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cartographie-7226">Cartographie thématique</a> from <em>École normale supérieure</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/transitions-energetiques-pays-du-sud-9218">Les transitions énergétique &amp; écologique dans les pays du Sud</a> from <em>École normale supérieure</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/economia-do-trabalho-9995">Introdução à Economia do Trabalho: Teorias e Políticas</a> from <em>Universidade Estadual de Campinas</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/inequalityanddemocracy-17141">Inequality and Democracy</a> from <em>Utrecht University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/humanrights-7413">Human Rights for Open Societies</a> from <em>Utrecht University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/child-development-9059">Understanding child development: from synapse to society</a> from <em>Utrecht University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ecologie-politique-8124">Ecologie Politique: défi de la durabilité pour les démocraties</a> from <em>University of Lausanne</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/macroeconomics-for-business-management-43769">Macroeconomics for Business Management</a> from <em>Fundação Instituto de Administração</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mobilites-vehicules-electriques-9673">Mobilités et véhicules électriques</a>  from <em>École des Ponts Paritech</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/electric-vehicles-mobility-9909">Electric Vehicles and Mobility</a> from <em>École des Ponts Paritech</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/capitalismo-consciente-5593">Capitalismo Consciente</a> from <em>Insper</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/antisemitisme-19023">L’antisémitisme : De ses origines à nos jours</a> from <em>Yad Vashem - The World Holocaust Remembrance Center</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/antisemitismo-22212">Antisemitismo: Desde sus orígenes hasta el presente</a> from <em>Yad Vashem - The World Holocaust Remembrance Center</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/economics-society-markets-and-inequality-120570">Economics: Society, Markets, and [In]equality</a> from <em>Parsons School of Design</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/power-and-foreign-policy-in-international-relatio-120142">Power and Foreign Policy in International Relations</a> from <em>O.P. Jindal Global University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/vocesdecambiosocial-19011">Voces de cambio social</a> from <em>Laureate International Universities</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/vozes-da-mudanca-social-19012">Vozes da Mudança Social</a> from <em>Laureate International Universities</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/abc-sostenibilidad-97263">El ABC de la sostenibilidad</a>  from <em>Campus BBVA</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/art-and-science-of-economic-policy-97394">The Art and Science of Economic Policy</a> from <em>Indian Institute for Human Settlements (IIHS)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/shaping-urban-futures-104415">Shaping Urban Futures</a> from <em>Indian Institute for Human Settlements (IIHS)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/abc-sustainability-117516">The ABC of sustainability</a>  from <em>Campus BBVA</em></li>
</ul>
<h2 id="heading-business-255">Business (255)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/strategy-law-ethics-6195">Making Successful Decisions through the Strategy, Law &amp; Ethics Model</a> from <em>University of Michigan</em> ★★★★★(44)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/financialmarkets-912">Financial Markets</a> from <em>Yale University</em> ★★★★☆(36)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/personal-branding-4865">Introduction to Personal Branding</a> from <em>University of Virginia</em> ★★★★☆(15)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/intorb-1371">International Leadership and Organizational Behavior</a> from <em>Università Bocconi</em> ★★★★☆(14)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-2-19373">Fundamentals of Business Finance, with Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em> ★★★★★(14)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/forensicaccounting-2465">Forensic Accounting and Fraud Examination</a> from <em>West Virginia University</em> ★★★★☆(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-financial-crisis-4893">The Global Financial Crisis</a> from <em>Yale University</em> ★★★★☆(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-3-19369">Fundamentals of Leadership, with Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em> ★★★★★(11)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/organizational-analysis-459">Organizational Analysis</a>  from <em>Stanford University</em> ★★★★☆(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/oilandgas-5356">Oil &amp; Gas Industry Operations and Markets</a>  from <em>Duke University</em> ★★★★★(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/content-marketing-7799">The Strategy of Content Marketing</a> from <em>University of California, Davis</em> ★★★★☆(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/supplychain-2065">Supply Chain Management: A Learning Perspective</a>  from <em>Korea Advanced Institute of Science and Technology</em> ★★★★☆(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/food-beverage-management-3498">Food &amp; Beverage Management</a> from <em>Università Bocconi</em> ★★★★☆(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/entpecon-1603">Beyond Silicon Valley: Growing Entrepreneurship in Transitioning Economies</a> from <em>Case Western Reserve University</em> ★★★★☆(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-6-19367">Fundamentals of Sales and Marketing, with Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em> ★★★★★(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/social-impact-2136">Social Impact Strategy: Tools for Entrepreneurs and Innovators</a> from <em>University of Pennsylvania</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/adsoc-2487">Advertising and Society</a> from <em>Duke University</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/globalenergybusiness-1307">Fundamentals of Global Energy Business</a> from <em>University of Colorado System</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/changetheworld-1269">How to Change the World</a> from <em>Wesleyan University</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/creativity-innovation-677">Creativity, Innovation and Transformation</a> from <em>Pennsylvania State University</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/dairy-4055">Dairy Production and Management</a> from <em>Pennsylvania State University</em> ★★★★★(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/private-equity-4408">Private Equity and Venture Capital</a> from <em>Università Bocconi</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/artsculturestrategy-2678">Arts and Culture Strategy</a> from <em>University of Pennsylvania</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/futuremanagement-2920">Managing the Company of the Future</a> from <em>University of London International Programmes</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/erasmus-innovationmanagement-5943">Innovation Management</a> from <em>Erasmus University Rotterdam</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-8-19374">Fundamentals of Management, with Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-7-19375">Fundamentals of Operations, with Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/bridging-strategy-design-delivery-gap-12170">Bridging the Gap between Strategy Design and Delivery</a> from <em>Brightline Initiative</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/duke-behavioral-finance-6635">Behavioral Finance</a> from <em>Duke University</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/scalingoperations-2707">Scaling Operations: Linking Strategy and Execution</a> from <em>Northwestern University</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-5-19368">Fundamentals of Financial Planning, with Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-4-19370">Fundamentals of Customers and Competition, with Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/startupfinancewithoutvc-5831">How to Finance and Grow Your Startup – Without VC</a> from <em>University of London International Programmes</em> ★★★☆☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/innovacion-734">Desarrollo rápido de productos innovadores para mercados emergentes</a> from <em>Tecnológico de Monterrey</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/infrafinance-1380">Financing and Investing in Infrastructure</a> from <em>Università Bocconi</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-10-19371">Fundamentals of Negotiation, with Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/wharton-crowdfunding-9664">Crowdfunding</a> from <em>University of Pennsylvania</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/brand-3929">Brand Management: Aligning Business, Brand and Behaviour</a> from <em>University of London International Programmes</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/entrepreneur-guide-beginners-19704">The entrepreneur's guide for beginners</a> from <em>University of Barcelona</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/finanzen-7794">Das liebe Geld - Finance im Alltag</a> from <em>University of Zurich</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/empreendedorismo-2577">O Empreendedorismo e as Competências do Empreendedor</a> from <em>Universidade Estadual de Campinas</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-9-19372">Fundamentals of Funding, with Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-esp-8-19446">Fundamentos de la Administración con Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/giving2-2481">Giving 2.0: The MOOC</a> from <em>Stanford University</em> ★★☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/schedule-projects-fr-33459">Budgétisation et planification de projets</a> from <em>University of California, Irvine</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/project-management-basics-fr-64224">Gestion de projet : les bases de la réussite</a> from <em>University of California, Irvine</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/financial-markets-global-pt-32714">Mercados financeiros</a> from <em>Yale University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/quantitative-customer-insights-10428">Customer Insights: Quantitative Techniques</a> from <em>University of Illinois at Urbana-Champaign</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/company-future-management-ar-13180">إدارة شركات المستقبل</a> from <em>University of London International Programmes</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/international-organizations-management-11072">International Organizations Management</a>  from <em>University of Geneva</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/startup-idea-6449">How to Validate your Startup Idea</a> from <em>University of New South Wales</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/reussir-le-changement-5871">Réussir le Changement</a> from <em>ESSEC Business School</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/globalbusiness2-2699">International Business II</a> from <em>University of New Mexico</em> ★★☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/entstrategicmgmt-3596">Entrepreneurial Strategic Management</a> from <em>University of New Mexico</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/adminestremp-5071">Administración Estratégica y Emprendedora</a> from <em>University of New Mexico</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/international-business-7249">International Business I</a> from <em>University of New Mexico</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/finanzas-empresariales-4633">Fundamentos de Finanzas Empresariales</a>  from <em>Universidad de los Andes</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/techcommercialpart1-2567">Technology Commercialization, Part 1: Setting up your Idea Filtering System</a> from <em>University of Rochester</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/emprender-6034">Emprender la emprendeduría</a> from <em>University of Barcelona</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/new-technologies-business-leaders-10365">New Technologies for Business Leaders</a> from <em>Rutgers University</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/pppefficace-6008">Les Partenariats Public-Privé (PPP): Comment offrir de meilleures infrastructures pour les services publics</a> from <em>Online Learning Campus - World Bank Group</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/innovative-finance-9707">Innovative Finance: Hacking finance to change the world</a>  from <em>University of Cape Town</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/empresas-alimentos-bebidas-4729">Gestión de las empresas de alimentación y bebidas</a> from <em>Università Bocconi</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/advanced-valuation-and-strategy-12104">Advanced Valuation and Strategy - M&amp;A, Private Equity, and Venture Capital</a> from <em>Erasmus University Rotterdam</em> ★☆☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-esp-6-19435">Fundamentos de las Ventas y el Marketing con Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-esp-3-19442">Fundamentos del Liderazgo con Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/budgeting-essentials-development-9350">Budgeting essentials and development</a> from <em>Fundação Instituto de Administração</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/effectuation-1331">Effectuation : l'entrepreneuriat pour tous</a> from <em>EMLYON Business School</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/remote-team-management-21633">How to Manage a Remote Team</a> from <em>GitLab</em> ★★☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/valuing-nature-and-people-to-inform-business-deci-70698">Valuing nature and people to inform business decision-making</a> from <em>Capitals Coalition</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/how-software-ate-finance-27230">How Software Ate Finance</a> from <em>Stanford University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/wharton-social-impact-ko-121425">사회적 영향을 위한 비즈니스 전략</a> from <em>University of Pennsylvania</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/social-entrepreneurship-getting-started-21747">Becoming a Social Entrepreneur: Getting Started</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/leading-diverse-teams-and-organizations-22539">Leading Diverse Teams &amp; Organizations</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/motivate-people-teams-ar-32753">إلهام الأفراد وتحفيزهم</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/managing-talent-ar-37585">إدارة المواهب</a>  from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/leading-diverse-teams-33420">Leading Diverse Teams</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/project-risk-management-ru-33457">Управление рисками проекта и изменениями</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/project-risk-management-de-33458">Projektrisiken und -änderungen managen</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/schedule-projects-de-33460">Budget- und Terminplanung von Projekten</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/project-risk-management-fr-33461">Gérer les risques et les modifications d’un projet</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/project-planning-ar-37080">بدء المشاريع والتخطيط لها</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/project-planning-pt-37083">Iniciando e planejando projetos</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/project-planning-es-37084">Inicio y planificación de proyectos</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/schedule-projects-ru-39513">Составление бюджета и графиков проектов</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/project-planning-ru-45988">Инициирование и планирование проектов</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/project-planning-fr-64225">Initier et planifier des projets</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/project-management-basics-ar-65618">إدارة المشروع: أساسيات النجاح</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/finansy-5689">Фінанси для нефінансових спеціалістів</a> from <em>University of California, Irvine</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/financial-markets-global-es-32713">Mercados financieros</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/financial-markets-global-ru-32715">Финансовые рынки</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/financial-markets-global-fr-32716">Marchés financiers</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/financial-markets-global-ar-32717">الأسواق المالية</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/connected-leadership-121051">Connected Leadership</a> from <em>Yale University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/analytics-business-metrics-ko-60039">데이터 중심 기업을 위한 비즈니스 지표</a> from <em>Duke University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/marketing-digital-fr-64229">Le marketing dans un monde numérique</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/leaders-es-64332">Liderazgo</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/organizational-concepts-and-language-es-64337">Conceptos y lenguaje de las organizaciones</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/organizational-concepts-and-language-fr-64342">Concepts et langage organisationnels</a>  from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/leaders-fr-64516">Leadership</a>  from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/leaders-ar-65141">القيادة</a>  from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-marketing-building-iconic-brands-102535">Global Marketing: Building Iconic Brands</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/empathy-data-risk-110391">Empathy, Data, and Risk</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/risk-management-empathy-data-119220">Empathy and Data in Risk Management</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/subsistence-marketplaces-1363">Subsistence Marketplaces</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/customer-insights-orientation-10374">Customer Insights: New Product Development Orientation</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/launch-online-business-39285">Launch Your Online Business</a> from <em>State University of New York</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/corporatestrategy-9859">Corporate Strategy</a>  from <em>University of London International Programmes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/people-management-6317">The Manager's Toolkit: A Practical Guide to Managing People at Work</a> from <em>University of London International Programmes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/explore-management-concepts-through-metaphor-and--45954">Explore Management Concepts through Metaphor and Music</a> from <em>University of London International Programmes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/uva-darden-getting-started-agile-ar-64349">اجتماع النهج الرشيق (Agile) والتفكير التصميمي</a> from <em>University of Virginia</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/design-coaching-strategy-5583">Designing and Implementing Your Coaching Strategy</a> from <em>University of California, Davis</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/advanced-seo-strategies-5608">Advanced Search Engine Optimization Strategies</a> from <em>University of California, Davis</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/zhenge-beida-zaixian-chuangye-5916">真格—北大在线创业课堂</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/innovation-medias-transformation-digitale-92396">Innovation, médias et transformation digitale</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/global-statistics-11053">Global Statistics - Composite Indices for International Comparisons</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/business-analytics-decision-making-ko-60038">의사 결정을 위한 비즈니스 분석</a> from <em>University of Colorado Boulder</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/researcher-management-leadership-training-19465">Researcher Management and Leadership Training</a> from <em>University of Colorado System</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/raison-etre-et-entreprise-a-mission-19244">Raison d’être et Entreprise à Mission</a> from <em>ESSEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/entrepreneuriat-social-changer-d-echelle-22032">L'entrepreneuriat social : changer d'échelle</a>  from <em>ESSEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/companies-and-climate-change-37051">Companies and climate change</a> from <em>ESSEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/belles-histoires-d-entreprises-a-impact-37081">Belles histoires d'entreprises à impact</a> from <em>ESSEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/partenariats-qui-changent-le-monde-5227">Les partenariats qui changent le monde : alliances innovantes entre entreprises et associations</a> from <em>ESSEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/entrepreneuriatquichangelemonde-6202">L'entrepreneuriat social : de l'envie au projet</a> from <em>ESSEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/animer-seance-collaborative-10763">Animer une séance collaborative</a> from <em>ESSEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/excellence-operationnelle-11459">L'excellence opérationnelle en pratique</a>  from <em>ESSEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/innovation-manageriale-12095">L'innovation managériale en pratique</a> from <em>ESSEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/shang-guan-zixun-jingji-xue-12338">商管研究中的賽局分析（二）：資訊經濟學</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/operations-research-theory-39300">Operations Research (3): Theory</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/marketing-stp-crm-7804">行銷典範轉移: 變動中的消費世界 (Marketing in a changing world)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/gabr-9300">商管研究中的賽局分析（一）：通路選擇、合約制定與共享經濟 (Game Theoretic Analysis for Business Research (1))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/pbc2-10786">用 Python 做商管程式設計（二）(Programming for Business Computing in Python (2))</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/designthinking-docencia-96160">Innovar tu enseñanza con design thinking</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/empresas-familiares-122053">Empresas familiares</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/finanzaspersonales-2565">Finanzas personales</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/contabilidad-7412">Contabilidad para no contadores</a>  from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/techstartup-2995">Créer et développer une startup technologique</a> from <em>École Polytechnique</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduccion-a-la-innovacion-empresarial-y-creaci-89812">Introducción a la Innovación Empresarial y Creación de Valor</a> from <em>Tecnológico de Monterrey</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/coaching-en-las-ondas-13257">Tu consultorio de Coaching en las ondas</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mercado-digital-16881">Contratación y mercado digital. Aspectos legales y otras cuestiones de interés</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/competencias-digitales-ofimatica-excel-59500">Competencias digitales de ofimática: Microsoft Excel</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/competencias-digitales-ofimatica-word-59501">Competencias digitales de ofimática: Microsoft Word</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/competencias-digitales-ofimatica-powerpoint-64379">Competencias digitales de ofimática: Microsoft PowerPoint</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/gestion-comunicacion-interna-organizaciones-126045">Gestión de la comunicación interna en las organizaciones</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/patrocinio-deportivo-5814">Patrocinio Deportivo</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sports-sponsorship-6572">Sport Sponsorship. Let them Play</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/finanzas-basicas-8347">Kit básico (para evitar los errores más frecuentes) de finanzas</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/negocios-internacionales1-4933">Negocios Internacionales I</a> from <em>University of New Mexico</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/negocios-internacionales2-4941">Negocios Internacionales II</a> from <em>University of New Mexico</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/disaster-risk-management-korean-policies-13259">Disaster Risk Management and Korean Policies</a> from <em>Yonsei University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/marketing-internacional-asia-9770">Marketing Internacional en Asia</a> from <em>Yonsei University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tomar-decisiones-financieras-que-agregan-valor-22786">¿Cómo tomar decisiones financieras que agreguen valor?</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduccion-al-mantenimiento-de-activos-fisicos-106138">Introducción al mantenimiento de activos físicos</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/marketingverde-4651">Marketing Verde</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/blockchain-professionals-12595">Blockchain 360: A State of the Art for Professionals</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/business-implications-ai-nano-course-17046">Business Implications of AI: A Nano-course</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sustainable-digital-innovation-32151">Sustainable Digital Innovation</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-analytics-for-lean-six-sigma-8092">Data Analytics for Lean Six Sigma</a> from <em>University of Amsterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/manager-dans-lincertain-58336">Manager dans l'incertain</a> from <em>Institut Mines-Télécom</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/finanzas-corporativas-17318">Finanzas Corporativas</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/diseno-experiencia-servicios-17383">Diseño de Experiencia en Servicios</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/analisis-costos-direccion-empresas-17384">Introducción al análisis de Costos para la Dirección de Empresas</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/inversiones-en-cripto-61328">Cómo Invertir en Cripto</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/coberturas-de-riesgo-7082">Coberturas de riesgo con futuros y opciones para agrobusiness</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/excel-aplicado-negocios-avanzado-9571">Excel aplicado a los negocios (Nivel Avanzado)</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/excel-essentials-es-32810">Habilidades de Excel para el negocio: Conceptos básicos</a> from <em>Macquarie University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/excel-intermediate-1-ru-33414">Умения работы с Excel для бизнеса: уровень Intermediate I</a> from <em>Macquarie University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/excel-essentials-de-33501">Excel-Kenntnisse für Unternehmen: Grundlagen</a> from <em>Macquarie University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/excel-essentials-pt-34090">Habilidades de Excel para negócios: Fundamentos</a> from <em>Macquarie University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/excel-intermediate-2-ar-46396">مهارات الإكسل الخاصة التجارية: المستوى المتوسط الثاني</a> from <em>Macquarie University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/excel-intermediate-2-fr-64226">Compétences Excel professionnelles : Intermédiaire II</a> from <em>Macquarie University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/excel-intermediate-1-fr-64227">Compétences Excel professionnelles : Intermédiaire I</a> from <em>Macquarie University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/foundx-beta-course-21794">FoundX Startup School Course</a> from <em>University of Tokyo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sustainable-tourism-10334">Sustainable Tourism – promoting environmental public health</a> from <em>University of Copenhagen</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/entrepchangement-2903">Devenir entrepreneur du changement</a> from <em>HEC Paris</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/criacao-startups-8546">Criação de Startups: Como desenvolver negócios inovadores</a> from <em>Universidade de São Paulo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/consolidando-empresas-10710">Consolidando empresas: Estrutura jurídica e financeira</a> from <em>Universidade de São Paulo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/gestionpersonas-3017">Claves para Gestionar Personas</a> from <em>IESE Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/startup-fintech-capstone-es-66065">Curso con proyecto final: Comienza tu futuro en fintech</a> from <em>University of Cape Town</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/entrepreneurial-culture-digital-age-12080">Be entrepreneurial in Cultural Industries in the digital age</a> from <em>Institut d'Etudes Politiques de Paris</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/entreprendre-culture-12081">Entreprendre dans les Industries Culturelles à l'ère du numérique</a> from <em>Institut d'Etudes Politiques de Paris</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/design-strategy-11229">Design-Led Strategy: Design thinking for business strategy and entrepreneurship</a> from <em>The University of Sydney</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/financing-infrastructure-in-african-citi-10225">Financing Infrastructure in African Cities</a> from <em>United Cities and Local Governments of Africa</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/leadership21st-1411">Leadership in 21st Century Organizations</a> from <em>Copenhagen Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/getvirtual-119587">GetVirtual: How to Launch Your Online Business</a> from <em>University of California, Santa Cruz</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/planificacion-gestion-pymes-21108">Planificación y gestión estratégica para Pymes</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/escalamiento-exitoso-e-innovacion-en-los-negocios-41007">Escalamiento exitoso e Innovación en los Negocios</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/gestionempresarialpyme-4342">Gestión Empresarial Exitosa para Pymes</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/liderazgo-educativo-4349">Liderazgo Instruccional: Perspectiva Global y Prácticas Locales</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/gestion-organizaciones-efectivas-4721">Gestión de organizaciones efectivas</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/camino-excelencia-gestion-proyectos-7109">Camino a la Excelencia en Gestión de Proyectos</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/transferencia-tecnologica-investigacion-9889">Transferencia tecnológica: De la investigación al mercado.</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/libre-competencia-10216">Buenas Prácticas en Libre Competencia</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/emprendimiento-social-negocios-sustentab-11302">Diseño y Creación de un Emprendimiento Social</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/scientific-approach-innovation-managemen-13223">A Scientific Approach to Innovation Management</a> from <em>Università Bocconi</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/towards-agenda-2030-21937">Management of International Development: Towards Agenda 2030</a> from <em>Università Bocconi</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/private-equity-fr-39494">Capital-investissement et capital-risque</a> from <em>Università Bocconi</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/private-equity-investment-funds-4390">Private Equity and Investment Funds</a> from <em>Università Bocconi</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/arts-heritage-7466">Arts and Heritage Management</a> from <em>Università Bocconi</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sustainable-finance-19711">Principles of Sustainable Finance</a>  from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/trade-and-investment-policies-for-development-110583">Trade &amp; investment: evidence-based policies for development</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sustainable-finance-ko-121224">지속 가능한 금융의 원칙</a> from <em>Erasmus University Rotterdam</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/competitive-strategy-pt-39396">Estratégia competitiva</a>  from <em>Ludwig-Maximilians-Universität München</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/competitive-strategy-ru-40302">Конкурентная стратегия</a>  from <em>Ludwig-Maximilians-Universität München</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/competitive-strategy-ar-40767">الاستراتيجية التنافسية</a>  from <em>Ludwig-Maximilians-Universität München</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/competitivestrategyzh-2848">竞争策略（中文版）</a> from <em>Ludwig-Maximilians-Universität München</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/advanced-competitive-strategy-zh-4202">高阶竞争策略（中文版）</a> from <em>Ludwig-Maximilians-Universität München</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/research-kitchen-8055">Research kitchen</a> from <em>Ludwig-Maximilians-Universität München</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/marketing-gerencial-7104">Marketing Gerencial</a> from <em>Universidad de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/costosparanegocios-7115">Costos para los Negocios</a> from <em>Universidad de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/music-industry-6342">Today’s Music Industry</a> from <em>West Virginia University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ai-business-future-of-work-55790">AI, Business &amp; the Future of Work</a> from <em>Lund University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/conceitos-basicos-logistica-10702">Conceitos Básicos de Logística e Supply Chain</a> from <em>Universidade Estadual de Campinas</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-brpt-9-19428">Fundamentos de Financiamento com o 10,000 Women da Goldman Sachs</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-brpt-7-19429">Fundamentos de Operações com o 10,000 Women da Goldman Sachs</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-brpt-8-19430">Fundamentos de Gerenciamento com o 10,000 Women da Goldman Sachs</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-esp-7-19431">Fundamentos de las Operaciones con Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-brpt-6-19432">Fundamentos de Vendas e Marketing com o 10,000 Women da Goldman Sachs</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-brpt-5-19433">Fundamentos de Planejamento Financeiro com o 10,000 Women da Goldman Sachs</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-brpt-4-19434">Fundamentos de Clientes e Concorrência com o 10,000 Women da Goldman Sachs</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-brpt-3-19436">Fundamentos de Liderança com o 10,000 Women da Goldman Sachs</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-esp-5-19437">Fundamentos de la Planificación Financiera con Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-brpt-2-19438">Fundamentos de Finanças da Empresa com o 10,000 Women da Goldman Sachs</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-brpt-1-19439">Expanda Seus Negócios com o 10,000 Women da Goldman Sachs</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-esp-4-19440">Fundamentos de los Clientes y la Competencia con Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-esp-1-19441">Haz Crecer Tu Negocio con Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-esp-2-19443">Fundamentos de los Aspectos Financieros del Negocio con Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-esp-9-19444">Fundamentos de la Financiación con Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-brpt-10-19445">Fundamentos de Negociação com o 10,000 Women da Goldman Sachs</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-esp-10-19447">Fundamentos de la Negociación con Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10kw-social-impact-60040">Social Impact Strategy with Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10kw-digital-marketing-60057">Digital Marketing Strategy with Goldman Sachs 10,000 Women</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10kw-innovation-strategy-60062">Innovation Strategy with Goldman Sachs 10,000 Women</a>  from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-6-hi-91998">Goldman Sachs 10,000 Women के साथ, विक्रय और विपणन के मूल सिद्धांत</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-10-hi-104420">Goldman Sachs 10,000 Women के साथ, सन्धिकरण के मूल सिद्धांत</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-2-hi-104421">Goldman Sachs 10,000 Women के साथ, व्यावसायिक वित्त के मूल सिद्धांत</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-9-hi-104422">Goldman Sachs 10,000 Women के साथ, निधिकरण के मूल सिद्धांत</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-1-hi-104423">Goldman Sachs 10,000 Women के साथ, अपने व्यवसाय की वृद्धि करें</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-8-hi-104424">Goldman Sachs 10,000 Women के साथ, प्रबंधन के मूल सिद्धांत</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-7-hi-104425">Goldman Sachs 10,000 Women के साथ, संचालन के मूल सिद्धांत</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-5-hi-104426">Goldman Sachs 10,000 Women के साथ, वित्तीय योजना के मूल सिद्धांत</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-4-hi-104427">Goldman Sachs 10,000 Women के साथ, ग्राहकों और प्रतिस्पर्धा के मूल सिद्धांत</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/10k-women-3-hi-104428">Goldman Sachs 10,000 Women के साथ, नेतृत्व के मूल सिद्धांत</a> from <em>Goldman Sachs</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/leadership-and-disruption-40314">Leadership and Disruption</a> from <em>Fundação Instituto de Administração</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/fia-gestao-clubes-federacoes-esportivas-8146">A prática da gestão de clubes e federações esportivas</a>  from <em>Fundação Instituto de Administração</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/doing-business-in-europe-9712">Doing Business in Europe</a> from <em>ESCP Europe</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/marketing-analitico-5085">Introdução ao Marketing Analítico</a> from <em>Insper</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/gestao-de-operacoes-10707">Gestão de Operações</a> from <em>Insper</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/administracao-financeira-10713">Administração Financeira</a> from <em>Insper</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/gap-2575">Gestão para a Aprendizagem: Módulo Gestão Estratégica</a> from <em>Fundação Lemann</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/valuecreation-19335">Innovation for Impact (i4i) The Carlson-Polizzotto Method of Value Creation</a> from <em>Northeastern University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/agile-atlassian-jira-11877">Agile with Atlassian Jira</a> from <em>Atlassian</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/plan-de-negocios-110584">Plan de Negocios</a> from <em>Universidad de Palermo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/motivando-equipos-de-trabajo-121123">Motivando Equipos de Trabajo</a> from <em>Universidad de Palermo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/automation-business-analyst-126298">Automation Business Analyst</a> from <em>UiPath</em></li>
</ul>
<h2 id="heading-art-amp-design-67">Art &amp; Design (67)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/introclassicalmusic-2987">Introduction to Classical Music</a> from <em>Yale University</em> ★★★★★(25)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/musictheory-1358">Fundamentals of Music Theory</a> from <em>University of Edinburgh</em> ★★★★☆(24)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/historyofrock1-690">History of Rock, Part One</a> from <em>University of Rochester</em> ★★★★★(18)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/beatles-1135">The Music of the Beatles</a> from <em>University of Rochester</em> ★★★★★(18)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/beethovensonatas-730">Exploring Beethoven’s Piano Sonatas</a> from <em>Curtis Institute of Music</em> ★★★★☆(15)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/romanarchitecture-910">Roman Architecture</a> from <em>Yale University</em> ★★★★☆(13)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/film-images-542">Film, Images &amp; Historical Interpretation in the 20th Century: The Camera Never Lies</a> from <em>University of London International Programmes</em> ★★★☆☆(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/scanfilmtv-665">Scandinavian Film and Television</a> from <em>University of Copenhagen</em> ★★★★☆(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/historyofrock2-692">History of Rock, Part Two</a> from <em>University of Rochester</em> ★★★★★(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/creative-3139">Ignite Your Everyday Creativity</a> from <em>State University of New York</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/musicsbigbang-538">Music's Big Bang: The Genesis of Rock 'n' Roll</a> from <em>University of Florida</em> ★★★★★(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/classicalcomp-735">Write Like Mozart: An Introduction to Classical Music Composition</a> from <em>National University of Singapore</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/audiomusicengpart1-686">Fundamentals of Audio and Music Engineering: Part 1 Musical Sound &amp; Electronics</a> from <em>University of Rochester</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/mafash-1374">Management of Fashion and Luxury Companies</a> from <em>Università Bocconi</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/coursera-art-activity-interactive-strategies-for-engaging-with-art-1796">Art &amp; Activity: Interactive Strategies for Engaging with Art</a> from <em>The Museum of Modern Art</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/user-experience-design-6535">Introduction to User Experience Design</a>  from <em>Georgia Institute of Technology</em> ★★★☆☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/script-writing-5718">Script Writing: Write a Pilot Episode for a TV or Web Series (Project-Centered Course)</a> from <em>Michigan State University</em> ★★☆☆☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/rollingstones-2352">The Music of the Rolling Stones, 1962-1974</a> from <em>University of Rochester</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/serious-gaming-6185">Serious Gaming</a> from <em>Erasmus University Rotterdam</em> ★★★★★(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/design-language-16927">The Language of Design: Form and Meaning</a> from <em>California Institute of the Arts</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/kunqu-652">崑曲之美</a> from <em>The Chinese University of Hong Kong</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/the-blues-6026">The Blues: Understanding and Performing an American Art Form</a> from <em>University of Rochester</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/painting-8349">In the Studio: Postwar Abstract Painting</a> from <em>The Museum of Modern Art</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/audio-2488">Audio Signal Processing for Music Applications</a> from <em>Stanford University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/age-of-cathedrals-9671">Age of Cathedrals</a> from <em>Yale University</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/20cnwm-2358">20世纪西方音乐 Western Music in the 20th Century</a> from <em>Peking University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/vocal-production-7797">The Art of Vocal Production</a> from <em>Berklee College of Music</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/tango-14410">So You Think You Know Tango?</a> from <em>Emory University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/intro-produccion-audiovisual-9357">Introducción a la producción audiovisual</a> from <em>Universidad Nacional Autónoma de México</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/music-society-7344">Music &amp; Society</a> from <em>Leiden University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/olympicgames-1772">The Olympic Games and the Media</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/music-ensembles-731">Fundamentals of Rehearsing Music Ensembles</a> from <em>The University of North Carolina at Chapel Hill</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/innovation-through-design-11588">Innovation Through Design: Think, Make, Break, Repeat</a> from <em>The University of Sydney</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/exploring-beethoven-piano-sonatas-2-7773">Exploring Beethoven’s Piano Sonatas Part 2</a> from <em>Curtis Institute of Music</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/experiments-with-sound-10762">Art of the MOOC: Experiments with Sound</a> from <em>Duke University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/activismo-movimientos-sociales-7194">ART of the MOOC: Activismo y Movimientos Sociales</a> from <em>Duke University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/arte-publico-pedagogia-7196">ART of the MOOC: Arte Público y Pedagogía</a>  from <em>Duke University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/activism-social-movements-7195">ART of the MOOC: Activism and Social Movements</a> from <em>Duke University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/write-a-feature-length-screenplay-for-film-or-tel-17968">Write A Feature Length Screenplay For Film Or Television</a> from <em>Michigan State University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/teachingstrings-2303">Teaching the Violin and Viola: Creating a Healthy Foundation</a> from <em>Northwestern University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/melodic-forms-simple-harmony-13653">Approaching Music Theory: Melodic Forms and Simple Harmony</a> from <em>California Institute of the Arts</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/fundamentals-of-graphic-design-fr-33465">Fondamentaux de l’infographie</a> from <em>California Institute of the Arts</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/fundamentals-of-graphic-design-ru-33466">Основы графического дизайна</a> from <em>California Institute of the Arts</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/fundamentals-of-graphic-design-de-33467">Grundlagen des Grafikdesigns</a> from <em>California Institute of the Arts</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ux-design-open-content-shell-120180">Introduction to UX Design MasterTrack Certificate Program</a> from <em>University of Minnesota</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/intimacy-creativity-entering-minds-composers-20982">Intimacy of Creativity: Entering the Minds of Composers</a> from <em>The Hong Kong University of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/innovationarts-2390">Leading Innovation in Arts and Culture</a> from <em>Vanderbilt University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/the-cycle-7748">The Cycle: Management of Successful Arts and Cultural Organizations</a> from <em>University of Maryland, College Park</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/teoria-musical-12643">Teoria Musical</a> from <em>Berklee College of Music</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/produccionycomposicion-4718">Producción Musical y su Efecto en la Composición</a> from <em>Berklee College of Music</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/guitarra-4763">Introducción a la guitarra</a> from <em>Berklee College of Music</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/improvisacao-no-jazz-9458">Improvisação no Jazz</a> from <em>Berklee College of Music</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/improvisacion-de-jazz-9579">Improvisación de jazz</a>  from <em>Berklee College of Music</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/usos-didacticos-del-cine-9996">Usos didácticos del cine: Introducción al análisis</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/microfilmer-2706">微影人的自我修养</a> from <em>Fudan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduccion-arte-sonoro-14495">Introducción al Arte Sonoro</a> from <em>University of Barcelona</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/richard-schechners-introduction-to-performance-st-21161">Richard Schechner's Introduction to Performance Studies</a>  from <em>New York University (NYU)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/artactivity-1414">Art &amp; Activity: Interactive Strategies for Engaging with Art</a> from <em>The Museum of Modern Art</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/photography-1-6985">透过摄影看世界</a> from <em>The Museum of Modern Art</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/globaltheatre-2918">Theatre and Globalization</a> from <em>Ludwig-Maximilians-Universität München</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/comonoscambialatecnologia-7110">¿Cómo (nos) cambia la Tecnología?</a> from <em>Universidad de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tecnica-violino-viola-19126">PRINCÍPIOS GERAIS DA TÉCNICA DO VIOLINO E DA VIOLA DE ARCO</a> from <em>Universidade Estadual de Campinas</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/exploring-beethoven-piano-sonatas-4-12766">Exploring Beethoven's Piano Sonatas Part 4</a> from <em>Curtis Institute of Music</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/exploring-beethoven-piano-sonatas-5-16976">Exploring Beethoven's Piano Sonatas Part 5</a> from <em>Curtis Institute of Music</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/exploring-beethoven-piano-sonatas-6-17980">Exploring Beethoven's Piano Sonatas Part 6</a> from <em>Curtis Institute of Music</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/exploring-beethoven-piano-sonatas-3-10141">Exploring Beethoven's Piano Sonatas Part 3</a> from <em>Curtis Institute of Music</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/co-design-for-all-119621">Co-design for All: doing co-design in practice</a> from <em>Eindhoven University of Technology</em></li>
</ul>
<h2 id="heading-data-science-45">Data Science (45)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/hadoop-4269">Hadoop Platform and Application Framework</a> from <em>University of California, San Diego</em>  ★★☆☆☆(25)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/wgs-bacteria-8907">Whole genome sequencing of bacterial genomes - tools and applications</a> from <em>Technical University of Denmark (DTU)</em> ★★★★★(22)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/procmin-2445">Process Mining: Data science in Action</a> from <em>Eindhoven University of Technology</em> ★★★★☆(17)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/datasciencemathskills-7745">Data Science Math Skills</a> from <em>Duke University</em> ★★★★☆(12)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/bioinformatics-745">Biology Meets Programming: Bioinformatics for Beginners</a> from <em>University of California, San Diego</em>  ★★★☆☆(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/practical-time-series-analysis-10151">Practical Time Series Analysis</a> from <em>State University of New York</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/research-data-management-and-sharing-5758">Research Data Management and Sharing</a> from <em>The University of North Carolina at Chapel Hill</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/programacion-estadistica-r-4657">Introducción a Data Science: Programación Estadística con R</a> from <em>Universidad Nacional Autónoma de México</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/text-mining-analytics-7338">Hands-on Text Mining and Analytics</a> from <em>Yonsei University</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/python-data-processing-7751">Data Processing Using Python</a> from <em>Nanjing University</em> ★★★☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/3d-modeling-rhinoscript-20997">Design Computing: 3D Modeling in Rhinoceros with Python/Rhinoscript</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/python-data-analysis-ko-61439">파이썬의 데이터 과학 소개</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/python-social-network-analysis-ko-61440">파이썬의 응용 소셜 네트워크 분석</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sampling-methods-es-66334">Muestreo de personas, redes y registros</a> from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-cleaning-ar-37047">الحصول على البيانات وتنظيفها</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/exploratory-data-analysis-ar-39395">تحليل البيانات الاستكشافية</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/managing-data-analysis-de-39511">Datenanalyse verwalten</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/managing-data-analysis-ru-39512">Управление анализом данных</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-scientists-tools-ko-60063">데이터 과학자의 도구 상자</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-scientists-tools-de-65146">Der Werkzeugkasten des Data Scientist</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/managing-data-analysis-es-65446">Gestión del análisis de datos</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/big-data-introduction-ar-13278">مقدمة عن البيانات الضخمة</a> from <em>University of California, San Diego</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/datascimed-10645">Data Science in Stratified Healthcare and Precision Medicine</a> from <em>University of Edinburgh</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/doing-economics-measuring-climate-change-89721">Doing Economics: Measuring Climate Change</a> from <em>University of London International Programmes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-science-k-means-clustering-python-13623">Foundations of Data Science: K-Means Clustering in Python</a> from <em>University of London International Programmes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/informatics-21603">Bacterial Bioinformatics</a> from <em>University of Virginia</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/pkubioinfo-1209">Bioinformatics: Introduction and Methods 生物信息学: 导论与方法</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/spss-ruanjian-3226">医学统计学与SPSS软件（基础篇）</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/renqun-wangluo-4189">人群与网络</a>  from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sheng-wu-xin-xi-xue-4361">生物信息学: 导论与方法</a> from <em>Peking University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/missing-data-es-66063">Cómo manejar datos faltantes</a> from <em>University of Maryland, College Park</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-collection-analytics-project-es-66064">Cómo combinar y analizar datos complejos</a> from <em>University of Maryland, College Park</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/bigdataanalysis-10676">大數據分析：商業應用與策略管理 (Big Data Analytics: Business Applications and Strategic Decisions)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-science-perspectives-on-pandemic-management-110586">Data science perspectives on pandemic management</a> from <em>Politecnico di Milano</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/security-privacy-big-data-protection-13291">Security and Privacy for Big Data - Part 2</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-intelligence-organisations-entreprise-busine-120193">La Data Intelligence au service des organisations</a> from <em>Institut Mines-Télécom</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/principios-esenciales-de-diseno-en-tableau-44583">Principios esenciales de diseño en Tableau</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/redesecologicas-39506">Redes Ecológicas</a> from <em>Universidade de São Paulo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sql-data-science-pt-36569">Bancos de dados e SQL para Ciência de Dados</a> from <em>IBM</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/sql-data-science-ru-36570">Базы данных и SQL в обработке и анализе данных</a> from <em>IBM</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/what-is-datascience-ko-66471">데이터 과학이란 무엇인가?</a> from <em>IBM</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-engineering-career-guide-and-interview-prepa-121054">Data Engineering Career Guide and Interview Preparation</a> from <em>IBM</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/analyzing-visualizing-data-google-way-120178">Analyzing and Visualizing Data the Google Way</a> from <em>Google Cloud</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/mineria-de-datos-introduccion-11949">Introducción a la Minería de Datos</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/gestao-de-dados-cientificos-64389">Gestão de Dados Científicos</a> from <em>Insper</em></li>
</ul>
<h2 id="heading-education-amp-teaching-85">Education &amp; Teaching (85)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/teaching-character-866">Teaching Character and Creating Positive Classrooms</a>  from <em>Relay Graduate School of Education</em> ★★★★★(22)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/usuniversities-1620">Applying to U.S. Universities</a> from <em>University of Pennsylvania</em> ★★★★☆(10)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/edref-2793">American Education Reform: History, Policy, Practice</a> from <em>University of Pennsylvania</em> ★★★★★(9)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ltto-1393">Learning to Teach Online</a> from <em>University of New South Wales</em> ★★★★☆(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/academicinfoseek-5153">Academic Information Seeking</a> from <em>Technical University of Denmark (DTU)</em> ★★★★★(8)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/disability-inclusion-education-12590">Disability Inclusion in Education: Building Systems of Support</a>  from <em>University of Cape Town</em> ★★★★★(7)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/togetherteacher-2113">Get Organized: How to be a Together Teacher</a> from <em>Relay Graduate School of Education</em> ★★★★☆(6)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/ictinprimary-1763">ICT in Primary Education: Transforming children's learning across the curriculum</a> from <em>University of London International Programmes</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/futureeducation-2033">What future for education?</a> from <em>University of London International Programmes</em> ★★★★★(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/teaching-learning-876">Foundations of Teaching for Learning: Learners and Learning</a> from <em>Commonwealth Education Trust</em> ★★★★☆(5)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/assessmentforlearning-12014">Assessment for Learning</a> from <em>University of Illinois at Urbana-Champaign</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/aboriginaled-394">Aboriginal Worldviews and Education</a> from <em>University of Toronto</em> ★★★★★(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/blendedlearning-1199">Blended Learning: Personalizing Education for Students</a> from <em>New Teacher Center</em> ★★★★☆(4)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/teaching-efl-esl-reading-5968">Teaching EFL/ESL Reading: A Task Based Approach</a> from <em>University of London International Programmes</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/learning-assessment-883">Foundations of Teaching for Learning: Introduction to Student Assessment</a> from <em>Commonwealth Education Trust</em> ★★★★☆(3)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/instructmethodshpe-949">Instructional Methods in Health Professions Education</a> from <em>University of Michigan</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/contenido-matematica-escolar-11756">Contenido de las matemáticas de primaria</a> from <em>Universidad de los Andes</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/teach-children-with-visual-impairment-17012">Teaching Children with Visual Impairment: Creating Empowering Classrooms</a> from <em>University of Cape Town</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/artinquiry-865">Art &amp; Inquiry: Museum Teaching Strategies For Your Classroom</a> from <em>The Museum of Modern Art</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/disabilityaware-3829">Disability Awareness and Support</a> from <em>University of Pittsburgh</em> ★★★★★(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/teaching-plan-882">Foundations of Teaching for Learning: Planning for Teaching and Learning</a> from <em>Commonwealth Education Trust</em> ★★★☆☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/professional-teacher-884">Foundations of Teaching for Learning: Being a Professional</a> from <em>Commonwealth Education Trust</em> ★★★★☆(2)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/classdiscussion-7421">Orchestrating Whole Classroom Discussion</a> from <em>University of Pennsylvania</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/college-life-4910">U101: Understanding College and College Life</a> from <em>University of Washington</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/como-hacer-una-tesis-9595">Cómo hacer una tesis</a> from <em>Universidad Nacional Autónoma de México</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/english-2582">English for Teaching Purposes</a> from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/educating-deaf-children-13761">Educating Deaf Children: Becoming an Empowered Teacher</a> from <em>University of Cape Town</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/teachingscience-7791">Teaching Science at University</a> from <em>University of Zurich</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/assessment-higher-education-10184">Assessment in Higher Education: Professional Development for Teachers</a> from <em>Erasmus University Rotterdam</em> ★★★★☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/teaching-874">Foundations of Teaching for Learning: Introduction</a> from <em>Commonwealth Education Trust</em> ★★☆☆☆(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/educacion-superior-5911">El desafío de Innovar en la Educación Superior</a> from <em>Universidad de Chile</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/tinkering-motion-8852">Tinkering Fundamentals: Motion and Mechanisms</a> from <em>Exploratorium</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/what-is-a-socially-just-university-58994">Community Awareness: What is a Socially Just University</a>  from <em>University of Michigan</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/inclusive-online-teaching-21160">Inclusive Online Teaching Teach-Out</a> from <em>Johns Hopkins University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/moocs-4095">ART of the MOOC: Public Art and Pedagogy</a> from <em>Duke University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/learning-knowledge-human-development-12183">Learning, Knowledge, and Human Development</a>  from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/multimodal-literacies-7057">Multimodal Literacies: Communication and Learning in the Era of Digital Media</a>  from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ubiquitouslearning-11068">Ubiquitous Learning and Instructional Technologies</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/learnerdifferences-11070">Negotiating Learner Differences: Towards Productive Diversity in Learning</a> from <em>University of Illinois at Urbana-Champaign</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/how-to-create-video-for-online-courses-126757">How to Create Video for Online Courses</a> from <em>University of Edinburgh</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/getinmooc-8415">Get Interactive: Practical Teaching with Technology</a> from <em>University of London International Programmes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/glasscock-22026">English and Academic Preparation - Pre-Collegiate</a> from <em>Rice University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/my-favorite-lectures-hkust-13861">My Favorite Lectures @ HKUST</a>  from <em>The Hong Kong University of Science and Technology</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cultures-pedagogies-57786">Cultures et pédagogies</a> from <em>University of Geneva</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/idea-of-a-university-19255">大學之理念 (The Idea of a University)</a> from <em>National Taiwan University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/innovacioneducativa-19041">Atrévete a innovar tu enseñanza con pensamiento de diseño</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/enlinea-21330">Cursos en línea: modelo para armar</a> from <em>Universidad Nacional Autónoma de México</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/social-pedagogy-europe-13225">Social Pedagogy across Europe</a>  from <em>Universitat Autònoma de Barcelona (Autonomous University of Barcelona)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/aprendizaje-matematicas-primaria-13414">Aprendizaje de las matemáticas de primaria</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/escoger-carrera-y-universidad-12013">PlanU: escoge la mejor carrera y universidad para ti</a> from <em>Universidad de los Andes</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/emprendiendo-en-stem-15150">Emprendiendo en STEM</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/matematica-aulas-heterogeneas-16990">Jugar y Aprender Matemática en aulas heterogéneas</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/alfabetizacion-temprana-contextos-rurales-18057">La alfabetización temprana en contextos rurales</a>  from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/trabajo-proyectos-escuelas-rurales-18099">El trabajo por proyectos en escuelas de contextos rurales</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ensenar-ciencias-naturales-18163">La enseñanza de las Ciencias Naturales en la escuela primaria</a> from <em>Universidad Austral</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/artificial-intelligence-education-for-teachers-21570">Artificial Intelligence (AI) Education for Teachers</a> from <em>Macquarie University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/interactive-teaching-39417">Interactive Teaching（インタラクティブ・ティーチング）</a> from <em>University of Tokyo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/study-in-japan-7172">Studying at Japanese Universities</a> from <em>University of Tokyo</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/innovacion-docencia-universitaria-13643">Claves para la innovación en la docencia universitaria</a> from <em>University of Barcelona</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/thinkglobal-idp-ub-98188">THINK GLOBAL: TEACHERS TRAINING COURSE (IDP-ICE)</a> from <em>University of Barcelona</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/k-12-online-education-1531">K-12 Blended &amp; Online Learning</a> from <em>University System of Georgia</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/art-activity-10383">Art &amp; Activity: Interactive Strategies for Engaging with Art</a> from <em>The Museum of Modern Art</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/music-education-5950">The Place of Music in 21st Century Education</a> from <em>The University of Sydney</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/welcome-to-munich-119219">Welcome to Munich</a> from <em>Technische Universität München (Technical University of Munich)</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/childliteracy-672">Children Acquiring Literacy Naturally</a> from <em>University of California, Santa Cruz</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/formacion-docente-habilidades-siglo-veintiuno-20576">Formación docente basada en la práctica para desarrollar habilidades del siglo XXI</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/aulaconstructivista-4303">Hacia una práctica constructivista en el aula</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/aprendizaje-universitario-introduccion-10749">Introducción al Aprendizaje Universitario</a> from <em>Pontificia Universidad Católica de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/being-a-teacher-875">Foundations of Teaching for Learning: Being a Teacher</a> from <em>Commonwealth Education Trust</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/teacher-curriculum-877">Foundations of Teaching for Learning: Curriculum</a> from <em>Commonwealth Education Trust</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/teacher-relationships-885">Foundations of Teaching for Learning: Developing Relationships</a> from <em>Commonwealth Education Trust</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/wangluo-kecheng-xuexi-pingjia-5919">网络课程与学习评价</a> from <em>Nanjing University</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/potenciando-aprendizaje-8368">Potenciando mi aprendizaje en el primer año de Universidad</a> from <em>Universidad de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/docencia-capacitacion-laboral-9632">Docencia para la capacitación laboral y el aprendizaje a lo largo de la vida.</a> from <em>Universidad de Chile</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/escola4pontozero-97269">Escola 4.0 Educação e Cultura Maker no Contexto da Nova BNCC</a> from <em>Universidade Estadual de Campinas</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tsi-math-prep-55178">Math Prep: College &amp; Work Ready</a> from <em>University of North Texas</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tinkering-867">Tinkering Fundamentals: A Constructionist Approach to STEM Learning</a> from <em>Exploratorium</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/tinkering-circuits-8961">Tinkering Fundamentals: Circuits</a> from <em>Exploratorium</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/uchytelskyy-kouchynh-13554">Учительський коучинг: сприяння розвитку сталих змін</a> from <em>Match Teacher Residency</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/ensino-hibrido-4435">Ensino Híbrido: Personalização e Tecnologia na Educação</a> from <em>Fundação Lemann</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/programae-4470">Aprenda a ensinar programação com o Programaê!</a> from <em>Fundação Lemann</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/fundamentosgoogle-4476">Fundamentos do Google para o Ensino</a> from <em>Fundação Lemann</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/khanacademy-4479">Explorando os recursos educacionais da Khan Academy</a> from <em>Fundação Lemann</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-to-edtech-80056">Introduction to EdTech</a> from <em>EDHEC Business School</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/preparing-for-and-passing-technical-certification-22485">Preparing for and Passing Technical Certifications</a> from <em>ROI Training</em></li>
</ul>
<h2 id="heading-information-security-infosec-16">Information Security (InfoSec) (16)</h2>
<ul>
<li><a target="_blank" href="https://www.classcentral.com/course/cybersecurity-in-healthcare-20908">Cybersecurity in Healthcare (Hospitals &amp; Care Centres)</a> from <em>Erasmus University Rotterdam</em> ★★★★★(1)</li>
<li><a target="_blank" href="https://www.classcentral.com/course/cybersecurity-for-everyone-43819">Cybersecurity for Everyone</a> from <em>University of Maryland, College Park</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cybersecurity-13790">Cybersecurity Awareness and Innovation</a> from <em>EIT Digital</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/introduction-to-cybersecurity-foundations-97259">Introduction to Cybersecurity Foundations</a> from <em>Infosec</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cybersecurity-policy-foundations-117537">Cybersecurity Policy Foundations</a> from <em>Infosec</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/check-point-jump-start-network-security-19646">Check Point Jump Start: Network Security</a> from <em>Checkpoint</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/check-point-jump-start-maestro-19647">Check Point Jump Start: Maestro Hyperscale Network Security</a> from <em>Checkpoint</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/check-point-jump-start-smb-network-security-21940">Check Point Jump Start: SMB Network Security</a> from <em>Checkpoint</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/check-point-jump-start-cloud-security-32217">Check Point Jump Start: Cloud Security</a>  from <em>Checkpoint</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/check-point-jump-start-cloudguard-posture-managem-43852">Check Point Jump Start: CloudGuard Posture Management</a> from <em>Checkpoint</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/check-point-jump-start-harmony-endpoint-security-53071">Check Point Jump Start: Harmony Endpoint Security</a> from <em>Checkpoint</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/check-point-jump-start-quantum-management-114644">Check Point Jump Start: Quantum Management</a> from <em>Checkpoint</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/check-point-jump-start-harmony-mobile-119221">Check Point Jump Start: Harmony Mobile</a> from <em>Checkpoint</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cybersecurity-for-managers-81461">Cybersecurity for Managers</a> from <em>Campus BBVA</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/cybersecurity-for-tech-professionals-95202">Cybersecurity for Tech Professionals</a> from <em>Campus BBVA</em></li>
<li><a target="_blank" href="https://www.classcentral.com/course/data-cybersecurity-118915">Data &amp; Cybersecurity</a> from <em>Campus BBVA</em></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ The Business of Technology Research – Who Funds It, And What's Being Done ]]>
                </title>
                <description>
                    <![CDATA[ Getting a new technology out to consumers will usually require good people and boat loads of resources – including money. Generally, lots of money.  A lot of that money will be spent on research. And, more often than not, the hard research needed to ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/the-business-of-technology-research-5-10/</link>
                <guid isPermaLink="false">66b9964555f17e3ddda0e865</guid>
                
                    <category>
                        <![CDATA[ research ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ David Clinton ]]>
                </dc:creator>
                <pubDate>Tue, 07 Mar 2023 17:07:38 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/03/pexels-pixabay-2156.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Getting a new technology out to consumers will usually require good people and boat loads of resources – including money. Generally, lots of money. </p>
<p>A lot of that money will be spent on research. And, more often than not, the hard research needed to translate a great idea into a usable product will be performed by someone whose job title isn't "entrepreneur." Sometimes, in fact, the research will be done by individuals who are barely aware that their innovations have any commercial value at all.</p>
<p>If you're here because you want to get the jump on cutting edge technologies, then you may want to keep an eye on the organizations that are known to produce practical research. </p>
<p>Knowing who's big in research, who's funding it, and where the big bucks are being spent can give you useful insights into what might be coming next. From there, you're just a step away from, say, spending time learning the tools that'll come with the new tech or positioning yourself to profit when it finally shows up.</p>
<p>This chapter was taken from the book, <a target="_blank" href="https://amzn.to/3FXXAfb">Keeping Up: Backgrounders to All the Big Technology Trends You Can't Afford to Ignore</a>. If you'd prefer to watch this chapter as a video, feel free to follow along here:</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/vvUUbVq5x5w" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h1 id="heading-who-funds-commercial-science-and-why">Who Funds Commercial Science and Why?</h1>
<p>Once upon a time, major breakthroughs in serious scientific research were the products of private patronages. The Italian Medici family, for instance, famously supported many individuals whose work would prove to be pivotal, including Leonardo da Vinci and Galileo. </p>
<p>But the years leading up to the Second World War saw the scope and complexity of research projects growing far beyond the capacity of private support. The war's dependence on unprecedented technological complexity – exemplified by the work of the Manhattan Project building the atom bomb – pushed more and more research under government charge.</p>
<p>Government involvement in research has continued in the generations since the war. Still, it's been estimated that universities and governments are responsible for only 30% of research funding between them, with most of the rest provided by private industry (see <a target="_blank" href="https://en.wikipedia.org/wiki/Funding_of_science">this article for more info</a>).</p>
<p>Let's see how that breaks down.</p>
<h2 id="heading-funding-from-taxpayers">Funding from Taxpayers</h2>
<p>Democratic governments, of course, don't spend their own money, of which they traditionally have none. Their many programs and services are funded by revenues raised, one way or another, from their capital assets and from their populations. In modern nation states, "populations" would mean those individuals and corporations who pay taxes.</p>
<p>Public research and development can be performed within government agencies. According to the terms of some agency mandates, research results must immediately enter the public domain. </p>
<p>But even those who retain rights to their research will often point their work towards businesses and institutions that can use it productively. The US National Science Foundation (NSF), for instance, uses its $8 billion annual budget to fund "approximately 25 percent of all federally supported basic research conducted by America's colleges and universities" (<a target="_blank" href="https://www.nsf.gov/about/">Source</a>).</p>
<p>Other American agencies do much or all of their research in-house. Here are some examples:</p>
<ul>
<li>The <em>National Institute of Standards and Technology (NIST)</em> has a mandate to "promote innovation and industrial competitiveness." One very important part of that mission is maintaining the National Vulnerability Database (NVD) which plays a foundational role in the management of the vulnerability assessment and detection systems protecting our IT infrastructure.</li>
<li>The US military's Defense Advanced Research Projects Agency (DARPA) collaborates with private and public sector partners to aid in the development of emerging technologies. Work in recent years has included research into robotics and autonomous vehicles, but you might be more familiar with a DARPA innovation from a few decades ago: the internet.</li>
<li>The National Institutes of Health (NIH) employs 6,000 research scientists across 27 research institutes and centers. Their "mission is to seek fundamental knowledge about the nature and behavior of living systems and the application of that knowledge to enhance health, lengthen life, and reduce illness and disability."</li>
</ul>
<p>The <a target="_blank" href="https://en.wikipedia.org/wiki/List_of_United_States_federal_research_and_development_agencies">complete list of US government research agencies</a> makes for quite a read. Take a look for yourself.</p>
<p>Naturally, governments of other countries have their own research agencies. One example is Canada's National Research Council (NRC), which has evolved from its military technology origins through the two world wars, to its current focus on partnerships with private and public-sector technology companies. </p>
<p>The NRC now divides its work into four "business lines:"</p>
<ul>
<li>Strategic research and development</li>
<li>Technical services</li>
<li>Management of science and technology infrastructure</li>
<li>NRC-Industrial Research Assistance Program (IRAP)</li>
</ul>
<p>As I mentioned when discussing the NSF, a significant proportion of taxpayer funds directed towards research and development are granted to public and private colleges and universities. </p>
<p>But, from the college perspective, how much academic R&amp;D funding comes from government sources? </p>
<p>A 2016 review of the 20 US colleges that spent the most on R&amp;D found that they each spent between $837,000 and $2.4 million. It also found that between 47-87% of their total spending came from government sources of one sort or another (see <a target="_blank" href="https://www.freecodecamp.org/news/p/7ec0795c-d73f-44dc-932b-5cc1085d0e23/bestcolleges.com/features/colleges-with-highest-research-and-development-expenditures/">this article for more info</a>). By contrast, businesses only provided between 2 and 22% of that funding.</p>
<h2 id="heading-private-charitable-funding">Private Charitable Funding</h2>
<p>While we're on the subject of academic research, we shouldn't ignore a third source of funding: private endowments. Some – although not all – permanent endowments were targeted by their donors at research activities. Although the fund capital can't be spent each year, the income that capital generates can. </p>
<p>Harvard university famously – or perhaps infamously – has a total endowment greater than 40 billion dollars. Some of that undoubtedly finds its way to R&amp;D.</p>
<p>Curiously, according to that 2016 study, Harvard's total R&amp;D spending that year – including activities funded by governments (52.1%), businesses (4.7%), and endowments – was just over one million dollars.</p>
<p>Of course, donations support plenty of research outside of academic settings, too. Most serious diseases have associated charitable foundations that exist to raise money for both victim care and medical research. </p>
<p>Also, many thousands of registered non-profits exist throughout the world supporting non-medical causes, including many that involving technology-related research. The Bill &amp; Melinda Gates Foundation is a particularly well-known example.</p>
<h2 id="heading-funding-from-corporations">Funding from Corporations</h2>
<p>Technology-oriented companies have a strong interest in getting their hands on innovations before their competition. To improve their chances, many will run their own research labs in-house. </p>
<p>The Bell Telephone Company, for instance – and its successors including American Telephone &amp; Telegraph Company (AT&amp;T) – maintained the active and enormously creative Bell Labs. Bell Labs, under various names, was responsible for many innovations, including the transistor, lasers, and the Unix operating system.</p>
<p>Individual technologists at some companies are often sources of innovation. 3M, for instance, has what they call a "15% Culture," where employees are allowed to use company time and space to pursue research based on their own ideas and interests. Over the years, the program has generated successful products for the company, including their sticky paper Post-its. </p>
<p>In another example, Percy Spencer, working on radar for US defense contractor Raytheon, accidentally discovered that microwaves could cook food.</p>
<p>It should be noted that not all corporate innovation is truly home-grown. A lot of it is actually funded indirectly through government money in the form of tax incentives or credits. Under such programs, companies may be permitted to use research-related spending (including salary expenses) to reduce the income taxes they would otherwise pay.</p>
<h1 id="heading-major-fields-of-commercial-technology-research">Major Fields of Commercial Technology Research</h1>
<p>Trying to grasp the full scope of technology development at this point in history is an unforgivable waste of time. There's serious innovation going on every minute of the day, in every time zone, through countless labs, office towers, warehouses, garages, basements, bedrooms and, of course, invisibly within creative people's minds. </p>
<p>No one's keeping track of it all because it's not possible. Not to mention the fact that much of that innovation happens under a thick shroud of secrecy.</p>
<p>But it's probably worth offering just a couple of examples to give you a feel for where to look.</p>
<h2 id="heading-quantum-computing-and-why-we-should-care">Quantum Computing (and Why We Should Care)</h2>
<p>A cousin of mine with an advanced physics degree from Cambridge University once tried to explain quantum mechanics to me. He failed. Miserably. My poor old brain just couldn't absorb it. So don't expect any full, measured descriptions of the underlying science here. </p>
<p>Instead, I'll try to show you how experimental <em>compute</em> technologies that depend on the physics might work, and what can be done with them.</p>
<p>The super-quick executive summary version of this is that computers powered by one quantum technology or other will work <em>a lot</em> faster than any of the super-est of super computers we have now. </p>
<p>So much faster, in fact, that they may be able to solve problems that would be simply unfeasible using traditional computers (an achievement known as <em>quantum supremacy</em>). This would mean that some long-held assumptions about the way software works will no longer apply.</p>
<p>For instance, the reason the best encryption tools we currently use to protect sensitive data work, is because it would take hundreds or even thousands of hours of high-performance compute time to successfully break the encryption key. In most cases, it's just not worth the effort and expense.</p>
<p>But if you could easily buy time on a computer that processed operations exponentially faster, then two things would immediately happen:</p>
<ul>
<li>Cracking encryption algorithms would become trivial</li>
<li>Honest folk would have to seriously look for a new way to protect their data</li>
</ul>
<p>Currently, Google and IBM are among the major companies that have invested heavily in quantum compute research projects.</p>
<p>As well as I can understand it, quantum computers would measure the state of subatomic particles and use that binary measurement to represent a computational value. The description of that state is known as a <em>qubit</em>, which is effectively the quantum equivalent of traditional computing's <em>bit</em>. </p>
<p>But because a qubit can also exist within what's known as <em>coherent superposition</em> – meaning that its value can exist in a <em>superposition</em> of two possible states – it can be used to represent a more complex range of values.</p>
<p>And <em>that</em>, I'm given to believe, means that such computers will be able to do stuff much, much faster than they can now. If this actually happens, it'll be big.</p>
<h2 id="heading-energy-technologies">Energy Technologies</h2>
<p>The modern world consumes an awful lot of energy. We're constantly moving about, controlling our indoor (and in-transit) climate conditions, exchanging information, and expecting that all the world's riches be delivered to our doorsteps. By tomorrow. </p>
<p>But those energy-thirsty activities come with costs, not the least of which from the emissions they leave behind. The search for reliable, steady, and affordable energy sources that can help us find a healthy balance between consumption and emissions is ongoing – and unimaginably expensive.</p>
<p>Small modular nuclear reactors (SMRs) have been the focus of some serious developments in recent years. They appear to promise reliable, steady, and affordable energy in ways that their expensive and complex nuclear predecessors couldn't. </p>
<p>First and second generation reactors were, overall, reliable and steady – and they were clean – but their massive capital costs and large physical footprints made them more than a bit inflexible.</p>
<p>The idea behind SMRs is that highly efficient reactors can be manufactured off-site and delivered on trucks one module at a time for on-site assembly. The design makes the per megawatt generation of power far cheaper and project completion much faster. And it allows the deployment of nuclear power to service smaller markets that previously couldn't consider it as a realistic option.</p>
<p>As the name implies, SMRs are smaller than traditional reactors. They're designed to deliver between 50 and 300 MW of electricity each, compared with the 800 to 1,200 MW outputs that were previously common.</p>
<p>Companies heavily involved in this research include Britain's Rolls-Royce and an American company with historical connections to the US Department of Energy called NuScale Power. Various governments around the world have also invested in the technology one way or another.</p>
<h2 id="heading-medical-technology-research">Medical Technology Research</h2>
<p>If you think we're spending a lot of money on energy, wait 'till you see how much health care costs. </p>
<p>Across the 37 Organisation for Economic Co-operation and Development (OECD) nations, health care industry spending accounts for around 10% of the total gross domestic product. That's more than $3,000 a year for every single living person.</p>
<p>On the one hand, with all that money being thrown around, there are undoubtedly many business opportunities waiting to be discovered. But there's also a lot of room for new and innovative technologies that can improve the delivery of health care while reducing the costs. Here are two excellent candidates:</p>
<p>Telehealth involves the provision of health services (like patient-doctor consultations) through a telecommunication medium. This might mean having a simple telephone conversation rather than a visit to the office, but it could also incorporate video conferencing tools or even the use of remote diagnostic equipment. </p>
<p>For example, small, remote communities could maintain imaging facilities and technicians even many hundreds of miles away from the nearest medical labs and radiologist specialists. Digital connections can permit distant doctors to view, say, ultrasound results, speak directly with patients, and confidently reach diagnoses. And all without the need for anyone to undertake exhausting and expensive travel. </p>
<p>Telehealth also allows for meaningful patient-doctor contact without the risk of spreading disease.</p>
<p>Telesurgery is an extension of telehealth which can allow some surgical procedures even when doctors are many miles away from their patients. The technology makes use of high-definition video feeds and purpose-built robotic arms that can be controlled by doctors remotely. </p>
<p>Telesurgery tools have the potential to save money for cash-strapped health systems but, more importantly, they can improve health care and save lives.</p>
<p>So whether you're thinking about building the tech behind the next mega business model, learning a new technology, or looking for a good investment, having a good sense of where the serious tech research happens and who pays for it can be useful.</p>
<p><em>YouTube videos of all ten chapters from this book <a target="_blank" href="https://www.youtube.com/playlist?list=PLSiZCpRYoTZ6UWl4xialvwLOKyHYYJUiC">are available here</a>. Lots more tech goodness - in the form of books, courses, and articles - <a target="_blank" href="https://bootstrap-it.com">can be had here</a>. And consider taking my <a target="_blank" href="https://www.udemy.com/user/david-clinton-12/">AWS, security, and container technology courses here</a>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Market a New Project –Incorporate Design, Create a Landing Page, and Get Customers ]]>
                </title>
                <description>
                    <![CDATA[ By Jane Sorensen Only a few of us come naturally to self-marketing. Most of us prefer making the thing and enjoy showing it off (at least a little!), but hope it’ll be appreciated on its own merits – or that someone else will champion it.  Deliberate... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-market-your-new-project-incorporate-design-create-a-landing-page-and-get-your-users-97812fd9dd4d/</link>
                <guid isPermaLink="false">66d45f32264384a65d5a9532</guid>
                
                    <category>
                        <![CDATA[ Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ marketing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Design ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 03 Mar 2023 18:50:00 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*RlD_EebvaZt--pxPDmc0rQ.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Jane Sorensen</p>
<p>Only a few of us come naturally to self-marketing. Most of us prefer making the thing and enjoy showing it off (at least a little!), but hope it’ll be appreciated on its own merits – or that someone else will champion it. </p>
<p>Deliberate marketing and sales makes people uncomfortable, and understandably so, because asking for money is like asking for love.</p>
<p>But if you worked hard on something thoughtful, it deserves to be noticed! And that means you’ll have to market it.</p>
<p>I spent years resisting marketing. Self-promotion is vulgar and sales seemed unseemly. And so I learned the hard way:</p>
<ol>
<li>Your friends and colleagues aren’t a channel (a conduit to the people who want your goods). They might not even have your customers as part of their network or audience. You can ask, but don’t rely on the people you know. Go find the people you want to help!</li>
<li>If no one knows about your service or product, you don’t have a business, you have a hobby. So start marketing, and if you can’t find sales, it’s still a hobby, but at least you’ll be aware of its potential.</li>
<li>The things that annoy you about others, or fear doing yourself, are probably things you should learn how to do. Just do them in a way that wouldn’t annoy you if you were a customer.</li>
</ol>
<p>I’ve written this to break down what I learned-while-doing about creating a product or service for people. Specifically, it’s about the landing pages and channels you’ll use to promote your product or service, and the basics of having an email list. </p>
<p>Here’s what we'll cover:</p>
<ol>
<li><a class="post-section-overview" href="#heading-how-to-design-to-serve-real-people-not-just-your-creativity">How to Design to Serve Real People (Not Just Your Creativity)</a></li>
<li><a class="post-section-overview" href="#heading-how-to-communicate-what-youre-offering-while-you-develop-it">How to Communicate What You’re Offering While You Develop it</a></li>
<li><a class="post-section-overview" href="#heading-why-email-marketing-is-necessary">Why Email Marketing is Necessary</a></li>
<li><a class="post-section-overview" href="#heading-how-to-integrate-the-mailing-list-with-your-website">How to Integrate a Mailing List with Your Website</a></li>
<li><a class="post-section-overview" href="#heading-what-landing-pages-are-about">What Landing Pages Are About</a></li>
<li><a class="post-section-overview" href="#heading-writing-rewriting-and-sharing-your-content">Writing, Rewriting, and Sharing Your Content</a></li>
<li><a class="post-section-overview" href="#heading-different-landing-pages-and-their-analytics">Different Landing Pages and Their Analytics</a></li>
<li><a class="post-section-overview" href="#heading-how-to-avoid-the-free-ick-factor">How to Avoid the Free = Ick Factor</a></li>
<li><a class="post-section-overview" href="#heading-multiple-offerings-and-list-groups">Multiple Offerings and List Groups</a></li>
<li><a class="post-section-overview" href="#heading-final-advice-for-beta-testers-and-the-video-intro">Final Advice for Beta Testers, and the Video Intro</a></li>
<li><a class="post-section-overview" href="#heading-in-conclusion">Conclusion</a></li>
</ol>
<h2 id="heading-how-to-design-to-serve-real-people-not-just-your-creativity">How to Design to Serve Real People (Not Just Your Creativity)</h2>
<p>You are likely working on an idea based on a need you identified and a thing you are able to do. Now you’re trying to make it fit for other people. That’s one way to approach design, and that’s okay. Design is about elegantly fulfilling a need:</p>
<ol>
<li>The customer is experiencing <strong>pain</strong> in getting from state A to A’ or B : an obstruction or a gap that they are having trouble negotiating.</li>
<li>The customer is getting around the obstruction or gap in a habitual or work-around kind of a way, but there’s <strong>frustration</strong>: inefficiency, extra steps, aesthetics, approvals. (There could be a whole other way of doing things, but they don’t know it yet.) And lastly (or alternatively):</li>
<li>The customer is seeking an <strong>emotional reward</strong> like security, status, identity, love, beauty, harmony, health, self-expression, self-actualization, or the attainment of a dream.</li>
</ol>
<p>Figure out what you’re trying to respond to with your idea. (If it’s item #3, tread carefully. Purveyors in this category are consumer brands, artists, and charlatans. If this was the category <em>you</em> fell into when being marketed to, you wouldn’t want to be duped!) </p>
<p>Before you do anything else, you have to do the hard part: <strong>go out and ask people non-leading questions about the problem.</strong> Don’t propose your solution in any way; <em>listen</em> for what they say would be their solution. </p>
<p>If you get out of your own head and listen to what’s in other people’s heads, you’ll come up with some a-ha moments that will help you in two ways:</p>
<ol>
<li>You can design your product or service to better respond to their actual needs, or</li>
<li>You can communicate to this exact need and demonstrate how your product will help them.</li>
</ol>
<p>The research you’re doing for the design and the communication is your value proposition. The features you build will correspond to your value proposition, and it will all evolve accordingly.</p>
<h2 id="heading-how-to-communicate-what-youre-offering-while-you-develop-it">How to Communicate What You’re Offering While You Develop It</h2>
<p>Too many people wait until a product is well underway before they start talking about it. Why?</p>
<p>There are a lot of reasons, many of which stem from “impression management” that range from seeming boring (your idea is a knock-off) or flaky (it changes all the time), to inducing the kind of envy that courts competition and controversy. </p>
<p>People implicitly know both the need and the catch-22 of building “social proof.” But know this: the world will be utterly indifferent to your ideas until you have an audience! </p>
<p>There are many ways—channels—to reach your customers, and only some of them are online. </p>
<p>As explained in <a target="_blank" href="https://www.goodreads.com/book/show/22091581-traction">Traction</a>, you need to start developing and communicating with your marketing channels at the same time as you develop the product. You may even need to add or shut down a channel to find and focus on your customers. </p>
<p>If all goes well, by the time your product is ready, your audience will be, too.</p>
<p>So one of the necessary parts of those channels—for almost all of them, and certainly when it comes to a code-based product—are landing pages and the email list.</p>
<h2 id="heading-why-email-marketing-is-necessary">Why Email Marketing is Necessary</h2>
<p>If you already engage with the folks in your topic area on social media, then you’ve got an opportunity to shine. But places you hang out on also have a culture, and through this, you’re at risk of being distracted or seduced and misdirected. </p>
<p><strong>Your attention is precious, and you should use social media only to glean and boost what’s worthy of it.</strong> If social media is costing you time, focus, equanimity, or social capital (status is a zero-sum game!), then it’s working against you.</p>
<p>Which brings us down to email. Even with the rise of Slack and Microsoft Teams, email is how we get work done and find out about things in our communities. </p>
<p>In all honesty, the high-frequency repeat demand of email is not enjoyable, and you have to be aggressive with how you keep your Inbox working for you. </p>
<p>Most of us subscribe to too many newsletters, and too many email marketers have been abusive of our attention. The sheer volume buries good email habits, along with what’s actually needed in your inbox, because who can keep up? And then we rely on extensions and AI to substitute for a reasonable attention-load.</p>
<p>Yet despite all that, there are emails that I love getting (though I wish just a little less frequently). When I sit down to read my Inbox or folders, I share the articles I like, regardless of their date.</p>
<p>Email is private communication. Barring any forwards, bcc:, or abuse of privacy (which you shouldn’t expect from recipients of a broadcast list), it’s simply a message from the list owner to you, or you to your list members. Readers can ignore it, engage with it, or simply read and archive it. </p>
<p>Unlike other channels, where you don’t know who’s-seen-what unless they engage with it, you own this connection to your audience. It can’t be reduced or taken away by the social platform; you only lose them if their emails bounce or they unsubscribe. </p>
<p>Email isn’t subject to the algorithms that bump you up or down in visibility and priority, depending on engagement. </p>
<p>It’s also not subject to the dampening influence of observers who pay attention to the online behaviour of their connections. We all want group interactions to go in our favour, so people are careful what bandwagons they join.</p>
<p>Email, being private, doesn’t have these meta-filters, so it’s a way to get to know your customer, while letting them get to know you. How refreshingly old-fashioned and well-behaved! </p>
<p>And the truth remains: if people let into your email box, and you <strong>make yourself a good guest</strong>, you’re welcome to continue to talk about your mutual interests. Your audience will come to like, respect, share, and buy from you.</p>
<p>So before you start communicating with people on your list, decide how you’re going to make yourself a good guest.</p>
<h3 id="heading-best-practices-for-an-email-list">Best practices for an email list</h3>
<p>First, email hygiene:</p>
<ol>
<li>Their inbox isn’t free real estate for advertising. Always provide information of value that they don’t have to click for.</li>
<li>Their priorities in life aren’t yours. Do not abuse them with frequency or urgency. Set a schedule of quarterly or every six weeks (ideal for charities; startups, too), monthly (professional events and news round-ups), or bi-weekly or weekly (for local events or lots of relevant news). More than once a week? That’s pestering.</li>
<li>Tell them when to expect you: either a consistent date (e.g. the 14th; the second Thursday of the month; Wednesday afternoons), or an anticipation of when the next newsletter will be.</li>
<li>Do not resend-to-unopened. So what if people aren’t opening your email? It might be because they’re backlogged or doing other things. You resending it (even with a different subject line, such as A/B testing) <strong>double-taxes their attention</strong>. They don’t need it. Don’t use this self-serving email tool (your provider will suggest you try it!). If it’s really that important, <em>you</em> take the hit and write them a new message. </li>
</ol>
<p>Next, style and personality (yes, including for projects and brands):</p>
<ol>
<li>Create a <strong>simple</strong>, consistent, and personalized (to them by name, not “hey, everybody!”) template to make your efforts easier and your message readable.</li>
<li>Give readers a reason to open it (a good headline and lede every time!). Write from a point of view. You want them to enjoy your message, or at least understand why it’s pertinent.</li>
<li>People respect it when your message is complete and not trying to get something out of them. If you tease them a little—curiosity gets clicks—this is doubly important. Do you need that click (for your advertising model)? Or is it FYI?</li>
<li>Is the click where the value lies for them? Then be succinct, but not too brief. Give them more than a headline and an image. Give them enough that will jog their memory after they have clicked through. If it’s that good, they’ll look for it again in their archive.</li>
<li>Don’t make an image in an email clickable, unless it’s to zoom the image! Accidental clicks are sneaky and annoying. <strong>Make every click obvious and intentional</strong>.</li>
<li>Even if your company is big, monitor the email address you send from. Let people get in touch with you! When I encounter a “noreply—go to knowledgebase/tech support,” I feel like they don’t have much concern for how their output impacts me or my input impacts them.</li>
</ol>
<h2 id="heading-how-to-integrate-the-mailing-list-with-your-website">How to Integrate the Mailing List with Your Website</h2>
<p>How? Easy. Email marketing service providers give you an API key and a plugin for your website. (These aren’t shown on the accompanying video, so I’m bridging this very small gap.)</p>
<p>If you haven’t already, sign up for MailChimp (or ConvertKit, Blackbaud, Ontraport, MadMimi, ConstantContact, AWeber, or others). Then download and install the corresponding plugin, such as this one here (I’m using MailChimp and WordPress). Find your API key, and enter it in the plugin. These are (typically) the only two screens you need. </p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*8zqUmiS8ej1JWT466vqq4g.png" alt="Screenshot of WordPress configuration settings for Mailchimp" width="800" height="448" loading="lazy">
<em>The Mailchimp plugin to integrate with WordPress and WooCommerce.</em></p>
<ul>
<li>Alternatively, the “Mailchimp for WP” plugin will do the same with your API key, and it helps you make prettier forms for your website. It also lets you update them globally (across all pages) that use its shortcode. I talk about this later, and you‘ll see it in action in the accompanying video.</li>
<li>Plugins are not only for subscribing! They can also help you get information about what page induced someone to sign up, and sort them into groups. Your email provider will have documentation about that.</li>
</ul>
<p><strong>This article isn’t going to discuss pop-ups, slide-ins, or lightbox (modal) email opt-ins.</strong> The learning curve for implementing them isn’t fast or easy. Swearing will be involved, and possibly some tears. When it’s time for you to make a pop-up, dedicate time and money for learning, creation, and <strong>repeated</strong> testing. </p>
<p>Once you’ve connected your website to your email service provider, it’s time to build a landing page.</p>
<h2 id="heading-what-landing-pages-are-about">What Landing Pages Are About</h2>
<p>A landing page is a webpage that informs the reader of your offering and obliges them to do one thing: download your app, subscribe to your email list, register their interest in your course, event, book, product, or other development. </p>
<p>The landing page is about removing as much friction as possible between the customer and <em>their goal, by your means</em>. It contextualizes their pain, their frustration, or their desire, and how you’re solving it for them. </p>
<p>People’s patience, interest, and attention spans are short. Get out of their way. It’s the “main focus, explain, Call to Action.” Landing pages are going to be very useful to you, because they gauge people’s interest in at least committing the time to know more. </p>
<p>Be clear about your idea, about what you’re doing, its benefits, and what to expect of email from you. Strip out any extraneous stuff—your social links or any other menu navigation. <strong>When you give people a path out of the action you want them to take, even “more information,” they take it, and almost never commit (convert).</strong> </p>
<p>If they’re determined to know more, they’ll truncate your URL back to your domain and poke around, which is why some marketers buy a unique domain for every product or campaign. With this in mind, I resisted putting any navigation on my WordPress site until I had to have it, and then I put it at the bottom of the page.</p>
<p>So let’s build it:</p>
<ul>
<li>Write out your offering—your value proposition—in 250 words or less (see below for writing tips).</li>
<li>Pull five of those sentences—the most powerful, clear ones that can make a semblance of a complete argument—and use those in your landing page. (You can use more than 5 sentences, just, those are the anchors.)</li>
<li>Place one call-to-action (CTA)—generally, Sign Up to the email list (“waitlist” until you have something to announce)—within the first screen of the landing page (see <em><a class="post-section-overview" href="#OptIn">“Opt-in form submission how-to,</a>”</em> below).</li>
<li>Then, use an explainer video, an image, and other persuasive writing such as storytelling and testimonial quotes. These ensure that the reader understands the use case and how it can help them.</li>
<li>Provide a final CTA with the opt-in form, and make it central, obvious, and compelling. In one talk I attended on this topic, they mentioned having a cartoon or an image of a person looking directly at the CTA, and how well it “converted” people.</li>
</ul>
<p>Conversion simply means people believe your copy enough to want to provide something of value—that is, their email address—in exchange for learning or obtaining more. </p>
<p>To take advantage of the chance that someone searches for your value proposition, use SEO keywords in the landing page. Use a three-word phrase in the page’s keyword meta data, based on the seeker's likely search term for their need. This is often the most similar idea out there. Use a short URL that matches your headline and a keyword.</p>
<p>Don’t worry about how your page compares to slick landing pages from bigger companies. They can afford an agency or a landing page provider. </p>
<p>Once you’ve learned how to do this the from-scratch way, you’ll better evaluate the many landing page solutions that’ll do the same for you. MailChimp even provides unique campaign landing pages on your account. (This is covered in the accompanying video.)</p>
<h2 id="heading-writing-rewriting-and-sharing-your-content">Writing, Rewriting, and Sharing Your Content</h2>
<p>Here are a few tips that will make any writing better:</p>
<ul>
<li>Get out of your own way and just dump it. Tell it like you would to someone you know. If you’ve met someone like your ideal customer in real life, write to that person.</li>
<li>If your project has you <em>and</em> someone else working on it, say <em>we</em>. If it’s just you, say <em>I, unless</em> it’s a statement that empathizes and identifies with the customer’s situation. <strong>Honesty disarms and connects.</strong></li>
<li>Make long sentences short. (Then, decide if you need that sentence after all.)</li>
<li>Chop long paragraphs into two or three short paragraphs, but <strong>do not chop paragraphs into single sentences unless it makes sense in the context of what you're writing</strong>. </li>
<li>Paste it into the <a target="_blank" href="http://www.hemingwayapp.com/">Hemingway app</a> and make sure that it’s no higher than Grade 9. Grade 6 is even better.</li>
<li>Read it aloud. Does it sound like you? How about like <a target="_blank" href="https://www.momtestbook.com">talking to your mom</a>? Fix it ‘til it does.</li>
<li>Make a <strong>headline</strong> for the landing page—<strong>and a matching social media lede, and email subject line</strong>—that is clear, curious, and bold. <em>This is super-important.</em> Try to write ten different headlines. Read up on headline writing; it will <strong>always</strong> inspire you to come up with phrases you’d never think up on your own. If you write a bunch, you’ll find a great one.</li>
<li>Show your page to someone else.*</li>
<li>The next day: one final check, and then publish it.</li>
<li><p>If you need to edit it again later, that’s to be expected. The days of frozen content are long gone.</p>
</li>
<li><p>If someone uses the word “confusing” about your writing (usually with a gravity that judges <em>you</em>), don’t take it personally. Ditto for any other critical comment that deflates you when you’re putting a lot of heart and anxiety into it. (You should be writing from the heart, and anxiety, properly understood, keeps you sharp.) </p>
</li>
</ul>
<p>You just need to tighten up your writing and layout. You could also be hearing from someone who isn’t part of your audience, and there are a lot of people who won’t understand what isn’t written exactly for them. </p>
<p>Take the useful feedback and make a change. </p>
<p><strong>Tailor the message for each type of share you do,</strong> and be savvy about matching the headline or the lede to the content of the landing page, so that it meets their expectations. </p>
<p>If this sounds like a lot of work, <strong>it is</strong>! And there’s more to it yet, so schedule it and pace yourself.</p>
<h2 id="heading-different-landing-pages-and-their-analytics">Different Landing Pages and Their Analytics</h2>
<p>From your customer interviews, you should have a decent idea of your “Ideal Customer” (also called a <strong>persona</strong>). You should also have a good idea where they might be on other channels: where on social media; which other businesses have them on their email lists. You might then want to know how they found you, when they do come.</p>
<h3 id="heading-a-multi-channel-approach-to-landing-pages">A multi-channel approach to landing pages</h3>
<p>If you know your market well, you will have one primary “Ideal Customer” and up to two secondary. (Know what they have in common, and any powerful difference.) Also know if you have different goals, for example: buy the product, beta-test the app, or hand over their email (also known as lead generation).</p>
<p>The overlap, the difference, and the goals you have for each is the number of landing pages you should have. So if you have two goals for your landing pages, and two segments with an overlap, then you have at least three and up to six landing pages. </p>
<p>But <strong>start with the main segment and its goal</strong>, which would be lead generation (once you <em>can</em> send them a message, they can choose to download/buy from there). </p>
<p>After that landing page “engine” is working for you, if you want to broaden your reach, you can start creating the secondary landing pages.</p>
<p>There are different ways to get them to click through your landing page:</p>
<ul>
<li>Put the link in your personal/business email footer.</li>
<li>Mention it in a forum or a community Slack channel, if the conversation is relevant, you’ve already introduced yourself, and you’re participating in other ways.</li>
<li>Obviously, share it over social media (e.g. Facebook, Twitter, Reddit, Instagram)—this is a well-known route, but ditto above.</li>
<li>Use Facebook ads to broaden your campaign’s reach.</li>
<li>Create a QR code for the landing page and put it on a sticker, poster, flyer, or a sample of your work. Then pursue opportunities to get them noticed and into other people’s hands.</li>
<li>This is intimidating, but it can help your reach: Talk to relevant blogs and related business owners and ask them if they’ll let you write some content (or some other thing you can do for their customers), in exchange for a mention of your service on their website, linking to your landing page. <em>Do not baldly ask them to link to you, and don’t accept merely a post on social media.</em> SEO content and back-link strategies and social media posts are a trade in unequal goods. If you offer something of value that persists, you should get something in return that persists.</li>
</ul>
<h3 id="heading-if-your-productservice-is-ready-for-traction">If your product/service is ready for traction</h3>
<p>After the initial campaign (the first set of visitors) where you’ve caught and ironed out any technological or copy glitches for conversions, start submitting your project to prospective promoters and content aggregators. </p>
<p>Aggregate audiences are enthusiastic about tech, and you might find helpful people there. Concentrate on those closest to your target market. As a coder, one that you probably should have in mind is <a target="_blank" href="https://www.producthunt.co/">ProductHunt</a>.</p>
<p>Delay this step if you’re early in the design/build process. Do it when you’re about a month away from being ready, when you’ve got real features to whet their appetite, and an audience you can ask to support you. The reason is that you don’t own that channel or platform, and you might not be able to change or remove it once it’s announced.</p>
<h3 id="heading-analytics">Analytics</h3>
<p>After setting up more than one landing page, and more than a couple of channels, it helps to create a unique URL for each landing page (which is obvious) and the channel through which it gets seen, so you know what channel is working for you and which one is not. These are called campaign URLs, or UTMs.</p>
<p>Google Analytics has both <a target="_blank" href="https://support.google.com/analytics/answer/10917952#zippy=%2Cin-this-article">advice</a> and <a target="_blank" href="https://ga-dev-tools.google/ga4/campaign-url-builder/">a tool</a> for creating UTMs. You could also use a social media scheduling tool (like HootSuite, Buffer, SproutSocial, or MeetEdgar) that creates UTMs for each share. Kissmetrics is one that works within apps, if you’re offering an online service.</p>
<p>For all this to have meaning, it assumes your Google Analytics is set up. </p>
<p>You can skip Google Analytics and just rely on WordPress’s JetPack Stats to tell you the basics about your traffic. You could even skip the UTM stuff if you don’t care about the finer details of your sources (JetPack tells you the source of your traffic by domain and country). But it doesn’t hurt to set up your basic Google Analytics anyway, because then at least you’ll have data when you’re ready to learn more. </p>
<p>I once had a conversation with a non-profit webmaster who was quite busy with weekly, sometimes daily, blog postings and events. She had no idea about her reach and traffic, aside from on-forum and in-person group conversations, because she’d never set it up. This was a popular group, and surely she had a much bigger reach than she realized. </p>
<p>Setting up your analytics requires (less than!) a morning or an afternoon to get yourself in, oriented, and get the bits verified. After that, you can let it run without much intervention, and it will give you a wealth of information over time.</p>
<p>So don’t faff around and waste that opportunity, even if most of your traffic is driven by, for example, group members (like the non-profit). Everything is a learning process, so set yourself up to learn. (I would have loved to have known what their demographics were, as we share a customer persona, but she couldn’t tell me.)</p>
<p>Coupled, but not really, with Google Analytics is <strong>Search Console</strong>. You have to separately submit your root domain URL along with its XML map (you’ll find a WordPress plugin for that). It’s Search Console, not Google Analytics, that tells you the search terms a visitor used to end up on your site. You want to know these keywords, which are particularly useful if you’ll be writing a blog. </p>
<p>The campaign URLs (UTMs) I mentioned above help you see your best communication channels and your conversions. You can check conversions two ways:</p>
<ul>
<li><em>Good:</em> Look at each Landing-page-Channel UTM that registers a hit in your Google Analytics, and then check Mailchimp to see if it resulted in a subscribe. Actually, reverse that: check your Subscribers and then go see their analytics.*</li>
<li><p><em>Better:</em> Set up an Analytics “Behaviour Goal” for when they land on your “Thank You” page (next section). Then you’ll see who (OS, country, demographics) made it through the landing page to actually sign up, and from whence they came. </p>
</li>
<li><p>with a little digging and the right plug-in, you can make the Signup page part of the subscriber’s info, demonstrating when a campaign worked.</p>
</li>
</ul>
<h3 id="heading-whats-this-about-a-thank-you-page">What’s this about a Thank You page?</h3>
<p>To entice someone to enter into this email/product/service relationship with you, you may have offered them something more than just notification of when your project is ready. </p>
<p>If so, make it a show of goodwill that they’ll either benefit from now or in the future, or something they’ll truly enjoy. It could be an article, an eBook, access to your list’s previous emails (through a public archive), an event invitation, or something more whimsical.</p>
<p>With or without a freebie, thanking them for subscribing is the proper thing to do. It’s polite. It confirms the action they took succeeded. <strong>The fact that it gives you metrics is a convenient bonus.</strong></p>
<p>One of my mailing lists offers an action-packed newsletter (DIY projects, advice Q&amp;A, and resource links), but only after a certain threshold of subscribers have joined. On some of my pop-ups and blog posts, I mention in the CTA that there’s also a freebie. Once they subscribe, the form redirects to my “Thank You” page. Where they see a very large, cute picture of a red squirrel.</p>
<p>Here, this article is long! You deserve a break. Stop and gaze for a moment. I certainly do. Gaze, that is. I have a squirrel house on my property and a range of grey and black squirrels for endless entertainment. </p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*Ed9bYzFUDAusFjgPwQ9Wag.jpeg" alt="1*Ed9bYzFUDAusFjgPwQ9Wag" width="465" height="600" loading="lazy">
<em>“Well… this is embarrassing. I don’t know quite how to thank you with a freebie yet for joining my mailing list…<strong>Oh, wait. Yes, I do.</strong>” (Photograph: Steward Ellet/Natural England/PA)</em></p>
<p>OK, enough gazing. </p>
<p><strong>The Thank You page is also a very opportune place to tell them what to expect from the list</strong>: “I’ll/We’ll send you an email…” “once a month, on or around the 14th.” “Somewhere in between two blog posts.” “Every Wednesday.” “Every six weeks.” “On a quarterly basis.” “When we have something big to announce.” <em>Knowing when to expect your mail helps them anticipate the time they’ll spend reading it.</em></p>
<p>And finally, because of double-opt-in confirmations being a good practice, <strong>it should tell them that once they confirm their subscription by email,</strong> they’ll receive their freebie in a separate email.</p>
<p>For example, in the copy below the squirrel, I tell them “If you reply to the confirmation email with your postal address, I’ll send you a packet of milkweed seeds.” My particular audience would find this delightful.</p>
<h3 id="heading-opt-in-form-submission-how-to">Opt-in form submission how-to</h3>
<p>Go back to your list integration module or plugin on your WordPress. Each mailing list provider provides HTML code for the opt-in form that you put into your Landing Page. The form submits the data to the mailing list service. </p>
<p>You <strong>must</strong> set it up at your email service provider (AKA mailing service) that a successful <strong>opt-in form submission redirects to a page on your site</strong> that says Thank You. Otherwise, a module may (or may not) appear saying “success.”</p>
<p>The Thank You freebie shouldn’t be available for direct download from the Thank You page, because even if you block the URL from being crawled by search engines, it opens you up to diluting the value of your freebie by making it too shareable (consider the effort of forwarding your email to a friend, versus posting the download page in Facebook group. Yeah, that!).</p>
<p>This means you’ll be creating your first Welcome/Onboard <strong>automation</strong> at your mailing service, that triggers when the subscriber confirms their opt-in. </p>
<p><strong>Note:</strong> You could send the freebie without the confirmation step, if you really want to skip it! But that’s not good practice, as <strong>Canadian and European legislation mandates clear opt-ins</strong>. If you’re marketing to the whole world, make sure your list is compliant. (The United States legislation is opt-out only, which makes people hesitant to share their email addresses.) </p>
<p>The Onboard automation could also ask them for more info about themselves so you can better respond to their interests. Examples I’ve used:</p>
<ul>
<li>“I’m interested in what you’re interested in, so if you update your list profile, tell me your hobbies, as well as your region.”</li>
<li>“We’re designing the software right now, and we have a few questions about where to focus our attention for the greatest impact. Would you kindly answer a short survey?”</li>
</ul>
<h2 id="heading-how-to-avoid-the-free-ick-factor">How to Avoid the Free = Ick Factor</h2>
<p>People expect a little bit of free these days, especially when trying software or information sources. But giving something away for free is still an issue for those of us who need a self-protective way of doing business. </p>
<p>People rightfully hesitate at these “free!” offers. You can’t get the download without the transaction, and so much of what’s “free” ends up being costly in time and attention or worse. </p>
<p>For example, most of us have made the mistake of opting in, then being hit with an email every day for the next two weeks, with an insinuation that we’re holding ourselves back (an insulting form of missing out) if we don’t buy before their deadline. <em>Hard sells are never worth it.</em> </p>
<p>You don’t want to be lumped in with those marketers when you’re offering something out of generosity or curiosity about your target market. And they can be <em>very</em> good at feigning generosity and curiosity towards their targets until time to cash in with a scarcity trap.</p>
<p>If you’re uncomfortable with sharing something of value straight off, try this: Develop a low-commitment preview or freebie, and then offer a promotion for those who are engaged. </p>
<p>E-commerce stores universally offer promo codes. Only give it to the people who are opening your emails, or communicating with you over your other channels. (Keep in mind that people who have iPhones will be “open” by default, even if they aren’t reading your mail. This came with Apple’s iOS 15 email security.) </p>
<p>If your list was a waitlist, don’t cold-announce the launch (“It’s here!”). Talk about the lead-up once or twice in the month before it happens. This will show you who’s engaged. (They don’t need to attend your webinar or launch party to be considered “engaged.” It’s nice, but be reasonable.) Don’t give away promos unless they’ve shown they’re warm.</p>
<p>For casual observers, including the subscribers who don’t open their emails, create or update the landing page on your website that offers it at the price that you think it’s worth. The CTA here would be “Buy” without the promo code.</p>
<p>Then, if you still want to use that page for lead generation, have a delayed pop-up: “Want this at the Friends-and-Family rate? Join us. (Next spaghetti dinner at your house!)”</p>
<h3 id="heading-avoiding-time-wasters-sales-prevention">Avoiding time-wasters (sales prevention)</h3>
<p>When using free <strong>products</strong> as an incentive to join your alpha, beta, or general list, sometimes you have to <em><strong>not</strong></em> get it out there. There are bystanders who enjoy getting freebies, satisfying curiosity, feeling informed. They’re well intentioned, but they’re not your market. At $5 of value, you can afford the publicity and community goodwill, but if it’s something of real cost and value, you’ll need to learn <strong>sales prevention</strong>.</p>
<p>Imagine you threw a party, and a stranger strolled in and headed right on over to the buffet. At a public event, you might expect that. Party crashers can sometimes be delightful, but their intentions and manners (e.g. zero interest in conversation) quickly show you who’s not. </p>
<p>So we’re back at the beginning again: who is your customer? You have to know you’re serving the people who need it (don’t assume, do customer interviews, and leave some room for surprises). </p>
<p>If you give your stuff away without vetting, you’ll get very little feedback. Fuzzy feedback will result in a product that doesn’t actually serve anyone, or a product they’ll play with, but not buy.</p>
<p>Here’s my case study: I was bored of seeing life-advice-on-the-internet and 300+ page bestsellers of writing prompts. Endless ponderous nonsense, only some of it good. I thought it would be a lot more action-oriented if I designed a life-planning workbook with 3 monthly agendas. I had a budget of $1000, so it was a limited print run. And I gave it away in exchange for a promise of design feedback. </p>
<p>But people who don’t use agendas, or who’ve tried but never stuck with one, ordered it anyway, out of curiosity or sheer impulsivity. They didn’t provide any feedback, so I’m sure several hundred dollars of paper went into the recycling. That was my fault for not filtering them out. </p>
<p>What I should have done for those people, which I later did, was an automated email series to walk them through the workbook without having the workbook. A motivated journaller would have gotten value out of it. </p>
<p>So what’s a reasonable sales prevention technique? </p>
<p>That’s relatively easy: it’s copy written to tell the reader the exact problem they’re having and how you’re solving it, that <em>doesn’t</em> try to alleviate any reasonable doubt that they’re the intended customer, so they can self-select out.</p>
<p>That kind of specificity is strangely absent from catch-all high-ticket marketing (who also distract by offering money-back guarantees that are often more specific than what they’re promising).</p>
<p>You could use a survey for this purpose, where the end of the survey is either an opt-in or a polite “no thanks” on either side. </p>
<p>If they’re design targets or beta testers, you can send them a final step (e.g. to join a Slack community, or a GitHub project for the code) in their List Confirmation email. This can ascertain they’re ready for the two-way street of communication (giving access to the project specifically so you can observe or solicit feedback). </p>
<p><strong>Build in obstacles.</strong> If they’re ordering a free product, then at least charge the shipping. (Or invert that: sell the product, ship for free!) If what you’re offering for free isn’t worth the $10 shipping, they’re not gonna take it seriously. Lesson learned. </p>
<p>A customer that has to invest in trying your solution will efficiently provide feedback about how it works, if it works at all. And if it really works? This is the customer who’ll buy and provide testimonials—and future customers.</p>
<p>Also keep in mind: people pay for things they don’t use <em>all the time</em>. Building a revenue model for your product is important for your business.</p>
<h2 id="heading-multiple-offerings-and-list-groups">Multiple Offerings and List Groups</h2>
<p>Hopefully, your new product or project is a stand-alone and you won’t need to group your subscribers. But if you work on multiple projects at a time, you may be juggling different groups.</p>
<p>I had two mailing lists for two different websites. One list was segmented into groups. One group was onboarded into a course-by-email, and another got a monthly PDF (the example I show in the accompanying video). Another group only heard from me when I made progress on a separate project.</p>
<p>Your landing pages have to be simple and targeted, so don’t batch the subscribers all together in your emails, talking about all the things you do. It confuses readers more than it helps anyone. Write to the groups separately (or, once your skills are advanced, use merge fields to show or hide email content depending on their group).</p>
<p>It can be difficult to assign new subscribers into the appropriate groups. You could do so based on the page that they opted in on. You can also ask them if they’re interested in more than one type of email.</p>
<p>Explore your email service provider to see how they recognize the page source of the signup, and how you can automate to put that subscriber into one of your groups. </p>
<p>A good multi-purpose plugin will make it as easy as possible for someone to sign up and get in the right group the first time. </p>
<p>In the accompanying video, I use the "MailChimp for WordPress" plugin to create a simple form for a landing page:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*BkBTrA_emICk6EBL0nRvng.png" alt="MC4WP's forms builder dialog box" width="800" height="400" loading="lazy">
<em>MC4WP's forms builder. You can see it in the accompanying video.</em></p>
<p>I then updated the form to one that has the list groups by project. I made it obvious which one they were about to join:</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*jzSFEqe5bXKvMy837RFAYw.png" alt="A group-sorting opt-in form, with the default group highlighted" width="800" height="691" loading="lazy">
<em>A group-sorting opt-in form, with the default group highlighted</em></p>
<p>If the short code (…id="220") for this form is in multiple places in the website, they will all update upon saving the changes.</p>
<p><strong>Test your form on multiple devices and browsers after every plugin or WordPress update</strong>. If your form doesn’t work, they’ll bounce.</p>
<h2 id="heading-final-advice-for-beta-testers-and-the-video-intro">Final Advice for Beta Testers, and the Video Intro</h2>
<p>Before we get to the <em>(optional: WordPress-Mailchimp-oriented)</em> video, there’s a last bit of context that you might need. </p>
<p>If you’re using lead generation to find and stay in touch with <strong>alpha/beta testers</strong> of your project, <strong>the mailing list is necessary, but it is not enough</strong>. You’ll want to be in touch with them for design feedback. </p>
<p>If it’s a product, make sure they order it through your e-commerce module (one final obstacle that anyone can manage), and not via private communication (why would they evade the transaction? Red flag!). Collect and pass their information from the module through to Mailchimp.</p>
<p>And keep their details in a notebook, spreadsheet, email folder, etc. Reach out to them and set up phone, Skype, and Facetime conversations. Why? Because for real issues that affect your work, you have to interview these collaborative customers, sometimes more than once. </p>
<p>The video (from 2018) illustrates how you can set up a landing page, set up the welcome automations, and these attendant features:</p>
<ul>
<li>how WooCommerce integrates with MailChimp (for ecommerce orders for physical products or for downloads where you get paid)</li>
<li>what MailChimp looks like when you’re using groups or segments for automating messages and campaigns,</li>
<li>a demonstration of creating a landing page, using a MailChimp plugin to generate forms that use shortcodes (which can update changes across your site)</li>
<li>MailChimp’s own landing page generator</li>
<li>and finally, an intro to email automation. </li>
</ul>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/BK9iHnkr9nM" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h2 id="heading-in-conclusion">In Conclusion</h2>
<p>My dear fellow idea/product creators and web developers, I now present you with the summary of the things I just explained.   </p>
<p>This article was about getting to know the people who are going to try out and adopt your idea, by getting them into a relationship with you. You’ll not only be learning how to address their needs with the thing you’re developing, but also where you can find them, and how they want to be communicated with.</p>
<p>Your communication is part of your Value Proposition as much as your product at this point. Everything is iterative, and you’ll learn as you go. Fortunately, a landing page is something people expect for just about any endeavour.</p>
<p>Create a landing page connected to your mailing list (not your social, not your home page) that tells people about the project and how it will help them. Induce them to get on the list— <em>unless it’s not for them</em>. Make sure your opt-ins are clear and, depending on the value you’re proposing, pre-qualified. </p>
<p>To increase your opt-ins, offer people something useful or delightful <em>right now</em>. Those bonuses or previews, and the mail you send after opt-in, creates and builds a relationship with them. In that light, make sure you can be reached by the lists’ reply-to address.</p>
<p>Use other channels such as partnership opportunities and events to raise your profile and direct people to your landing page. Use different copywriting for different channels. </p>
<p>Use different landing pages for different “Ideal Customer” personas and different goals (for example: sign up to the waitlist; download the app; beta-test; buy). </p>
<p>Set up your analytics so that once you start gaining traction–especially when aggregators and others promote your work–you’ll be able to know where they came from, what their demographics are, and what campaigns are working.</p>
<p>Treat your subscribers like clients and friends: be available to them, write to them in a personable manner, and keep it concise, helpful, meaningful, and enjoyable. Do <em>not</em> chase click metrics: chase providing value. </p>
<p>If they’re alpha or beta testers, reach out to them in person, ask non-leading questions, and follow up on any issues raised.</p>
<p>Finally, if you’re in the channels where your customers can be found, and these methods don’t get you the traction your project needs, that’s <em>incredibly valuable information.</em> <a target="_blank" href="https://www.ft.com/content/22b826cd-c451-4df7-b57d-af2e98258f7a">Quit it sooner rather than later!</a> You can pivot, or abandon it and start over again. You now know how. </p>
<p><em>Jane Sorensen has always been a multi-disciplinarian. She writes the words,</em> <a target="_blank" href="https://unsplash.com/@janerette"><em>takes the pictures</em></a><em>, handles the money, and drives the emergency backup Zamboni. If you’d like a dose of practical low-carbon lifestyle, DIY projects, and ecological gardening and wildlife enthusiasm, check out her blog at</em> <a target="_blank" href="http://bigcitylittlehomestead.ca"><em>bigcitylittlehomestead.ca</em></a><em>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Where Hot Trends Go to Die – What We Can Learn from Failed Tech Products ]]>
                </title>
                <description>
                    <![CDATA[ If you're interested in technology, you may also have an active interest in learning about hot technology trends.  But you don't want to take every last one of these gadgets and business fads too seriously: some are bound to disappoint.  (Although do... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/where-hot-tech-trends-go-to-die/</link>
                <guid isPermaLink="false">66b9967077e922646120d738</guid>
                
                    <category>
                        <![CDATA[ Life lessons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ David Clinton ]]>
                </dc:creator>
                <pubDate>Mon, 30 Jan 2023 17:17:50 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/01/pexels-francesco-ungaro-998646.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>If you're interested in technology, you may also have an active interest in learning about hot technology trends. </p>
<p>But you don't want to take every last one of these gadgets and business fads too seriously: some are bound to disappoint. </p>
<p>(Although don't think you can hold me personally responsible for any of my predictions: by the time this article hits the internet, I expect to be living on a sun-drenched tropical island under the witness protection plan.)</p>
<p>To get a sense of how fragile the innovation business is, keep in mind the popular wisdom that teaches us how nine out of ten startups will fail. </p>
<p>Now multiply that by the particularly speculative nature of the technology industry in particular and you'll appreciate how easily things can often go spectacularly wrong.</p>
<p>This article was taken from the book, <a target="_blank" href="https://amzn.to/3FXXAfb">Keeping Up: Backgrounders to All the Big Technology Trends You Can't Afford to Ignore</a>. If you'd prefer to watch this chapter as a video, feel free to follow along here:</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/uMEklf5Eu6E" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<p>That's not to say that the folks who dreamed up all the doomed businesses we'll soon discuss were fools or frauds. It's easy for us, enjoying the benefits of historical hindsight, to judge their efforts. But we should be sensitive to how different things must have looked in the heat of the moment. </p>
<p>Still, bearing that in mind, there's value to be had from trying to at least understand what went wrong.</p>
<p>So here are some particularly impressive examples from the junkyard of tech history. It can be loads of fun to relive some of the biggest business disasters in history, but there are also important lessons we can apply when assessing this year's crop of "can't-fail" devices.</p>
<h1 id="heading-lesson-1-marketing-isnt-everything">Lesson #1: Marketing Isn't Everything</h1>
<p>In the beginning, there were comments from tech insiders about how this would be the biggest thing since ever. Then came an unauthorized book leaking intriguing information, some ambitious public claims, and a product launch. </p>
<p>In the end, there was Segway: a personal transportation device that was too big and fast for sidewalks, too big and slow for roads, and too expensive for most customers. And using it in the rain or snow wasn't much fun at all.</p>
<p>Today you'd probably have to look pretty hard to find a living, breathing Segway anywhere close to your neighborhood. They're sometimes used for police street patrols and touring, but they haven't eliminated the car or revolutionized urban development. </p>
<p>Nor, as far as I can see, did they make the company's investors fantastically wealthy. In fact, the company's manufacturing plant in Bedford, New Hampshire ceased operations in the summer of 2020.</p>
<p>What went wrong? Well, perhaps the hype was a bit over the top. Ok, make that way over the top. It's never a good thing to pump up expectations to the point they can't possibly be met. </p>
<p>There was also the failure to match the tool to an appropriate environment. Where, after all, was it supposed to be used? But, to be really successful, a new product has to be built on more than clever engineering. It also has to solve a real and pressing problem.</p>
<h1 id="heading-lesson-2-too-much-power-isnt-a-good-thing">Lesson #2: Too Much Power Isn't a Good Thing</h1>
<p>Back in 2013, Google introduced a new consumer compute product they called <em>Glass</em>. This was a sleek headset that could be worn as an attachment to a pair of designer prescription glasses. </p>
<p>When powered on, Glass could accept voice and touch commands to record video of everything the wearer sees, and display data – often with full "awareness" of the wearer's current physical location. </p>
<p>Glass was a single device intended to replace much of the function currently served by smart phones, laptops, and media players.</p>
<p>For the task of integrating our physical world with the endless data that describes it, this was going to be perfect. And then it wasn't.</p>
<p>As more details about Glass became known, questions were raised in the broader tech world. Was it appropriate – or even legal – to silently record videos of other people? Should face recognition software be applied to random pedestrians walking past on the sidewalk without their consent? Was it safe to drive while wearing Glass?</p>
<p>Potential customers had their own questions. Is the product affordable (they started at $1,500)? Is it necessary? Does it fit the vision I have for my public image?</p>
<p>The longer those questions floated around the internet, the more answers came back. Answers, by and large, consisting of a single word: "No." Google Glass, as a consumer product, slowly faded away and eventually disappeared altogether. The massive media promotion campaign had come up empty.</p>
<p>Which is not to say that the product itself failed. As it turns out, Glass has found considerable success in medical environments where, for instance, it could be used to permit remote surgical experiences. </p>
<p>It's also found a home in industrial settings, where front line workers often need instant, hands-free access to relevant schematics and directions.</p>
<p>But it was a long while before all that goodness happened. Perhaps someone should have slowed things down at some point, saying: Even if it's <em>possible</em> to engineer all of those features into a consumer product, is it necessarily a good idea?</p>
<h1 id="heading-lesson-3-sometimes-the-pieces-dont-all-fall-where-theyre-supposed-to-fall">Lesson #3: Sometimes the Pieces Don't All Fall Where They're Supposed to Fall</h1>
<p>Sometimes measuring success and failure isn't so easy. Take WebTV as a case in point.</p>
<p>Who doesn't own a TV? (Besides me, I mean.) Wouldn't it make sense to create an inexpensive and easy-to-use product that leverages billions of existing home TVs for non-standard but popular uses? How about a device that can turn the TV you already own into a web browser and email portal? </p>
<p>If that doesn't sound so exciting today, back in the mid-90's the idea behind WebTV had its definite charms.</p>
<p>Just imagine the secondary revenue streams this could generate. Wouldn't advertisers climb over each other to pay big bucks to have their products pitched to all those TVs?</p>
<p>Had WebTV managed to deliver on the "easy-to-use" angle, things might have gone differently. But it turned out that the primary demographic for the device was heavily skewed to older people who needed a lot of (expensive) customer support coaching through the setup process. </p>
<p>Their inability to keep up with the fast-changing internet browsing standards also made it tough to provide a consistently optimal browsing experience – especially for users sitting ten feet away from the screen on their couches.</p>
<p>How did things actually play out? On the one hand, within two years of their launch, the company was purchased by Microsoft for more than 400 million dollars, who rebranded the service "MSN TV." In one form or another, they stuck around until long past the death of dial up internet access. So that's a good thing.</p>
<p>But, arguably, they failed to capture nearly as much interest and adoption as they could have. The real prize was in becoming a dominant portal for internet access. </p>
<p>Because the platform was proprietary, the company could effectively have controlled the entire internet experience of hundreds of millions of users. The potential scope of the product would have dwarfed the modest revenues they actually achieved. So that's not a good thing.</p>
<p>Were they too far ahead of their time? Did they miscalculate by insisting on a closed, proprietary platform? Did they fail to see the monstrous growth in the standalone personal computer (PC) industry coming?</p>
<p>Either way, it wasn't exactly a fairy tale ending.</p>
<h1 id="heading-lesson-4-timing-is-almost-everything">Lesson #4: Timing is Almost Everything</h1>
<p>The tech industry moves fast. I'm sure that little nugget of wisdom won't leave any of you wrapped in stunned silence. But when you think about how much work is needed before you can convert a fresh, new idea into a ready-to-ship product, it's remarkable anything innovative ever gets off the ground.</p>
<p>Bad timing, then, is a risk faced by the people behind pretty much any new technology as it makes its way to market. </p>
<p>By way of example, the existence of strong competition from companies like Nintendo and Sony's PlayStation were probably largely to blame for the premature death of Apple's Bandai Pippin gaming console back in the mid nineties. </p>
<p>Although, the fact that, at peak, there were never more than 25 game titles that would run on the device and that, like all Apple products, it was priced much higher than the competition, couldn't have helped.</p>
<p>All wasn't dark and foreboding for Apple in those years. Looking back with what we now know, the strong presence of their iPod digital music player platform was probably what doomed Microsoft's Zune. </p>
<p>On that one, Microsoft had the bad luck (or lack of foresight) to get stuck between an iPod device made dominant by its simplicity, and the looming age of the smartphone (where standalone portable music players become irrelevant).</p>
<p>Clearly, as Shakespeare would have it, "ripeness is all."</p>
<p>But there's another thing about timing: eventually, you'll need to deliver the goods. There's a limit to how long we'll wait for that bright new technology that's been on everyone's "must-have" list for too long without making an actual, real-world appearance. Beware empty promises.</p>
<p>You should also keep a critical eye out for good, old fashioned bad business practices – the kind that never seem to go out of style. I'm thinking about unrealistic business plans, unfamiliarity with a business' core, underlying fundamentals, and unreasonable, greedy start up costs. </p>
<p>Actually, I'm thinking about the catastrophic disaster that characterized the dot-com boom and subsequent bust around the start of the 21st Century. The take-any-business-model-and-build-it-a-website paradigm looked good, but it was applied far too broadly and often ignored the obvious context in the process.</p>
<p>Here's the long and the short of it: don't blindly trust popular trends and buzz phrases. </p>
<p><em>YouTube videos of all ten chapters from this book <a target="_blank" href="https://www.youtube.com/playlist?list=PLSiZCpRYoTZ6UWl4xialvwLOKyHYYJUiC">are available here</a>. Lots more tech goodness - in the form of books, courses, and articles - <a target="_blank" href="https://bootstrap-it.com">can be had here</a>. And consider taking my <a target="_blank" href="https://www.udemy.com/user/david-clinton-12/">AWS, security, and container technology courses here</a>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Choose a Tech Career – A Career Changer's Guide ]]>
                </title>
                <description>
                    <![CDATA[ Choosing a tech career can be tricky because there are many possible paths to choose from. There's Web Development, Machine Learning, Data Science, DevOps, and many more. But the good news is you don't necessarily have to be a developer to be in the ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-choose-a-tech-career/</link>
                <guid isPermaLink="false">66c4c640034a1005e6c59646</guid>
                
                    <category>
                        <![CDATA[ career advice ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career Change ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Sophia Iroegbu ]]>
                </dc:creator>
                <pubDate>Fri, 29 Jul 2022 16:43:31 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/07/Tech-Blog-Cover--3-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Choosing a tech career can be tricky because there are many possible paths to choose from. There's Web Development, Machine Learning, Data Science, DevOps, and many more.</p>
<p>But the good news is you don't necessarily have to be a <strong>developer</strong> to be in the world of tech.</p>
<p>This article is a guide for people struggling with the transition to tech. It will explain various careers in tech that you can consider. We'll also discuss how to know whether a particular path suits you or your personality.</p>
<p>This is based on my views and experience, but I hope my insights will prove helpful.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ul>
<li><p><a class="post-section-overview" href="#heading-what-is-uiux-design">UI/UX Design Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-frontend-development">Frontend Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-backend-development">Backend Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-data-analysis-and-data-science">Data Analysis &amp; Data Science Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-cybersecurity">Cyber security Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-graphic-design">Graphic Design Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-program-management">Program Management Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-human-resources">Human Resources Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-growth-manager">Growth Management Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-business-development">Business Development Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-community-manager">Community Management Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-developer-relations-devrel">Developer Relations Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-technical-writer">Technical Writer Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-quality-assurance-testing">Quality Assurance Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-motion-designer">Motion Designing Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-digital-marketing">Digital Marketing Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-mobile-app-developer">Mobile Development Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-devops">Developer Operations Path</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-game-development">Game Development Path</a></p>
</li>
</ul>
<h1 id="heading-possible-careers-in-tech">Possible Careers in Tech</h1>
<h2 id="heading-uiux-design">UI/UX Design</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/Whats-the-Difference-Between-them.png" alt="UI/UX Illustration" width="600" height="400" loading="lazy"></p>
<p><em>UI/UX Illustration</em></p>
<p>If you love aesthetics and enjoy styling things, then UI/UX design might be your career.</p>
<h3 id="heading-what-is-uiux-design">What is UI/UX Design?</h3>
<p><strong>UI</strong> stands for User Interface and refers to the screens, pages, and visual icons that users interact with on a webpage or in an app (buttons, icons, and so on). A well-designed UI helps non-techies and all end-users interact with a product or a service online.</p>
<p><strong>UX</strong> stands for User Experience and involves helping a product or service improve its customer's service. A good UX can also help grow followers for the brand.</p>
<p>As a UI/UX developer, your job is to design and build out a user's experience for a brand or company.</p>
<p>A UI/UX developer must know and understand how to use the following:</p>
<ul>
<li><p><a target="_blank" href="https://www.freecodecamp.org/news/designing-a-website-ui-with-prototyping/"><strong>Wireframing</strong></a>: A wireframe is a webpage layout stripped of visual design. You use it to prioritize page elements based on user needs.</p>
</li>
<li><p><a target="_blank" href="https://www.freecodecamp.org/news/designing-a-website-ui-with-prototyping/"><strong>Prototyping</strong></a>: A prototype is a sample or simulation of a final product used to test and gather feedback. Low-fidelity prototypes might be sketched on paper and don't allow user interaction. High-fidelity prototypes are typically computer-based and allow for mouse and keyboard interaction.</p>
</li>
<li><p><strong>Mockup</strong>: A mockup allows designers to get an idea of a realistic visual model of a final webpage or application.</p>
</li>
<li><p><strong>User flow</strong>: A user flow is a way to map out each user's steps when using a product or service. This helps improve the user experience.</p>
</li>
</ul>
<h3 id="heading-what-tools-do-i-need-to-become-a-uiux-developer">What tools do I need to become a UI/UX Developer?</h3>
<p>If you're working as a UI/UX developer, you'll likely use tools like:</p>
<ul>
<li><p><a target="_blank" href="https://www.adobe.com/products/xd.html">Adobe XD</a></p>
</li>
<li><p><a target="_blank" href="https://www.figma.com/">Figma</a></p>
</li>
<li><p><a target="_blank" href="https://www.adobe.com/products/photoshopfamily.html">Photoshop</a></p>
</li>
<li><p><a target="_blank" href="https://www.sketch.com/">Sketch</a></p>
</li>
</ul>
<p>There are lots of tools, but these are the most popular.</p>
<p>A UI/UX developer designs websites and web apps and helps improve user experience with the need-to-knows mentioned above. You can get inspiration from Behance or dribble if you wish to go down this path.</p>
<h3 id="heading-here-are-some-resources-to-help-you-get-started-as-a-uiux-designer">Here are some resources to help you get started as a UI/UX designer:</h3>
<ul>
<li><p><a target="_blank" href="https://youtu.be/jwCmIBJ8Jtc">Figma Tutorial for UI Design - Course for Beginners</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/c9Wg6Cb_YlU">UI / UX Design Tutorial – Wireframe, Mockup &amp; Design in Figma</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/I0-vBdh4sZ8">UX Design Tutorial for Beginners</a></p>
</li>
</ul>
<h2 id="heading-frontend-development">Frontend Development</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/frontend-development-tools.png" alt="Frontend Tools Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Frontend Tools Illustration</em></p>
<p>If you love creating websites, you should consider frontend development.</p>
<p>A frontend developer ensures that a visitor can easily interact with a webpage. They use design tools, various frameworks and libraries, and coding to build websites.</p>
<p>Frontend devs are also client-side developers because they directly build the elements on websites and applications with which users and clients interact.</p>
<p>The leading web technologies used by frontend developers are:</p>
<ul>
<li>HTML (HyperText Markup Language):</li>
</ul>
<p><strong>HTML</strong> lets you build the skeleton of webpages and websites. The markup language defines the web. You can think about it as the structure of a house because it holds all the text and defines every header 0n a website.</p>
<ul>
<li>CSS (Cascading Style Sheets):</li>
</ul>
<p><strong>CSS</strong> is responsible for making the website beautiful. You can think of it like the decor of a house. You use it to give your pages color, animations, and more after the HTML has displayed the text.</p>
<ul>
<li>JavaScript:</li>
</ul>
<p><strong>JavaScript</strong> handles the responsiveness of the website. It gives life to a website, helps make it look fabulous on every device, and makes it more interactive.</p>
<p>You will need basic knowledge of these languages to build a unique and interactive website successfully. Knowing only one of the mentioned tech skills won't be enough to build production-quality applications because you will just be able to create a half-useful website.</p>
<p>Sometimes, frontend developers work hand-in-hand with UI/UX developers.</p>
<h3 id="heading-what-tools-do-i-need-to-know-to-become-a-frontend-developer">What tools do I need to know to become a Frontend Developer?</h3>
<h4 id="heading-a-code-editor-or-an-ide-integrated-development-environment">A code editor or an IDE (Integrated Development Environment)</h4>
<p>A code editor/IDE is where you'll write your code, debug it, and preview written code.</p>
<p>There are many editors/IDE to choose from, but the most popular ones are <a target="_blank" href="https://code.visualstudio.com/">Visual Studio Code</a>, <a target="_blank" href="https://atom.io/">Atom</a>, and <a target="_blank" href="https://www.sublimetext.com/">Sublime text editor</a>.</p>
<h4 id="heading-chrome-developer-toolshttpsdeveloperchromecomdocsdevtools"><a target="_blank" href="https://developer.chrome.com/docs/devtools/">Chrome Developer Tools</a></h4>
<p>You use Chrome DevTools to debug real-time applications on Chrome. It gives you an understanding of and access to important internal information of a web application. DevTools also helps you understand how to optimize the loading flow and what the browser is doing now.</p>
<h4 id="heading-git-and-githubhttpsgithubcom-for-version-control"><a target="_blank" href="https://github.com/">Git and GitHub</a> for version control</h4>
<p>I know what you are thinking – <a target="_blank" href="https://www.freecodecamp.org/news/git-and-github-for-beginners/">what is a version control system</a>? It is a system that helps you review your code in stages and keep track of your (and others') revisions. Git is a version control system, and GitHub is an online hosting service for Git repositories.</p>
<p>Say you are working on a landing page, and you messed up the footer, and in the codebase, it seems hard to debug. You can quickly go back to previously committed code on your repository and see your last change(s). Although, you can only see your previous commit when you commit to your repo.</p>
<p>GitHub helps team members work together more efficiently, and you can use it to contribute to open source projects.</p>
<h3 id="heading-here-are-some-resources-to-help-you-get-started-in-frontend-development">Here are some resources to help you get started in Frontend Development:</h3>
<ul>
<li><p><a target="_blank" href="https://youtu.be/NrVf8XEihCA">Frontend Developer Guide for 2022</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/xV7S8BhIeBo">Frontend Development with HTML, CSS, JavaScript</a></p>
</li>
<li><p><a target="_blank" href="https://www.freecodecamp.org/learn/2022/responsive-web-design/">Responsive Web Design Course</a></p>
</li>
</ul>
<h2 id="heading-backend-development">Backend Development</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/pexels-photo-276452-1.jpg" alt="Backend Tools Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Backend Tools Illustration</em></p>
<p>If you love working with and building things that depend on you, you should be a backend developer.</p>
<p>A backend developer builds and maintains technologies or software necessary to power client-side development components. They are also called server-side developers.</p>
<p>Their work includes:</p>
<ul>
<li><p>Building/maintaining databases</p>
</li>
<li><p>Working with data and application integration</p>
</li>
<li><p>Working with APIs</p>
</li>
<li><p>Building out the core application logic</p>
</li>
</ul>
<h3 id="heading-what-tools-do-i-need-to-become-a-backend-developer">What tools do I need to become a Backend developer?</h3>
<p>Backend devs use almost the same tools as Frontend developers. Here's what you'll find helpful:</p>
<ul>
<li><p>Code editor/IDE: This is used for writing code, debugging, and previewing codebases.</p>
</li>
<li><p><a target="_blank" href="https://developer.chrome.com/docs/devtools/">Chrome developer tools</a>: This helps you debug your code.</p>
</li>
<li><p><a target="_blank" href="https://github.com/">Git and GitHub</a>: This helps you review your code in stages and makes team-building, collaboration, and open source contributing easier. Any developer can contribute to your project if the repository is public.</p>
</li>
<li><p>SQL or NoSQL server: SQL stands for Structured Query Language. This helps you query databases and interact with them while building an application.</p>
</li>
<li><p>Knowledge of a database</p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-help-you-get-started-in-backend-development">Here are some resources to help you get started in Backend Development:</h3>
<ul>
<li><p><a target="_blank" href="https://www.freecodecamp.org/learn/back-end-development-and-apis/">Backend Development and APIs certification</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/Q0prVO3DCtU">Backend Roadmap</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/hHLmb3OD7Mo">Back-end Development and APIs - FreeCodeCamp Tutorial</a></p>
</li>
</ul>
<h2 id="heading-data-analysis-and-data-science">Data Analysis and Data Science</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/pexels-photo-265087.jpg" alt="Data Science/Analysis Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Data Science/Analysis Skills Illustration</em></p>
<p>Consider a data analyst career if you love calculating, mathematics, or statistics.</p>
<p>Data analysis involves examining, transforming, and arranging a given data set in specific ways to study its parts and extract useful information. It deals with interpreting, analyzing, and visualizing data.</p>
<p>In layperson's terms, data analysis involves gathering insights from data to aid business decisions.</p>
<p>Data science handles data using machine learning, algorithms, and statistics. It is the statistical part of the data field. Data scientists collect, clean, and interpret data sets for surveys. So data science involves statistically analyzing data.</p>
<p>It's always better to start as a data analyst and then transition to data science because data analysis is the foundation of data science. Although they may be on the same path, there is a fine line between data science and data analysis.</p>
<p>Data is present in every industry, so data scientists and analysts are needed everywhere.</p>
<h4 id="heading-essential-technical-skills-to-have-for-data-science">Essential technical skills to have for Data Science:</h4>
<ul>
<li><p><a target="_blank" href="https://www.mysql.com/">MySQL</a></p>
</li>
<li><p><a target="_blank" href="https://www.python.org/">Python programming language</a></p>
</li>
<li><p>Mathematics</p>
</li>
<li><p>Statistics</p>
</li>
<li><p><a target="_blank" href="https://www.r-project.org/about.html">R programming language</a></p>
</li>
</ul>
<h3 id="heading-what-tools-you-would-use-in-this-field">What tools you would use in this field:</h3>
<ul>
<li><p><a target="_blank" href="https://www.microsoft.com/en-us/microsoft-365/excel">Microsoft Excel</a></p>
</li>
<li><p><a target="_blank" href="https://www.google.com/sheets/about/">Google Spreadsheets</a></p>
</li>
<li><p><a target="_blank" href="https://www.tableau.com/">Tableau</a></p>
</li>
<li><p><a target="_blank" href="https://www.sqlservertutorial.net/getting-started/what-is-sql-server/">SQL Server</a></p>
</li>
<li><p><a target="_blank" href="https://powerbi.microsoft.com/en/">PowerBI</a></p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-help-you-get-started-in-data-analysis-and-data-science">Here are some resources to help you get started in Data Analysis and Data Science:</h3>
<ul>
<li><p><a target="_blank" href="https://docs.microsoft.com/en-us/learn/modules/data-analytics-microsoft/">Discover Data Analysis</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/ua-CiDNNj30">Data Science For Beginners</a></p>
</li>
<li><p><a target="_blank" href="https://www.freecodecamp.org/learn/data-analysis-with-python/">Data Analysis certification</a></p>
</li>
</ul>
<h2 id="heading-product-management">Product Management</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/pexels-photo-416405.jpeg" alt="Product Management Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Product Management Skills Illustration</em></p>
<p>This is for you if you are great at organizing products and teams.</p>
<p>A product manager manages and coordinates product development projects. The product manager is the voice of the customer on the team.</p>
<p>They ensure that the product being built contains the features and requirements needed to satisfy the customer. They're also in charge of drafting out a roadmap for that product, from imagination, all the way to launch. And they are the ones who decide what feature to include in v1 or V2.</p>
<p>Their responsibilities include:</p>
<ul>
<li><p>Understanding user needs,</p>
</li>
<li><p>Drafting out roadmaps for the product being built.</p>
</li>
<li><p>Defining a vision for the products</p>
</li>
<li><p>Developing competitive analyses</p>
</li>
<li><p>Prioritizing product features</p>
</li>
</ul>
<p>And lots more.</p>
<h3 id="heading-common-tools-product-managers-use">Common tools product managers use:</h3>
<ul>
<li><p>There are many tools for user tracking and analysis such as <a target="_blank" href="https://www.pendo.io/">Pendo</a> or <a target="_blank" href="https://amplitude.com/">Amplitude</a>. These apps give insight into users' activity on the software or website.</p>
</li>
<li><p><a target="_blank" href="https://www.productplan.com/">Product Plan</a> is a road mapping software to draft out and manage the product plan. They can also handle version-control issues that can slow your product's progress.</p>
</li>
<li><p>Survey Tools such as <a target="_blank" href="https://www.typeform.com/surveys/">Typeform</a> are very handy. PMs use them to carry out customer or user surveys to help improve the product to users' needs. A product manager can easily track and analyze the results using these tools.</p>
</li>
<li><p>Feature flagging tools such as <a target="_blank" href="https://www.split.io/">Split.io</a> help teams quickly turn specific features when users have flagged them. This is useful during a notable feature or product launch or testing process.</p>
</li>
<li><p>Flowcharting tools such as <a target="_blank" href="https://www.microsoft.com/en-us/microsoft-365/visio/flowchart-software">Visio</a> help create product development workflow and help the product manager structure the user journey on the product.</p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-in-product-management">Here are some resources to get started in Product Management:</h3>
<ul>
<li><p><a target="_blank" href="https://youtu.be/lF70OuNWdrM">Product Management Fundamentals</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/ravLfnYuqmA">Introduction to Product Management</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/NsqyFcycBTw">Product Management Tutorial for Beginners</a></p>
</li>
</ul>
<h2 id="heading-cybersecurity">Cybersecurity</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/pexels-photo-5380664.jpeg" alt="Cyber Security Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Cyber Security Skills Illustration</em></p>
<p>If you are passionate about security, consider a career in cybersecurity.</p>
<p>Cybersecurity involves everything from encryption to finding and protecting against malware or viruses to hacking to find security vulnerabilities in a system so they can be fixed.</p>
<p>A cybersecurity specialist protects digital information for individuals, companies, firms, and the government.</p>
<p>Their tasks include:</p>
<ul>
<li><p>Testing, analyzing, and implementing security system developments</p>
</li>
<li><p>Managing system vulnerabilities</p>
</li>
<li><p>Responding to security threats and attacks</p>
</li>
<li><p>Developing threat prevention strategies</p>
</li>
<li><p>Reporting directly to administrators and executives</p>
</li>
</ul>
<h3 id="heading-tools-cyber-security-analysts-use">Tools cyber security analysts use:</h3>
<ul>
<li><p>Network security monitoring tools such as <a target="_blank" href="https://www.splunk.com/">Splunk</a> or <a target="_blank" href="https://argus-sec.com/">Argus</a>. These tools keep track of network threats and analyze network data.</p>
</li>
<li><p>Encryption tools such as <a target="_blank" href="https://www.veracrypt.fr/code/VeraCrypt/">VeraCrypt</a> and <a target="_blank" href="http://truecrypt.sourceforge.net/">TrueCrypt</a>. These tools are used for encryption by scrambling plain text to code that is not accessible to unauthorized users.</p>
</li>
<li><p>Vulnerability scanners such as <a target="_blank" href="https://cirt.net/Nikto2">Nikto</a> and <a target="_blank" href="https://portswigger.net/burp">Burp Suite</a>. These tools scan software to identify security vulnerabilities using <a target="_blank" href="https://www.freecodecamp.org/news/what-is-sql-injection-how-to-prevent-it/">SQL Injection</a> and cross-site scripting.</p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-in-cyber-security">Here are some resources to get started in Cyber Security:</h3>
<ul>
<li><p><a target="_blank" href="https://youtu.be/3Kq1MIfTWCE">Complete Ethical Hacking Course - Network Penetration Testing for Beginners</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/U_P23SqJaDc">Cyber Security Full Course for Beginner</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=nzZkKoREEGo&amp;list=PL9ooVrP1hQOGPQVeapGsJCktzIO4DtI4_">Cyber Security Training Course</a></p>
</li>
</ul>
<h2 id="heading-graphic-design">Graphic Design</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/pexels-photo-196644.jpg" alt="Graphic Design Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Graphic Design Skills Illustration</em></p>
<p>If you love designing flyers, logos, and other graphic elements, consider a career in graphic design. Many people will argue that graphic design is not a technical career, but it is because it helps bring ideas to life, like UI/UX designing.</p>
<p>A graphic designer is in charge of digitally beautifying a company's brand, assembling images that tell consumers about the brand, and creating motion graphics for a brand.</p>
<h3 id="heading-graphic-design-as-a-tech-career-involves">Graphic design as a tech career involves:</h3>
<ul>
<li><p>Creating layouts</p>
</li>
<li><p>Digital editing</p>
</li>
<li><p>Typesetting</p>
</li>
<li><p>Presenting design products</p>
</li>
</ul>
<h3 id="heading-some-graphic-designer-tools-you-should-know">Some Graphic Designer tools you should know:</h3>
<ul>
<li><p><a target="_blank" href="https://www.adobe.com/products/illustrator.html">Adobe Illustrator</a></p>
</li>
<li><p><a target="_blank" href="https://procreate.art/">Procreate</a></p>
</li>
<li><p><a target="_blank" href="https://www.adobe.com/products/photoshop.html">Adobe Photoshop</a></p>
</li>
<li><p><a target="_blank" href="https://affinity.serif.com/en-us/photo/">Affinity</a></p>
</li>
<li><p><a target="_blank" href="https://www.canva.com/">Canva</a></p>
</li>
</ul>
<p>These tools will help you get the most out of your designs, and they're used by designers all over the world.</p>
<h3 id="heading-here-are-some-resources-to-get-started-in-graphic-design">Here are some resources to get started in Graphic Design:</h3>
<ul>
<li><p><a target="_blank" href="https://youtu.be/9QTCvayLhCA">Graphic Design Tutorial For Beginners</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/IyR_uYsRdPs">Photoshop for Beginners</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=pz-lwONtVmM&amp;list=PLlz0muypSBNZ02BPF227DXRGBsK5QjcUV">Graphic Design Crash Course</a></p>
</li>
</ul>
<h2 id="heading-program-management">Program Management</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/pexels-photo-8190804.jpeg" alt="Program Management Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Program Management Skills Illustration</em></p>
<p>If you love creating and managing structures, consider being a program manager.</p>
<p>A program manager oversees the fulfillment of company goals. They manage the practical programs and coordinate activities between multiple projects without executing them. They also focus on implementing programs, program strategies, and delegating tasks.</p>
<p>They are involved in:</p>
<ul>
<li><p>Sales process</p>
</li>
<li><p>Employee training</p>
</li>
<li><p>Creating marketing plans</p>
</li>
<li><p>Opening new facilities</p>
</li>
<li><p>Product launches</p>
</li>
</ul>
<h3 id="heading-tools-used-in-program-management">Tools used in Program Management:</h3>
<ul>
<li>Agile tools such as <a target="_blank" href="https://trello.com/">Trello</a> and <a target="_blank" href="https://www.atlassian.com/software/jira">Jira</a>.</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-as-a-project-manager">Here are some resources to get started as a Project Manager:</h3>
<ul>
<li><p><a target="_blank" href="https://youtu.be/CESfWcOO_fs">Program Management Standard Summary &amp; Introduction to PgMP</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/dPrvOWRI5WQ">Everything About PgMP (Program Management Professional)</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/RiZRA08KMWA">Overview of Program Manager</a></p>
</li>
</ul>
<h2 id="heading-human-resources">Human Resources</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/pexels-photo-5989935.jpeg" alt="Human Resources Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Human Resources Skills Illustration</em></p>
<p>If you are good with people and enjoy helping them resolve conflicts and issues, you might consider becoming an HR specialist. <strong>HR</strong> stands for Human Resources.</p>
<p>Human resources management is recruiting talents and developing a solid company's workforce. The HR department identifies skills or human resources in a company, evaluates potential candidates, and hires talent. They are also in charge of advertising a position for a company.</p>
<p>An HR specialist screens, recruits, interviews, and places new employees.</p>
<h3 id="heading-other-hr-responsibilities-include">Other HR responsibilities include:</h3>
<ul>
<li><p>Handling employee relations</p>
</li>
<li><p>Handling payroll</p>
</li>
<li><p>Managing benefits and training for employees</p>
</li>
<li><p>Consulting with executives on strategic planning</p>
</li>
</ul>
<h3 id="heading-tools-and-techniques-used-by-hr-personnel">Tools and techniques used by HR Personnel:</h3>
<ul>
<li><p><a target="_blank" href="https://www.selectsoftwarereviews.com/buyer-guide/programmatic-job-advertising-software">Programmatic Job Advertising Tools</a></p>
</li>
<li><p><a target="_blank" href="https://geekflare.com/pre-employment-assessment-tools/">Pre-employment Assessment Tools</a></p>
</li>
<li><p><a target="_blank" href="https://peoplemanagingpeople.com/tools/talent-management-system/">Talent Management Solutions</a></p>
</li>
<li><p><a target="_blank" href="https://www.wrike.com/project-management-guide/faq/what-is-expert-judgment-in-project-management/#:~:text=Expert%20judgment%20is%20a%20technique,knowledge%20of%20the%20product%2Fmarket.">Expert Judgement</a></p>
</li>
<li><p>Networking - they use a platform like <a target="_blank" href="https://www.freecodecamp.org/news/p/ead99504-cbb6-4218-bb71-9ecc48fc291a/linkedin.com">LinkedIn</a> to reach out to talents.</p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-with-human-resources">Here are some resources to get started with Human Resources:</h3>
<ul>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=A2HFusWQIeE&amp;list=PLdinyWzDfipPVYqpTc8EhWNDvEx14Nc1E">HR Basics</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/hhIVo27PaQg">Complete HR Generalist Tutorial for Beginners</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=w_wIMveGlrI&amp;list=PLPjSqITyvDeXSqZIgYD2XKKLGZtjrhDtl">Principles of Human Resources</a></p>
</li>
</ul>
<h2 id="heading-growth-manager">Growth Manager</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/7-Ways-to-Increase-Sales-Using-SEO-blog.jpg" alt="Growth Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Growth Skills Illustration</em></p>
<p>If you are passionate about making things better or bigger, a career as a growth manager might be for you.</p>
<p>A growth manager handles the execution of growth strategy for a business's product to direct consumers. Also, they coordinate initiatives with key financial partners.</p>
<p>Growth managers handle the company's financial growth from sales and marketing to networking and business stakeholder management to people management and work with almost every department. They set goals for workers of every department.</p>
<h3 id="heading-tools-used-in-growth-management">Tools used in Growth Management:</h3>
<ul>
<li><p>Expand</p>
</li>
<li><p><a target="_blank" href="https://zapier.com/">Zapier</a></p>
</li>
<li><p><a target="_blank" href="https://www.growthbarseo.com/">GrowthBar</a></p>
</li>
<li><p>Colibri</p>
</li>
<li><p><a target="_blank" href="https://www.airtable.com/">Airtable</a></p>
</li>
</ul>
<p>These tools are all used to track the activity growth in a company or a product.</p>
<h3 id="heading-how-to-get-started-as-a-growth-manager">How to get started as a Growth Manager:</h3>
<ul>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=JnD_m10cjo0">Growth Manager course</a></p>
</li>
<li><p><a target="_blank" href="https://www.classcentral.com/course/youtube-growth-hacking-for-beginners-53179">Growth Hacking for Beginners</a></p>
</li>
<li><p><a target="_blank" href="https://www.hubspot.com/resources/courses/growth-marketing">Growth Management courses</a></p>
</li>
</ul>
<h2 id="heading-business-development">Business Development</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/Business-Development-Words.jpg" alt="Business Developer Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Business Developer Skills Illustration</em></p>
<p>This career is for you if you are great at building relationships and are 100% business-oriented.</p>
<p>A business developer or business development analyst is in charge of helping organizations gain better brand recognition and financial growth.</p>
<p>They bring up ideas, initiatives, and activities that help improve a business, including increasing revenues, growth terms of business expansion, and profitability by building strategic partnerships and making decisions for business strategy.</p>
<h3 id="heading-other-business-development-job-responsibilities-include">Other business development job responsibilities include:</h3>
<ul>
<li><p>Coordinating events with company executives</p>
</li>
<li><p>Reviewing current market trends</p>
</li>
<li><p>Proposing new business ideas to improve revenue</p>
</li>
<li><p>Building relationships with potential partners</p>
</li>
</ul>
<p>At a large tech company, a business developer works with the non-technical teams and the CEO or board to help grow the business.</p>
<h3 id="heading-tools-used-for-business-development">Tools used for business development:</h3>
<ul>
<li><p>Social Management Tools</p>
</li>
<li><p>Email Lists</p>
</li>
<li><p><a target="_blank" href="https://www.pcmag.com/picks/the-best-crm-software">Customer Relationship Software (CRM)</a></p>
</li>
<li><p>Project Management Tools such as <a target="_blank" href="https://www.atlassian.com/software/jira">Jira</a> or <a target="_blank" href="https://www.accelo.com/">Accelo</a></p>
</li>
<li><p>SEO (Search Engine Optimization) Tools</p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-with-business-development">Here are some resources to get started with Business Development:</h3>
<ul>
<li><p><a target="_blank" href="https://youtu.be/f9DzS6NdgwU">Business Analyst Full Course In 2 Hours</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/b3NNk7G658k">Business Development Course</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=_Dcmk9mEP9s">Business Analytics Course</a></p>
</li>
</ul>
<h2 id="heading-community-manager">Community Manager</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/community-manager--1-.jpg" alt="Community Manager Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Community Manager Skills Illustration</em></p>
<p>If you are good with people, can drive conversations in a group, and are good at motivating people, this is for you. Every tech community needs a community manager, and if you are great at communicating with people, this is definitely for you!</p>
<p>A community manager handles communication and serves as the face of the company. They act as the voice, face, and tone of the community. Also, they are responsible for the digital engagement to build the community's presence and trust online and in person. They are the liaison between the community and its users.</p>
<h3 id="heading-community-managers-are-involved-in">Community managers are involved in:</h3>
<ul>
<li><p>Communication</p>
</li>
<li><p>PR (Public Relations)</p>
</li>
<li><p>Social media management</p>
</li>
<li><p>Events</p>
</li>
<li><p>Content creation</p>
</li>
</ul>
<h3 id="heading-tools-used-in-community-management">Tools used in Community Management:</h3>
<ul>
<li><p><a target="_blank" href="https://www.notion.so/">Notion</a></p>
</li>
<li><p><a target="_blank" href="https://trello.com/en">Trello</a></p>
</li>
<li><p><a target="_blank" href="https://www.ahoyconnect.com/">AhoyConnect</a></p>
</li>
<li><p><a target="_blank" href="https://orbitapp.io/">Orbit</a></p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-with-community-management">Here are some resources to get started with Community Management:</h3>
<ul>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=NmdKaNAX0uo&amp;list=PL0P8AylSU5frSxUCe-Pxq9Cq8awvvIqeO">Community Management Masterclass</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/a7U0YWIpHCM">Community Management course for an engaging an audience</a></p>
</li>
<li><p><a target="_blank" href="https://www.facebookblueprint.com/student/path/205897-facebook-community-manager-online-courses">Meta Community Manager Online Courses</a></p>
</li>
</ul>
<h2 id="heading-developer-relations-devrel">Developer Relations (DevRel)</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/pexels-photo-1181263.png" alt="Devrel Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Devrel Illustration</em></p>
<p>If you love marketing, DevRel is a career path for you.</p>
<p>Developer Relations has job responsibilities similar to a Community Manager, Tech Author, Developer Evangelist, Developer Advocate, and sometimes even Growth Hackers and Marketers.</p>
<p>Their prime responsibility revolves around building a positive relationship with the developers on their team. They work between product, engineering, and marketing teams.</p>
<h3 id="heading-to-work-in-the-devrel-tech-space-youll-need-to">To work in the DevRel tech space, you'll need to:</h3>
<ul>
<li><p>Be part of a community</p>
</li>
<li><p>Build a presence in the community</p>
</li>
<li><p>Learn how to interact with the community members</p>
</li>
<li><p>Create content such as blog posts, articles, or videos</p>
</li>
</ul>
<p>There are no specific tools developer advocates use because their roles are similar to other fields, so I will mention some essential tools:</p>
<ul>
<li><p><a target="_blank" href="https://www.notion.so/">Notion</a></p>
</li>
<li><p><a target="_blank" href="https://trello.com/en">Trello</a></p>
</li>
<li><p>Code editor - because they often code as well.</p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-in-developer-relations">Here are some resources to get started in Developer Relations:</h3>
<ul>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=LKvkd7m2wBY">Intro to DevRel</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=CN4Zzdg49VI">A complete guide to DevRel</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=rO3WTfPIM5M">Prototyping your career in Developer Relations</a></p>
</li>
</ul>
<h2 id="heading-technical-writer">Technical Writer</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/5-intro.jpg" alt="Tech Writer Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Tech Writer Skills Illustration</em></p>
<p>This is the best fit for you if you love writing and sharing your knowledge about various tech-related topics.</p>
<p>A technical writer generates innovative ideas for content (or works on assignments) while working as a team. They research products, services, technologies, and concepts and document/explain them clearly and concisely so anyone reading can understand how the product or tool works. A technical skill such as programming is needed to excel in this field.</p>
<h3 id="heading-job-responsibilities-of-a-technical-writer-include">Job responsibilities of a technical writer include:</h3>
<ul>
<li><p>Generating ideas for content and workflow solutions</p>
</li>
<li><p>Meeting with experts to ensure they appropriately cover and understand specialized topics</p>
</li>
<li><p>Analyzing and explaining information about products, tools, policies, form documentation, and procedures.</p>
</li>
<li><p>Also, they review and edit content developed by other team members.</p>
</li>
</ul>
<h3 id="heading-tools-used-by-technical-writers">Tools used by technical writers:</h3>
<ul>
<li><p>Markdown editors such as <a target="_blank" href="https://stackedit.io/">StackEdit</a>, <a target="_blank" href="https://typora.io/">Typora</a>, <a target="_blank" href="https://dillinger.io/">Dillinger</a>, and <a target="_blank" href="https://ia.net/writer">IA</a>.</p>
</li>
<li><p>API Documentation tools such as <a target="_blank" href="https://bump.sh/">Bump</a>, <a target="_blank" href="https://redocly.com/">Redocly</a>, <a target="_blank" href="https://www.postman.com/api-documentation-tool/">Postman</a>, and <a target="_blank" href="https://www.gitbook.com/">GitBook</a>.</p>
</li>
<li><p>Publishing Tools such as <a target="_blank" href="https://document360.com/">Document360</a> and <a target="_blank" href="https://www.adobe.com/products/robohelp.html">Adobe Robohelp</a>.</p>
</li>
<li><p>Editing tools include <a target="_blank" href="https://www.grammarly.com/">Grammarly</a>, <a target="_blank" href="https://www.copy.ai/">Copy.Ai</a>, <a target="_blank" href="https://acrobat.adobe.com/us/en/acrobat.html">Adobe Acrobat</a>, <a target="_blank" href="https://www.dropbox.com/">Dropbox</a>, <a target="_blank" href="https://docs.google.com/">Google Docs</a>, and <a target="_blank" href="https://evernote.com/">Evernote</a>.</p>
</li>
<li><p>Media management tools such as <a target="_blank" href="https://www.snipaste.com/">Snipaste</a>, <a target="_blank" href="https://www.loom.com/">Loom</a>, and <a target="_blank" href="https://www.techsmith.com/video-editor.html">Camtasia</a>.</p>
</li>
</ul>
<p>Note that different organizations use different tools, but those mentioned above are the most common tools for each category.</p>
<h3 id="heading-here-are-some-resources-to-get-started-with-technical-writing">Here are some resources to get started with Technical Writing:</h3>
<ul>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=LTDsgd0ytbE&amp;list=PL9RLbEIB-lv-bRTz14iEK4YSxRzxLQfdx">Technical Writing Course</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=pMXLm18lFks">Tech Writing Workshop</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=biocrCx5T_k&amp;list=PLoynTxuTLXaDtAmzbqdsc7JZMWcIt3nnP">A guide to Technical Writing</a></p>
</li>
<li><p><a target="_blank" href="https://www.freecodecamp.org/news/technical-writing-for-beginners/">Technical Writing for Beginners</a></p>
</li>
</ul>
<h2 id="heading-quality-assurance-testing">Quality Assurance Testing</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/quality-assurance-1.png" alt="QA Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>QA Skills Illustration</em></p>
<p>If you love writing and testing code, this is for you.</p>
<p>Quality Assurance (QA) testers are critical in delivering consumers high-quality, functioning software and web applications. They test and evaluate new and existing programs and help identify and remove bugs, glitches, and other user experience issues.</p>
<h3 id="heading-tools-qa-testers-use">Tools QA Testers use:</h3>
<ul>
<li><p><a target="_blank" href="https://testrigor.com/">TestRigor</a></p>
</li>
<li><p><a target="_blank" href="https://www.testim.io/">Testim</a></p>
</li>
<li><p><a target="_blank" href="https://www.kobiton.com/">Kobiton</a></p>
</li>
<li><p><a target="_blank" href="https://www.kualitee.com/">Kualitee</a></p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-as-a-qa-tester">Here are some resources to get started as a QA Tester:</h3>
<ul>
<li><p><a target="_blank" href="https://www.freecodecamp.org/learn/quality-assurance/">Quality Assurance Certification</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/sO8eGL6SFsA">Software Testing Full Course</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=QJqNYhiHysM">QA Manual Testing Course</a></p>
</li>
</ul>
<h2 id="heading-motion-designer">Motion Designer</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/istockphoto-1190673226-612x612.jpg" alt="Motion Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Motion Skills Illustration</em></p>
<p>If you love CGI, this is for you.</p>
<p>A motion designer creates artwork for the web, television, and films, which include movie clips, trailers, commercials, and so on.</p>
<p>They use special effects called visual effects, animation, and other cinematic techniques to bring life to their created works.</p>
<h3 id="heading-tools-used-in-motion-designing">Tools used in motion designing:</h3>
<ul>
<li><p><a target="_blank" href="https://www.adobe.com/africa/products/aftereffects.html">Adobe After Effects</a></p>
</li>
<li><p><a target="_blank" href="https://www.blender.org/">3D Blender</a></p>
</li>
<li><p><a target="_blank" href="https://www.maxon.net/en/cinema-4d">Cinema4D</a></p>
</li>
<li><p><a target="_blank" href="https://play.google.com/store/apps/details?id=com.paymaya&amp;hl=en&amp;gl=US">Maya</a></p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-as-a-motion-designer">Here are some resources to get started as a Motion Designer:</h3>
<ul>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=5PNotJrwkYY&amp;list=PLWYr0cX0QTLCzRlSioyNG90GgvblR33j7">Motion Graphics Tutorial</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=ZR2n3Gd-SqU">Intro to Motion Design</a></p>
</li>
<li><p><a target="_blank" href="https://www.skillshare.com/browse/motion-design">Motion Design Courses</a></p>
</li>
</ul>
<h2 id="heading-digital-marketing">Digital Marketing</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/DIGITAL-1.jpg" alt="Digital Marketer Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Digital Marketer Skills Illustration</em></p>
<p>If you love selling products online, this is for you!</p>
<p>A digital marketer helps maintain a brand by working on marketing campaigns. It is online marketing because it promotes brands and connects potential users or consumers to the product through the internet.</p>
<p>Digital marketing is another form of digital communication. This is not limited to email, social media, and web-based advertising but also includes text and multimedia messages as a marketing channel for marketing.</p>
<h3 id="heading-digital-marketers-duties-include">Digital marketers' duties include:</h3>
<ul>
<li><p>Creating content to help marketing campaigns</p>
</li>
<li><p>Doing market research</p>
</li>
<li><p>Strategizing with the marketing team</p>
</li>
</ul>
<h3 id="heading-tools-used-for-digital-marketing">Tools used for digital marketing:</h3>
<ul>
<li><p><a target="_blank" href="https://sproutsocial.com/">Sprout Social</a></p>
</li>
<li><p><a target="_blank" href="https://www.loomly.com/">Loomly</a></p>
</li>
<li><p><a target="_blank" href="https://audiense.com/">Audiense</a></p>
</li>
<li><p><a target="_blank" href="https://sendgrid.com/">SendGrid</a></p>
</li>
<li><p><a target="_blank" href="https://ahrefs.com/">Ahrefs</a></p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-as-a-digital-marketer">Here are some resources to get started as a Digital Marketer:</h3>
<ul>
<li><p><a target="_blank" href="https://youtu.be/rchKaSMQ__8">Digital Marketing Tutorial For Beginners</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/hiEb1m7CXH4">Digital Marketing Course in 7 Hours</a></p>
</li>
<li><p><a target="_blank" href="https://www.youtube.com/watch?v=wfOp0lsCXAY&amp;list=PLifnQOsGyOSRMYndHku6pNlLYckbBuOGU">Free Digital Marketing Course</a></p>
</li>
</ul>
<h2 id="heading-mobile-app-developer">Mobile App Developer</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/software-testing.png" alt="Mobile Developer Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Mobile Developer Skills Illustration</em></p>
<p>If you love creating apps, this is for you.</p>
<p>The mobile development tech space is vast, and the tools and technologies you would use would depend on what area you chose to specialize in – Andriod app development and iOS development.</p>
<p>A mobile developer converts code into user-friendly applications. They work with other developers to develop functional mobile applications in a fast-paced environment.</p>
<h3 id="heading-tools-used-for-android-development">Tools used for android development:</h3>
<ul>
<li><p><a target="_blank" href="https://developer.android.com/studio">Android Studio</a></p>
</li>
<li><p><a target="_blank" href="https://www.eclipse.org/downloads/packages/">Eclipse</a></p>
</li>
<li><p><a target="_blank" href="https://instabug.com/">Instabug</a></p>
</li>
</ul>
<h3 id="heading-tools-used-for-ios-development">Tools used for iOS development:</h3>
<ul>
<li><p><a target="_blank" href="https://developer.apple.com/xcode/">Xcode</a> or <a target="_blank" href="https://www.jetbrains.com/objc/">App code</a></p>
</li>
<li><p><a target="_blank" href="https://apps.apple.com/us/app/transporter/id1450874784?mt=12">Transporter</a></p>
</li>
<li><p><a target="_blank" href="https://cocoapods.org/pods/Fabric">Fabric</a></p>
</li>
</ul>
<h3 id="heading-some-key-responsibilities-of-app-developers">Some key responsibilities of app developers:</h3>
<ul>
<li><p>Design the application,</p>
</li>
<li><p>Test the application,</p>
</li>
<li><p>Release the application</p>
</li>
<li><p>Support the application.</p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-as-a-mobile-developer">Here are some resources to get started as a mobile developer:</h3>
<ul>
<li><p><a target="_blank" href="https://youtu.be/fis26HvvDII">Android Development for Beginners - Full Course</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/09TeUXjzpKs">iOS Development Tutorial For Beginners</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/VPvVD8t02U8">Flutter Course for Beginners</a></p>
</li>
</ul>
<h2 id="heading-devops">DevOps</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/7602.1513404277.png" alt="DevOps Skills Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>DevOps Skills Illustration</em></p>
<p>This is for you if you love working with infrastructure and cloud technologies.</p>
<p>A DevOps engineer works directly with developers and IT staff to supervise the release of code and brainstorm ideas for engineering and coding.</p>
<p>Their responsibilities include:</p>
<ul>
<li><p>Implementing automation tools and frameworks for automatic code deployment,</p>
</li>
<li><p>Quality control and management of the code base,</p>
</li>
<li><p>Designing procedures for system troubleshooting and maintenance and</p>
</li>
<li><p>Writing scripts for service quality analysis, monitoring, and operation.</p>
</li>
</ul>
<h3 id="heading-skills-you-need-as-a-devops-engineer">Skills you need as a DevOps engineer:</h3>
<ul>
<li><p><a target="_blank" href="https://www.linux.org/">Linux</a></p>
</li>
<li><p>Basic knowledge of <a target="_blank" href="https://www.python.org/">Python</a> programming language</p>
</li>
<li><p>Knowledge of cloud platforms.</p>
</li>
</ul>
<h3 id="heading-tools-used-as-a-devops-engineer">Tools used as a DevOps engineer:</h3>
<ul>
<li><p>Build tools such as <a target="_blank" href="https://gradle.org/">Gradle</a> and <a target="_blank" href="https://www.apache.org/">Apache</a>.</p>
</li>
<li><p>Package managers such as <a target="_blank" href="https://www.npmjs.com/">Npm</a> and <a target="_blank" href="https://maven.apache.org/">Mache</a></p>
</li>
<li><p>CI/CD tools such as <a target="_blank" href="https://www.jenkins.io/">Jenkins</a>.</p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-as-a-devops-engineer">Here are some resources to get started as a DevOps engineer:</h3>
<ul>
<li><p><a target="_blank" href="https://youtu.be/hQcFE0RD0cQ">DevOps Tutorial for Beginners</a></p>
</li>
<li><p><a target="_blank" href="https://docs.microsoft.com/en-us/learn/certifications/azure-fundamentals/">Microsoft Certified: Azure Fundamentals</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/j5Zsa_eOXeY">DevOps Engineering Course for Beginners</a></p>
</li>
</ul>
<h2 id="heading-game-development">Game Development</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/07/image-blog-vcs-cross-platform-game-dev.jpg" alt="Game Design Ilustration" width="600" height="400" loading="lazy"></p>
<p><em>Game Design Illustration</em></p>
<p>If you love games, this is a tech path for you.</p>
<p>Game designers translate design ideas into a functional game code. They create web games, mobile games, and iOS games.</p>
<p>Their responsibilities include:</p>
<ul>
<li><p>Coding the base engine of the game,</p>
</li>
<li><p>Generating game scripts and storyboards,</p>
</li>
<li><p>"Polishing" the game, maintaining the code, fixing bugs, and ironing out reoccurring problems</p>
</li>
<li><p>Contributing to audio and animation design, and</p>
</li>
<li><p>Creating game specifications and designing expansion packs.</p>
</li>
</ul>
<h3 id="heading-tools-used-as-a-game-developer">Tools used as a game developer:</h3>
<ul>
<li><p><a target="_blank" href="https://blog.sagipl.com/game-development-tools/#GameFroot">GameFroot</a></p>
</li>
<li><p><a target="_blank" href="https://blog.sagipl.com/game-development-tools/#Flowlab">Flowlab</a></p>
</li>
<li><p><a target="_blank" href="https://blog.sagipl.com/game-development-tools/#Sploder">Splender</a></p>
</li>
<li><p><a target="_blank" href="https://blog.sagipl.com/game-development-tools/#Construct_2">Construct</a></p>
</li>
</ul>
<h3 id="heading-here-are-some-resources-to-get-started-in-game-development">Here are some resources to get started in game development:</h3>
<ul>
<li><p><a target="_blank" href="https://youtu.be/gB1F9G0JXOo">Learn Unity - Beginner's Game Development Tutorial</a></p>
</li>
<li><p><a target="_blank" href="https://youtu.be/G8AT01tuyrk">Basic Principles of Game Design</a></p>
</li>
<li><p><a target="_blank" href="https://www.udemy.com/course/introduction-to-game-development-with-unity/">Introduction to Game Development with Unity</a></p>
</li>
</ul>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Now that you have different options to get started in the world of tech, I hope you become less confused.</p>
<p>Choose a path and get started – the tech space is vast, so roles are constantly opening up. Don't fret because learning can be challenging. And remember – even senior techies suffer imposter syndrome.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Technology Trends in 2022 – Keeping Up [Full Book for Managers] ]]>
                </title>
                <description>
                    <![CDATA[ This post is based on my recently published book, Keeping Up, a quick and accessible guide to the current state of the tech industry and the big trends you can't afford to ignore.  In it, we'll cover everything from digital security, privacy, serverl... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/technology-trends-in-2022-keeping-up-full-book-for-managers/</link>
                <guid isPermaLink="false">66b9964255f17e3ddda0e863</guid>
                
                    <category>
                        <![CDATA[ management ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technology ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ David Clinton ]]>
                </dc:creator>
                <pubDate>Wed, 11 May 2022 23:06:08 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/06/Technology-Trends-in-2022-Book-Cover-1.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>This post is based on my recently published book, <em>Keeping Up</em>, a quick and accessible guide to the current state of the tech industry and the big trends you can't afford to ignore. </p>
<p>In it, we'll cover everything from digital security, privacy, serverless platforms, the internet of things (IoT), technology research, and much more at a high level.</p>
<p>If you're a manager or decision maker at your company, someone who is plotting your career or educational trajectory, or just a curious person, then this book is for you.</p>
<p><a target="_blank" href="https://www.amazon.com/Keeping-Up-backgrounders-technology-trends/dp/B08HGLPZMP">Here's a link to the physical book</a> if you'd like to grab a copy.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ul>
<li><a class="post-section-overview" href="#heading-chapter-1-understanding-digital-security">Chapter 1: Understanding Digital Security</a></li>
<li><a class="post-section-overview" href="#heading-chapter-2-understanding-digital-privacy">Chapter 2: Understanding Digital Privacy</a></li>
<li><a class="post-section-overview" href="#heading-chapter-3-understanding-the-cloud">Chapter 3: Understanding the Cloud</a></li>
<li><a class="post-section-overview" href="#heading-chapter-4-understanding-digital-connectivity">Chapter 4: Understanding Digital Connectivity</a></li>
<li><a class="post-section-overview" href="#heading-chapter-5-understanding-the-business-of-technology-research">Chapter 5: Understanding the Business of Technology Research</a></li>
<li><a class="post-section-overview" href="#heading-chapter-6-where-hot-trends-go-to-die">Chapter 6: Where Hot Trends Go to Die</a></li>
<li><a class="post-section-overview" href="#heading-chapter-7-compute-platforms">Chapter 7: Compute Platforms</a></li>
<li><a class="post-section-overview" href="#heading-chapter-8-security-and-privacy">Chapter 8: Security and Privacy</a></li>
</ul>
<h2 id="heading-chapter-1-understanding-digital-security">Chapter 1: Understanding Digital Security</h2>
<p>Whatever your connection to technology, security should play a prominent role in the way you think and act.</p>
<p>Technology, after all, amplifies the impact of everything we do with it. The things we say and write using communication technologies can be read and heard by many, many more people than would be possible without. The ability to conveniently connect with people and collaborate on projects of all kinds is much greater.</p>
<p>The tasks we can perform are, through the magic of automation, almost limitless. The scope of information we can instantly access through the simplest and least expensive devices towers far beyond anything the greatest scholars could have hoped to see in a lifetime just a few decades ago.</p>
<p>All that means that criminals and other individuals unconstrained by moral conscience will have yet more powerful tools to compromise the data you create and consume, and steal or damage the property you acquire. So you've got a strong interest in learning how to protect yourself, your property, and that of the people and organizations around you.</p>
<p>This chapter will present a brief overview of what's at stake in the technology security domain. We'll define the kinds of threats we face and discuss the key tools at our disposable for pushing back against those threats.</p>
<p>If you're interested in digging deeper into the topic, my LPI Security Essentials book is entirely devoted to giving you the full picture.</p>
<h3 id="heading-hacking-whats-hacking">Hacking? What's Hacking?</h3>
<p>Defining computer hacking in a way that doesn't anger someone, somewhere, is like talking about politics at work. Be prepared for long, awkward silences and possibly violence.</p>
<p>You see, purists might insist that the term hacking should apply exclusively to individuals focused on forcibly re-purposing computer hardware for non-standard purposes. Others reserve the title for people who bypass authentication controls to break into networks for criminal or political purposes. And how about those who wear the title as a sign of their practical expertise in all things IT? (And then, of course, there are crackers.)</p>
<p>But this is my book, so I'm going to use the term any way I want.</p>
<p>I therefore decree that hacking is all about plans the <em>bad guys</em> have for <em>your</em> digital devices. Specifically, their plans to get in without authorization, get out without being noticed, and (sometimes) take your stuff with them when they leave.</p>
<p>Using the term this way gives us a useful way to organize a discussion of some common and particularly scary threats.</p>
<h4 id="heading-how-hackers-get-in">How Hackers Get In</h4>
<p>The trick is to find a way through your defences (like passwords, firewalls, and physical barriers). In most cases, passwords probably provide the weakest protection:</p>
<ul>
<li>Passwords are often short, use a narrow range of characters, and are easy to guess.</li>
<li>If a device came with a simple factory default password (like "admin" or "1234") just meant to get you in for the first time, then the odds are pretty good that many users will never get around to trading it in for something better.</li>
<li>Even strong passwords can be stolen by deceptive phishing email scams ("Click here to login to your bank account..."); social engineering ("Hi, it's Ed from IT. We're having some trouble with your corporate account. Would you mind telling me your password over the phone so I can quickly fix it?"); and keyboard tracking software.</li>
</ul>
<p>We'll talk more about firewalls later in this chapter. And physical barriers? I think you already know what a locked door looks like. But it's probably worth spending a few moments thinking about other kinds of digital attack.</p>
<p>The big prize is usually getting to your data and making off with copies. But for some, simply destroying the originals can be just as satisfying.</p>
<p>Of course, logging into your devices using stolen passwords is the most straightforward approach. But access can also be achieved by intercepting your data as it travels across an insecure network.</p>
<p>One approach that's commonly used here is known as a man-in-the-middle attack, where data packets can be intercepted in transit and altered without authorized users at either end knowing anything's wrong.</p>
<p>Properly encrypting your network connections (and avoiding unsafe public networks altogether) is an effective protection against this kind of threat. We'll talk more about encryption a bit later.</p>
<p>If the hardware you're using has an undocumented "back door" built in, then you're pretty much toast whatever you do. We'll talk more about back doors later in the book.</p>
<p>But for now, I'll just note that there have been no shortage of factory-supplied laptops, rack servers, and even high-end networking equipment that's been intentionally designed to include serious access vulnerabilities. Be very careful where you purchase your compute devices.</p>
<p>If the attackers find a way into your physical building (sometimes posing as employees of a delivery company), they could quietly plug a tiny listening device into on unused ethernet jack on your network. That'll give them a nice platform to watch and even influence all your activities from the inside.</p>
<p>Protecting your physical infrastructure and carefully monitoring network activity is your best hope against that kind of intrusion.</p>
<p>Even if your home or office is all fortressed up, there's no guarantee that data moving around on mobile devices (like smartphones or laptops) won't find its way into the wrong hands.</p>
<p>And even if you've been careful to use only the best passwords for those devices, the data drives themselves can still be easily mounted as external partitions on a thief's own machine. Once mounted, your files and account information will now be wide open.</p>
<p>The only way to protect your mobile devices from this kind of threat is to encrypt the entire drive using a strong passphrase.</p>
<h4 id="heading-what-hackers-are-after">What Hackers Are After</h4>
<p>Now that entire economies are run on computers directly connected to public networks, there's money and value to be had through well-planned corporate, academic, or political espionage efforts... and through old fashioned, traditional theft.</p>
<p>Whether the goal is building up a military or commercial competitive advantage, completely destroying the competition, or just getting your hands on "free" money, illegally accessing other people's data has never been easier.</p>
<p>So what are hackers likely to be after?</p>
<p>All the important financial and other sensitive information you'd prefer they didn't have. Including, it should be noted, the kind of information you use to identify yourself to banks, credit card companies, and government agencies.</p>
<p>Once the bad guys have got important data points like your birth date, home address, government-issued ID numbers, and some basic banking details, it's usually not hard to present themselves as though they're you, completely taking over your identity in the process.</p>
<p>Digital attacks can also be used as blackmail to force victims to pay to undo the damage they've done.</p>
<p>That's the objective of most <em>ransomware</em> attacks, where hackers encrypt all the data on a victim's computers and refuse to send the decryption keys needed to restore your rightful access unless you send them lots of money. Such attacks have already effectively brought down critical infrastructure like the IT systems powering hospitals and cities.</p>
<p>The very best defence against ransomware is to have full and tested backups of your critical data and a reliable system for quickly restoring it to your hardware. That way, if you're ever hit with a ransomware attack, you can simply wipe out your existing software and replace it with fresh copies, populated with your backed up data.</p>
<p>But you should also beef up your general security settings to make it harder for ransomware hackers to get into your system in the first place.</p>
<p>When their primary goal is to prevent you or your organization from going about its business, hackers can remain at a safe distance and launch a distributed denial of service (DDoS) attack against your web infrastructure.</p>
<p>Historical DDoS attacks have used massive swarms of thousands of illegally hijacked network-connected devices to transmit crippling numbers of requests against a single target service. When large enough, DDoS attacks have managed to bring down even huge enterprise-scale companies using sophisticated defences for hours at a time.</p>
<p>The site hosting one of my favorite online open source collections was hit hard more than a year ago and still hasn't fully recovered.</p>
<h3 id="heading-what-is-encryption">What Is Encryption?</h3>
<p>If your data is unreadable, there's a lot less bad stuff that unauthorized individuals will be able to do with it. But if it's unreadable, there's probably not a whole lot you'll be able to do with it either.</p>
<p>Wouldn't it be nice if there was some way to present your data as unreadable in every scenario except where there's a legitimate reason?</p>
<p>Well waddaya know? There is, and it's called data encryption.</p>
<h4 id="heading-encrypting-data-in-transit">Encrypting Data in Transit</h4>
<p>Encryption algorithms encode information in a way that makes it hard, or even impossible, to be read.</p>
<p>A simple (and ancient) example is symbol replacement, where every letter "a" in a message would be replaced with, say, the letter three positions on in the alphabet (which would be "d"). Every "b" would become "e" and so on. "Hello world" would be "khoor zruog". Then people who come across your encoded message would be unable to understand it at a glance.</p>
<p>Of course, it wouldn't take long for a modern computer (or even a smart 8-year-old) to decode that one.</p>
<p>But some very clever cryptologists have been working hard over most of the past century to produce much more effective algorithms.</p>
<p>There are some significant variations of modern cryptography. But the general idea is that people can apply an encryption algorithm to their data and safely transmit the encrypted copy over insecure networks. Then the recipient can apply a decryption key of some sort to the data, restoring the original version.</p>
<p>Encryption is now widely available for many common activities, including sending and receiving emails. You can similarly ensure that the data you request from a website is the same data that's eventually displayed in your browser by checking the lock icon in your browser's address bar. The icon confirms that the website server employs Transport Layer Security (TLS) encryption.</p>
<p>Over the past few years, the Let's Encrypt project (<a target="_blank" href="https://letsencrypt.org/">letsencrypt.org</a>) has encouraged millions of new websites to use encryption by provided free encryption certificates and simple-to-use tools to help server administrators install them.</p>
<h4 id="heading-encrypting-data-at-rest">Encrypting Data at Rest</h4>
<p>TLS will protect your data when it's out and about, but what'll keep it safe even when it's relaxing in its comfy storage disk? File and drive encryption, that's what. </p>
<p>All operating systems now offer integrated software for encrypting all or part of a storage disk either at installation time or later. Each time you power up an encrypted disk, you'll be prompted to enter the passphrase you created when you enabled encryption.</p>
<p>The thing is that if you forget your passphrase, you're pretty much permanently locked out of your system and the data is as good as gone forever.</p>
<p>But if you <em>don't</em> encrypt your system then, as we noted earlier, anyone who steals the hardware will have easy and instance access to your private information.</p>
<p>It's a tough world out there, isn't it?</p>
<h3 id="heading-what-does-a-firewall-do">What Does a Firewall Do?</h3>
<p>You can think of a firewall as a filter.</p>
<p>Just like, say, a water filter is able to block certain impurities, allowing only clean water through, a firewall can inspect every packet of data coming into or leaving your infrastructure, blocking access where appropriate.</p>
<p>Besides not needing to be replaced every few weeks, the big advantage of a firewall over a water filter is that it can be closely configured to permit and refuse entry to exactly match your security and functional needs, and then updated later should your needs change.</p>
<h4 id="heading-hardware-firewalls">Hardware Firewalls</h4>
<p>A hardware firewall is a purpose-built physical networking device that's commonly used within enterprise environments.</p>
<p>Such firewalls are installed at the edge of a private network and set to block potentially dangerous incoming traffic, redirect other traffic to remote destinations, or permit traffic to access thousands of hosts within the local network.</p>
<p>Hardware firewalls are sold by specialized companies like Cisco and Juniper, and also general equipment manufacturers like HP and Dell.</p>
<p>Firewalling appliances tend to be very expensive, often costing many thousands of dollars. They're normally only deployed to manage enterprise infrastructure.</p>
<h4 id="heading-software-firewalls">Software Firewalls</h4>
<p>A software firewall is an application that runs on a regular PC that can perform just about any function that you'd otherwise expect from a hardware firewall.</p>
<p>There are two important differences:</p>
<ul>
<li>Firewall software (like the Linux iptables utility) is often free and, while complicated, enjoys the benefits of vast documentation resources. The software can also be installed any old PC that's just lying around, reducing your overall cost to nearly nothing.</li>
<li>You won't want to use such a firewall within a busy business environment however, since a regular PC probably won't have the compute power necessary to manage high volumes of network traffic. Nor, in most such cases, will it be reliable enough to provide mission-critical services 24/7.</li>
</ul>
<p>There's another flavor of software firewall that's used as part of consumer-grade operating systems. Such firewalls allow you to better secure your OS by setting rules for what kind of activities you want to allow. These can be especially useful for mobile devices that frequently move from network to network.</p>
<p>Cloud computing platforms - like Amazon Web Services (AWS) and Microsoft's Azure - provide a firewall-like technology for use with the resources you might deploy within their systems. Firewall policies might exist in objects with names like "security group" or "access control list" that can be applied to whichever resource requires them.</p>
<h3 id="heading-who-does-security-best">Who Does Security Best?</h3>
<p>In the not too distant past, you would often hear IT professionals swearing they would never run their IT operations on infrastructure they didn't physically control.</p>
<p>This was common when referring to outsourcing to third party, offsite companies or to cloud computing platforms.</p>
<p>Whether it was because those administrators didn't trust the reliability and security of compute infrastructure run by strangers, or because regulatory restrictions required that sensitive workloads remained local, the sentiment was widely shared. And it made sense.</p>
<p>But the past is a foreign country. Today, it can be forcefully argued, the most secure and reliable environments can be found in the biggest public cloud providers.</p>
<p>Why? They've got the money and incentive to hire the very best engineers, and the money and incentive to build the very best infrastructure.</p>
<p>Beyond that, cloud providers maintain data centers in political jurisdictions around the world, and go to great lengths to ensure their deployments comply with industry and government standards.</p>
<p>Let me illustrate. Remember the DDoS threat we discussed a bit earlier in the chapter?</p>
<p>Well, back in the summer of 2020, an unnamed organization deploying resources on <a target="_blank" href="https://www.zdnet.com/article/aws-said-it-mitigated-a-2-3-tbps-ddos-attack-the-largest-ever">AWS was hit with a DDoS attack peaking at 2.3 Tbps</a>. That is, each and every second, requests hit that organization's public-facing service with 2.3 terabytes of data.</p>
<p>What does "2.3 terabytes" actually mean?</p>
<p>Well, a megabyte is (approximately) one million bytes of information (a PDF version of this book would probably take up six megabytes or so). A gigabyte is one thousand million bytes of information. A terabyte is one thousand thousand million bytes of information.</p>
<p>That would be the equivalent of around 165,000 PDF books. 2.3 terabytes would be the rough equivalent of 380,000 PDF books.</p>
<p>Now try to imagine all the text characters used to fill 380,000 PDF books being thrown at a web service <em>each second.</em></p>
<p>Got that image in your mind?</p>
<p>Now here's what happened to that web service: Nothing. It just carried on working as though it hadn't a care in the world.</p>
<p>How on earth is that even possible?</p>
<p>Amazon's AWS Shield service simply mitigated the attack. The customer didn't have to do a thing.</p>
<p><em>That</em> is why moving your workloads to the public cloud doesn't necessarily involve compromising your standards.</p>
<h2 id="heading-chapter-2-understanding-digital-privacy">Chapter 2: Understanding Digital Privacy</h2>
<p>Public service warning: you might find this chapter a wee bit depressing. If you'd prefer some cheering up right now, perhaps skip to "Understanding the Cloud."</p>
<p>For all the many benefits we enjoy from technology - and particularly the technologies that make up the public internet - there are clearly plenty of costs, too. Figuring out how you want to balance the benefits against the costs can take some careful thinking.</p>
<p>Here's a concise and effective way to describe the equation (whose source I've sadly forgotten):</p>
<blockquote>
<p>"Select any two of privacy, security, and convenience. But you can't have all three."</p>
</blockquote>
<p>In other words, if security is a critical value for you, then you'll need to give up on 24/7 instant access to your money, credit, and personal accounts. That's because that kind of access requires exposing your accounts across public networks at a level that won't permit as much data protection as you might want.</p>
<p>Similarly, what if you just can't live without the convenience of getting news updates and social connectivity through sites belonging to third party businesses that collect and use your personal information? Well, you'll need to "pay for it" by giving up a measure of your privacy.</p>
<p>Of course, most of us will choose some blend of those three elements based on a practical compromise between competing values and needs.</p>
<p>But making a reasonable decision on that blend will require solid information. That's what you'll find through the rest of this chapter.</p>
<h3 id="heading-how-companies-get-your-data">How Companies Get Your Data</h3>
<p>Curious about what kinds of personal and even private data you may be exposing through the course of a normal day on the internet?</p>
<p>The answer is "all kinds".</p>
<p>Perhaps the best way to understand the scope and nature of the problem is to break it down by platform.</p>
<h4 id="heading-financial-transactions">Financial Transactions</h4>
<p>Take a moment to visualize what's involved in a simple online credit card transaction.</p>
<p>You probably signed into the merchant's website using your email address as an account identifier and a (hopefully) unique password.</p>
<p>After browsing a few pages, you'll add one or more more items to the site's virtual shopping cart. When you've got everything you need, you'll begin the checkout process, entering shipping information, including a street address and your phone number. You might also enter the account number of the loyalty card the merchant sent you and a coupon code you received in an email marketing message.</p>
<p>Of course, the key step involves entering your payment information which, for a credit card, will probably include the card owner's name and address, and the card's number, expiry date, and a security code.</p>
<p>Assuming the merchant infrastructure is compliant with Payment Card Industry Data Security Standard (PCI-DSS) protocols for handling financial information, then it's relatively unlikely that this information will be stolen and sold by criminals.</p>
<p>But either way, it will still exist within the merchant's own database.</p>
<p>To flesh all this out a bit, understand that using your loyalty card account and coupon code can communicate a lot of information about your shopping and lifestyle preferences, along with records of some of your previous activities.</p>
<p>Your account on the site also includes your contact information, and your home location.</p>
<p>All of that information can, at least in theory, be stitched together to create a robust profile of you as a consumer and citizen.</p>
<p>It's for these reasons that I personally prefer using third-party e-commerce payment systems like PayPal because such transactions leave no record of my specific payment method on the merchant's own databases.</p>
<h4 id="heading-devices">Devices</h4>
<p>Modern operating systems are built from the ground up to connect to the internet in multiple ways.</p>
<p>They'll often automatically query online software repositories for patches and updates and "ask" for remote help when something goes wrong. Some performance diagnostics data is sent and stored online, where it can contribute to statistical analysis or bug diagnosis and fixes.</p>
<p>Individual software packages might connect to remote servers independently of the OS to get their own things done.</p>
<p>All that's fine.</p>
<p>Except, you might have a hard time being sure whether <em>all</em> the data coming and going between your device and the internet is stuff you're OK sharing.</p>
<p>Can you know that private files and personal information aren't being swept in with all the other data? And are you confident that none of your data will ever accidentally find its way into some unexpected application lying beyond your control?</p>
<p>To illustrate the problem, I'd refer you to devices powered by digital assistants like Amazon's Alexa (figure 2.1) and the Google Assistant ("OK Google").</p>
<p>Since, by definition, the microphones used by digital assistants are constantly listening for their key word ("Alexa..."), everything anyone says within range of the device is registered.</p>
<p>At least some of those conversations are also recorded and stored online and, as it turns out, some of <em>those</em> have eventually been heard by human beings working for the vendor.</p>
<p>In at least one case, an inadvertently-recorded conversation was used to convict a murder suspect.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/05/figure-2-1.jpg" alt="Figure 2.1: A device with Amazon's Alexa digital assistant." width="600" height="400" loading="lazy">
<em>Figure 2.1: A device with Amazon's Alexa digital assistant.</em></p>
<p>Amazon, Google, and other players in this space are aware of the issue and are trying to address it. But it's unlikely they'll ever fully solve it.</p>
<p>Remember, convenience, security, and privacy don't work well together.</p>
<p>Now if you think the information from computers and tablets that can be tracked and recorded is creepy, wait 'till you hear about thermostats and light bulbs.</p>
<p>As more and more household appliances and tools are adopted as part of "smart home" systems, more and more streams of performance data will be generated alongside them.</p>
<p>And, as has already been demonstrated in multiple real-world applications, all that data can be programmatically interpreted to reveal significant information about what's going on in a home and who's doing it.</p>
<h4 id="heading-mobile-devices">Mobile Devices</h4>
<p>Have you ever stopped in the middle of a journey, pulled out your smartphone, and checked a digital map for directions?</p>
<p>Of course you have.</p>
<p>Well the map application is using your current location information and sending you valuable information but, at the same time, you're sending some equally valuable information back.</p>
<p>What kind of information might that be?</p>
<p>I once read about a mischievous fellow in Germany who borrowed a few dozen smartphones, loaded them up on a kids' wagon, and slowly pulled the wagon down the middle of an empty city street. It wasn't long before Google Maps was reporting a serious traffic jam where there wasn't one.</p>
<p>How does the Google Maps app know more about your local traffic conditions than you do?</p>
<p>One important class of data that feeds their system is obtained through constant monitoring of the location, velocity, and direction of movement of every active Android phone they can reach - including your Android phone.</p>
<p>I, for one, appreciate this service and I don't much mind the way my data is used. But I'm also aware that, one day, that data might be used in ways that sharply conflict with my interests. Call it a calculated risk.</p>
<p>Of course, it's not just GPS-based movement information that Google and Apple - the creators of the two most popular mobile operating systems - are getting. They, along with a few other industry players, are also handling the records of all of our search engine activity and the data returned by exercise and health monitoring applications.</p>
<p>In other words, should they decide to, many tech companies could effortlessly compile profiles describing our precise movements, plans, and health status. And from there, it's not a huge leap to imagine the owners of such data predicting what we're likely to do in the coming weeks and months.</p>
<h4 id="heading-web-browsers">Web Browsers</h4>
<p>Most of us use web browsers for most of our daily interactions with the internet. And, all things considered, web browsers are pretty miraculous creations, often acting as an impossibly powerful concierge, bringing us all the riches of humanity without even breaking into a sweat.</p>
<p>But, as I'm sure you can already anticipate, all that power comes with a trade-off.</p>
<p>For just a taste of the information your browser freely shares about you, take a look at the Google Analytics page shown in figure 2.2. This dashboard displays a visual summary describing all the visits to my own bootstrap-it.com site over the previous seven days. I can see:</p>
<ul>
<li>Where in the world my visitors are from</li>
<li>When during the day they tend to visit</li>
<li>How long they spent on my site</li>
<li>Which pages they visit</li>
<li>Which site they left before coming to my site</li>
<li>How many visitors make repeat visits</li>
<li>What operating systems they're running</li>
<li>What device form factor they're using (i.e., desktop, smartphone, or tablet)</li>
<li>The demographic cohorts they belong to (genders, age groups, income groups)</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/05/figure-2-2.png" alt="Figure 2.2: The home dashboard of a Google Analytics page displaying visualizations of visitors to a website." width="600" height="400" loading="lazy">
<em>Figure 2.2: The home dashboard of a Google Analytics page displaying visualizations of visitors to a website.</em></p>
<p>Besides all that, a web server's own logs can report detailed information, in particular, the specific IP address and precise time associated with each visitor. </p>
<p>What this means is that, whenever your browser connects to my website (or any other website), it's giving my web server an awful lot of information. Google just collects it and presents it to me in a fancy, easy-to-digest format.</p>
<p>By the way, I'm fully aware that, by having Google collect all this information about my website's users, I'm part of the problem. And, for the record, I do feel a bit guilty about it.</p>
<p>In addition, web servers are able to "watch" what you're doing in real time and "remember" what you did on your last visit.</p>
<p>To explain, have you ever noticed how on some sites, right before you click to leave the page a "Wait! Before you go!" message pops up? Servers can track your mouse movements and, when they get "too close" to closing the tab or moving to a different tab, they'll display that popup.</p>
<p>Similarly, many sites save small packets of data on your computer called "cookies." Such a cookie could contain session information that might include the previous contents of a shopping cart or even your authentication status. The goal is to provide a convenient and consistent experience across multiple visits. But such tools can be misused.</p>
<p>Finally, like operating systems, browsers will also silently communicate with the vendor that provides them. Getting usage feedback can help providers stay up to date on security and performance problems. But independent tests have shown that, in many cases, far more data is heading back "home" that would seem appropriate.</p>
<h4 id="heading-website-interaction">Website Interaction</h4>
<p>Although some of this might be covered by previous sections in the chapter, I should highlight at least a couple of particularly relevant issues. Like, for instance, the fact that websites love getting you to sign up for extra value services.</p>
<p>The newsletters and product updates that they'll send you might we be perfectly legitimate and, indeed, provide great value. But they're still coming in exchange for some of your private contact information.</p>
<p>As long as you're aware of that, I've done my job.</p>
<p>A perfect example is the data you contribute to social media platforms like Twitter, Facebook, and LinkedIn.</p>
<p>You may think you're just communicating with your connections and followers, but it actually goes much further than that.</p>
<p>Take a marvellous - and scary - piece of software called Recon-ng that's used by network security professionals to test for an organization's digital vulnerability. Once you've configured it with some basics about your organization, Recon-ng will head out to the internet and search for any publicly available information that could be used to penetrate your defences or cause you harm.</p>
<p>For instance, are you sure outsiders can't possibly know enough about the software environment your developers work with to do you any damage?</p>
<p>Well perhaps you should take a look at the "qualifications" section from some of those job ads you posted on LinkedIn. Or how about questions (or answers) your developers might have posted to Stack Overflow?</p>
<p>Every post tells a story, and there's no shortage of clever people out there who love reading stories.</p>
<p>Software like Recon-ng can help you identify potential threats, but that only underlines your responsibility to avoid leaving your data out there in public in the first place.</p>
<p>The bottom line? Smile. You're being watched.</p>
<h3 id="heading-why-companies-want-your-data">Why Companies Want Your Data</h3>
<p>Data is money. Some of the biggest and most successful tech companies of the past decade or two made their billions from data. Generally, that'd be from your data.</p>
<p>Of course, the value doesn't all move in one direction.</p>
<p>Big tech companies do, as a rule, provide useful services. Health tracking apps do track and report on your health. Social media companies do (on rare occasion) provide for healthy social interactions. And historical performance data does sometimes help improve customer and technical service.</p>
<p>But businesses exist to generate revenue and, as a rule, the more data they own, the more revenue it can generate.</p>
<p>The more potential customers there are who provide their email and social media account coordinates, the easier it'll be to connect to them with new offers. And the easier it would be for other companies working in overlapping industries to connect to a business's customers as well. The incentive for you to sell your contact list to an interested third party is obvious.</p>
<p>Naturally, legal restrictions and user agreements can sometimes stop such sales of data sets. But not every use-case is necessarily covered by such laws, and not every company is necessarily bound by a strong desire to follow the law.</p>
<p>A delicious case in point would be Canada's Do Not Call list from all the way back in 2004. The law prevented telemarketers from contacting anyone who had adding themselves to the national list. The law required all telemarketers to remove all entries from the list from their own call lists.</p>
<p>The problem was that spammers happily downloaded the Do Not Call lists and, confident that they represented confirmed active accounts, called those specifically. The only law that was effective in this case was the <em>law of unintended consequences</em>.</p>
<p>Your data can also be useful for personalizing the results you get from search engine queries. Of course, you might sometimes enjoy seeing results relating to previous browsing behavior, but don't lose sight of the fact that your behavior is being used as part of a campaign to sell you stuff.</p>
<p>It's not only search engines: smartphone browsing histories are sometimes used by nearby businesses to push customized ads in your direction - sometimes even through automated digital displays on physical billboards and other signage.</p>
<p>Perhaps the biggest value your data can offer is when it's aggregated along with data generated by thousands or millions of other users. Data scientists can stream and parse huge, dynamic data sets to extract significant insights about subtle but significant trends. In many cases, such data is sanitized to remove any personally identifiable information (PII).</p>
<p>We can nicely sum up the 21st Century web application business model with this popular - and accurate - expression:</p>
<blockquote>
<p>"If you're not paying for the product, you are the product."</p>
</blockquote>
<h3 id="heading-how-to-protect-your-data">How to Protect Your Data</h3>
<p>All that sounds pretty bleak. After all, George Orwell's 1984 was meant to be a warning, not a how-to guide.</p>
<p>What can you do to push back?</p>
<p><strong>Be aware of your environment.</strong></p>
<p>Do you still even notice those terms of service disclosures you "click to sign" before they'll let you use some service or tool?</p>
<p>Some of those disclosures are as long as this chapter - and, if I may say so myself, a whole lot less fun. But the fact is that they contain information that can have a profound impact on both you and your data.</p>
<p>Many agreements describe what data they're likely to collect and what they're planning to do with it. They'll often also offer assurances that they'll never sell your data to third parties - an assurance that they might sometimes even honor in both the letter and the spirit of the law (although there have been famous cases of companies that did neither).</p>
<p>I've never met anyone who has the time and energy to read through those endless disclosures from end to end. But if an organization pays a bunch of lawyers to write something, you can bet it's a serious business.</p>
<p><strong>Be aware of your rights.</strong></p>
<p>Beyond your specific agreement with a technology service provider, the use of your data might be regulated by government legislation.</p>
<p>One example is the European Union's General Data Protection Regulation (GDPR), which controls how organizations must treat any personal data they encounter in the course of their operations.</p>
<p>Another example is the US government's Health Insurance Portability and Accountability Act (HIPAA), which regulates the handling of private information in the health insurance and healthcare industries.</p>
<p><strong>Be aware of your alternatives.</strong></p>
<p>Consider adopting privacy-first tools instead of the more heavily commercial services you're using now. </p>
<p>For instance, the DuckDuckGo.com search engine, whose home page is shown in figure 2.3, doesn't track your search behavior and will return the same results to a particular query for you as for anyone else.</p>
<p>They are a for-profit business, but they earn much of their income through affiliate links that pay them a commission for sales generated through search links - none of which has any impact on your privacy.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/05/figure-2-3.png" alt="Figure 2.3: The DuckDuckGo.com home page." width="600" height="400" loading="lazy">
<em>Figure 2.3</em></p>
<p>The Brave browser, as another example, has been shown to send far less undocumented data out to the internet than any other major browser.</p>
<p>To be specific, in early 2020, Douglas Leith of the School of Computer Science &amp; Statistics, Trinity College Dublin, tested six browsers for their risks of revealing unique identifying information about their host computers (<a target="_blank" href="https://www.scss.tcd.ie/Doug.Leith/pubs/browser_privacy.pdf">scss.tcd.ie/Doug.Leith/pubs/browser_privacy.pdf</a>). He found that Brave clearly offered the greatest privacy protection.</p>
<p>Brave also blocks web page ads by default, which raises a question. Since many web pages earn income exclusively through display ads, does Brave expect content providers to offer their services for free?</p>
<p>The browser provider actually has a business model that includes the content providers: users of the Brave browser can opt to be shown simple and extremely unobtrusive ads from carefully curated advertisers in exchange for micro payments in a cryptocurrency.</p>
<p>The users can then choose to make micro payments to website content providers using those funds as a way to pay for their content through the Brave Rewards program (pictured in figure 2.4).</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/05/figure-2-4.png" alt="Figure 2.4: The Brave browser home page." width="600" height="400" loading="lazy">
<em>Figure 2.4</em></p>
<p>Opting for open source applications can also be an effective privacy strategy. </p>
<p>OpenStreetMap (openstreetmap.org) is an alternative to Google Maps. It might not have all the bells and whistles and built-in connectivity you may be used to, but it's just that connectivity that powers our reservations, isn't it?</p>
<p>If you're not comfortable with the big mobile operating system players (Android and iOS), you could, instead, buy a phone and install one of a number of experimental mobile Linux variations.</p>
<p>Going down this road will likely be bumpy. Expect to run into unexpected configuration and compatibility challenges, and don't expect to find all the convenient apps that you've come to know and love using the big app stores.</p>
<p>See a hole that needs filling? Why not contribute your own innovation by participating in existing open source projects or adding your own solutions to the community?</p>
<h2 id="heading-chapter-3-understanding-the-cloud">Chapter 3: Understanding the Cloud</h2>
<p>You may not always be aware of it, but you're enjoying the many fruits of the cloud just about every hour of every day. Many of the joys (and horrors) of modern life would be impossible without it.</p>
<p>Before we talk about what it does and where it's taking us, we should explain exactly what it is.</p>
<p>The "cloud" is all about using other people's computers rather than your own. That's it. No, really.</p>
<p>Cloud providers run lots of compute servers (which are just computers that exist to "serve" applications and data in response to external requests), storage devices, and networking hardware. Whenever the impulse takes you, you can provision units of those servers, devices, and networking capacity for your own workloads. When you add millions more users taken by similar impulses, you get the modern cloud.</p>
<p>For many - although not all - applications, there are enormous cost and performance benefits to be realized by deploying to a cloud. And countless applications - whether small, large or smokin' colossal - have found productive homes on one cloud platform or another.</p>
<p>So let's see how it all works and what you might be able to do with it.</p>
<h3 id="heading-application-server-deployment-models">Application Server Deployment Models</h3>
<p>Over the decades, we've been through a number of models for running server workloads. In a way, all those changes have been the product of just two technologies:</p>
<ul>
<li>Networking protocols that permit communication between connected nodes</li>
<li>Virtualization which permits fast, efficient, and cost-effective use of hardware resources for multiple and parallel uses</li>
</ul>
<p>Networking, largely because it's now such a stable and well established technology, isn't something we'll focus on here. But we will get back to virtualization a bit later.</p>
<h4 id="heading-local-data-centers">Local Data Centers</h4>
<p>In the old days, if you wanted to fire up a new server to perform a compute task, you would spend a week or so calculating how much compute power you'd need for your job. You'd then contact the sales reps at a few hardware vendors, wait for them to get back to you with bid tenders, compare the bids and, when you've selected one, wait another couple of weeks for your new hardware to be delivered. Finally you'd put all the pieces together, plug it all in, and start loading software.</p>
<p>The room where your servers ran would need a reliable and robust power supply and some kind of cooling system: like angry children, servers generate a great deal of heat but don't like being hot. You probably wouldn't want to do any other work in that room, since the noise of your servers' powerful internal cooling fans was difficult to ignore.</p>
<p>While locally-deployed servers gave you all the direct, manual control over your hardware that you could need, it came at a cost.</p>
<p>For one thing, opportunities for infrastructure redundancy (and the reliability that comes with it) were limited. After all, even if you regularly backed up your data (and assuming your backups were reliable), they still wouldn't protect you from a facility-wide incident like a catastrophic fire.</p>
<p>You would also need to manage your own networking, something that could be particularly tricky - and risky - when remote clients required access from beyond your building.</p>
<p>By the way, don't be fooled by my misleading use of past tense here ("were limited," "backed up"). There are still plenty of workloads of all sizes happily spinning away in on-premises data centers.</p>
<p>But the trend is, without question, headed in the other direction.</p>
<h4 id="heading-server-co-location">Server Co-Location</h4>
<p>Another option for mid-sized to large organizations is to store your own servers in someone else's data center, an arrangement known as co-location.</p>
<p>The hosting company provides the server racks and power, along with all the networking and cooling equipment you'll need. Whenever you need physical access to your servers, they'll always be happy when you drop by to say hello.</p>
<p>This is a convenient way to maintain direct control over your servers while leaving physical security and the larger infrastructure headaches in the hands of specialists. Co-location facilities are often capable of far higher standards of security and reliability then smaller operations would be able to manage on their own.</p>
<p>For security reasons, co-location centers will probably not advertise their services at street level.</p>
<p>But if you want to see what they look like, search for "server hosting co-location" in your city and then use Google Satellite to check out one or two of the addresses that come back. If you see a large, unmarked building with dozens of powerful air conditioning units on the roof, that'll be a data center.</p>
<h4 id="heading-virtualization">Virtualization</h4>
<p>As I hinted earlier, virtualization is the technology that, more than any other, defines the modern internet and the many services it enables.</p>
<p>At its core, virtualization is a clever software trick that lets you convince an operating system that it's all alone on a bare metal computer when it is, in fact, just one of many OSs sharing a single set of physical resources. A virtual OS will be assigned space on a virtual storage disk, bandwidth through a virtual network interface, and memory from a virtual RAM module.</p>
<p>Here's why that's such a big deal: Suppose the storage disks on your server host have a total capacity of two terabytes and you've got 64GB of RAM. You might need 10GB of storage and 10GB of memory for the host OS (or, <em>hypervisor</em> is what some virtualization hosts are called). That leaves you a lot of room for your virtual operating system instances.</p>
<p>You could easily fire up several virtual instances, each allocated enough resources to get their individual jobs done. When a particular instance is no longer needed, you can shut it down, releasing its resources so they'll instantly be available for other instances performing other tasks.</p>
<p>But the real benefits come from the way virtualization can be so efficient with your resources. One instance could, say, be given RAM and storage that, later, proves insufficient. You can easily allocate more of each from the pool - often without even shutting your instance  down. Similarly, you can reduce the allocation for an instance as its needs drop.</p>
<p>This takes all the guesswork out of server planning. You only need to purchase (or rent) generic hardware resources and assign them in incremental units as necessary. There's no longer any need to peer into the distant future as you try to anticipate what you'll be doing in five years. Five <em>minutes</em> is more than enough planning.</p>
<p>Now imagine all this happening on a much larger scale: Suppose you've got many thousands of servers running in a warehouse somewhere that are hosting workloads for thousands of customers.</p>
<p>Perhaps one customer suddenly requests another terabyte of storage space. Even if the disk that customer is currently using is maxed out, you can easily add another terabyte from some other disk, perhaps one plugged in a few hundred meters away on the other side of the warehouse.</p>
<p>The customer will never know the difference, but the change can be virtually instant.</p>
<h5 id="heading-cattle-vs-pets">Cattle vs Pets</h5>
<p>Server virtualization has changed the way we look at computing and even at software development.</p>
<p>No longer is it so important to build configuration interfaces into your applications that'll allow you to tweak and fix things on the fly. It's often more effective for your developers and sysadmins to build a custom operating system <em>image</em> (nearly always Linux-based) with all the software pre-set. You can then launch new virtual instances based on your image whenever an update is needed.</p>
<p>If something goes wrong or you need to apply an change, you simply create a new image, shut down your instance, and then replace it with an instance running your new image.</p>
<p>Effectively, you're treating your virtual servers the way a dairy farmer treats cows: when the time comes (as it inevitably will), you take a old or sick cow out and kill it, and then bring in another (younger) one to replace it.</p>
<p>Anyone who's ever been involved with legacy server room administration would gasp at such a thought! Our old physical machines would be treated like beloved pets.</p>
<p>At the slightest sign of distress, we'd be standing, concerned, at its side, trying to diagnose what the problem was and how it can be fixed. If all else failed, we'd be forced to reboot the server, hoping against hope that it came back up again. If even <em>that</em> wasn't enough, we'd give in and replace the hardware.</p>
<p>But the modularity we get from virtualization gives us all kinds of new flexibility.</p>
<p>Now that hardware considerations have been largely abstracted out of the way, our main focus is on software (whether entire operating systems or individual applications).</p>
<p>And software, thanks to scripting languages, can be automated. So using orchestration tools like Ansible, Terraform, and Puppet, you can automate the creation,  provisioning, and full life cycle management of application service instances.</p>
<p>Even error handling can be built into your orchestration, so your applications could be designed to magically fix their own problems.</p>
<h5 id="heading-virtual-machines-vs-containers">Virtual Machines vs Containers</h5>
<p>Virtual instances come in two flavors. Virtual machines (or VMs) are complete operating systems that run on top of - but to some degree independent of - the host machine.</p>
<p>This is the kind of virtualization that uses a hypervisor to administrate the access each VM gets to the underlying hardware resources, but such VMs are generally left to live whichever way they choose.</p>
<p>Examples of hypervisor environments include the open source Xen project, VMware ESXi, Oracle's VirtualBox, and Microsoft Hyper-V.</p>
<p>Containers, on the other hand, will share not only hardware, but also their host operating system's software kernel. This makes container instances much faster and more lightweight (since their images don't need to include a kernel).</p>
<p>Not only does this mean that containers can launch nearly instantly, but that their file systems can be transported between hosts and shared. Portability means that instance environments can be reliably reproduced anywhere, making collaboration and automated deployment not only possible, but easy.</p>
<p>Examples of container technologies include LXD and Docker. And enterprise container implementations include Google's open source Kubernetes orchestration system.</p>
<h4 id="heading-public-clouds">Public Clouds</h4>
<p>Public cloud platforms have elevated the abstraction and dynamic allocation of compute resources into an art form. The big cloud providers leverage vast networks of hundreds of thousands of servers and unfathomable numbers of storage devices spread across data centers around the world.</p>
<p>Anyone, anywhere, can create a user account with a provider, request an instance using a custom-defined capacity, and have a fully-functioning and public-facing web server running within a couple of minutes. And since you only pay for what you use, your charges will closely reflect your real-world needs.</p>
<p>A web server I run on Amazon Web Services (AWS) to host two or three of my moderately busy websites costs me only $50 a year or so and has enough power left over to handle quite a bit more traffic.</p>
<p>The AWS resources used by the video streaming company Netflix, will probably cost a bit more - undoubtedly in the millions of dollars per year. But they obviously think they're getting a good deal and prefer using AWS over hosting their infrastructure themselves.</p>
<p>Just who are all those public cloud providers, I'm sure you're asking?</p>
<p>Well that conversation must begin (and, often, end) with AWS. They're the elephant in every room.</p>
<p>The millions of workloads running within Amazon's enormous and ubiquitous data centers, along with their frantic pace of innovation, make them the player to beat in this race. And that's not even considering the billions of dollars in net profits they pocket each quarter.</p>
<p>At this point, the only serious competition to AWS are Microsoft's Azure which is doing a pretty good job keeping up with service categories and, by all accounts, is making good money in the process; and Alibaba Cloud which is mostly focused on the Asian market at this point.</p>
<p>Google Cloud is in the game, but appears to be focusing on a narrower set of services where they can realistically compete.</p>
<p>As the barrier to entry in the market is formidable, there are only a few others who are getting noticed, including Oracle Cloud, IBM Cloud and, with a welcome change to the naming convention, Digital Ocean.</p>
<h4 id="heading-private-clouds">Private Clouds</h4>
<p>Cloud goodness can also be had closer to home, if that's what you're after. There's nothing stopping you from building your own cloud environments on infrastructure located within your own data center.</p>
<p>In fact, there are plenty of mature software packages that'll handle the process for you. Prominent among those are the open source OpenStack (<a target="_blank" href="https://www.openstack.org/">openstack.org</a>) and VMware's vSphere (<a target="_blank" href="https://www.vmware.com/products/vsphere.html">vmware.com/products/vsphere.html</a>) environments.</p>
<p>Building and running a cloud is a very complicated process and not for the hobbyist or faint of heart. And I wouldn't try downloading and testing out OpenStack - even just to experiment - unless you've got a fast and powerful workstation to act as your cloud hosts and at least a couple of machines for nodes.</p>
<p>You can also have it both ways by maintaining certain operations close to home while outsourcing other operations in the cloud. This is called a hybrid cloud deployment.</p>
<p>Perhaps, as an example, regulatory restrictions require you to keep a backend database of sensitive customer health information within the four walls of your own operation, but you'd like your public-facing web servers to run in a public cloud. It's possible to connect resources from one domain (say, AWS) to another (your data center) to create just such an arrangement.</p>
<p>In fact, there are ways to closely integrate your local and cloud resources. The <em>VMware Cloud on AWS</em> service makes it (relatively) easy to use VMware infrastructure deployed locally to seamlessly manage AWS resources (<a target="_blank" href="https://aws.amazon.com/vmware/">aws.amazon.com/vmware</a>).</p>
<h3 id="heading-the-value-of-outsourcing-your-compute-operations">The Value of Outsourcing Your Compute Operations</h3>
<p>Why might you want to migrate workloads to the cloud? You might end up saving a lot of money. So there's that.</p>
<p>Of course, it's not going to work out that way for every deployment, but there do seem to be a lot of use cases where it does.</p>
<p>To help you make informed decisions, cloud platforms often provide sophisticated calculators for you to compare the costs of running an application locally as opposed to what it would cost in the cloud. The AWS version of that is here: <a target="_blank" href="https://calculator.aws/#/">aws.amazon.com/tco-calculator</a></p>
<p>Part of the pricing calculus is the <em>way</em> you pay.</p>
<p>The traditional on-premises model involved large up-front investments for expensive server hardware that you hoped would deliver enough value over the next five to ten years to justify the purchase. These investments are known as <em>capital expenses</em> ("Capex").</p>
<p>Cloud services, on the other hand, are billed incrementally (by the hour, or even minute) according to the number of service units you actually consume. This is normally classified as <em>operating expenses</em> (Opex).</p>
<p>Using the Opex model, if you need to run a server workload only once every few days for five minutes at a time in response to an external triggering event, you can automate the use of a "serverless" workload (using a service like Amazon's Lambda) to run only when needed. Total costs: perhaps only a few pennies a month to cover those minutes the service is actually running.</p>
<p>Besides cost considerations, there's a lot more going on in the cloud world that should attract your consideration.</p>
<p>You've already seen how the lag time between the decision to deploy a new server on-premises and its actual deployment (weeks or months) compares to a similar decision/deployment process in a public cloud (a few minutes).</p>
<p>But large cloud providers are also positioned to deliver environments that are significantly more secure and reliable.</p>
<p>As an example, you may remember our story about the DDoS attack from chapter 2 (Understanding Digital Security). That was the incident where the equivalent of 380,000 PDF books worth of data were used to bombard an AWS-hosted web service each second... and the service survived. Are you confident you could do that yourself?</p>
<p>And how about reliability through redundancy? Would your on-premises infrastructure survive a catastrophic loss of your premises? Even if you did the right thing and maintained off-site backups, how long would it take you to apply them to rebuilt, network-connected, and functioning hardware?</p>
<p>The big cloud platforms run data centers across physically distant locations around the world. They make it easy (and in some cases unavoidable) to replicate your data and applications in multiple locations so that, even if one data center goes down, the others will be fine. Can you reproduce that?</p>
<p>Cloud providers also manage content distribution networks (CDNs) allowing you to expose cached copies of frequently-accessed data at edge locations near to wherever on earth your clients live. This greatly reduces latency, improving the user experience your customers will get. Is <em>that</em> something you can do on your own?</p>
<p>One more thought. Most of the big investments into new IT technologies these days are being plowed into cloud ecosystems.</p>
<p>That's partly because the big cloud providers are generating cash far faster than they can hope to spend it. But it's also because they're involved in a live-or-die race to capture new segments of the infrastructure market before the competitions claims them.</p>
<p>The result is that the sheer rate of innovation in the cloud is staggering.</p>
<p>I earn a living keeping a close eye on AWS, and even I regularly miss new product announcements. One of the reasons I avoid including screenshots of the AWS management console in my books and video courses is because their console is updated so often, the images will often be out-of-date before the book hits the streets.</p>
<p>In some cases, this might mean that local deployments will run at a built-in disadvantage simply because they won't have access to the equivalent cutting edge technologies.</p>
<h3 id="heading-the-risks-of-outsourcing-your-compute-operations">The Risks of Outsourcing Your Compute Operations</h3>
<p>Having said all that, as with most things in life, choosing between cloud and local isn't always going to be as obvious as I may have made it sound.</p>
<p>There may still be, for instance, laws and rules forcing you to keep your data local. There will also be cases where the math just doesn't work out: sometimes it really is cheaper to do things in your own data center.</p>
<p>You should also worry about platform lock-in. The learning curve necessary before you'll be ready to launch complex, multi-tier cloud deployments isn't trivial. And you can be sure that the way it works on AWS, probably won't be quite the same as what's happening on MS Azure.</p>
<p>The knowledge investment you'll need to make once you make your choice will probably be expensive.</p>
<p>But what happens to that investment if the provider's policies suddenly change in a way that forces you off the platform? Or if they actually go out of business (this could happen: Kodak, Blockbuster Video, and Palm were once big, too)?</p>
<p>And what about getting locked out of your account for some reason? How hard would it be for you to retool and reload everything somewhere else?</p>
<p>Just think ahead and make sure you're making a rational choice.</p>
<h2 id="heading-chapter-4-understanding-digital-connectivity">Chapter 4: Understanding Digital Connectivity</h2>
<p>Telephones changed the way we all talked to each other and went about our work (well, the way our great-grandparents did, at any rate). Information could now be communicated instantly, rather than being sent over slow, overland routes.</p>
<p>But that's hardly news to anyone these days. The modern network - best known as the internet - similarly boosted communication, although this time it was the movement of <em>data</em> rather than <em>voice</em> that got a boost.</p>
<p>In the fifty years or so since the birth of the internet, it's been trusted with the movement, storage, and management of more and more of our data. These changes have brought tremendous opportunities, risks, and pressures.</p>
<p>Just getting connected is now a basic necessity.</p>
<p>Managing all of our many connected devices and leveraging the ways we authenticate to extend our identities also present challenges. We'll discuss all that in this chapter.</p>
<h3 id="heading-connecting-to-the-internet">Connecting to the Internet</h3>
<p>These days, after food and shelter, one of the most basic resources of all is internet connectivity.</p>
<p>If you can't access the internet, you'll find it difficult to do your banking, educate yourself, book travel arrangements, or even figure out exactly where you are.</p>
<p>It's not for nothing that widespread, reliable, and relatively fast internet access is critical for a region's general economic development.</p>
<p>Even though the internet was originally built as a decentralized, distributed network of resources, you still need to establish some kind of connection to access it.</p>
<p>The best connections are run by network carriers, known as <em>tier 1 networks.</em> Theses networks can reach all other networks through a peering arrangement that doesn't require payment for IP transit.</p>
<p>You can think of these networks as the backbone of the internet, and their network infrastructure is its structure.</p>
<p>Examples of companies managing tier 1 networks include AT&amp;T and Verizon in the US, Tata Communications (India), and Deutsche Telekom (Germany). Those carriers will resell bandwidth to smaller internet service providers (ISPs) who, in turn, sell access to end users like you and me.</p>
<h4 id="heading-broadband-options">Broadband Options</h4>
<p>Individuals looking for broadband access in their homes or small businesses can usually choose between one of four access models:</p>
<ul>
<li><strong>Cable</strong>. Since they're already in the business of providing data to millions of homes over existing physical connections, cable TV providers can easily transmit internet over the same wires.</li>
<li><strong>Digital subscriber line (DSL)</strong>. A family of technologies that permit digital data across copper telephone lines, DSL can provide a roughly similar level of service as cable, but without the need for an underlying cable subscription. In fact, using a "dry copper" connection, you don't even need a telephone landline account.</li>
<li><strong>Fibre optics</strong>. Due to some arcane technical details (including the laws of physics), transmitting digital signals as infrared light can happen faster and require fewer repeaters than comparable electrical cables. A fibre optics internet connection could typically deliver transfer speeds of 10-40Gbit/s - a thousand times faster than currently standard rates using cable or DSL.</li>
<li><strong>Satellite</strong>. Running new cable through densely populated cities is expensive, but companies can quickly make their money back through the many access contracts they'll sign.  </li>
</ul>
<p>But sparsely populated rural regions are much more difficult to service. Partly to fill a rural connectivity gap, a number of companies ambitiously working to launch constellations of thousands of orbiting satellites to provide universal internet coverage.  </p>
<p>As of this writing, SpaceX is furthest along with its project, having already successfully launched more than 500 satellites as part of the Starlink system.</p>
<p>Besides those dominant technologies, there have been more than a few alternate connectivity solutions attempted. Some are experimental but promising, and others are a bit more speculative.</p>
<p>Google's Balloon Internet (known officially as Loon LLC), is an attempt to float fleets of high-altitude balloons providing a 1 Mbps signal to anyone within range on the ground.</p>
<p>Loon is designed to provide low-end broadband in hard-to-reach regions where reliable service has been difficult or even impossible. As of 2020, the project seems to be in a late experimental stage.</p>
<p>Broadband over power line (BPL) can take advantage of all the electrical grid that connects power authorities with homes and businesses to provide internet data.</p>
<p>Ultimately, the technology delivers limited bandwidth because line noise causes significant data signal loss. Data carrying power lines can also cause interference with high frequency radio communications.</p>
<p>In the end, relatively low signal quality and strong competition from other technologies mean that BPL will probably never be widely adopted.</p>
<p>Networks using forms of wireless Internet service provider (WISP) can service homes and offices across larger geographic areas without the need to physically wire every building.</p>
<p>Wired connections are installed in an area's center and, where necessary, connected backhauls are installed in elevated areas to strengthen the wireless signals aimed at consumers. Existing radio towers or other tall structures can be used for the backhaul repeaters, making a WISP system relatively inexpensive to install.</p>
<p>Smaller-scaled wireless network co-ops can be shared locally using a <em>neighborhood internet service provider (NISP)</em> (using rooftop antennas) or a <em>wireless mesh network</em> (where network-connected devices act as peer nodes) to efficiently share a single physical connection.</p>
<p>Those systems are primarily designed to serve us where we live and work. But mobile data access is definitely also a thing.</p>
<p>I'm sure you're already familiar with data plans that mobile phone companies can provide alongside their calling and texting services.</p>
<h4 id="heading-mobile-phone-data-access">Mobile Phone Data Access</h4>
<p>Cell connectivity is distributed through geographic areas (known as "cells") from individual radio transmitters spread throughout the cell.</p>
<p>Since the transmitters within each cell will use different radio frequencies than the cells around it, modern wireless technologies permit a seamless, automated "handover" as a user moves between cells.</p>
<p>The technologies used for wireless telephony have changed since the 80s, when what's now known as 1G ("First Generation") cell phones were introduced. To describe the evolution of cell phones in very general terms, we could say that:</p>
<ul>
<li><strong>1G</strong> phones carried only voice communications and had a maximum transfer speed of 2.4 Kbps.</li>
<li><strong>2G</strong> phones could carry Short Message Service (SMS) and Multimedia Messaging Service (MMS) messaging, which could include short videos and images.</li>
<li><strong>3G</strong> phones had much higher transfer rates (as high as 2 Mbps) than any variant of 2G and was therefore dubbed, "mobile broadband."</li>
<li><strong>4G</strong> phones could reach speeds as high as 100 Mbps, which permitted HD mobile TV, online gaming, and video conferencing.</li>
<li><strong>5G</strong> phones - when used on compatible networks - are expected to reach transfer speeds of up to 20 Gbps at a very low latency, permitting fully immersive virtual environments.  </li>
</ul>
<p>Should the 5G rollout be successful (and, at the time of writing, this isn't yet clear), the range and limits of new service categories that could be deployed is not yet known.</p>
<p>When it comes to planning a new venture, it's long been the accepted wisdom that there's no replacement for solid market research.</p>
<p>Without knowing who your customers will be, where they live, and what they like, how can you properly serve them?</p>
<p>Well, now you can add to that list "how reliable and robust is their internet connectivity," because without digital access, they may never find you or be able to consume your service.</p>
<h3 id="heading-talking-to-the-internet-of-things">Talking to the Internet of Things</h3>
<p>Two recent changes are, more than anything else, responsible for the internet of things (IoT) ecosystem: the availability of cheap, embedded, single-board computers (like the Raspberry Pi pictured in figure 4.1), and cheap and always-on internet connectivity.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/05/figure4-1.jpg" alt="Figure 4.1: A Raspberry Pi single-board computer" width="600" height="400" loading="lazy">
<em>Figure 4.1</em></p>
<p>Those tiny single-boards - often smaller than a credit card - are easy to incorporate into just about anything you're planning to manufacture. Such devices cost very little - sometimes just a few dollars a piece - and they're generally built to run fully-powered (and free) Linux distributions.</p>
<p>And network availability means that the vast streams of data generated by all those on-board cameras, sensors, and other peripherals, can be automatically sent back "home" for processing and analysis.</p>
<h4 id="heading-the-dream-of-iot">The Dream of IoT</h4>
<p>Here are some ways that IoT applications are already actively changing business and consumer practices:</p>
<ul>
<li><strong>Inventory control</strong>. The very first IoT device was - arguably at least - a Coca-Cola vending machine at Carnegie Mellon University. Back in the early 80s, the machine was modified to digitally report its ongoing inventory.  </li>
</ul>
<p>The simple idea that physical devices can monitor themselves and their surroundings, providing accurate, up-to-the-minute status reports to remote servers lies at the heart of countless modern industrial solutions.  </p>
<p>Modern retail, wholesale, logistics, and manufacturing operations now have constant access to their inventories, allowing them to understand trends and anticipate problems.</p>
<ul>
<li><strong>Agriculture</strong>. Increasingly, modern farming incorporates robotic irrigation, fertilization, planting, and even harvesting technologies. All those robots running around your property are generating data and, from time to time, getting themselves into trouble.  </li>
</ul>
<p>Moving that data "back" to administration servers is critical for keeping track of what's going on, what might need fixing, and how your actual farm is performing.  </p>
<p>You can, therefore, expect that each of those devices will be part of someone's IoT.</p>
<ul>
<li><strong>Military</strong>. Communication is key for military operations. But if even weapons, vehicles, and other equipment can communicate autonomously, and if there are servers dedicated to interpreting and acting on that communication, then you're already way ahead of the game.  </li>
</ul>
<p>Sensors connected to each of hundreds of components for, say, a fighter jet, can contribute to giving planners an unprecedented view of what's really going on.</p>
<ul>
<li><strong>Smart cities</strong>. When sensors embedded in buildings, roads, public lighting, smartphones, and electrical systems are combined with data coming from traffic cameras and public departments, the potential for data-driven insights is huge.  </li>
</ul>
<p>Properly understood data can help cities manage their resources, utilities, and even traffic more efficiently, and better maintain their physical infrastructure.</p>
<ul>
<li><strong>Smart homes</strong>. On a far smaller scale than smart cities, home appliances can be connected and monitored and controlled through smartphone apps or remote servers.  </li>
</ul>
<p>Smart home devices already include heating and cooling systems, light bulbs, robotic vacuum cleaners, garage doors, and security systems. These devices can be controlled through phone apps but, in many cases, also through voice controlled devices like Amazon Echo (Alexa).</p>
<p>Conversations about IoT are always just one step away from <em>buzzwordism</em> - where words lose meaning and exaggeration becomes an acceptable lifestyle choice.</p>
<p>Not all IoT stuff is actually IoT. Or, to put it another way, not all IoT is worth talking about.</p>
<p>But here's one good way to categorize a particular technology: if, hour after hour, something generates more data than any human being could possibly absorb, then it's probably an IoT device.</p>
<p>Effectively dealing with all that data can be a problem. And that's not the only potential for trouble in IoT land.</p>
<h4 id="heading-the-nightmare-of-iot">The Nightmare of IoT</h4>
<p>In the information technology world, as a general rule, the more active network connections you have in your infrastructure, the greater your risk of being successfully attacked.</p>
<p>That's because successful hacker intrusions usually come through badly configured or unpatched devices. The more public-facing devices you're exposing, the greater the chance one of them will have a serious vulnerability.</p>
<p>What kind of vulnerabilities are we talking about?</p>
<p>Well, the US government's Common Vulnerabilities and Exposures database contains nearly 140,000 individual entries, each one representing a unique software weakness that could allow unauthorized access to and destruction of an IT system.</p>
<p>There are threats impacting all operating systems (Windows, Linux, macOS), all formats (server, PC, smartphone), and all ages (there are active threats going back to the 1990s).</p>
<p>And many hundreds of new entries are added each month.</p>
<p>In that sense, IoT devices are no different than any other kind of computer. But there is one way that they're a whole lot worse.</p>
<p>Because you usually don't normally directly interact with IoT devices on an OS level, and because they're often commodity items that are purchased and deployed by the dozens, or even thousands, you don't instinctively treat them like computers.</p>
<p>Most of us, as an example, are aware that we should create complex and unique passwords for our laptops and WiFi routers.</p>
<p>But your fridge? Just plug it in and it'll be fine!</p>
<p>The problem is that many IoT devices - like "smart" fridges - have their own embedded operating systems and, usually, their own network interfaces.</p>
<p>There's a good chance that anyone driving down your quiet residential street can scan for available networks, and quickly identify the brand of IoT device you're using. They can then assume that you haven't changed the authentication credentials from their factory defaults, and log in to your private network.</p>
<p>What makes things much worse is that many device manufacturers are still shipping their products with authentication credentials using some variation of admin/admin.</p>
<p>That's a big problem.</p>
<h3 id="heading-leveraging-federated-identities">Leveraging Federated Identities</h3>
<p>All this talk about the dangers presented by authentication and credentials should make you curious about how they can be used to generate some <em>good</em> connectivity stuff.</p>
<p>In a single word, that'd be <em>federation.</em></p>
<p>Identity federation is a technology for linking a single person's identity across multiple network services. Federation is what lets you log in to online gaming or web application sites using, say, your Google account credentials.</p>
<p>The upside of federation is that a single login can be all you'll need as you move between many of the online services you regularly use. That lets you reduce the risk of exposing your password through a vulnerable website.</p>
<p>Of course, it also increases the damage that can come from a serious data breach of the servers used by your federation provider.</p>
<p>Federation can be used to integrate with third party single sign-on (SSO) authentication systems, like Kerberos, the Lightweight Directory Access Protocol (LDAP), and Microsoft's Active Directory (AD). When used with cloud services, SSO systems can securely permit automated as-needed access to private account resources for consumers or processes.</p>
<p>Besides convenience, all this authentication goodness drives opportunities for secure remote collaboration on large, complex projects - itself a fast-growing trend.</p>
<h2 id="heading-chapter-5-understanding-the-business-of-technology-research">Chapter 5: Understanding the Business of Technology Research</h2>
<p>Getting a new technology out to consumers will usually require good people and boat loads of resources - including money. Generally, lots of money.</p>
<p>A lot of that money will be spent on research and, more often than not, the hard research needed to translate a great idea into a usable product will be performed by someone whose job title isn't "entrepreneur."</p>
<p>In fact, sometimes the research will be done by individuals who are barely aware that their innovations have any commercial value at all.</p>
<p>If you're here because you want to get the jump on cutting edge technologies, then you may want to keep an eye on the organizations that are known to produce practical research. Knowing who's big in research, who's funding it, and where the big bucks are being spent can give you useful insights into what might be coming next.</p>
<p>From there, you're just a step away from, say, spending time learning the tools that'll come with the new tech or positioning yourself to profit when it finally shows up.</p>
<h3 id="heading-who-funds-commercial-science-and-why">Who Funds Commercial Science and Why?</h3>
<p>Once upon a time, major breakthroughs in serious scientific research were the products of private patronages. The Italian Medici family, for instance, famously supported many individuals whose work would prove pivotal, including Leonardo da Vinci and Galileo.</p>
<p>However, the years leading up to the Second World War saw the scope and complexity of research projects growing far beyond the capacity of private support. The war's dependence on unprecedented technological complexity - exemplified by the work of the Manhattan Project building the atom bomb - pushed more and more research under government charge.</p>
<p>Government involvement in research has continued in the generations since the war. Still, it's been estimated that universities and governments are responsible for only 30% of research funding between them, with most of the rest provided by private industry (see <a target="_blank" href="https://en.wikipedia.org/wiki/Funding_of_science">en.wikipedia.org/wiki/Funding_of_science</a>).</p>
<p>Let's see how that breaks down.</p>
<h4 id="heading-taxpayers">Taxpayers</h4>
<p>Democratic governments, of course, don't spend their own money, of which they traditionally have none.</p>
<p>Their many programs and services are funded by revenues raised, one way or another, from their capital assets and from their populations. In modern nation states, "populations" would mean those individuals and corporations who pay taxes.</p>
<p>Public research and development can be performed within government agencies. According to the terms of some agency mandates, research results must immediately enter the public domain.</p>
<p>But even those who retain rights to their research will often point their work towards businesses and institutions that can use it productively.</p>
<p>The US National Science Foundation (NSF), for instance, uses its $8 billion annual budget to fund "approximately 25 percent of all federally supported basic research conducted by America's colleges and universities" (<a target="_blank" href="https://www.nsf.gov/about/">https://www.nsf.gov/about/</a>).</p>
<p>Other American agencies do much or all of their research in-house. Here are some examples:</p>
<ul>
<li>The <em>National Institute of Standards and Technology (NIST)</em> has a mandate to "promote innovation and industrial competitiveness."  </li>
</ul>
<p>One very important part of that mission is maintaining the National Vulnerability Database (NVD), which plays a foundational role in the management of the vulnerability assessment and detection systems protecting our IT infrastructure.</p>
<ul>
<li>The US military's Defense Advanced Research Projects Agency (DARPA) collaborates with private and public sector partners to aid in the development of emerging technologies.  </li>
</ul>
<p>Work in recent years has included research into robotics and autonomous vehicles, but you might be more familiar with a DARPA innovation from a few decades ago: the internet.</p>
<ul>
<li>The National Institutes of Health (NIH) employs 6,000 research scientists across 27 research institutes and centers.  </li>
</ul>
<p>Their "mission is to seek fundamental knowledge about the nature and behavior of living systems and the application of that knowledge to enhance health, lengthen life, and reduce illness and disability."</p>
<p>The complete list of US government research agencies (available at <a target="_blank" href="https://en.wikipedia.org/wiki/List_of_United_States_research_and_development_agencies">en.wikipedia.org/wiki/List_of_United_States_research_and_development_agencies</a>) makes for quite a read. Take a look for yourself.</p>
<p>Naturally, governments of other countries have their own research agencies. One example is Canada's National Research Council (NRC), which has evolved from its military technology origins through the two world wars, to its current focus on partnerships with private and public-sector technology companies.</p>
<p>The NRC now divides its work into four "business lines:"</p>
<ul>
<li>Strategic research and development</li>
<li>Technical services</li>
<li>Management of science and technology infrastructure</li>
<li>NRC-Industrial Research Assistance Program (IRAP)</li>
</ul>
<p>As we mentioned when discussing the NSF, a significant proportion of taxpayer funds directed towards research and development are granted to public and private colleges and universities.</p>
<p>But, from the college perspective, how much academic R&amp;D funding comes from government sources?</p>
<p>A 2016 review of the 20 US colleges that spent the most on R&amp;D found that they each spent between $837 thousand and $2.4 million, and that between approximately 47-87% of their total spending came from government sources of one sort or another (see <a target="_blank" href="https://www.bestcolleges.com/features/colleges-with-highest-research-and-development-expenditures/">bestcolleges.com/features/colleges-with-highest-research-and-development-expenditures/</a>).</p>
<p>By contrast, businesses only provided between 2 and 22% of that funding.</p>
<h4 id="heading-private-charitable-funding">Private Charitable Funding</h4>
<p>While we're on the subject of academic research, we shouldn't ignore a third source of funding: private endowments.</p>
<p>Some - although not all - permanent endowments were targeted by their donors at research activities. Although the fund capital can't be spent each year, the income that capital generates can.</p>
<p>Harvard university famously - or perhaps infamously - has a total endowment greater than 40 billion dollars. Some of that undoubtedly finds its way to R&amp;D.</p>
<p>Curiously, according to that 2016 study, Harvard's total R&amp;D spending that year - including activities funded by governments (52.1%), businesses (4.7%), and endowments - was just over one million dollars.</p>
<p>Of course, donations support plenty of research outside of academic settings, too. Most serious diseases have associated charitable foundations that exist to raise money for both victim care and medical research.</p>
<p>And many thousands of registered non-profits exist throughout the world supporting non-medical causes, including many that involving technology-related research. The Bill &amp; Melinda Gates Foundation is a particularly well-known example.</p>
<h4 id="heading-corporations">Corporations</h4>
<p>Technology-oriented companies have a strong interest in getting their hands on innovations before their competition. To improve their chances, many will run their own research labs in-house.</p>
<p>The Bell Telephone Company, for instance - and its successors including American Telephone &amp; Telegraph Company (AT&amp;T) - maintained the active and enormously creative Bell Labs. Bell Labs, under various names, was responsible for many innovations, including the transistor, lasers, and the Unix operating system.</p>
<p>Individual technologists at some companies are often sources of innovation. 3M, for instance, has what they call a "15% Culture," where employees are allowed to use company time and space to pursue research based on their own ideas and interests.</p>
<p>Over the years, the program has generated successful products for the company, including their sticky paper Post-its. In another example, Percy Spencer, working on radar for US defense contractor Raytheon, accidentally discovered that microwaves could cook food.</p>
<p>It should be noted that not all corporate innovation is truly home-grown. A lot of it is actually funded indirectly through government money in the form of tax incentives or credits.</p>
<p>Under such programs, companies may be permitted to use research-related spending (including salary expenses) to reduce the income taxes they would otherwise pay.</p>
<h3 id="heading-major-fields-of-commercial-technology-research">Major Fields of Commercial Technology Research</h3>
<p>Trying to grasp the full scope of technology development at this point in history is an unforgivable waste of time.</p>
<p>There's serious innovation going on every minute of the day, in every time zone, through countless labs, office towers, warehouses, garages, basements, bedrooms and, of course, invisibly within creative people's minds.</p>
<p>No one's keeping track of it all because it's not possible. Not to mention the fact that much of that innovation happens under a thick shroud of secrecy.</p>
<p>But it's probably worth offering just a couple of examples to give you a feel for where to look.</p>
<h4 id="heading-quantum-computing-and-why-we-should-care">Quantum Computing (and Why We Should Care)</h4>
<p>A cousin of mine with an advanced physics degree from Cambridge University once tried to explain quantum mechanics to me.</p>
<p>He failed. Miserably.</p>
<p>My poor old brain just couldn't absorb it. So don't expect any full, measured descriptions of the underlying science here. Instead, I'll try to show you how experimental <em>compute</em> technologies that depend on the physics might work, and what can be done with them.</p>
<p>The super-quick executive summary version of this is that computers powered by one quantum technology or other will work <em>a lot</em> faster than any of the super-est of super computers we have now. So much faster, in fact, that they may be able to solve problems that would be simply unfeasible using traditional computers (an achievement known as <em>quantum supremacy</em>).</p>
<p>This would mean that some long-held assumptions about the way software works will no longer apply.</p>
<p>For instance, the whole reason why we use the encryption tools we use today to protect sensitive data is because it would take hundreds, even thousands, of hours of high-performance compute time to break an encryption key.</p>
<p>In most cases, it's just not worth the effort and expense.</p>
<p>But if you could easily buy time on a computer that processed operations exponentially faster, then two things would immediately happen:</p>
<ul>
<li>Cracking encryption algorithms would become trivial</li>
<li>Honest folk would have to seriously look for a new way to protect their data</li>
</ul>
<p>Currently, Google and IBM are among the major companies that have invested heavily in quantum compute research projects.</p>
<p>As well as I can understand it, quantum computers would measure the state of subatomic particles and use that binary measurement to represent a computational value.</p>
<p>The description of that state is known as a <em>qubit</em>, which is effectively the quantum equivalent of traditional computing's <em>bit</em>.</p>
<p>But because a qubit can also exist within what's known as <em>coherent superposition</em> - meaning that its value can exist in a <em>superposition</em> of two possible states - it can be used to represent a more complex range of values.</p>
<p>And <em>that</em>, I'm given to believe, means that such computers will be able to do stuff much, much faster than they can now. If this actually happens, it'll be big.</p>
<h4 id="heading-energy-technologies">Energy Technologies</h4>
<p>The modern world consumes an awful lot of energy.</p>
<p>We're constantly moving about, controlling our indoor (and in-transit) climate conditions, exchanging information, and expecting that all the world's riches be delivered to our doorsteps. By tomorrow.</p>
<p>But those energy-thirsty activities come with costs, not the least of which are the emissions they leave behind. The search for reliable, steady, and affordable energy sources that can help us find a healthy balance between consumption and emissions is ongoing; and unimaginably expensive.</p>
<p>Small modular nuclear reactors (SMRs) have been the focus of some serious developments in recent years. They appear to promise reliable, steady, and affordable energy in ways that their expensive and complex nuclear predecessors couldn't.</p>
<p>First and second generation reactors were, overall, reliable and steady - and they were clean - but their massive capital costs and large physical footprints made them more than a bit inflexible.</p>
<p>The idea behind SMRs is that highly efficient reactors can be manufactured off-site and delivered on trucks one module at a time for on-site assembly. This makes the per megawatt generation of power far cheaper, and project completion much faster. And this allows the deployment of nuclear power to service smaller markets that previously couldn't consider it as a realistic option.</p>
<p>As the name implies, SMRs are smaller than traditional reactors. They're designed to deliver between 50 and 300 MW of electricity each, compared with the 800 to 1,200 MW outputs that were previously common.</p>
<p>Companies heavily involved in this research include Britain's Rolls-Royce and an American company with historical connections to the US Department of Energy called NuScale Power.</p>
<p>Various governments around the world have also invested in this technology one way or another.</p>
<h4 id="heading-medical-technology-research">Medical Technology Research</h4>
<p>If you think we're spending a lot of money on energy, wait 'till you see how much healthcare costs.</p>
<p>Across the 37 Organisation for Economic Co-operation and Development (OECD) nations, healthcare industry spending accounts for around 10% of the total gross domestic product. That's more than $3,000 a year for every single man, woman, and child.</p>
<p>On the one hand, with all that money being thrown around, there are undoubtedly many business opportunities waiting to be discovered. But there's also a lot of room for new and innovative technologies that can improve the delivery of healthcare while reducing the costs.</p>
<p>Telehealth and telesurgery are two excellent candidates.</p>
<p>Telehealth involves the provision of health services (like patient-doctor consultations) through a telecommunication medium. This might mean having a simple telephone conversation rather than a visit to the office, but it could also incorporate video conferencing tools or even the use of remote diagnostic equipment.</p>
<p>For example, small, remote communities could maintain imaging facilities and technicians even many hundreds of miles away from the nearest medical labs and radiology specialists.</p>
<p>Digital connections can permit distant doctors to view, say, ultrasound results, speak directly with patients, and confidently reach diagnoses. And all without the need for anyone to undertake exhausting and expensive travel.</p>
<p>Telehealth also allows for meaningful patient-doctor contact without the risk of spreading disease.</p>
<p>Telesurgery is an extension of telehealth which can allow some surgical procedures, even when doctors are many miles away from their patients. The technology makes use of high-definition video feeds and purpose-built robotic arms that can be controlled by doctors remotely.</p>
<p>Telesurgery tools have the potential to save money for cash-strapped health systems but, more importantly, they can improve healthcare and save lives.</p>
<h2 id="heading-chapter-6-where-hot-trends-go-to-die">Chapter 6: Where Hot Trends Go to Die</h2>
<p>You're reading this book, so I'll assume you have an active interest in learning about hot technology trends. But you don't want to take every last one of these gadgets and business fads too seriously: some are bound to disappoint.</p>
<p>(Although don't think you can hold me personally responsible for any of my predictions: by the time this book hits the streets I expect to be living on a sun-drenched tropical island under the witness protection plan.)</p>
<p>To get a sense of how fragile the innovation business is, keep in mind the popular wisdom that teaches us how nine out of ten startups will fail.</p>
<p>Now multiply that by the particularly speculative nature of the technology industry in particular, and you'll appreciate how easily things can often go spectacularly wrong.</p>
<p>That's not to say that the folks who dreamed up all the doomed businesses we'll soon discuss were fools or frauds. It's easy for us, enjoying the benefits of historical hindsight, to judge their efforts.</p>
<p>We should be sensitive to how different things must have looked in the heat of the moment. Still, bearing that in mind, there's value to be had from trying to at least understand what went wrong.</p>
<p>So here are some particularly impressive examples from the junkyard of tech history. It can be loads of fun to relive some of the biggest business disasters in history, but there are also important lessons we can apply when assessing this year's crop of "can't-fail" devices.</p>
<h3 id="heading-market-research-beats-wishful-thinking-every-time">Market Research Beats Wishful Thinking Every Time</h3>
<p>I'm not sure it's possible to reliably count all the individuals and companies that have assured us we've finally reached the age of bypassing choked highways using flying cars while happily chatting with loved ones through video calls.</p>
<p>There have been hybrid wheeled/winged prototypes since soon after the Second World War, and telephones for showing the world how you look in pyjamas have, in theory at least, been available since the early 1970's.</p>
<p>Well, video calls are now easily available through any smart phone or PC. And, 75 years of failure later, the rush to deliver consumer flight hasn't slowed down a bit. </p>
<p>But both technologies are most notable for being so rarely used: flying cars because none have ever hit full production, and video phones because very few people seem interested.</p>
<p>What's been the trouble? There were certainly engineering, safety, and regulatory hiccups over the years. And there's no question that flying car manufacturers would be hard pressed to find a large customer base of drivers who were also qualified pilots (although self-driving/flying versions could, in theory, avoid that issue).</p>
<p>But I suspect a big part of the problem was marketing: no one bothered asking Joe Q. Customer for his thoughts on the matter.</p>
<h3 id="heading-but-marketing-isnt-everything">But Marketing Isn't Everything</h3>
<p>In the beginning, there were comments from tech insiders about how a new device would be the biggest thing since, well, ever. Then came an unauthorized book leaking intriguing information, some ambitious public claims, and a product launch.</p>
<p>In the end, there was the Segway: a personal transportation device that was too big and fast for sidewalks, too big and slow for roads, and too expensive for most customers. And using it in the rain or snow wasn't much fun at all.</p>
<p>Today you'd probably have to look pretty hard to find a living, breathing Segway anywhere close to your neighborhood. They're sometimes used for police street patrols and touring, but they haven't eliminated the car or revolutionized urban development.</p>
<p>Nor, as far as I can see, did they make the company's investors fantastically wealthy. In fact, the company's manufacturing plant in Bedford, New Hampshire ceased operations in the summer of 2020.</p>
<p>What went wrong?</p>
<p>Well, perhaps the hype was a bit over the top. OK, make that way over the top. It's never a good thing to pump up expectations to the point they can't possibly be met.</p>
<p>There was also the failure to match the tool to an appropriate environment. Where, after all, was it supposed to be used?</p>
<p>But, to be really successful, a new product has to be built on more than clever engineering. It also has to solve a real and pressing problem.</p>
<h3 id="heading-when-too-much-power-isnt-a-good-thing">When Too Much Power Isn't a Good Thing</h3>
<p>Back in 2013, Google introduced a new consumer compute product they called <em>Glass</em>. This was a sleek headset that could be worn as an attachment to a pair of designer prescription glasses.</p>
<p>When powered on, Glass could accept voice and touch commands to record video of everything the wearer sees, and display data - often with full "awareness" of the wearer's current physical location.</p>
<p>Glass was a single device intended to replace much of the function currently served by smartphones, laptops, and media players.</p>
<p>For the task of integrating our physical world with the endless data that describes it, this was going to be perfect. And then it wasn't.</p>
<p>As more details about Glass became known, questions were raised in the broader tech world. Was it appropriate - or even legal - to silently record videos of other people? Should face recognition software be applied to random pedestrians walking past on the sidewalk without their consent? Was it safe to drive while wearing Glass?</p>
<p>Potential customers had their own questions. Is the product affordable (they started at $1,500)? Is it necessary? Does it fit the vision I have for my public image?</p>
<p>The longer those questions floated around the internet, the more answers came back. Answers, by and large, consisting of a single word: "No."</p>
<p>Google Glass, as a consumer product, slowly faded away and eventually disappeared altogether. The massive media promotion campaign had come up empty.</p>
<p>Which is not to say that the product itself failed completely.</p>
<p>As it turns out, Glass has found considerable success in medical environments where, for instance, it could be used to permit remote surgical experiences. It's also found a home in industrial settings, where front line workers often need instant, hands-free access to relevant schematics and directions.</p>
<p>But it was a long while before all that goodness happened.</p>
<p>Perhaps someone should have slowed things down at some point, saying: Even if it's <em>possible</em> to engineer all of those features into a consumer product, is it necessarily a good idea?</p>
<h3 id="heading-when-a-thousand-pieces-dont-all-fall-where-theyre-supposed-to">When a Thousand Pieces Don't All Fall Where They're Supposed To</h3>
<p>Sometimes measuring success and failure isn't so easy. Take WebTV as a case in point.</p>
<p>Who doesn't own a TV? (Besides me, I mean.) Wouldn't it make sense to create an inexpensive and easy-to-use product that leverages billions of existing home TVs for non-standard but popular uses? How about a device that can turn the TV you already own into a web browser and email portal?</p>
<p>If that doesn't sound so exciting today, back in the mid-90's the idea behind WebTV had its definite charms.</p>
<p>Just imagine the secondary revenue streams this could generate. Wouldn't advertisers climb over each other to pay big bucks to have their products pitched to all those TVs?</p>
<p>Had WebTV managed to deliver on the "easy-to-use" angle, things might have gone differently.</p>
<p>But it turned out that the primary demographic for the device was heavily skewed to older people; who needed a lot of (expensive) customer support coaching through the setup process.</p>
<p>Their inability to keep up with the fast-changing internet browsing standards also made it tough to provide a consistently optimal browsing experience - especially for users sitting ten feet away from the screen on their couches.</p>
<p>How did things actually play out?</p>
<p>On the one hand, within two years of their launch, the company was purchased by Microsoft for more than 400 million dollars, who rebranded the service "MSN TV." In one form or another, they stuck around until long past the death of dial up internet access. So that's a good thing.</p>
<p>But, arguably, they failed to capture nearly as much interest and adoption as they could have. </p>
<p>The real prize was in becoming a dominant portal for internet access. Because the platform was proprietary, the company could effectively have controlled the entire internet experience of hundreds of millions of users.</p>
<p>The potential scope of the product would have dwarfed the modest revenues they actually achieved. So that's not a good thing.</p>
<p>Were they too far ahead of their time? Did they miscalculate by insisting on a closed, proprietary platform? Did they fail to see the monstrous growth in the standalone personal computer (PC) industry coming?</p>
<p>Either way, it wasn't exactly a fairy tale ending.</p>
<h3 id="heading-when-timing-isnt-your-thing">When Timing Isn't Your Thing</h3>
<p>The tech industry moves fast. I'm sure that little nugget of wisdom won't leave any of you wrapped in stunned silence.</p>
<p>But when you think about how much work is needed before you can convert a fresh, new idea into a ready-to-ship product, it's remarkable anything innovative ever gets off the ground.</p>
<p>Bad timing, then, is a risk faced by the people behind pretty much any new technology as it makes its way to market.</p>
<p>By way of example, the existence of strong competition from companies like Nintendo and Sony's PlayStation were probably largely to blame for the premature death of Apple's Bandai Pippin gaming console back in the mid nineties.</p>
<p>Although, the fact that there were never more than 25 game titles that would run on the device, and that, like all Apple products, it was priced much higher than the competition couldn't have helped.</p>
<p>All wasn't dark and foreboding for Apple in those years.</p>
<p>Looking back with what we now know, the strong presence of their iPod digital music player platform was probably what doomed Microsoft's Zune.</p>
<p>With the Zune, Microsoft had the bad luck (or lack of foresight) to get stuck between an iPod device made dominant by its simplicity, and the looming age of the smartphone (where standalone portable music players become irrelevant).</p>
<p>Clearly, as Shakespeare would have said it, "ripeness is all."</p>
<p>But there's another thing about timing: eventually, you'll need to deliver the goods. </p>
<p>There's a limit to how long consumers will wait for that bright new technology that's been on everyone's "must-have" list for too long without making an actual, real-world appearance. Beware empty promises.</p>
<p>You should also keep a critical eye out for good, old fashioned bad business practices - the kind that never seem to go out of style: unrealistic business plans; unfamiliarity with a business' core, underlying fundamentals; and unreasonable, greedy start up costs.</p>
<p>Also, the catastrophic disaster that characterized the dot-com boom and subsequent bust around the start of the 21st Century comes to mind. The take-any-business-model-and-build-it-a-website paradigm looked good, but it was applied far too broadly and often ignored the obvious context in the process.</p>
<p>Don't blindly trust popular trends and buzz phrases.</p>
<p>Up to this point, we've covered some "big-picture" technology topics like privacy and connectivity, following their twisting tentacles wherever they'd lead us.</p>
<p>In the next chapters, we're going to focus on six broad categories, one category per chapter, each with a handful of specific technologies.</p>
<p>These technologies have names that you've probably encountered and that, for the most part, already play important economic roles. Sometimes their significance and impact might be exaggerated, but they're all the real deal.</p>
<h2 id="heading-chapter-7-compute-platforms">Chapter 7: Compute Platforms</h2>
<p>The way things sit now, if you were somehow allergic to computers, you'd be hard pressed to really banish them from your life, no matter where you found yourself. </p>
<p>Taking a quiet walk in the woods? What about the smartphone in your pocket?</p>
<p>Left your phone in the car? See that cell phone tower just behind those trees?</p>
<p>Odds are good that the tower is more than just an antenna – it could also be hosting an edge computing server.</p>
<p>And don't think that there weren't computers embedded into the under-the-hood workings of the car (or bus) that drove you over.</p>
<p>Allergies aside, if you want to fully grasp the current state of the compute world, it'll be helpful to understand all the places computers can pop up and what they might look like.</p>
<p>In this chapter, we'll enumerate the classes into which modern compute devices can fall, and describe their strengths, weaknesses, and potential.</p>
<h3 id="heading-what-is-a-server">What Is a Server?</h3>
<p>Honestly, I'd been working as a professional system administrator for a while before I could properly answer this question.</p>
<p>The truth is that every server is a computer, and any computer can be a server. The term <em>server</em> simply implies that the device is providing some <em>service</em> to at least one external device (known as a <em>client</em>).</p>
<p>If the printer that's plugged into your desktop computer can be shared by the other computers in your local network then your desktop is a server (a <em>printer server</em>, to be precise).</p>
<p>The WiFi router provided by your internet service provider is, by all definitions, a <em>network server</em> – as it <em>serves</em> network access to its clients.</p>
<p>And the tiny, $5 Raspberry Pi Zero single-board device (figure 7.1) that powers your homemade surveillance camera is a <em>video server</em> – although that won't work without attaching a $7 camera module.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/05/figure7-1.jpg" alt="Figure 7.1: A Raspberry Pi Zero single-board computer." width="600" height="400" loading="lazy">
<em>Figure 7.1</em></p>
<p>But that's not what most people are thinking about when they use the term.</p>
<p>The first time I ever walked into the server room of a mid-sized business, I was hit by the sound of dozens of powerful chassis fans and the heat from hard-working CPUs and fast-spinning disk drives.</p>
<p>Instantly, I knew how folks normally use the word.</p>
<p>(Also, I quickly discovered that heat was a huge problem: the admins were struggling to keep their server room properly cooled and would, over time, end up having to write off some expensive hardware due to heat-related failures.)</p>
<p>So, by "server," we usually mean computers installed within those rack-mounted, stackable cases built to efficiently house and protect highly performant, expensive, and delicate components. </p>
<p>Server racks will normally live in well vented and cooled rooms with easy access to ample electrical power. You may have to search for them, but such rooms will also always contain colorful bundles of cabling, connecting the servers to networks.</p>
<p>As a rule, servers won't usually have displays or even keyboards plugged in, as they're likely to be managed remotely or, even more likely, fully automated and requiring no administration at all. </p>
<p>Server farms belonging to giant cloud providers like Amazon Web Services will have many thousands of commodity computers running within aisle after aisle of vast warehouses. </p>
<p>When one fails, a monitoring panel somewhere will light up and a technician will eventually be dispatched to remove the server, throw it out, and slide a replacement into the newly-available rack.</p>
<p>No tears are shed when we say goodbye to hardworking and devoted old hardware in those places.</p>
<h3 id="heading-what-is-linux">What Is Linux?</h3>
<p>Speaking of servers, did I mention that they all need some kind of operating system installed? And did I mention further that the vast majority of the servers powering the vast majority of the operations that make the internet and all its functionality possible are running the Linux operating system? Oh, and did you know that the open source Linux operating system is available for free?</p>
<p>I didn't mention all that? My bad.</p>
<p>Well, servers need operating systems. Most servers (well over 90 percent of the virtual machine instances running on Amazon's AWS EC2, for instance) run Linux. And Linux is, indeed, freely available for any use on any server, laptop, desktop, router, embedded system, or supercomputer. </p>
<p>In fact every last one of the world's top 100 supercomputers uses Linux. And the Android smartphone OS? Yup. It's Linux, too.</p>
<p>Strictly speaking, "Linux" is the software kernel that allows a computer user to take control of a computer's physical hardware elements. The kernel translates your keystrokes into a format that will be understood by the drivers controlling your storage drives, memory, network interfaces, displays, and – in fact – keyboard and mouse. </p>
<p>Many thousands of additional software programs are closely associated with Linux, but they're actually part of the user space that hovers "above" the Linux kernel.</p>
<p>Having said all that, Linux, including its broader software ecosystem, dominates the server computing market right now. The fact that you can freely install and fire up as many physical or virtual instances as you like makes Linux very attractive, especially in the scripted workload orchestration world. </p>
<p>Virtualized Linux instances will often be brought to life and then, after completing a task that takes even a few seconds, killed off again. </p>
<p>The versatility and flexibility Linux brings to computing have been the spark of some deeply impressive innovation and creativity.</p>
<p>Part of the Linux versatility is the fact that you can choose from among hundreds of variations (known as <em>distributions</em>). </p>
<p>Are you looking to run enterprise supported servers? Internet of Things (IoT) devices? Security testing machines? Multimedia management? Video or audio production? All of the above? None of the above? There's bound to be a distribution that's a good match for you. </p>
<p>And if the exact specs you need can't be found, feel free to rewrite the kernel itself and create your own distro.</p>
<p>Full disclosure: I know a thing or three about Linux, being the author of Linux in Action (Manning), a coauthor of Ubuntu Bible (Wiley), and the author of the Linux Fundamentals learning path at Pluralsight.</p>
<p>Fuller disclosure: I'm writing this on an Ubuntu Linux workstation in my home, where all of our many devices have been Linux-powered for more than a decade.</p>
<h3 id="heading-what-is-virtualization">What Is Virtualization?</h3>
<p>We've already discussed virtualization in some depth as part of Chapter 3 (Understanding the Cloud), so we'll just cover some big-picture conceptual basics here.</p>
<p>In the old days, you'd come up with an idea for a new compute project and submit a proposal with your managers asking for money. </p>
<p>When the project was green lighted, you'd estimate your requirements, solicit bids from hardware vendors, order a new server and, when it finally arrived, load it up with your application software, fire it up, and let the world see what you'd done. </p>
<p>That's the way things usually worked: One project. One server. Lots of waiting time.</p>
<p>But what if you overestimated your compute needs by 50 percent? That'd be a few thousand dollars down the drain. And if an important but lightweight project didn't really need a full, standalone server, you'd often have to buy it anyway. </p>
<p>How about if the project would only have to run for a few months? Spend the money and hope you'll find a new use for the thing once your initial project shut down.</p>
<p>Awkward. Mountains of awkward.</p>
<p>Virtualization is a (mostly) software trick that lets you fool multiple installed operating systems into thinking they're all alone on a physical computer when they're really sharing it with other OS's. </p>
<p>You can provision and run a single virtualization <em>host</em> of one flavor or another and then fill it up with one or a hundred virtual servers.</p>
<p>One of those servers might need a lot of system memory but only a GB or two of storage space. Another one might be heavy on video conversion tasks and storage but is only needed for a half an hour a day. A third could be a 24/7 monitoring system that just needs a quiet place to do its thing without anyone bothering it. </p>
<p>As long as you never push the physical host past its overall resource limits, the virtual machines can all coexist happily together. And when one service is no longer needed, you can reassign its free-up resources to something else.</p>
<p>The ramp-ups and ramp-downs of a typical virtual server's life cycle are fast. For all intents and purposes, they'll generally launch and shut down instantly. </p>
<p>This is possible because the underlying hardware is always running – and because the OS image is small and, usually, optimized for virtual environments.</p>
<p>As we saw back in Chapter 3, cloud-hosted services are all virtualized. As more and more IT infrastructure moves to the cloud, more and more of your online activities will be driven by virtual machines. You won't notice the difference, but every time you search the internet or authenticate to an online account, there's a good chance that it's a container or VM you're connecting to, and not directly to a physical machine.</p>
<h3 id="heading-where-do-you-go-to-get-some-o-that-there-cloud">Where Do You Go to Get Some o' That There Cloud?</h3>
<p>Like virtualization, we also talked about the cloud back in chapter 3 - which would make sense, considering that the chapter was called "Understanding the Cloud".</p>
<p>We mentioned how the public cloud market was dominated by AWS and, to a lesser extent, by Microsoft's Azure. </p>
<p>I'll just take a minute or two here to add a quick guide through some of the cloud industry's worst jargon.</p>
<p><strong>Infrastructure as a Service (IaaS)</strong> environments give you full access to virtual server instances. The provider will ensure the underlying hardware, networking, and security elements are in place and functioning, while it's your job to manage the OS and other software running on your instance. </p>
<p>Major IaaS players include Amazon's Elastic Compute Cloud (EC2) and Azure's Compute.</p>
<p><strong>Platform as a Service (PaaS)</strong> environments hide most or all of the infrastructure administration tasks from you, leaving you with an interface where you can run your own data or code. </p>
<p>One good example is AWS Elastic Beanstalk, which lets you upload your application code from where it'll be automatically deployed to Amazon's cloud. Other providers in this space include Heroku and Salesforce Lightning Platform.</p>
<p><strong>Software as a Service (SaaS)</strong> environments expose only an end-user interface, managing all layers of the administration infrastructure invisibly. </p>
<p>Microsoft's Office 365 and Google's G Suite are widely used SaaS office productivity tools. But there's a growing marketplace of SaaS tools providing online software equivalents to many applications that, in years past, could only be used on standalone workstations. Those applications include accounting, computer assisted design (CAD), and graphic design solutions.</p>
<p><strong>Consumption-based pricing</strong> or, as it's sometimes known, pay-as-you-go billing, is a cornerstone of the cloud concept. The idea is that you don't have to gamble by investing up-front in infrastructure, but you can pay incremental amounts for units of compute services as you use them. </p>
<p>It might not always come out cheaper in the long-run, but pay-as-you-go definitely makes it easy to test application stacks and experiment with multiple alternative configurations before pulling the trigger on a full deployment. </p>
<p>It also means that – assuming you don't make any dumb configuration mistakes – it's nearly impossible to badly over-provision.</p>
<p><strong>On-demand</strong> is also sometimes referred to as self-service. The ability to request instant delivery of compute resources any time of the day/week/year gives you complete control over your organization's application life cycles. You're never at the mercy of other people's schedules and limitations.</p>
<p><strong>Service Level Agreements (SLAs)</strong> are legal disclosures published by companies in the business of providing services. Even if the standard of resource reliability provided by the major public cloud platforms is generally excellent, accidents will happen. </p>
<p>When you pay hourly or monthly fees for cloud services, the company's SLA tells you that you should anticipate downtime of a certain number of minutes or hours each month. </p>
<p>As an example, Amazon's SLA sets its EC2 availability rate at 99.99% each month. If, in a particular month, you encounter greater downtime, you might be eligible for service credits or refunds.</p>
<p><strong>Multitenancy</strong> is the placement of virtual instances belonging to multiple cloud customer accounts on a single hardware resource. </p>
<p>A multitenancy setup for a server instance will probably be significantly less expensive than a dedicated instance. Choosing a dedicated instance, however, would guaranty that your instance will never be hosted on a physical server alongside an instance from a second account. Security or regulatory considerations might require that you avoid multitenancy.</p>
<p><strong>Migration</strong> describes the process involved with moving existing business application and database workloads from local (on-premises) deployments to a cloud provider. Providers often make specialized tools and free tech support available for migrations.</p>
<p><strong>Elasticity</strong> describes the ways virtualized cloud resources can be quickly added to meet growing demand or, equally quickly, reduced in response to dropping demand. </p>
<p>Elastic resources are especially well-suited to maintaining application availability and health without incurring unnecessary costs. Elasticity can usually be automated, so applications will respond instantly to changing environments without the need for manual intervention.</p>
<h3 id="heading-what-is-serverless-computing">What Is "Serverless" Computing?</h3>
<p>Serverless computing is no different from server computing. It's just that, even if you squint your eyes real tight, you don't get to see the server. </p>
<p>Or, to put it another way, serverless computing is like running a virtual server instance, but without having to configure its instance settings or log in to set things up.</p>
<p>In other words, you can't run software code of any kind without a computer somewhere processing your commands. </p>
<p>So let's say that serverless is a form of virtualization where everything except your application code is abstracted. In that sense, serverless platforms like Amazon's Lambda and Azure's Functions are a lot like the model used by Amazon Elastic Beanstalk, except that they're so simple to use that they can easily be incorporated into a larger, highly automated multi-tier workload.</p>
<h3 id="heading-what-is-edge-computing">What Is Edge Computing?</h3>
<p>Latency is the term we use to describe the time it takes for data to travel from a remote server across a network to your computer – or back in the other direction.</p>
<p>Assuming you prefer fast service over slow service (which seems a safe assumption), high latency numbers are a bad thing.</p>
<p>Network engineers can invoke various magical spells – Oops! I mean clever configuration efficiencies – to reduce delays due to latency. </p>
<p>But no matter how many tricks they're hiding in their mysterious black bags, they can't ignore the laws of physics. Even using the best connections and configuration profiles, data still has to physically move across the distances between remote locations.</p>
<p>The only way to reduce this kind of latency is to shorten the distance. I suppose that one way would be for online service providers to very politely ask their customers to sell their houses and move somewhere closer to the servers running in the office (as if real estate prices weren't already high enough in Silicon Valley). Alternatively, though, how about moving the server closer to the customer?</p>
<p>Ah. You've discovered edge computing: the fine art of installing large distributed networks of smaller servers where mirror copies of server data can be stored and, when necessary, fed to any customers in the area who initiate requests. </p>
<p>If you've got enough of those servers spread evenly through the geographic regions where you customers live, then you can significantly reduce the latency they experience.</p>
<p>One kind of edge computing that performs this function is known as a content distribution network (CDN). Cloudflare and Amazon's CloudFront are among the larger CDNs currently in operation.</p>
<p>Edge computing resources like those used by CDNs have also increasingly been used to manage large streams of data from and to IoT devices like the computers embedded in cars. </p>
<p>Placing capable compute devices at the edges of large networks makes it possible to consume and transform such data sets faster than by moving the data all the way back to the more distant cloud.</p>
<h3 id="heading-what-are-the-key-compute-form-factors">What Are the Key Compute Form Factors?</h3>
<p>Computers, like egos, come in all shapes and sizes. Would you like to carry a rack full of bare metal servers around in your pocket to pay for your shopping? You're probably better off using some kind of mobile payment app on your smartphone.</p>
<p>Size matters. A lot. A device's form factor will determine the dimensions and capacity of its internal components. That means the particular motherboard, memory modules, storage drives, peripheral ports, and power supply you select for a device will be limited by your overall form factor.</p>
<p>The form factor you choose – for either a new project or just for your personal use – will generally be obvious (server racks can be heavy and don't handle travel well). But knowing what's available can make it easier to plan.</p>
<h4 id="heading-devices-using-video-displays">Devices Using Video Displays</h4>
<p>The term <em>personal computer</em> (PC), these days, is used to describe either desktop or laptop computers. </p>
<p>Laptops, since they're designed to be mobile, are largely self-contained. Desktops, by contrast, generally come with the core compute elements within a box that includes external ports for connecting peripherals like keyboards and monitors.</p>
<p>While you can find computers with power and functionality that's comparable to PCs in very small (credit-card sized) cases, the larger boxes used by desktops allow for easier customization and upgrades.</p>
<p>Gaming consoles – like Sony's PlayStation, Microsoft's Xbox, and the Nintendo Switch – are effectively the equivalent of desktop PCs, except that their software is built on closed systems. </p>
<p>They're "closed" in the sense that their software interface exposes only the functionality the manufacturer wants you to see. Modifying or customizing the OS or internal works of a game console is normally impossible.</p>
<p>A touchscreen device uses the gestures and taps it senses from users as input devices in place of the traditional mouse or keyboard. Touchscreen technologies are the primary inspiration behind smaller form factors for consumers, since there's no need for external input devices. </p>
<p>This, more than just about anything else, has driven the tremendous growth of the tablet and smartphone markets. (It also explains the freakishly agile thumbs of entire generations of young people.)</p>
<h4 id="heading-devices-without-video-displays">Devices Without Video Displays</h4>
<p>The router that connects devices to a network through either WiFi or ethernet cables contains pretty much the same internal motherboard and network interfaces that you'd find in any other compute device. The big difference is that there's no HDMI, DVI, or VGA video port. </p>
<p>Routers are meant to run autonomously and, when administration is necessary, it'll usually happen through a browser interface across a network.</p>
<p>You launch an admin session with your router by entering its IP address into your browser and authenticating when prompted. In some cases, you can also launch terminal sessions through the Secure Shell (SSH) protocol.</p>
<p>This remote administration model is shared by many display-less device types. Those will include medical (and non-medical) implants or <em>wearables</em> that come with tiny computers built to monitor, report, or even interact with their host environments. </p>
<p>(In the context of wearables, I would at least briefly discuss smart watches here but, for the life of me, I can't figure out why anyone would want one.)</p>
<p>Display-free computers are also embedded in medical devices, appliances, cars, logistics fleets and industrial machinery. All of those embedded computers are components of the growing internet of things.</p>
<h2 id="heading-chapter-8-security-and-privacy">Chapter 8: Security and Privacy</h2>
<p>Let's get some administrivia out of the way right off the top. You'll no doubt recall how security and privacy were covered like a blanket in the first two chapters (named "Understanding Digital Security" and "Understanding Digital Privacy" respectively). So why are we flogging this certifiably dead horse now?</p>
<p>Because it's not dead. Security and privacy are as or more important than anything else in IT. Most of us don't think about them enough, but it's something you can't really overdo. </p>
<p>As an outstanding IT professional I once worked with would have said: "Paranoid is only the beginning." And besides, there are still some urgent and fascinating topics we haven't addressed.</p>
<p>So we'll spend some time exploring how the core security tools (like authentication controls and encryption) can be applied to solve a much wider range of security and privacy problems. And we'll also go face to face with a couple of significant threats that exist thanks to the very devices we've come to love.</p>
<h3 id="heading-blockchains">Blockchains</h3>
<p>The new-technology-hype machine just loved blockchains when they first came to public attention. There were frequent gushing articles in the media about how this was <em>it</em>: blockchains were poised to change the world, ushering in a golden age of endless joy and fluffy fairy unicorns. Rejoice! Salvation is come.</p>
<p>But despite all that, blockchain technologies are, in fact, a big deal. Before we go there, though, just what is this stuff all about?</p>
<p>A blockchain is a distributed string of digital records used to record and validate transactions. The goal is to maintain a reliable and incorruptible public "ledger" of transactions to secure and improve the way financial and commodity operations are recorded.</p>
<p>The <em>blocks</em> in <em>blockchains</em> are actually data packets containing some identifying meta information (including a timestamp) and a cryptographic hash. </p>
<p>The hash – which is produced by software running on the computer that generates the block – is derived from the unique contents of the previous block in the chain which, in turn, was based on the block that preceded it.</p>
<p>Because the contents of one block are dependent on the state of others, no single block can be modified without leaving behind some obvious and easily traceable evidence. </p>
<p>This explains why it's called a <em>chain</em>, because if any one link (block) is altered, the entire chain will break. In effect, a chain will never be trusted unless it maintains the clear consensus of the creators of all its blocks.</p>
<p>Generating the hashes for blockchains is compute-intensive and can incur significant costs in compute power and electricity. </p>
<p>This is by design, since it all but forces blockchains into the hands of distributed communities, rather than individuals or small groups. This decentralization makes chains less vulnerable to attack and adds robust reliability to the data that's being managed.</p>
<h4 id="heading-blockchains-and-cryptocurrency">Blockchains and Cryptocurrency</h4>
<p>Like most people, I first heard about blockchains in the context of cyptocurrencies like Bitcoin and Ethereum. Cryptocurrencies are digital assets that can be used as alternatives to fiat money (that is, the kind of virtual and mutually accepted representations of value found in exchange instruments like national currencies).</p>
<p>Using the funds in a cryptocurrency account, I could pay for goods or services while, in many cases, retaining anonymity. Of course, this very anonymity carries significant risks.</p>
<p>Cryptocurrencies have, for instance, been used to support criminal activities. The people behind ransomware attacks will often demand cryptocurrency payments in exchange for the decryption keys that you <em>hope</em> will restore access to your lost data. </p>
<p>And the contents of large cryptocurrency accounts have been effectively lost when controlling servers crashed (or were forced down) or, in at least one case, when the administrator of a currency worth millions of dollars died without sharing his authentication information.</p>
<p>It's worth noting that the relative value of funds in the account itself – when measured against the ability to exchange them for fiat money – has historically been volatile, unpredictably suffering from violent market fluctuations.</p>
<h4 id="heading-blockchains-and-accounting">Blockchains and Accounting</h4>
<p>Blockchains can solve many of the same old problems addressed by traditional accounting practices. Specifically, integrating blockchain verification into a business's financial processes can provide secure transactions and on-demand access to immutable and transparent records. </p>
<p>The ongoing, real-time existence of such records could possibly remove the need for periodic audits and monthly reconciling.</p>
<p>Many of those same features could profoundly change the very nature and value of contracts – a change that could spill over beyond accounting, in to the practice of law.</p>
<h4 id="heading-blockchains-and-insurance">Blockchains and Insurance</h4>
<p>The potential security and privacy features of properly designed blockchains can also create efficiencies and value in the insurance industry. </p>
<p>For one example, having a single blockchain where all the insurers within a particular market can reliably share their customer account information can help reduce claims fraud. </p>
<p>Suspicious behavior and multiple claims for a single event will be more readily visible within a transparent and highly accessible system that includes data from all participating parties.</p>
<p>Being able to reduce administrative duplication can also greatly streamline the processing of legitimate claims. </p>
<p>You'll appreciate this when you consider how a victim's insurer will often process their customer's claim using similar steps to those used by the insurer you're claiming from. But if both companies are able to openly share their data, the process can be unified and, even better, automated.</p>
<p>Perhaps most significantly, the delivery of healthcare can be enhanced and made more efficient if critical personal records can be safely and instantly accessed. And – you guessed it – blockchains can be helpful here, too.</p>
<p>What kinds of automation are we talking about? Well, going back to accident claims, a "smart contract" is software that regularly checks for changes to the status of associated objects. The simple mouse click approval of an insurance appraiser, for instance, could set into motion all the events necessary to pay a claim, notify all related parties, and update existing records.</p>
<p>Maybe – just maybe – insurance isn't as boring as people think.</p>
<h3 id="heading-multi-factor-authentication">Multi-Factor Authentication</h3>
<p>Passwords are terrible things. Sure, we can't just leave our devices and online accounts open to anyone. But who decided that asking people to memorize long strings of meaningless text (like <em>sIIkdm^&amp;sv234LKi</em>) was the solution? </p>
<p>Sure, you could choose easy-to-remember passwords like <em>mysecret</em> or this clever variation: <em>mysecret22</em>, but anything that's that easy to remember is equally easy to guess. And double that if you're using the same password for multiple accounts. In other words, that kind of protection is just not worth the effort.</p>
<p>There are, by the way, two ways to improve your passwords:</p>
<ul>
<li>Use a password vault to generate and safely store insanely complex passwords that you won't need to remember: you can just copy and paste them into any login pages you visit.</li>
<li>Use long (15-20 character) passwords that incorporate memorable, but unconnected, words. Something like:</li>
</ul>
<p><em>house-seventy-warfare-calf</em>.</p>
<p>Mathematically speaking, it's highly unlikely that anyone will have the compute power and time needed to crack that one. And it's not so hard to memorize.</p>
<p>But when it comes to particularly sensitive sites – like the ones where you do your banking – even good passwords aren't good enough. For that reason, more and more organizations are incorporating multi-factor authentication (MFA) into their security profiles.</p>
<p>A website or application configured with MFA requires you to present more than one kind of evidence that you are who you claim to be. One could be based on something you know, and another could be evidence based on something you have.</p>
<p>"Something you know" could be a password, while "something you have" could be a standalone MFA device or an app running on your smartphone. </p>
<p>It'll often work by having the application send a short-lived code via instant message to a preset phone number. You'll be expected to enter the code onto the authentication login page.</p>
<h3 id="heading-federated-identities">Federated Identities</h3>
<p>Once you've got the basics of authentication out of the way, through strong passwords and/or MFA, there's the question of authorization. In other words, what resources your logged in account will be able to access. </p>
<p>Individual systems will control users through some kind of access controls. Microsoft Windows, for example, uses Active Directory, Linux has object permissions, and cloud providers like Amazon Web Services can apply roles and policies.</p>
<p>But if you want your users to be able to move <em>between</em> services without having to log in to each service individually, of if you would just prefer not to have to manage authentication at all, you can implement a federated identity.</p>
<p>You've probably already experience federation without even knowing it. Logging into a third party web service using your Google account is one form of federation. </p>
<p>The service integrates its authentication system with a federation provider using an identity technology like Security Assertion Markup Language (SAML) or OAuth. When you accept the terms and log in, the provider will share just enough of your identity information with the third party service to enable an account.</p>
<h3 id="heading-digital-surveillance">Digital Surveillance</h3>
<p>Because it can both protect you from harm and also invade your privacy, surveillance is a two-edged sword. But <em>digital</em> surveillance is a two-edged sword that's a whole lot sharper. Let me explain why that is.</p>
<p>Closed circuit video cameras have been in use within security systems since at least the 1930's, but they really did only one thing: record images that were usually stored locally and then, after a few days or so, overwritten with new recordings.</p>
<p>That was helpful but, to be useful, you would need to physically get to the tape and then laboriously search through, find, and view any images of interest.</p>
<p>Digital surveillance cameras are certainly cheaper than their analog equivalents, much easier to physically hide, and easy to access through networks. </p>
<p>But there's also a lot more you can do with digital video feeds. You can, for instance, configure email alerts whenever the camera detects motion. Or you can redirect a video stream to cloud services (like Amazon's Kinesis) where it can be integrated with your data analytics and machine learning operations or interpreted in near real-time by an object and face recognition service (like Amazon's Rekognition).</p>
<p>All of those tools can be used in the service of both positive and harmful goals. The fact is that there are now countless millions of such cameras deployed around the world that are, in many cases, connected to large-scale surveillance operations. At the very least you should be aware of the potential and risk such technologies present.</p>
<h3 id="heading-backdoors">Backdoors</h3>
<p>A <em>backdoor</em> is a hardware or software-based vulnerability that was intentionally built into a device or the operating system that runs it. </p>
<p>In some cases, the backdoor exists with the full knowledge of the customer, as it was intended to enable remote support or the automated installation of patches and updates. But that's not always the case.</p>
<p>Governments, government-associated companies, and criminal organizations have been caught shipping sensitive compute and networking devices with dangerous backdoors. Such vulnerabilities have been used to bypass encryption protection to monitor communications, steal research data, and harvest authentication information.</p>
<p>Backdoors can take the form of active malware that collects local data and then sends it to remote attack servers, or passively permit remote logins through insecure network environments.</p>
<p>Protecting yourself from backdoors requires defenses on multiple levels, including:</p>
<ul>
<li>Careful vetting of potential hardware vendors (taking into account their home countries and associations)</li>
<li>Regular monitoring of reliable technology information sources for news of new vulnerability discoveries</li>
<li>Careful monitoring of your devices' network activities</li>
<li>Regular patching of your networking and compute systems</li>
<li>Blind, stupid luck in large doses</li>
</ul>
<h2 id="heading-chapter-9-managing-data-storage">Chapter 9: Managing Data Storage</h2>
<p>We've all been at this 21st Century thing for a while and by now it's pretty clear that data is the big driver of, well, of everything. </p>
<p>Governments build their policies around economic and population data. Scientists build their theories around environmental, physical, and biological data. Businesses build their plans around production, sales, and consumer behavior data.</p>
<p>Data is being generated at rates previously undreamed of. I've read that the sensors on a pair of General Electric GEnx engines on a Boeing 787 Dreamliner generate a terabyte of data each day. </p>
<p>A single network-connected car (like a Tesla) might upload around 100MB of location, performance, and maintenance-related data on any average day. </p>
<p>Multiply that by the millions of such cars that will soon be in use around the world, and multiply <em>that</em> number by the thousands of other devices that are out there, and the scale of the data "problem" should be clear.</p>
<p>Got plans to add your own data to the flood and you feel the need to save and store it, too? You'll need to be able to explain why you need it so you'll know how it should be done. I can't help you with that "why," but I think I can give you some useful thoughts about the "how."</p>
<p>They <em>way</em> you store data will depend on what it looks like as it's produced and how you may need to access it later. <em>Where</em> you store your data will depend on how much of it there is, how deeply you'd be impacted by its loss, and how often you'll need to take it out and play with it. Let's take a look at both of those variables.</p>
<h3 id="heading-data-storage-formats">Data Storage Formats</h3>
<p>Since not all data is created equal, it'll make sense to look for the tools and environments that'll most closely match the work you're planning to do. Here are some options:</p>
<h4 id="heading-spreadsheets">Spreadsheets</h4>
<p>They may be flashy, colorful, consumer-facing applications, but spreadsheets are no lightweights when it comes to serious data processing. </p>
<p>As we'll see in more detail a bit later, spreadsheets have their limitations. But when it comes to presenting data in visually accessible ways, applying mathematical, statistical, and financial operations to that data, and even integrating remote data sources (like stock market quotes), no other tool comes close.</p>
<p>Spreadsheets can import simple, plain text data from files of just about any size as long as the text can be delimited. That is, breaks between data divisions should be marked by some consistent character. </p>
<p>When you import the data, you can specify the appropriate delimiter. Tabs, hard returns, and commas are common delimiting characters. In fact, the popular acronym <em>CSV</em> stands for <em>comma-separated values.</em> </p>
<p>Here's what a few lines of CSV text might look like. Note that the first row contains column headings. Spreadsheets can easily understand how those should be treated differently.</p>
<pre><code>Year,Volume,Rate,Growth
<span class="hljs-number">2015</span>,<span class="hljs-number">56</span>,<span class="hljs-number">10</span>,<span class="hljs-number">15</span>
<span class="hljs-number">2020</span>,<span class="hljs-number">90</span>,<span class="hljs-number">11</span>,(<span class="hljs-number">2</span>)
<span class="hljs-number">2022</span>,<span class="hljs-number">109</span>,<span class="hljs-number">8</span>,<span class="hljs-number">12</span>
</code></pre><p>Spreadsheets display their data in cells, which are arranged into horizontal rows and vertical columns. </p>
<p>Functions can be applied to the contents of individual cells or to some or all of the cells in a column or row, and can incorporate values in cells in relative locations. </p>
<p>Data sets within a spreadsheet can be rendered as graphs. Spreadsheets can be used as web forms where users can input data that's saved for future use.</p>
<p>The most popular spreadsheet is probably Microsoft's Excel, which is part of their Microsoft 365 Office Suite. But feature for feature, the open source Calc that comes with the LibreOffice suite is a viable alternative. Google Sheets is a cloud-based spreadsheet solution that may lack some of the feature depth of the others, but is a strong collaboration tool.</p>
<h4 id="heading-databases">Databases</h4>
<p>As a rule, databases are not built for visualizing data in attractive and intuitive formats. And, on their own, they're not known for complex mathematical calculations either. But boy, can they handle extra-large data sets and multi-table relationships.</p>
<p>When I say that databases don't really help you visualize your data, that's generally because they're meant to be used "behind" front end applications in multi-tier deployments.</p>
<p>For instance, an e-commerce website will display web pages where users can browse what you've got for sale, add items to a virtual shopping cart, and check out using their payment information. </p>
<p>The web page itself just draws a graphical interface and shows you where to click your mouse, but the information about the items you're selling – including their price and associated images – are probably retrieved from a backend database whenever the page loads.</p>
<p>Similarly, your selections and, eventually, payment information will be written to a different database. The software process that handles your shipping might later consult the payment database for the shipping address. </p>
<p>Databases are there at every stage, but no one will ever actually see them.</p>
<p>Administrating large databases so they're efficient, secure, and reliable takes serious engineering and, in some cases, an enormous amount of money. </p>
<p>Before you build your database deployment, you'll need to know whether your operation requires strong Atomicity, Consistency, Isolation, and Durability (ACID) and support for complex and flexible queries. If it does, you may be looking for a relational database engine like SQL Server, MariaDB, or Amazon's Aurora. </p>
<p>Or perhaps you need speedy performance and would prefer a more flexible schemaless environment (suggesting you'd be better off with a NoSQL solution, like MongoDB or Redis).</p>
<p><em>SQL</em>, by the way, stands for <em>structured query language</em> – which is an established syntax for using language-like code for interacting with your data.</p>
<p>Counterintuitively, depending on who you ask, <em>NoSQL</em> might not stand for <em>Not SQL</em>. Some prefer to think of it as <em>Not Only SQL</em> instead.</p>
<h4 id="heading-jupyter-notebook">Jupyter Notebook</h4>
<p>Don't think you have to consume your data using the same tool that's storing it. It's possible, for example, to import existing data that's stored either locally or at a remote site into an interactive compute environment like a Jupyter Notebook. </p>
<p>The advantage of this kind of setup is that the data can now be addressed within the context of, say, a robust Python programming environment without actually touching – or potentially corrupting – the original source.</p>
<p>The open source JupyterLab is a popular resource for working with large data sets using Python. You can download and build your own JupyterLab or run it remotely through a cloud provider like Amazon's Elastic Map Reduce service, or Microsoft's Azure Notebooks. </p>
<p>For particularly large data sets – especially those that already live in the cloud – an existing cloud platform can make sense.</p>
<h3 id="heading-data-storage-devices">Data Storage Devices</h3>
<p>Although it's not quite this simple, let's say that there are four broad categories of data storage media drives:</p>
<ul>
<li>Magnetic tape on open reels, cartridges, or cassettes</li>
<li>Optical including Compact Disk (CD) and Digital Video Disc (DVD)</li>
<li>Magnetic media in 2.5 and 3.5 inch drive casing – including spinning hard drives</li>
<li>Solid state including SSD drives in 2.5 and 3.5 inch drive casing, SD cards, and USB flash drives</li>
</ul>
<p>A few magnetic tape systems may still exist here and there, but the days of laboriously and slowly copying large data sets to banks of multiple backup tapes – and hoping the backup would actually work – are pretty much over. </p>
<p>Trust me: no one is complaining. CDs and DVDs are headed the same direction. Their maximum capacities are no match for the sheer volume of today's enterprise data needs, and consumers don't make local copies of nearly as many large media files as they once did.</p>
<p>Which leaves spinning magnetic and solid state drives.</p>
<p>Gigabyte for gigabyte, spinning hard drives are probably still a bit less expensive than their solid state equivalents (although the price difference is narrowing), but the performance gains delivered by SSDs are very noticeable. </p>
<p>Some time ago, I realized that I could actually <em>save</em> money by buying smaller capacity SSDs for my personal workstations and laptops instead of larger hard disk drives (HDDs).</p>
<p>Let me explain. The way we use data on our personal computers has changed in recent years. Rather than storing media and software archives locally, we're much more likely to assume they'll be available to stream or download whenever we need them. </p>
<p>For most of us, faster download speeds have made "living in the cloud" easy. So we normally just don't need as much storage space any more. The 500GB SSD drive plugged into my busy workstation is barely half full – even taking into account the dozen or so virtual machines and the many ISO images I've got there. And the drive cost me less than I would have paid for a one or two terabyte HDD.</p>
<p>One of the primary roles of storage is data backup. Rather than physically transferring backups between media, local data archiving – using either SSD or HDD media – generally works by moving archives across networks. </p>
<p>The trick is designing a backup system that automatically provides you with sufficient duplicates of your archives, rotates them through appropriate life cycles (where, eventually, they're retired and destroyed), and all without generating unnecessary network traffic overhead.</p>
<p>Besides backups, you'll also often want to share data among users working throughout your campus. </p>
<p>Two tools for managing both backups and file sharing are network-attached storage (NAS) and storage area networks (SAN). Their similar names suggest they're in the same business. Trust me: they're not.</p>
<h4 id="heading-network-attached-storage-nas">Network-Attached Storage (NAS)</h4>
<p>NAS is a relatively simple and inexpensive way to share files across a local network. It works through a standalone server device that contains multiple storage drives. The drives will normally be configured as a Redundant array of inexpensive disks (RAID) array to provide redundancy and performance benefits.</p>
<p>The NAS device connects to the network over ethernet cabling and uses regular TCP/IP networking. Client machines in the LAN will see the NAS resources through standard file sharing protocols like Server Message Block (SMB) and Network File System (NFS).</p>
<p>NAS solutions can be great for smaller home or office environments, but the fun will quickly fade as you grow. NAS devices themselves are generally not powerful enough to handle too much of a client workload, and working with large files over an ethernet network may slow things down.</p>
<h4 id="heading-storage-area-network-san">Storage Area Network (SAN)</h4>
<p>If NAS setups are "relatively simple and inexpensive," SANs are complex and expensive. Not by accident were they designed for large enterprise deployments. As a result of the high end hardware you throw into a NAS system, performance will be great and you'll scale much further.</p>
<p>Rather than ethernet, SANs run through much faster Fibre Channel switches (or, sometimes, the slower iSCSI). They provide block-based storage rather than file systems and are mounted on client machines as local drives.</p>
<h3 id="heading-data-storage-services">Data Storage Services</h3>
<p>As internet connection speeds have improved, it's become more practical to move at least some data archives to the cloud. </p>
<p>Instead of local backups – which could be lost in a catastrophic event like a fire – data could regularly be saved to online platforms. Once there, you'd have a viable, off-site backup. But, if you wanted, you'd also have access to that data from anywhere on earth. If you work remotely with a distributed team, that can be helpful.</p>
<p>You've probably already own and have even collaborated on documents that live on Dropbox, Microsoft 365, or Google Drive. </p>
<p>For most people, the primary point of interaction for those services is a web browser. But serious data management – or even relatively complex and regular file backups – aren't practical within a browser. So cloud computing providers offer storage and archiving services whose administration can be scripted and automated.</p>
<p>Cloud storage services, like Amazon's Simple Storage Service (S3), provide full archive life cycle management. Data that must remain highly available could, for example, be saved to the S3 Standard storage class. </p>
<p>After a few months – when you're less likely to need the data, but must still retain a copy for regulatory reasons – you could move your archive to the cheaper S3 Glacier class. Data in Glacier is secure and durable, but would take much longer to access. </p>
<p>After a full year you might be able to delete it altogether. Better yet, there are simple ways to automate the way your data moves through its life cycle.</p>
<p>All major cloud providers will have their own comparable data storage services. Naturally, prices and exact service features will differ from one another. And, of course, feature and pricing details will often change.</p>
<p>It may not always be practical to transfer data to the cloud over the internet. Extremely large data sets can take a very long time to upload even using fast internet connections. </p>
<p>Sure, if you're lucky enough to have a fibre optics connection giving you one gigabyte/second, then a one terabyte upload would take only two and a half hours or so (assuming no one else was using the connection).</p>
<p>But what about 100 TBs of data (that'll take you more than ten days)? And what if you only get 100MB/second (more than three months)? If you're uploading jumbo-sized archives weekly or have other uses for your internet connection, then uploading isn't an option.</p>
<p>For such cases, you can still get your data into the cloud, but it'll have to find another ride. </p>
<p>AWS, as it turns out, offers their Snow Family services. Snowball is a large, secure storage device. It can be safely shipped to AWS customers, loaded up with dozens of terabytes of data, and then shipped back. Once back home at Amazon, the data will be directly uploaded to a bucket in the customer's account. Alternatively, Snowballs can be kept on-location and used as edge compute devices.</p>
<p>Snowball's big brother is AWS Snowmobile, a 45-foot long secure shipping container capable of handling Exabyte-scale digital migration. </p>
<p>Snowball's little cousin, AWS Snowcone, is a rugged container the size of a tissue box that can handle eight TB of usable storage, along with the possibility of virtual cloud instances and network connectivity to the AWS cloud. Besides transferring your data, Snowcones can be used as highly mobile edge compute devices in their own right.</p>
<h3 id="heading-thanks-for-reading">Thanks for reading!</h3>
<p>I hope you enjoyed the book. If you'd like to pick up a physical copy, you can use <a target="_blank" href="https://www.amazon.com/gp/product/B08HL9WQ1H/">this link</a>.</p>
<p>Or if you'd like to check out my other books on penetration testing, software configuration management, and the internet of things, take a look at <a target="_blank" href="https://www.amazon.com/David-Clinton/e/B01BR0PTT8/">my author page</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
