Udemy
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Coding for Beginners: Scratch, Python, Java, C# & SQL
Rating: 4.5 out of 5(40 ratings)
1,391 students

Coding for Beginners: Scratch, Python, Java, C# & SQL

Build Scratch games, then explore Python, Java, C#, MySQL and reusable programming logic through practical examples.
Last updated 10/2026
English
English [Auto],

What you'll learn

  • Build Scratch games using events, loops, conditions, sprites and score variables.
  • Trace variables, arrays and functions to explain how a small program reaches its result.
  • Compare beginner programming examples in Python, Java and C#.
  • Use introductory MySQL examples to connect application data with database tables.
  • Break a small coding task into inputs, decisions, expected outputs and tests.

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

13 sections • 171 lectures • 23h 18m total length
  • Getting Introduced in Scratch 3.0 Environment5:59

    Explore Scratch 3.0, a complete redesign released in 2019, with a modern interface, new paint and sound editors, reordered blocks, mobile playback, and diverse extensions.

  • 3 Tips to Get More Value Out of this Course0:53
  • Blocks and Commands in Scratch 3.02:37

    Explore Scratch 3.0 commands across motion, looks, sounds, events, control, sensing, operators, variables, and blocks. Use the cat sprite to build interactive sequences with if statements, loops, backdrops, and sounds.

  • Sequential Programming with Scratch 3.03:29

    Learn sequential programming in Scratch 3.0 by building an interactive sequence: greet, ask for a name, join responses, and execute commands in order when the flag is clicked.

  • Learn Loops with Scratch 3.0, Building the "Ghost Effect"3:07

    Learn loops in Scratch 3.0 by building a ghost effect for a cat, using repeat blocks and duplicating scripts with waits to create a looping animation.

  • Building a Helicopter Game in Scratch 3.09:27

    Learn to build a Scratch 3.0 helicopter game that navigates between the yellow and blue buildings, avoiding clouds, using a flag start, forever loops, color detection, and arrow key controls.

  • Developing the "Super Space Invaders" Game in Scratch 3.00:58

    Develop the super space invaders game in scratch 3.0 by building a simple version, shooting invaders, earning points, and expanding with more invaders to advance levels.

  • Coding the Ship4:20

    Move the sheep left and right by updating the x position with arrow keys. Initialize on flag click, broadcast hits and game over, and set score to zero, adjusting speed.

  • Coding the GunFire6:12

    Learn to implement a gunfire mechanic: hide at start, spawn at y -125, rise until it detects the invader, then increase score and speed and broadcast game over.

  • Coding the Invader6:03

    Rename the sprite to invader and set a random x from -240 to 240. Repeat until it touches ship, move speed, bounce, change y by -0.5, and broadcast game over.

  • Finalizing the Game and some Minor Improvements4:08

    Finalize the game by aligning gunfire with the ship using X-position variables, tune left-right controls, and push the score threshold as difficulty rises.

  • Snake Game Overview in Scrach 3.01:19

    Learn to build a Scratch 3.0 snake game by directing a moving snake with arrow keys, collecting apples to grow, and avoiding edges or self-collision.

  • Coding the Head of the Snake Game in Scratch 3.06:16

    Learn to build a snake game in Scratch 3.0 by setting up head, body, and apple sprites, initializing the score, and controlling movement with a forever loop and arrow keys.

  • Coding the Body of the Snake Game in Scratch 3.09:46

    Code the snake body in Scratch 3.0 by creating clones that follow the head and grow as apples are eaten. Randomize directions and apply score-based delays to scale difficulty.

  • Coding the Apples of the Snake Game in Scratch 3.04:50

    Code the apple in a Scratch 3.0 snake game by setting its size, using a forever loop to detect contact, update the score, and reposition it randomly.

  • Coding the "Game over" functionality of the Snake Game is Scratch 3.08:50

    Learn to implement the game over logic for a Scratch 3.0 snake game by detecting collisions with itself or the wall, broadcasting game over, and stopping the game.

  • Introducing the Great Pac-Man in Scratch 3.01:05

    Create a simplified Pac-Man game in Scratch 3.0 by building a maze, collecting dots, and avoiding four uniquely intelligent ghosts to win with lives remaining.

  • Coding Pac-Man in Scratch 3.017:36

    Create a Scratch 3.0 Pac-Man game with two costumes for mouth animation, movement controls, dot eating, scoring, and lives, plus ghosts, game type flags, and win/lose conditions.

  • Coding the Dots4:34

    Code the dots by duplicating a shared script across all dots. Use events and broadcasts to mark an eaten dot, hide it, and increase the score with each dot processed.

  • Coding the Ghosts8:14

    Code a ghost in a Scratch-like project using events, motion, control, and operators to move, rotate, loop sequences, and repeat until the score equals 69.

  • Coding the Messages and Finalizing Pac-Man11:38

    Code the Pac-Man game by implementing win and game-over messages, manage lives and score thresholds, and use sprite changes, waits, and sound to finalize the game.

  • Developing Scary Shark Game in Scratch 3.016:04

    Create a Scratch 3.0 shark game with a shark sprite, underwater backdrop, mouse-driven movement, and a sign-in step plus a score and lives system.

  • Adding more functionalities in Scary Shark Game and finishing the Game14:25

    Add a toxic face sprite, duplicate its code, implement a five-lives system, and adjust scoring and shark size so touching faces grows or shrinks the shark, with game over screen.

  • Introducing the game "A Lovebug in my Plate"5:15

    Learn to build a scratch 3.0 game where a love bug eats fruits within 15 seconds, follows non repeating paths, and attempts to beat the high score with three resets.

  • Coding the "Ready" Event8:52

    Learn to code a scratch-style game start sequence: initialize score, time, lives; switch backdrops; broadcast ready; clear graphics; position the lovebug; setup pen drawing and color.

  • Coding the "Start" Event12:15

    Define a start event to reset the game, set score to zero, clear graphics, switch backdrops, and spawn a fruit at a random position with a random costume.

  • Coding the "Take" Event5:28

    Learn to implement the take event to reset a 15-second timer, use forever loops and nested ifs to track game over, play sounds, and broadcast an end event.

  • Coding the Lovebug11:44

    Program the lovebug to respond to arrow key events, enforce bounds, move in steps, and broadcast step, end, or take events, then collide with fruit to score.

  • Testing and Finishing the Lovebug Game in Scratch 3.08:39

    In Scratch 3.0, test and finish the Lovebug game by implementing if statements and variables for score, clear attempts, and game over, plus end game effects and restart logic.

