# data[].attributes.attachment_link.keywords[]
"cs dojo" "coding interviews" "programming interviews" csdojo

# data[].attributes.attachment_link.description
Hello! My name is YK, and I usually make videos about programming and computer science here :) Business email: https://www.csdojo.io/contact/ The logo was made by: my friend Youdong Zhang

# data[].attributes.attachment_link.title
Harvard CS50’s Introduction to Programming with Python – Full University Course

# data[].attributes.attachment_link.readable_text
Lists
Python offers a tool called lists to keep track of related "things," or values.

Loops
While loops tell the computer to do something while something else is true.

Dictionaries
Dictionaries are another tool, built-in to Python, to store things. Things in dictionaries can be alike, too, though dictionaries are best used to translate keys to values.

# data[].attributes.attachment_link.title
CodeCombat: Learn to Code by Playing a Game

# data[].attributes.attachment_link.description
Learn typed code through a programming game. Learn Python, JavaScript, and HTML as you solve puzzles and learn to make your own coding games and websites.

# data[].attributes.attachment_link.readable_text
Experience the sound of code.

Sonic Pi is your free code-based music creation and performance tool.

Powerful for professional musicians and DJs.
Expressive for composition and performance.
Accessible for blind and partially sighted people.
Simple for computing and music lessons.

Learn to code creatively by composing or performing music in an incredible range of styles from Classical & Jazz to Hip hop & EDM. Free for everyone with a friendly tutorial.

Brought to you by Sam Aaron and the Sonic Pi Core Team.

Sonic Pi lets you use simple code to turn your computer into a fully networked live coding music studio:

Multi Channel Audio In/Out

Well-timed MIDI In/Out

Well-timed OSC (Open Sound Control) In/Out

Ableton's Link network metronome built-in

Sonic Pi is a new kind of musical instrument.
Watch how you can use it for live performances from ambient sets to dance music in nightclubs...

Sonic Pi Band - Sam Aaron & Ben Smith

Reeled - Jylda & Sam Aaron

Daft Punk - Aerodynamic
coded by Sébastien Rannou

Join the friendly Sonic Pi community and share your ideas and thoughts with other educators, musicians and live coders...

Sonic Pi in the

Sonic Pi was specifically designed for and built in collaboration with teachers for use in the classroom.

Classroom Ready

Sonic Pi was designed, implemented and developed with extensive classroom trials in close collaboration with teachers.
Introduction for Teachers

Engage your students by coding music in your classroom today.

Sam Aaron, creator of Sonic Pi, has written this book to
complement the built-in tutorial.

Master live loops, code drum breaks, compose your own melodies make random riffs and loops, learn to shape and sculpt sounds and much, much more...

"Sonic Pi lowers the barrier to entry for a creative experience with code..."

Music. Code. Simple.

See how easy it is to get started coding your first sounds...

What are you waiting for? Get yourself a copy of Sonic Pi for:
Windows macOS Raspberry Pi OS

What's Happening with

Here's a taster of some of the exciting things happening in the Sonic Pi world...

Sonic Pi was an Education Partner for Convo, an ambitious new work at the Royal Albert Hall featuring 1,000 young instrumentalists & singers combining traditional instruments & code.
Watch the performance here

Sam Aaron performed with Sonic Pi at Moogfest 2016. Rolling Stone featured his performance in their review of the festival and said it "transcended the present".

Sonic Pi was an Education Partner for Convo, an ambitious new work at the Royal Albert Hall featuring 1,000 young instrumentalists & singers combining traditional instruments & code.
Watch the performance here

Sam Aaron performed with Sonic Pi at Moogfest 2016. Rolling Stone featured his performance in their review of the festival and said it "transcended the present".

The Sonic Pi: Live & Coding project has launched a series of 10 "Pop Pi" music videos created by artists using Sonic Pi.

Get Sonic Pi for

Get started on the world's most affordable computer.

Built for Raspberry Pi

Get the latest version of Sonic Pi for your Raspberry Pi to take advantage of all the new features such as MIDI, OSC networking, new translations, improved interface, headphone audio and much, much more...

Terminal Installation

As an alternative to the double-click installation, you can run the following commands via the terminal (within the directory you downloaded the deb file):
sudo apt update
sudo apt install ./sonic-pi_4.4.0_1_bullseye.arm64.deb

