The Post-Syntax Era
- Understand the difference between Programming, Scripting, and Software Engineering
- Explain why architectural thinking matters more than memorising syntax
- Describe the InnoDI mastery model and how AI accelerates (but does not replace) learning
Before writing a single line of code, you need to understand the paradigm shift that makes everything in this course possible.
Historically, building software meant mastering complex syntax — C++, Java, Python. At InnoDI, we start from a different premise: we are in the Post-Syntax Era, where the most powerful "programming language" is one you already speak.
The hottest new programming language is English. Natural language commands AI systems to build software for you. Your role is not to memorise syntax — it is to think architecturally, direct AI agents, and ship real products.
Important: AI is an accelerator, not a replacement. You still need to understand what the code does and why it's structured that way. Think of AI as a co-pilot — you set the destination, it helps you fly faster. This course teaches you both: the fundamentals and how to leverage AI to apply them at speed.
Three Levels of Craft
- Programming — Write code to perform tasks
- Scripting — Automate sequences of actions
- Software Engineering — Systematically design software systems
The InnoDI Approach
You will learn to direct AI agents with precise, architectural prompts. You understand the system — the AI writes the syntax. This makes you 10× faster than a traditional developer who codes every line by hand.
Knowledge Check
Section 01 · 2 QuestionsIn the Post-Syntax Era, what does InnoDI call the "newest programming language"?
Scenario: You're asked to build a school management app. A Programmer would start writing login code immediately. What would a Software Engineer do first?
What does "thinking architecturally" mean to you?
In your own words, describe a situation where planning the structure of something (a project, a trip, a business) saved you time or avoided mistakes. How does that relate to Software Engineering?
VS Code & GitHub Copilot
- Install VS Code and identify its 5 main interface areas
- Install the GitHub Copilot extension and understand its role as an AI assistant
- Open a project folder and use the integrated terminal
An IDE is where your vision becomes reality. Master your workspace and you master your output.
An IDE (Integrated Development Environment) is a single application that combines your code editor, file explorer, terminal, debugger, and AI assistant. We use VS Code — free, open-source, used by 73% of professional developers worldwide.
Anatomy of VS Code
- Activity Bar — Left-side navigation icons
- Sidebar — File Explorer, Search, Git
- Editor Groups — Your coding canvas
- Panel — Integrated Terminal & Output
- Status Bar — Real-time project health
Step 1: Install VS Code
Download from the official site. It is free and runs on Windows, Mac, and Linux.
Step 2: Install GitHub Copilot
What is Copilot?
An AI pair programmer built into VS Code. It reads your code and comments, then predicts and completes what you're about to write. It handles ~30% of standard production code today.
How to Install
Open VS Code → click the Extensions icon (puzzle piece) in the Activity Bar → search GitHub Copilot → click Install. Sign in with your GitHub account to activate.
Knowledge Check
Section 02 · 2 QuestionsWhat does IDE stand for?
Scenario: You need to run git init to start version control on your project.
Where in VS Code would you type this command?
git init.Ctrl+`.Set Up Your Workspace
Install VS Code and the GitHub Copilot extension. Confirm both are ready below.
HTML: The Skeleton
- Understand HTML as a markup language that gives content structure and meaning
- Use essential tags (
<h1>,<p>,<a>,<img>) and semantic elements (<header>,<nav>,<main>,<footer>) - Create a valid HTML document with proper structure and the
index.htmlconvention
HTML gives your content structure and meaning. Every website on the internet starts here.
HTML (HyperText Markup Language) is not a programming language — it is a markup language that describes the structure of web content. It tells the browser: "this is a heading," "this is a paragraph," "this is a link."
Essential Tags
<h1>–<h6>— Headings (hierarchy)<p>— Paragraph text<a href="">— Hyperlink<img src="">— Image<div>— Generic container<ul> <li>— Unordered list
Document Structure
<!DOCTYPE html>— Declares HTML5<html>— Root element<head>— Metadata, title, CSS links<body>— All visible content
Semantic HTML: Meaning Over Appearance
Why Semantic Tags?
Instead of wrapping everything in generic <div> tags, use semantic
elements that describe their purpose. This helps search engines, screen readers, and future
developers understand your page.
Key Semantic Elements
<header> — Page or section header
<nav> — Navigation links
<main> — Primary page content
<section> — Thematic content group
<footer> — Page or section footer
The index.html Convention
Why index.html?
When a browser visits a folder (like yoursite.com/about/), it automatically looks for and
loads a file named index.html. This is the universal web server convention.
Clean URL Structure
Create /about/index.html → URL becomes yoursite.com/about/
Create
/projects/index.html → URL becomes yoursite.com/projects/
index.html ← yoursite.com/
about/index.html ← yoursite.com/about/
projects/index.html ← yoursite.com/projects/
assets/style.css
assets/main.js
Knowledge Check
Section 03 · 2 QuestionsWhat does HTML stand for?
Why is naming a file index.html special on the web?
Create Your First HTML File
In VS Code, create a new folder called my-portfolio, open it, and create
index.html. Type ! and press Tab — VS Code will generate the HTML5 boilerplate for
you. Then add a <h1> with your name and a <p> with a short intro.
Your VS Code should look like this:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="...">
<title>My Portfolio</title>
</head>
<body>
<header>
<h1>Your Name</h1>
<nav><a href="#">About</a></nav>
</header>
<main>
<p>Welcome to my portfolio.</p>
</main>
<footer><p>© 2026</p></footer>
</body>
</html>
CSS: The Design Layer
- Write CSS rules using selectors, properties, and values
- Understand the Box Model (Content → Padding → Border → Margin)
- Use Flexbox to create responsive layouts with
display: flex - Link an external
.cssfile to your HTML document
CSS transforms raw HTML structure into visual experience — color, typography, spacing, and layout are all here.
CSS (Cascading Style Sheets) controls every visual property of your HTML elements. You write rules that select HTML elements and apply styles to them. CSS is where your design vision becomes real.
Anatomy of a CSS Rule
h1 {
color: #ffffff;
font-size: 2rem;
font-weight: 900;
}
The Box Model
Every HTML element is a box with four layers — from inside out:
Content → Padding → Border → Margin
Mastering spacing between these layers is the foundation of clean layout.
Flexbox: Your Layout Superpower
What is Flexbox?
A CSS layout model that arranges items in a row or column and distributes space between them
automatically. Use display: flex on any container to activate it.
Key Properties
flex-direction: row or columnjustify-content: horizontal
alignmentalign-items: vertical alignmentgap: space between items
Adjust the controls below and watch the layout change in real time. This is exactly how Flexbox works in your CSS.
The CSS for this preview:
display: flex; flex-direction: row; justify-content: flex-start; gap: 12px;
Knowledge Check
Section 04 · 2 QuestionsWhat does CSS stand for?
Scenario: Your button text is touching the button's border. You want to add space between the text and the border, without pushing the button away from other elements. Which CSS property do you use?
Style Your index.html
Create a style.css file in your assets/ folder and link it to your HTML with
<link rel="stylesheet" href="assets/style.css"> inside the
<head>. Add a dark background, custom font, and Flexbox layout.
Your assets/style.css should contain:
background: #030303;
color: #ffffff;
font-family: 'Inter', sans-serif;
margin: 0;
padding: 0;
}
header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 24px 48px;
}
main {
max-width: 800px;
margin: 0 auto;
padding: 48px 24px;
}
JavaScript: The Brain
- Understand JavaScript's role as the behavior layer (alongside HTML structure and CSS style)
- Declare variables, write functions, and use
addEventListenerfor interactivity - Select HTML elements with
document.getElementById()and modify their content
HTML is structure. CSS is style. JavaScript is behavior — it makes your pages alive and responsive to user actions.
JavaScript (JS) is a full programming language that runs in the browser. It can read and modify HTML elements, react to user actions (clicks, keypresses), fetch data from APIs, and animate elements — all in real time, without reloading the page.
Core Concepts
- Variables —
const name = "InnoDI" - Functions — Reusable blocks of logic
- DOM — The live HTML tree JS can modify
- Events — React to user actions
Your First Interaction
const btn = document.
getElementById('myBtn');
btn.addEventListener('click', () => {
btn.textContent = 'Clicked!';
});
The Three Languages Working Together
Knowledge Check
Section 05 · 2 QuestionsWhat is JavaScript's primary role in front-end web development?
Scenario: You have a button with id="darkToggle". When clicked, it should
change the page background to black. Which code achieves this?
getElementById, attach a 'click' event listener, and modify the DOM inside the
callback. This is the core JavaScript interaction pattern.
Add One Interactive Element
Create assets/main.js and link it to your HTML with
<script src="assets/main.js"></script> before the closing
</body> tag. Then make one element respond to a click.
Starter code for assets/main.js:
const btn = document.getElementById('myBtn');
btn.addEventListener('click', () => {
document.body.classList.toggle('light-mode');
btn.textContent =
document.body.classList.contains('light-mode')
? 'Switch to Dark' : 'Switch to Light';
});
Design Thinking & Wireframing
- Understand wireframing as a planning tool — low-fidelity layout before code
- Identify what makes award-winning web design effective (typography, whitespace, color, motion)
- Sketch a wireframe for your portfolio homepage
Great developers are also great designers. Before writing CSS, you plan. Before planning, you look at the best work in the world.
Wireframing is the practice of sketching the layout and structure of a page before touching code. It is low-fidelity — boxes, lines, placeholder text — focused entirely on where things go, not how they look. It saves enormous time.
What to Wireframe
- Navigation placement and links
- Hero section layout (headline, image, CTA)
- Content sections and their order
- Footer content and links
- Mobile vs. desktop differences
Wireframing Tools
- Paper & Pen — Fastest, zero friction
- Figma — Industry standard (free tier)
- Whimsical — Clean, fast, web-based
- Excalidraw — Open-source, hand-drawn style
Find Your Inspiration: Website Award Sites
Where to Look
Before designing anything, spend 30 minutes on award sites. Notice what makes sites feel premium: the typography, the use of white space, the scroll behavior, the color palette.
What to Notice
Typography — Font choices, sizes, weight contrast
White Space — Breathing room between elements
Color — Limited palettes (2-3 colors)
Motion — Subtle scroll animations that reveal content
Knowledge Check
Section 06 · 2 QuestionsWhat is the primary purpose of wireframing?
Which website is widely used by designers to discover award-winning, cutting-edge web design?
Wireframe Your Portfolio
Browse Awwwards for 20 minutes. Then sketch a wireframe of your portfolio homepage — on paper or in Figma. Plan where your name, photo, project cards, and navigation will live.
What design choice will you borrow?
Identify one specific design element from an award-winning site that you want to apply to your own portfolio. What is it, and why does it work?
Git & GitHub
- Understand why version control exists — safety, history, and collaboration
- Use the core Git commands:
init,add,commit,push - Create a GitHub account and understand the Working Dir → Staging → Repository workflow
Every transformation you make deserves a permanent record. Git is that record — and GitHub is your professional identity on the global stage.
Why Version Control?
- Time Machine — Rewind to any previous version of your code instantly
- Fearless Experimentation — Try new ideas without risking your working code
- Collaboration — Multiple people can work on the same project without overwriting each other
- Professional Standard — Every employer expects you to use Git
Git vs. GitHub
- Git — The tool that runs on your machine and tracks changes locally
- GitHub — A cloud platform that hosts your Git repositories online, making them shareable and serving as your portfolio
Think: Git = your personal diary. GitHub = the published book.
Git is a distributed version control system that takes a "snapshot" of your project every time you commit. GitHub hosts these snapshots in the cloud — and doubles as your global professional portfolio.
$ git config --global user.email "you@example.com"
$ git init # initialize a new repo
$ git add . # stage all changes
$ git commit -m "Launch" # create a snapshot
$ git push # publish to GitHub
Pro Tip: The .gitignore File
Not everything should be tracked. Create a
.gitignore file in your project root to tell Git which files to ignore — system files, secrets,
and temporary folders. For a portfolio site, add:
Thumbs.db
node_modules/
.env
Knowledge Check
Section 07 · 2 QuestionsWhat does the command git config --global user.name "..." do?
--global flag means it applies everywhere on
your computer, not just one project.What is the correct order of the Git workflow?
Create Your GitHub Account
Go to github.com and create a free account. Your username will become part of your live portfolio URL. Enter it below.
Building Your Portfolio
- Build a 3-page portfolio site with proper folder structure and shared assets
- Apply responsive design using the viewport meta tag and CSS media queries
- Use AI prompts effectively to accelerate (not replace) your development
Now you apply everything. Plan your structure, use AI to accelerate, and build a 3-page portfolio site that represents you to the world.
Your portfolio is not just a school project — it is your professional identity. Every recruiter, collaborator, and institution will look at it. Build it like it matters, because it does.
Your 3-Page Structure
index.html— Home / About Meprojects/index.html— Portfolio Workcv/index.html— Your CVassets/style.css— Shared stylesassets/main.js— Shared scripts
Your AI Architect Prompts
- "Build a luxury dark-mode portfolio homepage with a hero section"
- "Create a projects grid with hover cards"
- "Design a clean CV layout with skills and experience sections"
- "Make the navigation sticky and add smooth scroll"
Responsive Design Basics
The Viewport Meta Tag
Always include <meta name="viewport" content="width=device-width, initial-scale=1.0">
in your <head>. Without it, your site will not scale properly on mobile.
Media Queries
Use CSS media queries to change layout at different screen sizes:@media (max-width: 768px) { .grid { grid-template-columns: 1fr; } }
Knowledge Check
Section 08 · 2 QuestionsWhat is the standard HTML filename for a website's default homepage?
To create a clean URL like yoursite.com/projects/, what file do you create?
projects/ subfolder with its own
index.html — the server serves it at the clean /projects/ URL.
Build Your 3-Page Structure
Create the folder structure above in VS Code. Use GitHub Copilot to generate HTML for each page. Add your real name, a short bio, and at least 2 project cards (even if placeholder for now).
Your VS Code Explorer should look like this:
├── index.html ← Home / About Me
├── projects/
│ └── index.html ← Portfolio Work
├── cv/
│ └── index.html ← Your CV
├── assets/
│ ├── style.css ← Shared styles
│ └── main.js ← Shared scripts
└── .gitignore
Quality Checklist:
✓ Navigation links between all pages work
✓ Homepage has a hero section with your headline
✓ Projects page has at least 2 project cards
✓ CV page has education, skills, and contact info
✓ style.css is shared across all pages via <link>
✓ Site looks clean on both desktop and mobile
Deploy with GitHub Pages
- Deploy your portfolio to a live URL using GitHub Pages
- Understand the
username.github.ionaming convention - Execute the full deployment cycle:
git add → commit → push
In minutes, your local project becomes a live URL accessible from anywhere on earth — for free.
GitHub Pages is a free hosting service built into GitHub. Push your code to a
specially-named repository and GitHub automatically serves it as a live website at
username.github.io.
-
On GitHub, create a repository named exactly
username.github.io(replace "username" with your actual GitHub username) -
In VS Code terminal, run
git remote add origin https://github.com/username/username.github.io.git -
Push your portfolio:
git add .→git commit -m "Launch portfolio"→git push -u origin main -
Visit
https://username.github.ioin your browser — your site is live
Knowledge Check
Section 09 · 2 QuestionsWhat repository name does GitHub Pages require for a personal site?
username.github.io exactly —
this is what triggers GitHub Pages.What is the correct Git sequence to publish your code live?
Share Your Live URL
Once deployed, paste your GitHub Pages URL below. This is your first live website.
Final Submission
- Complete your CV and Projects pages to professional standards
- Self-evaluate your portfolio against the quality rubric
- Submit your work and understand the InnoDI admissions pathway
Polish your portfolio, add your CV, and submit it to InnoDI. This is your first professional milestone.
Your final deliverable is a live portfolio website with two essential pages: a CV page that documents your skills, education, and experience — and a Projects page that showcases your work. This is what you will submit to apply to the full InnoDI program.
Your CV Page Should Include
- Full name and professional headline
- Education history with dates
- Technical skills (HTML, CSS, JS, Git)
- Work experience or relevant projects
- Contact information and GitHub link
Your Projects Page Should Include
- This portfolio site itself (meta!)
- Any prior work, designs, or experiments
- Screenshots or live links for each project
- A short description of your role
- Technologies used per project
Ready to Apply to InnoDI?
If you complete this course and want to go further — accelerated MSc degrees, AI-powered mastery learning, mentorship from Dr. Sounny — submit your portfolio below. Our admissions team will review your work.
Final Knowledge Check
Section 10 · 2 QuestionsWhat should a professional CV page on your portfolio include?
When you submit your portfolio to InnoDI, what does it demonstrate?
These are real portfolios built by students who completed this exact course. See the standard, get inspired, then submit your own.
Your portfolio will appear here after successful review by our admissions team.
Submit Your Portfolio to InnoDI
Paste your final portfolio URL below. Make sure your CV and Projects pages are live and complete. Our team will review your work within 5 business days.
What did you learn about yourself as a builder?
You just built and deployed a real website from scratch. What surprised you? What was harder than expected? What would you do differently if you started over? This reflection helps solidify your learning.
Transformation Complete.
You crossed the threshold from technology consumer to front-end architect. In two weeks you built real software and deployed it to the world. The InnoDI journey has begun.
1 ECTS = 28 hours of total study load (instruction, hands-on practice, self-study, and assessment) per the European Credit Transfer System.