Requirements

  • No previous coding experience is needed for the starting Scratch projects. Basic skills in using a browser, saving files and installing applications will help throughout the course.
  • Use a computer suitable for the tools you choose to follow. Scratch and the later text-based languages use different editors and setup steps; you do not need to install everything at once.
  • Set aside time to build, change and test small examples. The course surveys several technologies, so choose a manageable learning path through its curriculum.

Description

Discover how programming ideas carry across visual games, text-based languages and database work. This broad beginner course gives you a guided tour of Scratch, Kodu, Python, Java, C#, MySQL and Flutter examples so you can compare approaches and choose where to develop your skills next.

Begin with game rules and visible actions in Scratch, then connect those ideas with variables, conditions, loops, arrays and functions. Later sections introduce object-oriented concepts and examples in several programming environments. Additional material introduces IT service management and data protection, widening the context around the software topics.

What to focus on

Describe a program through its inputs, processing steps and outputs.

Recognise sequences, decisions and repetition in different languages.

Compare how variables, functions and objects organise a solution.

Use a small database example to understand the purpose of stored data.

The final coding workshops bring the languages together. Trace the same task in blocks, pseudocode and code, then build and test a small score tracker. Explaining what remains the same is more valuable than memorising several different sets of syntax at once.

Choose this course if you are exploring coding and want a broad starting point, or if you teach beginners and want to compare learning environments. Basic computer skills are useful; you can take one language section at a time and practise before moving on. The breadth is intentional, so use the curriculum to select a route that matches your interests. Recorded installation screens and framework examples may use older versions; check current provider instructions when setting up your own environment.

A broad route into programming

