CQH201: User Experience
👋 Welcome!
You’ve written code. Solved problems. Learned algorithms. Now it’s time to make your code talk — to real people. In this course, you’ll learn how software becomes interactive by building and exploring different types of user interfaces (UIs).
We’ll start with simple console-based apps, then step through desktop GUIs, web apps, mobile interfaces, and everything in between. By comparing multiple paradigms, you’ll learn why UI design matters and how to pick the right tools for the job.
Whether you’re dreaming of publishing an app, building tools for your friends, or just want to make your projects more usable — this course will give you the foundation to create great interactive experiences.
🎓 Course Level: 200 – Intermediate
This course is designed for learners who:
- Are comfortable with basic programming (variables, functions, loops)
- Want to go beyond algorithms and build things people can actually use
- Are curious about real-world development and user-centered design
🎯 Course Goals
- Understand what a User Interface is and why it matters
- Explore multiple UI types: Console, Desktop, Web, and Mobile
- Build small apps using tools like:
- Python, C#, JavaScript, Swift
- WinForms, XAML, HTML/CSS/JS, SwiftUI, and more
- Compare the strengths and trade-offs of each UI style
- Learn UI best practices: usability, accessibility, responsiveness
- Walk away with projects and a clearer direction for future learning
🗂️ What We’ll Cover
🧱 Module 1: What Is a User Interface?
- The evolution of UI design: from text to touch
- The big picture: CLI, GUI, web, mobile
🖥️ Module 2: Console Interfaces
- Building text-based tools with menus and inputs
- Enhancing console apps with layout libraries (
curses
, etc.)
🪟 Module 3: Desktop GUIs
- WinForms and event-driven programming
- XAML and MVVM for structured UI design
- Apple’s SwiftUI for native macOS/iOS apps
🌐 Module 4: Web Interfaces
- HTML + CSS + JavaScript basics
- Building interactive browser-based tools
- Component-based design with frameworks like React
📱 Module 5: Mobile & Cross-Platform
- Exploring tools like Flutter, React Native, and .NET MAUI
- Platform-specific UI/UX considerations
🎯 Module 6: Wrap-Up and Project Planning
- How to choose the right UI for your next project
- What to learn next based on your favorite paradigm
🛠️ Prerequisites
You should be familiar with:
- Basic programming concepts (variables, functions, loops)
- Some experience with JavaScript, Python, or C# will help
- Curiosity and a willingness to experiment!
📅 Course Format
- 10–12 weekly lessons
- Each lesson includes:
- A short article and visual explainer
- A small, hands-on project or exercise
- Tips and bonus challenges for the curious
Full Course Listing
To make it easy to find specific lessons, here’s the full list of course posts:
Quizzes for this course
No quizzes found for this course yet.
Stay tuned for the first post!
Want to be notified when it launches? Join our newsletter or follow @ProfByteCodes on Twitter.
Let’s bring your code to life!