
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Create a new world in Kodu Game Lab, add objects and terrain, and program a cannon to shoot missiles at a fast cycle, then play-test.
Set up Kodu Game Lab on your computer by downloading from the Microsoft page, installing, selecting English, and creating a world to start building and programming your first game.
Program a Kodu game where a cycle navigates terrain and a cannon shoots missiles. The cycle eats apples, and the game ends with a win when no apples remain.
Program a Kodu cycle to award points when apples are shot or bumped, track blue team scores, and declare a winner once a set points goal is reached.
Explore Visual Studio Code, a cross-platform source code editor that bundles debugging, built-in git control, syntax highlighting, intelligent code completion, snippets, and refactoring in a customizable environment.
Install Visual Studio Code across Windows, Mac OS, and Linux, and explore features like intelligent code completion, debugging, navigation, refactoring, and Git integration with Python and JavaScript.
Variables are the foundational data type, storage locations with symbolic names and values that can change during execution; they may alias and map to actual data by the compiler.
Explore how value type variables store data across int, char, float, double, bool, and string, with memory allocation, default values, and the difference between assignment and equality.
Explore how programs declare and manipulate variables to store and update values. Learn arithmetic, logical, and relational operators, including remainder and string concatenation, and see how boolean results guide decisions.
Explore how conditional statements form a selection structure that executes commands based on true or false conditions. Learn if, else if, and boolean values with practical code examples.
Master loops and iteration by examining while and do-while structures, how conditions control repeated execution, and concrete hello world examples that illustrate endless and finite loops.
Explore arrays as a fixed-size, same-type data structure that replaces many variables with a single, indexable collection; declare, initialize, and access a single-dimensional int array in C.
Master one dimensional, two dimensional, and three dimensional arrays, using indices to organize class, school, and student data. Determine array size and dimensions.
Explore how functions map inputs to outputs, creating modular, reusable blocks of code. See how parameters, return types, and signatures shape programs with built-in and user-defined functions.
Discover file input and file output by reading from and writing to files, using modes like read, write, append, and read-write, with examples in C++, Java, and Python.
Discover object oriented programming concepts, focusing on objects with attributes and methods, their interactions, and how analysis, design, and inheritance structure modular, reusable software.
Define objects and classes as the core of object oriented programming, where classes specify data fields and methods, and objects are instances that model real or conceptual entities.
Understand how objects and classes relate by exploring methods and variables: class variables, instance variables, member variables, and class and instance methods.
Encapsulation binds data and its functions, shields internal details from outside interference, and data hiding enforces access via public, private, and protected access.
Explore methods passing and dynamic dispatch, where objects choose the code to execute in response to a method call, enabling directional, inter-object communication.
Explore inheritance in object-oriented programming, where derived classes reuse and extend base classes, enabling single, multiple, multilevel, hierarchical, and hybrid inheritance to model real-world relationships.
Explore polymorphism, the ability of objects from a parent class and its descendants to share a common interface while implementing different behaviors, as shown with shapes and animals.
Explore generalization and specialization in logic and programming by forming a superclass from common subclass characteristics. Decide when to generalize with parent classes or specialize with subclasses in a team.
Explore links and associations in object oriented programming, defining relationships between objects and classes, and mastering one-to-one, one-to-many, and many-to-many cardinalities with practical examples.
Explore Visual Studio Code, a cross-platform source code editor and IDE that combines debugging, Git control, syntax highlighting, intelligent code completion, snippets, and customizable extensions for many languages.
Install Visual Studio Code on Windows, macOS, and Linux, then install language extensions like Python, and use code completion, debugging, navigation, refactoring, and Git integration.
Learn to code in Python using Visual Studio Code, create a hello world program, and run it in the terminal with print statements.
Discover Python lists, tuples, and dictionaries, learn how lists hold mixed data types and indexes start at zero, how tuples are immutable, and how dictionaries map keys to values.
Master Python data type conversion using built-in functions like int, float, list, and dict. Learn to convert strings to numbers, strings to lists, and handle unicode via ord.
Explore Python decision making with if statements, nested ifs, and elif else blocks, using booleans, indentation, and print commands to control code flow.
Explore while and for loops in Python, using range to control iterations, iterating over lists and strings, printing values, and nesting loops, with attention to loop else behavior.
Explore Python's core input and output tools by using print and input, then work with files through open, write, read, and close, including reading specific character counts.
Explore functions in Python to create modular, reusable code and boost code reuse. Define user defined and built-in functions with def, pass parameters, print outputs, and return, understanding function scope.
Explore xml parsing with the document object model (dom) in Python. Read and extract product data from xml files by navigating nodes and attributes such as name and price.
Explore multithreaded programming in Python, where threads share data and communicate cheaply compared with processes, using thread and threading modules to create and run two threads.
Install Visual Studio 2019 Community Edition to access IntelliSense and autocomplete, and set up development for Windows Forms or console apps using C#, Visual Basic, C++, JavaScript, TypeScript, or Python.
Create your first desktop app with Windows Forms in Visual Studio 2019, select .NET framework 4.7.2, and explore a web app with home and privacy pages.
Create your first C# Windows Forms project in Visual Studio, name it, locate bin, then add a button, customize its text, and wire a click event to print hello world.
Click the large button to show a hello world message box, fix errors and warnings, and customize the Windows Forms button text, color (system drawing color blue), and other properties.
Explore how web applications work by examining web pages, web servers, and browsers, and distinguish the internet from the web. Learn how HTTP, HTML, and URLs connect clients to resources.
Learn how HTML describes web pages with markup, scripts, and CSS styling. See how browsers render HTML, link resources via unique URLs, and inspect page source for structure and metadata.
Create your first web app with ASP.NET in Visual Studio by adding an aspx page, setting the page title, and using an h1 header and a paragraph to display content.
Learn to add the paragraph and anchor tags, creating hyperlinks with href and target attributes. See how to use the image tag with src, and that css comes next.
Discover how to style an asp.net web app with css by creating a stylesheet, linking it in the head, and styling body and div elements with font-family and font-size.
Learn to embed client-side JavaScript in an ASP.NET web app with a script tag, connect a button click to a function that retrieves the date and updates a page element.
Explore styling a web button with css and javascript by removing borders, setting white text and padding, and adding a hover effect with the button info class.
Learn to add styling buttons with CSS and JavaScript by creating a new demo function. Wire click events to update elements via document.getElementById.
Learn how to add dynamic images with JavaScript by swapping image sources with buttons, using functions to toggle light on and off, and styling controls with CSS classes.
Discover how a browser request becomes a response in asp.net via iis and the worker process, compiling pages into assemblies. See how the system.web libraries support the final response.
Analyze a web page execution flow in Chrome, detailing dns lookup, ssl, request and response timing, server processing, and client-side resource loading through the asp.net page glass model.
Explore the ASP.NET page lifecycle and event model, detailing init, load, postback handling, pre render, rendering, and unload, and show how to attach event handlers and process form submissions.
Explore state management by comparing client-side and server-side techniques to preserve web page state across roundtrips, using variables and controls to define the state.
Discover client-side state management using browser capabilities to store state on the client. Use query strings, cookies, hidden fields, and view state to preserve data across postbacks.
Learn how server side state management uses the server to store session state and application state, with session ids transmitted via cookies or url and stored in the application object.
Explore setting up a Java development environment with NetBeans IDE, install the JDK, and learn core object-oriented concepts—classes, objects, methods, and instance variables.
Learn to create your first Java program in NetBeans by starting a new Java project, writing a main class with a main method, and running it to print hello world.
Master Java declaration rules: one public class per source file, class name must match the file name, and the package statement should be first, with imports applying to all classes.
Explore how to design Java classes and objects by building a student class with name, age, grade, and school, plus constructors and a main method to print details.
Master decision making in Java with simple and nested if statements, if-else logic, and switch-case constructs, including break and default handling, illustrated by variable examples.
Master Java loops including the for loop, Y loop, and do Y loop, with initialization, condition checks, and updates, and understand the break statement.
Discover how to define and call Java methods with parameters and return types, using max number and void examples to print results and enable code reuse.
Explore arrays in Java, a fixed-size, type-homogeneous data structure. Learn declaring, iterating with loops, printing elements, and computing sum, min, and max values.
learn Java file input/output using input and output streams, handle io exceptions like file not found with try and throws io exception, demonstrated by a simple copy example.
This lecture shows Java as an object oriented language, with classes as templates for objects that have states and behaviors, and explains constructors and object creation.
Master SQL through a three step process, learning the structured query language for retrieving and managing data across relational database management systems like Oracle, Sybase, Postgres, and MS Access.
Discover why sql is the standard language for relational databases, enabling storing, retrieving, defining, creating and dropping databases and tables, and powering apps like Facebook and Twitter.
Install and configure a local web development stack with XAMPP, including Apache, MariaDB/MySQL, and PHP or Perl, using SQLYOG as the database client and Mercury email server.
Start and stop server modules, including the Apache web server to serve pages. Start the MariaDB/MySQL database on default port 3306 and monitor the status log.
Connect to localhost as root with no password, then create your first database via GUI or SQL query, and explore tables, views, and procedures in the object browser.
Run queries to list databases, create new ones, and drop databases, with a browser refresh showing results. Be careful: dropping a database deletes all data unless a backup exists.
Create the first students table by defining an integer id as primary key, a not null varchar(30) name, and a grade as integer or decimal.
Drop a table with the drop table statement, then verify with a select query. Learn inserting rows using insert into to add data.
Learn how to create insert into statements by listing column names and values, or omitting column names to fill all columns, with examples using a students table.
Create a new table from the students table using select * from students, and understand that the resulting data is shown as a result set.
Explore handling files in Java using the java.io package, including file input and output streams. Learn to read and write data and manage io exceptions with try and throws.
Learn to use the where clause in a select statement to filter records from a table by conditions with numeric comparisons and quoted strings, ensuring only matching rows are fetched.
Discover how to use SQL operators to filter data, including greater than, greater or equal, less than, less or equal, and, or, to combine multiple conditions in select statements.
Learn how to delete data using delete statements by executing delete from students where name = Chris, refreshing the table, and optionally removing all records with delete from students.
Learn how the like operator in the where clause uses wildcards to match names with flexible patterns, including contains with % and starts with patterns, and distinguish it from equals.
Practice creating insert statements in a new query editor and learn how top, limit, and rownum fetch limited records across SQL Server, MySQL, and Oracle.
Master the order by clause to sort data by one or more columns in ascending or descending order, ensuring the sort column appears in the select list.
Explore how the group by clause clusters identical data in a select statement, precedes the order by clause, and enables aggregates like sum and count by name.
Use the distinct keyword with select to fetch only unique records and eliminate duplicates, illustrated by selecting names from a students table and the syntax select distinct column_name from table.
Learn to delete data with SQL using truncate table to remove all records while preserving the table, and contrast with drop table; the lecture shows an empty result after truncation.
Explore how Flutter uses Dart to build fast, cross-platform mobile apps for Android and iOS at 60 fps, with its own UI components and Material Design.
Install and configure Flutter, Dart, and IntelliJ to set up a complete development environment. Learn to use flutter doctor, install plugins, and configure paths across Windows, macOS, and Linux.
Create a new mobile project with Flutter and Dart, configure the Dart SDK, plugins, and Flutter framework, then run to see a hello world and use hot reload.
Develop a flutter calculator app with two text fields for bill amount and percent, a raised button, and learn stateless versus stateful widgets.
Learn to build a Flutter app by forming a widget tree with a column layout, padding, and a scaffold root featuring an app bar and a calculate button.
Create a flutter app entry point with a main function and runApp. Wrap deep calculator widget in a material app to display bill amount, tip, and total under Deep Calculator.
* THIS COURSE COVERS GAME DEVELOPMENT IN SCRATCH 3.0, KODU AND CODING PRINCIPLES TO FILL THE GAP BETWEEN SCRATCH 3.0 AND REAL CODING *
In this course you will be able to develop games in Scratch 3.0 programming language and 3D games in Kodu Game Lab. For the development of these games, is used Scratch 3.0 and Kodu Game Lab because they are educational programming environments that have an easy graphical interface that it will allow us to drag and drop the right blocks of coding.
I promise you that it will be a funny and exciting course that it will motivate you to learn coding in more depth.
Scratch 3.0 is a free programming language and online community where you can create your own interactive stories, games, and animations. Using Scratch, users can create online projects and develop them into almost anything by using a simple block-like interface. When they are ready, they then share, and also discuss their creations with each other. Scratch 3.0 was developed by the Lifelong Kindergarten group at the MIT Media Lab. Scratch 3.0 is designed to help children (ages 8 and up) learn to utilize their imaginations, practice common sense, and, most importantly, to interact with computers.
From Game Development with Scratch and Kodu Game Lab to Real coding with Python
Block #1: Basic Concepts
Objectives covered by the block
fundamental concepts: interpreting and the interpreter, compilation and the compiler, language elements, lexis, syntax and semantics, Python keywords, instructions, indenting
literals: Boolean, integer, floating-point numbers, scientific notation, strings
comments
the print() function
the input() function
numeral systems (binary, octal, decimal, hexadecimal)
numeric operators: ** * / % // + –
string operators: * +
assignments and shortcut operators
Block #2: Data Types, Evaluations, and Basic I/O Operations
Objectives covered by the block
operators: unary and binary, priorities and binding
bitwise operators: ~ & ^ | << >>
Boolean operators: not and or
Boolean expressions
relational operators ( == != > >= < <= ), building complex Boolean expressions
accuracy of floating-point numbers
basic input and output operations using the input(), print(), int(), float(), str(), len() functions
formatting print() output with end= and sep= arguments
type casting
basic calculations
simple strings: constructing, assigning, indexing, immutability
Block #3: Flow Control – loops and conditional blocks
Objectives covered by the block
conditional statements: if, if-else, if-elif, if-elif-else
multiple conditional statements
the pass instruction
building loops: while, for, range(), in
iterating through sequences
expanding loops: while-else, for-else
nesting loops and conditional statements
controlling loop execution: break, continue
Block #4: Data Collections – Lists, Tuples, and Dictionaries
Objectives covered by the block (7 items)
simple lists: constructing vectors, indexing and slicing, the len() function
lists in detail: indexing, slicing, basic methods (append(), insert(), index()) and functions (len(), sorted(), etc.), del instruction, iterating lists with the for loop, initializing, in and not in operators, list comprehension, copying and cloning
lists in lists: matrices and cubes
tuples: indexing, slicing, building, immutability
tuples vs. lists: similarities and differences, lists inside tuples and tuples inside lists
dictionaries: building, indexing, adding and removing keys, iterating through dictionaries as well as their keys and values, checking key existence, keys(), items() and values() methods
strings in detail: escaping using the \ character, quotes and apostrophes inside strings, multiline strings, basic string functions.
Block #5: Functions (20%)
Objectives covered by the block (6 items)
defining and invoking your own functions and generators
return and yield keywords, returning results,
the None keyword,
recursion
parameters vs. arguments,
positional keyword and mixed argument passing,
default parameter values
converting generator objects into lists using the list() function
name scopes, name hiding (shadowing), the global keyword
So What Are You Waiting For?
Enroll Today!