Back to top

Get Sonic Pi for

Turn any PC into a full Sonic Pi workstation.

Built for Windows 10 &amp 11

Sonic Pi has been developed and designed to work perfectly on laptops and desktops running either Windows 10 or 11.

MSI Installer

Sonic Pi is available as a signed MSI installer for you to securely install on your machine or network.

Getting Sonic Pi running on Windows is as easy as 3, 1, 4...
Back to top

Get Sonic Pi for

Use the full power of your Mac to take Sonic Pi to the next level.

macOS - Apple Silicon

v4.5.0 for Macs with Apple M1 or M2 chips

Requires Ventura
(macOS 13)
Mac with Apple chip

Securely Built for Apple
Intel or Apple Silicon?
There are two versions available to download. Apple Silicon for newer Macs powered by M1 or M2 chips and Intel for older Macs.

See "About This Mac" for your chip type.

Using macOS 10.15 or below?
Download previous releases here

macOS - Intel x64

v4.5.0 for older Macs with Intel chips

Requires Big Sur
(macOS 11)
Mac with Intel chip
Most Common

Getting Sonic Pi running on your Mac is as easy as eating Apple Pi.
Back to top

# data[].attributes.attachment_link.keywords[]
live coding music code programming learn teach

# data[].attributes.attachment_link.description
Sonic Pi is a new kind of instrument for a new generation of musicians. It is simple to learn, powerful enough for live performances and free to download.

# data[].attributes.attachment_link.readable_text
The course consists of 4-8 minute tutorials covering a topic, and separate exercises where the topic is covered as a hands-on coding challenge. It aims to give you a solid understanding of the basic concepts in Python programming.

As with all Scrimba courses, you can stop, test, modify or spin-off the code at any time. This makes for a more immersive experience and is one of the greatest benefits with the Scrimba platform.

BUT! It only works if you do, so use the opportunity. Don't just watch the talkthroughs, work through them, play, experiment, fail and learn! That is how you become great. You got this!
Extend the learning:
To discuss learning Python in this course, share and meet others in a similar situation to yourself you are invited to join the Facebook group: Python 101 started for this purpose. The instructor Olof Paulson will be active and answer your questions.

# data[].attributes.attachment_link.description
The course consists of 4-8 minute tutorials covering a topic, and separate exercises where the topic is covered as a hands-on coding challenge. It aims to give you a solid understanding of the basic concepts in Python programming. As with all Scrimba courses, you can stop, test, modify or spin-off the code at any time.

# data[].attributes.attachment_link.readable_text
RGB color picker | RGB color codes chart | RGB color space | RGB color format and calculation | RGB color table

RGB color picker

RGB color codes chart

Hover with cursor on color to get the hex and decimal color codes below:

RGB color space

RGB color space or RGB color system, constructs all the colors from the combination of the Red, Green and B lue colors.

The red, green and blue use 8 bits each, which have integer values from 0 to 255. This makes 256*256*256=16777216 possible colors.

RGB ≡ Red, Green, Blue

Each pixel in the LED monitor displays colors this way, by combination of red, green and blue LEDs (light emitting diodes).

When the red pixel is set to 0, the LED is turned off. When the red pixel is set to 255, the LED is turned fully on.

Any value between them sets the LED to partial light emission.

RGB color format & calculation

RGB code has 24 bits format (bits 0..23):

RGB = (R*65536)+(G*256)+B , (when R is RED, G is GREEN and B is BLUE)

Calculation examples

White RGB Color

White RGB code = 255*65536+255*256+255 = #FFFFFF

Blue RGB Color

Blue RGB code = 0*65536+0*256+255 = #0000FF

Red RGB Color

Red RGB code = 255*65536+0*256+0 = #FF0000

Green RGB Color

Green RGB code = 0*65536+255*256+0 = #00FF00

Gray RGB Color

Gray RGB code = 128*65536+128*256+128 = #808080

Yellow RGB Color

Yellow RGB code = 255*65536+255*256+0 = #FFFF00

RGB color table

Basic colors:

See also

# data[].attributes.attachment_link.description
RGB color codes chart, RGB color picker, RGB color table.

# data[].attributes.attachment_link.title
Python for Everybody - Full University Python Course

# data[].attributes.attachment_link.description
Learn the technical skills to get the job you want. Join over 50 million people choosing Codecademy to start a new career (or advance in their current one).