If you have never written a program, choosing a first language can feel like choosing a career before you have tried the work. This course offers a broader starting point. You begin with visible game behaviour in Scratch, then encounter the same kinds of decisions in text-based languages. That structure lets you compare ideas across environments. You are not expected to become a specialist in every technology listed. The aim is to build enough understanding to recognise what code does and to choose a more focused next step.

Learning with a visible result

The Scratch projects make sequence, repetition and decisions concrete. A sprite moves, a score changes or a game ends because a script reaches a particular condition. When the behaviour is wrong, there is something observable to investigate. The helicopter, space-invader, Snake and other game examples provide different settings for that investigation. You can ask which event started an action, which variable stored a value and which rule decided the result. Those questions remain useful when the graphical blocks are replaced by typed statements.

From visual rules to written logic

The transition sections introduce variables, data types, operators, conditional logic, arrays and functions. Rather than viewing each term as a separate fact, follow the flow of information through a small task. What comes in? What value changes? What decision is made? What should happen next? Writing those answers in ordinary language before examining syntax can help you see why a program is structured as it is. The coding exercises then give you a place to practise turning that explanation into a sequence a computer can execute.

Comparing Python, Java and C#

The language sections provide introductory examples in more than one syntax. This is useful if you want to recognise common programming concepts instead of assuming that every new language starts from nothing. A loop still repeats work, but the notation and surrounding environment may differ. A function still has a responsibility, but the way parameters and results are expressed can change. Compare one small concept at a time. You will learn more from understanding a short example in two languages than from copying a large project whose behaviour you cannot explain.

Connecting code with stored data

The MySQL material introduces a different kind of task: describing and retrieving records. A database query is not simply another spelling of a general-purpose programming loop. It offers another way to state what information you need. The introductory database section helps connect application behaviour with persisted data. You can begin distinguishing the calculation an application performs from the information it stores. That distinction is a useful foundation before choosing a dedicated SQL course or attempting an application that relies on a database.

Recognising the wider survey

The curriculum also includes Flutter, IT service management and GDPR material. These sections broaden the survey beyond core language syntax. Treat them as introductions to other contexts in which software is built, supported and used. They do not turn the course into complete training for every professional role involved. A productive approach is to identify which topic connects with your own goal, complete the relevant introductory lessons and record what you would need to study in more depth. The breadth is most helpful when you use it to make a learning decision.

Choosing a manageable practice path

You can begin with the game projects and then select one text-based language for a second pass through the fundamentals. Avoid installing every development tool on the same day. Choose a small task, reproduce the example and change one rule. If a score should increase by one, test the event that changes it. If a loop should stop, write the stopping condition in your own words. These modest experiments make progress easier to recognise and keep a broad course from becoming a list of disconnected videos.

Building confidence through explanation

A useful checkpoint is whether you can explain a result without pointing only to the finished screen. Describe the variables, decisions and sequence that produced it. If you cannot explain one part, return to that concept before adding another feature. This approach encourages confidence based on understanding rather than on having copied many lines. It also gives you language for asking better questions when you need help: the expected behaviour, the actual behaviour and the smallest example that shows the difference.

What to take forward

Choose this course if you want a creative introduction and a survey of possible programming directions. It suits adult beginners, educators and curious learners who want to connect visual projects with code. It is not a promise of professional mastery across Scratch, Python, Java, C#, SQL and mobile development at once. The most useful outcome is a foundation you can describe, a set of small examples you have investigated and a clearer decision about which subject deserves your next sustained period of practice.

Curriculum at a glance

Starting from Scratch Programming and Game Development

Kodu

From visual game projects to text-based programming

Coding Exercises #1

Advanced Programming Concepts

Python

C#

Java

MySQL

Flutter

IT Service Management

GDPR

Who this course is for:

  • You are starting programming and prefer to see loops, conditions and variables working in a game before moving to text-based code.
  • You want a broad introduction that connects Scratch and Kodu projects with beginner examples in Python, Java, C# and MySQL.
  • You are an adult learner, parent or educator looking for creative projects that make programming logic easier to discuss and practise.
  • You are comparing beginner programming paths and want to recognise concepts that transfer between languages, rather than specialise in one framework immediately.