"I'm not a technical person. I could never learn to code."
I heard this at least five times before my first HTML/CSS workshop even started. Accomplished instructional designers, experienced faculty members, people who mastered Canvas LMS and multiple authoring tools—all convinced that writing code was somehow beyond their capabilities.
Three hours later, those same people were building custom Canvas page layouts, styling buttons, and excitedly showing each other their creations.
What changed? Not their ability—they already had that. What changed was how I framed "coding" and what I taught them first.
Here's what I learned from running two HTML/CSS workshops (one for our ID team, one for faculty champions) and getting a 90% success rate with total beginners.
The Pre-Workshop Reality Check
Before I designed the workshops, I interviewed team members and faculty about their relationship with code. The patterns were striking:
- "I'm not a coder" was often said apologetically, as if it were a personal failing
- Previous exposure was traumatic: Computer Science 101 that moved too fast, unhelpful error messages, or feeling lost in jargon
- They wanted practical skills: Not to become developers, but to solve specific Canvas design problems
- Fear of breaking things: Worried that one wrong character would "break the whole website"
The barrier wasn't aptitude—it was mindset and framing. People saw "coding" as a binary skill: you either are a programmer or you're not. They didn't realize you could learn just enough HTML/CSS to be dangerous (in a good way) without becoming a software engineer.
The Biggest Mistake I Almost Made
My first draft curriculum started with "What is HTML? Let's talk about the history of the web..." Thank goodness I pilot-tested it. Nobody cared. They wanted to know: "Can I make this button purple? Can I create columns? Can I make sections collapsible?" Starting with history would have lost them immediately.
What Worked: The Framework That Changed Everything
1. Reframe "Coding" as "Styling Text"
This was my biggest breakthrough. I stopped using the word "coding" and started calling it "styling text with specific instructions."
Old framing: "We're going to learn to code HTML."
New framing: "We're going to learn how to tell Canvas exactly how you want your page to look using simple tags."
The second framing is less intimidating and more accurate. HTML isn't "programming"—it's markup. CSS isn't "code"—it's style instructions. This distinction matters psychologically.
2. Start With Immediate Wins
Forget theory. Forget best practices. The first thing we did in the workshop was make text bold and colorful.
Minute 5 of the workshop:
<p style="color: purple; font-size: 24px; font-weight: bold;">
Hello, I can style text!
</p>
That's it. Type that, see purple bold text appear, feel like a wizard. The room energy completely shifted. "Wait, that's all it takes?" Yes. Yes it is.
Why this works: Immediate feedback loop. You type something, you see something change. No setup, no complex tools, no waiting. This builds confidence before introducing complexity.
3. Teach Canvas-Specific Solutions, Not General Web Development
Every example solved a real Canvas design problem participants had encountered:
- Problem: "Canvas doesn't have colorful buttons"
Solution: Make custom buttons with HTML/CSS - Problem: "I can't create columns in Canvas"
Solution: Use div containers with flexbox styling - Problem: "Long pages are overwhelming"
Solution: Create collapsible sections with <details> tags
Participants weren't learning abstract concepts—they were learning solutions to frustrations they'd had for months. This kept motivation high and made the learning feel immediately useful.
The Magic Moment
Halfway through Session 1, a faculty member gasped: "Wait—is THIS how those fancy course sites do it? It's just... text instructions?" Yes! Demystifying what seemed like magic was incredibly empowering. Suddenly Canvas customization wasn't something only "technical people" could do.
4. Use the "Copy, Modify, Create" Progression
I didn't expect participants to memorize syntax. Instead, I taught them to:
- Copy working examples from a code snippet library
- Modify the examples (change colors, text, sizes)
- Create their own variations once they understood the pattern
This is how professional developers actually work! We don't memorize everything—we reference documentation, adapt existing code, and build incrementally.
I created a comprehensive handout with 20+ copy-paste-ready snippets for common needs: buttons, banners, columns, cards, accordions. Participants kept these at their desks and referenced them constantly.
"I thought 'real' coders memorized everything. Learning that you Google syntax daily made me realize I could do this too."
— Workshop participant feedback
5. Embrace Trial and Error in a Safe Environment
One major fear was "breaking" something. So I addressed it explicitly:
"You cannot break Canvas with HTML and CSS. Worst case? Your page looks weird. You delete what you wrote and try again. That's it. No explosions, no deleted courses, no tech support emergency."
This removed the psychological barrier to experimentation. We practiced in sandbox Canvas pages where mistakes had zero consequences. Participants learned that error messages aren't personal failures—they're helpful feedback.
What Didn't Work (Mistakes I Made)
Mistake #1: Too Much Information Too Fast
What I did wrong: In my pilot workshop, I tried to teach HTML structure, CSS syntax, AND accessibility best practices in the first hour.
What I learned: Cognitive overload is real. People can only absorb so much new information at once. I restructured to: Session 1 = HTML basics only. Session 2 = CSS basics only. The week between sessions let concepts sink in.
Mistake #2: Assuming Prior Knowledge of File Structures
What I did wrong: Used terminology like "file paths" and "relative links" without explaining them.
What I learned: Never assume technical vocabulary. What's obvious to someone comfortable with computers isn't obvious to everyone. I added explicit explanations and visual diagrams for concepts like linking to images.
Mistake #3: Not Enough Hands-On Time
What I did wrong: Spent 40 minutes lecturing, 20 minutes practicing in my first session.
What I learned: Flip that ratio. 20 minutes instruction, 40 minutes hands-on practice. People learn by doing, not by watching. I restructured to mini-demos followed immediately by "Now you try it" exercises.
The Curriculum That Worked
Here's the final structure that got 90% of participants creating custom Canvas pages successfully:
Session 1: HTML (3 hours)
- 0-15 min: Reframe "coding" + show awesome examples of what they'll create
- 15-30 min: First win—make text colorful and bold (inline CSS)
- 30-60 min: HTML structure basics (tags, elements, nesting)
- 60-90 min: Hands-on: Create a simple Canvas welcome page with headings, paragraphs, and lists
- 90-120 min: Links and images (focus on Canvas use cases)
- 120-150 min: Practice project: Build a week overview page for their course
- 150-180 min: Accessibility: Alt text, semantic HTML, screen reader considerations
Session 2: CSS (3 hours)
- 0-15 min: Review + troubleshooting HTML questions from the week
- 15-45 min: CSS basics (selectors, properties, values)
- 45-75 min: The Box Model (margins, padding, borders)
- 75-105 min: Hands-on: Style the page they created last week
- 105-135 min: Layout with Flexbox (creating columns and cards)
- 135-165 min: Practice project: Create a custom Canvas homepage with buttons and columns
- 165-180 min: Resources for continued learning + Q&A
Timing Is Everything
The one-week gap between sessions was crucial. It gave participants time to experiment, encounter problems, and come back with specific questions. Several people redesigned parts of their courses between sessions and were excited to show off their work!
The Results: Beyond My Expectations
Quantitative outcomes:
- 30 total participants across two workshops (ID team: 12, faculty: 18)
- 94% attendance for both sessions (only 2 no-shows)
- 90% successfully customized a Canvas page independently by end of workshop
- 75% reported using HTML/CSS regularly 3 months later
- 4.8/5.0 average satisfaction rating
Qualitative wins:
"I always thought coding was for 'smart people.' Now I realize it's just another tool, like PowerPoint. I wish I'd learned this years ago."
"The Canvas-specific examples were perfect. Every problem we solved was something I'd actually wanted to do but thought was impossible."
"Having the code snippets to reference later was a game-changer. I don't have to remember everything—I just have to know where to look."
Perhaps most satisfying: Three participants asked to co-facilitate future workshops. They went from "I could never do this" to "I want to teach others" in six hours of instruction. That's the power of building confidence alongside skills.
Key Takeaways for Teaching Technical Skills
If you're considering teaching HTML/CSS (or any technical skill) to non-technical colleagues, here's what matters most:
- Address mindset first: Many people's barrier isn't ability—it's belief they can't learn. Reframe what "coding" means.
- Start with immediate wins: Build confidence before building complexity. Let people see results in the first 5 minutes.
- Make it relevant: Teach solutions to real problems, not abstract concepts. Every example should solve something they've actually struggled with.
- Provide reference materials: Don't expect memorization. Give them copy-paste snippets they can adapt.
- Normalize mistakes: Error messages are learning tools, not failure. Create safe practice spaces.
- Hands-on > lectures: People learn by doing. Keep instruction short, practice time long.
- Follow up: Schedule optional office hours or create a support channel. Initial success needs sustained support.
The Long-Term Impact
Six months after the workshops, our team's custom Canvas pages looked dramatically better. Faculty were implementing design solutions independently instead of requesting help. Support requests for "basic" customization dropped significantly. The workshop didn't just teach skills—it shifted our team's capabilities permanently.
Want to Run Your Own Workshop?
If this inspired you to teach HTML/CSS to your team, I'd love to share resources. I have:
- The complete workshop slide decks
- Code snippet handouts (Canvas-specific examples)
- Practice exercises with solutions
- Pre/post-workshop survey templates
The bottom line: Teaching technical skills to non-technical people isn't about dumbing down content—it's about meeting people where they are, building confidence alongside competence, and proving that "I'm not technical" is a mindset, not a permanent identity.
Anyone can learn HTML and CSS. They just need someone to show them it's not as scary as they think.
Let's Connect
Have you taught technical skills to non-technical colleagues? What worked for you? What flopped spectacularly? I'd love to hear your stories and strategies.
Reach out on LinkedIn or email me at tahmina88@hotmail.com. Always happy to talk instructional design, professional development, or demystifying "technical" topics!