# data[].attributes.attachment_link.description
Learn, practice and get world-class mentoring in over 50 languages. 100% free.

# data[].attributes.attachment_link.title
Free Coding Games for Kids | Learn to Code | Code Club World

# data[].attributes.attachment_link.description
Code Club World helps you make cool stuff while learning to code, with free coding games and activities for kids to explore. Learn Scratch, Python, HTML and CSS.

# data[].attributes.attachment_link.title
Teach, learn, and make with the Raspberry Pi Foundation

# data[].attributes.attachment_link.description
We are a charity with the mission to enable young people to realise their full potential through the power of computing and digital technologies.

# data[].attributes.attachment_link.readable_text
Python Tutor helps you do programming homework assignments in Python, Java, C, C++, and JavaScript. It contains a unique step-by-step visual debugger and AI tutor to help you understand and debug code.

Since 2010, over 15 million people in more than 180 countries have used Python Tutor to visualize over 200 million pieces of code. It is the most widely-used program visualization tool for CS education.

As a preview, here is a small example showing recursion in Python:

Here are some examples of how it visualizes Java, C, and C++ code:

# data[].attributes.attachment_link.title
Online Python Tutor - visualize, debug, get AI help for Python, Java, C, C++, and JavaScript

# data[].attributes.attachment_link.description
Python Tutor helps you do programming homework assignments in Python, Java, C, C++, and JavaScript. It contains a unique step-by-step visual debugger and AI tutor to help you understand and debug code. Since 2010, over 15 million people in more than 180 countries have used Python Tutor to visualize over 200 million pieces of code.

# data[].attributes.body
The best tool for creating your first app that can run on iOS or android.

# data[].attributes.attachment_link.title
Learn computer science. Change the world.

# data[].attributes.attachment_link.description
Every student in every school deserves the opportunity to study computer science.

# data[].attributes.attachment_link.readable_text
Teaching computer science

Whether at home or in the classroom, MakeCode provides captivating experiences for students to learn computing concepts at their own pace through personally meaningful projects.

Explore some of the lessons, tutorials and curriculum available with MakeCode.

Learn more

# data[].attributes.attachment_link.title
Microsoft MakeCode Computer Science Education

# data[].attributes.attachment_link.description
MakeCode brings computer science to life for all students with fun projects, immediate results, and both block and text editors for learners at different levels.

# data[].attributes.attachment_link.description
Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations.

# data[].attributes.attachment_link.readable_text
Unity creators can deploy their projects to 20+ platforms²

downloads per month of Made with Unity applications³

of the top 1,000 games are using Unity to grow their games⁴

When created, when played, every game will be touched by AI. See how Unity Muse can transform the way you create.

Success stories

See how creators and studios around the world have achieved remarkable success with Unity's solutions and services.

Deep resources, dynamic community

Subscription plans

Personal

Bring your vision to life with free access to the most widely used game engine in the world.

Pro

Unlock your team's potential with the tools professionals use to create hit games across devices and platforms.

Enterprise

Manage complex real-time 3D projects with expert support and creation tools that scale for teams of any size.

Disclaimers

1. Creator credits: Bleak Sword DX, More8bit, Devolver Digital | GTFO, 10 Chambers | Laika: Aged Through Blood, Brainwash Gang, Headup Publishing | Muhammad Ali, Showmax Game Changers, Chocolate Tribe | Sea of Stars, Sabotage Studios | BattleBit Remastered, SgtOkiDoki, Vilaskis, TheLiquidHorse

2. As of September 2023. Source: Derived from internal Unity resources.

3. As of September 2023. Source: Internal Unity sources, Data.ai Steam DB. Disclaimer: Downloads number is a combined figure of 3.56 billion mobile downloads based on data.ai data plus an internal estimate of 98 million downloads based on Steam data.

4. Source: data.ai. Disclaimer: Top 1,000 games is top 1,000 gaming apps by downloads in last 4 weeks from data.ai as of February 2023.

Copyright © 2023 Unity Technologies

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere ( more info here). Other names or brands are trademarks of their respective owners.

# data[].attributes.attachment_link.title
Unity Real-Time Development Platform | 3D, 2D, VR & AR Engine

# data[].attributes.attachment_link.description
Create and grow real-time 3D games, apps, and experiences for entertainment, film, automotive, architecture, and more. Get started with Unity today.

