Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Educating with Ruby
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Brett Chalupa
September 21, 2013
Programming
710
1
Share
Educating with Ruby
Why Ruby is a Great Language for Teaching (and Learning) Programming
Brett Chalupa
September 21, 2013
More Decks by Brett Chalupa
See All by Brett Chalupa
How to Level Up as a Developer
brettchalupa
0
110
The Difference Between Average and Great Developers
brettchalupa
0
64
Doing Your Best Work - Productivity for Ambitious Developers
brettchalupa
0
110
What Changed & Why
brettchalupa
0
81
Developer Roles & Levels Explained
brettchalupa
0
120
Testing Rake Tasks
brettchalupa
0
300
Learning to lib Again
brettchalupa
0
130
Tools of a Ruby & JavaScript Developer
brettchalupa
1
210
History of a Thriving Codebase
brettchalupa
0
85
Other Decks in Programming
See All in Programming
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
180
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.3k
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
240
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
710
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
220
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
440
LLM Plugin for Node-REDの利用方法と開発について
404background
0
150
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.3k
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
エージェンティックRAGにAWSで入門しよう!
har1101
4
110
Oxlintのカスタムルールの現況
syumai
5
980
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
430
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
550
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
44k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
Done Done
chrislema
186
16k
Navigating Weather and Climate Data
rabernat
0
210
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Between Models and Reality
mayunak
4
320
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
230
Designing for humans not robots
tammielis
254
26k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Transcript
Educating with Ruby Why Ruby is a Great Language for
Teaching (and Learning) Programming Brett Chalupa
Who are you? Who are you?
Who are you? Hopefully someone who is interested in how
and why people learn programming.
Who are you? Maybe you have kids or are going
to have kids or teach people or want to learn programming yourself.
Who am I? Who am I?
Who am I? My name is Brett Chalupa.
Who am I?
Who am I? I work at Burton, as an associate
web programmer.
Who am I? I am an organizer of the annual
Burlington Ruby Conference.
Who am I? I teach Ruby to kids.
Who am I? I make things.
Introduction Programming is important? Right?
Introduction Look, even Mr. i.am is taking coding classes!
Introduction Programming is empowering.
Introduction Programming is exhilarating.
Introduction Programming is expressive.
Introduction Is programming accessible?
Introduction Is programming accessible? Yes.
Introduction Is programming accessible? Yes, but it is overwhelming.
Language Java, JavaScript, Python, C, C+ +, C#, Objective-C, Lua,
F#, Scala, Clojure, the list goes on and on.
Language There are quite literally hundreds of programming languages out
there, each with their own role in the world of computer science.
Language How does one pick a language to learn? Pick
a name out of a hat? Do some research?
Language Maybe you go to Stack Overflow or ask on
a forum.
Language If someone has had little-to-no exposure to programming, it
is difficult to know the intricacies of languages and how they work.
Language Do I use Netbeans, Eclipse, XCode, IntelliJ? What the
heck is the terminal?
Language Some languages are much more difficult to learn than
others, whether it is due the syntax, the tools, the community or the resources available.
Language There is one language, though, that is perfect for
those new to programming - Ruby.
Language Ruby is an expressive, open- source, object-oriented language that
is actually fun to program in from the beginning.
Why Ruby A person can learn Ruby and use it
for their personal projects. A person can use it at work projects. There is a demand for Ruby developers.
Why Ruby There is a logical path of progression.
Introduction to Ruby Ruby is really cool. So cool that
anyone naturally can read it.
Introduction to Ruby C++: #include <iostream> using namespace std; int
main () { for (int i = 0; i < 5; i++) { cout << "Save me!"; } return 0; }
Introduction to Ruby Ruby: 5.times do print "Konichiwa!" end
Introduction to Ruby Ruby: 5.times { print "Konichiwa!" }
Introduction to Ruby There is much more to a language
than looping and printing out words, but a lot of that elegance, readability and simplicity is common throughout Ruby.
A Brief History of Ruby Ruby is from Japan and
was initially created in the early 90s by a man named Yukihiro Matsumoto.
A Brief History of Ruby "I hope to see Ruby
help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the primary purpose of Ruby language."
Why Ruby Ruby covers a large amount of concepts that
are important in programming (and object- oriented programming).
Why Ruby And it leaves out the "hard" stuff.
Why Ruby There are "career paths" and you are not
just limited to using Ruby. You should pretty easily be able to hop into C+ +, Java, Python, etc. without too much of a problem.
Why Ruby Really inspiring and helpful community.
Why Ruby Great resources like: Hackety Hack _why's poignant guide
try ruby Learn Ruby the Hard Way Railscasts
How I Learned to Code It is story time.
How I Learned to Code I started dabbling with code
when I was 13 with some HTML and CSS on a Wordpress blog.
How I Learned to Code Let's rewind.
How I Learned to Code I grew up with the
Internet.
How I Learned to Code My first formal introduction to
programming in the education world was Java when I was 15.
How I Learned to Code Why is Java the go-to
language for high school AP computer science courses?
How I Learned to Code Onward! To College!
How I Learned to Code Python, AS3, C++, C# OH
MY .
How I Learned to Code Apprenticeships. Let me tell you
about apprenticeships.
How I Learned to Code I got apprenticeship doing more
HTML, CSS and Wordpress (and some thinking).
How I Learned to Code I got an apprenticeship where
I learned Ruby (and some Python).
How I Learned to Code At this point, on any
given day, I was coding in C++, C#, AS3, Ruby and Python.
How I Learned to Code I got to really see
the particulars each of those languages have.
How I am Still Learning to Code I decided to
leave school and do my own thing - to learn and grow in my own environment.
How I am Still Learning to Code I messed with
Lua. I continued to use C++ and C#. I tried to build games for iOS with Objective-C.
How I am Still Learning to Code After being stretched
too thin, I decided to pick one language and run with it.
How I am Still Learning to Code I picked the
one that made the most sense to me - Ruby.
How I am Still Learning to Code That focus allowed
me to become a better developer and really realize the problems that come with learning programming.
The Focus The focus really needs to be on creating
things and letting the language just be a tool.
The Focus The language needs to be the right tool.
Code Camps I taught two code camps this summer.
Code Camps The students were ages 9~13 (with a few
parent students as well).
Code Camps WOW. Kids are smart.
How I Taught Code Well, I used Ruby.
How I Taught Code I outlined what I wanted to
go over.
How I Taught Code I wanted to go over data
types, math, variables, user input, arrays, methods, loops, classes.
How I Taught Code I quickly realized that those all
mean nothing to someone new to programming.
How I Taught Code I went with the flow!
How Students Learn Code I found that the most effective
way to teach was by having exercises that were interactive, engaging and built upon each other.
How to Effectively Teach Code The examples, samples, labs, projects,
tests need to be fun.
How to Effectively Teach Code F U N
How to Effectively Teach Code Forget foobar, forget Hello World,
forget any boring example that is not silly, humurous or actually applicable in the real world.
Challenges Faced Creating exercises that do not fall into the
trap of being boring or non-engaging.
Challenges Faced Getting through the sludge of technical stuff (that
is still important).
What the Students Made What the Students Made
Madlib
Comcast Customer Support
Pointless Button
Pointless Button
Solar System
Yarn Calculator
How Programming Should Be Taught Gotta be consistent. Gotta be
fun. Gotta be real.
Needs to be Long Term I truly believe if anyone
wants to learn anything, they need to do it consistently and for an extended period of time (read as YEARS).
Why It Should Change My experiences learning and teaching really
let me see first hand the good and the not-so- good.
Why It Should Change I think the language and process
matter.
Why It Should Change Institutions, like schools, where students go
regularly are the best place to get new programmers on the right path.
How It Can Change It can change through conferences, code
camps, meetups, workshops and creating resources that are accessible.
How It Can Change However, what will really help change
the way programming is taught is by questioning how, why, and what.
Thank You Thank you so much for listening, I appreciate
your time.
Questions & Suggestions Please ask them and share them!