# data[].attributes.attachment_link.title
How to Build Super Mario Bros, Zelda, and Space Invaders with Kaboom.js

# data[].attributes.attachment_link.description
In this video course I show you how to build three popular games using the latest game development library for JavaScript called Kaboom.js. This course is exciting for two reasons: First of all, I am going to be introducing a new technology designed especially for game development in JavaScript. And

# data[].attributes.attachment_link.authors[].name
Sebastien Siva, Tacksoo Im,Jason Freeman, Brian Magerko and Greg Hendler

# data[].attributes.attachment_link.title
Introduction to Programming with Python and EarSketch

# data[].attributes.attachment_link.description
EarSketch is a DAW (Digital Audio Workstation) that allows users to create music using Python. It has built-in sound clips made by professionals in the music industry for users to mix and combine into novel musical compositions.

# data[].attributes.attachment_link.description
Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create machine learning models for your sites, apps, and more - no expertise or coding required.

# data[].attributes.attachment_link.readable_text
What you'll learn

A broad and robust understanding of computer science and programming

How to think algorithmically and solve programming problems efficiently

Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development

Familiarity with a number of languages, including C, Python, SQL, and JavaScript plus CSS and HTML

How to engage with a vibrant community of like-minded learners from all levels of experience

How to develop and present a final programming project to your peers

Course description

This is CS50x , Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50x teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. The on-campus version of CS50x , CS50, is Harvard's largest course.

Students who earn a satisfactory score on 9 problem sets (i.e., programming assignments) and a final project are eligible for a certificate. This is a self-paced course-you may take CS50x on your own schedule.

# data[].attributes.attachment_link.description
A broad and robust understanding of computer science and programming How to think algorithmically and solve programming problems efficiently Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development Familiarity with a number of languages, including C, Python, SQL, and JavaScript plus CSS and HTML

# data[].attributes.attachment_link.readable_text
No matter what kind of coding project you are undertaking, chances are that at some point you're going to start working with colors. This is particularly true if - as many people do - you learn to code using HTML to design web pages.

When you first start out designing in color, you'll likely be using some kind of graphical interface to choose the colors you want to use before you apply them to the various elements in your page.

As you grow more confident in using HTML, though, and as you start to look at the code itself rather than just your graphical editor, you will notice that the colors you pick are denoted by some strange looking codes such as #ff0000.

These codes are called Hex color codes, and they are a fundamental part of the way that both HTML and CSS work. Learning how they function will not only save you a lot of time, it will also make your code faster, more elegant, and more reliable.

In this guide, we'll take you through everything you need to know about hex color codes, and show you how to use them in your own project.

What Does Hexadecimal Mean?

First, let's look at the "hex" part of the term "hex color code". Hex, in this context, stands for "hexadecimal", a number system in which there are 16 basic numerals, rather than the more familiar 10.

This is the number system used by HTML, and many other programming languages for that matter, and so it is the way in which colors are recorded in the language.

Hexadecimal, as the name suggests, is a way of encoding a base 16 number system. Decimal, our regular number system you're already familiar with, is base 10. Hexadecimal uses the same numerals as the regular system for the first 10 numbers (so 0 - 9) and then swaps to letters, so the numbers 10 - 15 are encoded using the letters A - F.

As an interesting aside, the primary reason that hexadecimal is used is because it possesses a natural link to the binary system that is used by your computer at a more basic level.

Binary numbers are commonly expressed as a power of 2, and 16 is 2^4. This makes it easy to convert between hexadecimal and binary (though we won't be doing that today).

You don't need to know this to use hex color codes, but it might come in handy the next time you want to impress someone.

What Components Make Up a Color?

How do we use the hexadecimal system to encode colors in RGB?

Colors that are displayed on a computer screen are made up of three components, which correspond to the three colors that are present in each pixel of your screen. If you look really, really closely (or you have an ancient screen) you'll be able to see them - red, green, and blue.

As a consequence, the way that we encode colors is to specify how much light each of the red, green, and blue (RGB) parts of your pixels should give out. So, for instance, an RGB value (a type of value used in many different software systems) might look like this: RGB (255, 0, 0).

255 is the maximum value for a component, and so this value indicates that the first component (red, or R) should be at maximum, and the other two should be at minimum. And that will give us (you've guessed it) pure red.

(Incidentally, the reason that 255 is the maximum value is also related to the ease of using this value [or, actually, 256 including 0] in binary. 256 is 2^8. But that's another factoid you really don't need to know.)

The observant readers among you will already have spotted that, even at this stage, it's pretty simple to work with colors in this form. Black, as an RGB value, is RGB (0,0,0), and white is RGB (255,255,255). Green? That's right, RGB (0,255,0).

How Hex Colors Work

Now that we know how colors work, we can look at a real hex color code. Take, for example, #ff0000, and let's combine our knowledge from above to work out what it means.

Take a look at your hexadecimal table, and you'll see that "FF" translates to "255" in standard, base-10 encoding.

This should be a clue. The two first characters of this hex color code (and, in fact, all hex color codes) refer to the red component, and here the value is 255. The second two characters refer to the green component, and the last two to the blue.

From here, you can work out what #ff0000 means when translated to a color - it's the same as RGB (255,0,0). That is, pure red. Similarly, #ff00ff indicates maximum red and blue simultaneously, which produces magenta:

It's at this point that you might start to recognize the value and elegance of hex color codes. Because they use hexadecimal, and because 255 is the maximum value for a component, every possible color can be expressed using just 6 digits.

This system also means that there are a huge range of colors available, because each component can take on any value from 0 to 255. Do the math on the number of possible different combinations, and you'll find that there are 16,777,216 colors available.

How to Use Hex Code Abbreviations

At this point, since you understand hex color codes, you can begin to use them in your web projects instead of using a color picker on your graphical interface.

However, before we get to that, it's important to realize that these two options are not the only ones open to you.

HTML, because it was designed to be easy to use, also allows you to use abbreviated hex codes. Red, which is #FF0000 in hex code, can be shortened to #F00. That is, one digit for red, one digit for green, one digit for blue. Browsers will interpret #FF0000 and #F00 as exactly the same color.

This reduces the total number of possible colors to around 4,000. However, it has other advantages.

Just as you can use shorthand to optimize CSS delivery, encoding your colors using abbreviations can improve the performance of your web pages. This might not be visible when working with small pages, but can have a significant impact as your projects get more complex.

How to Use Your Own Hex Codes

At this point, you should be ready to start using hex codes instead of the color picker on your web design software. Most web builders will allow you to enter a hex code instead of clicking a color with a mouse, and taking this approach has several key advantages.

One is that it's easier to keep track of which colors you are using. When designing using a color picker, it's easy to accidentally use a color that is very close, and therefore all but indistinguishable, from the one you actually want.

This means that before you know it, your pages are in two similar but distinct shades of red. Using a hex code means you'll get the same color every time.

Secondly, using hex codes allows you a fine level of control over your colors that is not possible with a color picker.

No color picker can contain all 16 million colors available to you when using HTML, but by writing your own color codes you can increment the shades that are available to you one value at a time.

Third, an understanding of the way that colors work on a computer screen is invaluable when it comes to designing web pages, or in fact any piece of software. With just a little insight into the way that your devices interpret code and displays colors, you can begin using hex codes to mix colors, and also ensure that the color you want to display is the one that actually appears on your users' screens.

Going further

Playing around with hex color codes in HTML might be fun, but it also has a serious objective. Almost all image manipulation software uses the same encoding, and so learning how hex color codes work will add a useful and fundamental skill to your coding knowledge.

Take a look at how JPG works, for instance, and now you'll already be familiar with some of the terminology. The next time you build a web page, drop the color picker, and code your colors by hand.

# data[].attributes.attachment_link.title
How Hex Code Colors Work - and How to Choose Colors Without A Color Picker

# data[].attributes.attachment_link.description
No matter what kind of coding project you are undertaking, chances are that at some point you're going to start working with colors. This is particularly true if - as many people do - you learn to code using HTML to design web pages. When you first start out designing

# data[].attributes.attachment_link.description
Build and deploy software collaboratively with the power of AI without spending a second on setup.

# data[].attributes.attachment_link.title
Mehackit Creative programming workshop with Sonic Pi

# data[].attributes.attachment_link.description
Creative programming workshop with Sonic Pi

# data[].attributes.body
History of Video Games

# data[].attributes.attachment_link.title
A brief history of video games (Part I) - Safwat Saleem