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
Brett Chalupa
September 21, 2013
Programming
1
520
Educating with Ruby
Why Ruby is a Great Language for Teaching (and Learning) Programming
Brett Chalupa
September 21, 2013
Tweet
Share
More Decks by Brett Chalupa
See All by Brett Chalupa
How to Level Up as a Developer
brettchalupa
0
65
The Difference Between Average and Great Developers
brettchalupa
0
30
Doing Your Best Work - Productivity for Ambitious Developers
brettchalupa
0
69
What Changed & Why
brettchalupa
0
46
Developer Roles & Levels Explained
brettchalupa
0
56
Testing Rake Tasks
brettchalupa
0
260
Learning to lib Again
brettchalupa
0
59
Tools of a Ruby & JavaScript Developer
brettchalupa
1
180
History of a Thriving Codebase
brettchalupa
0
44
Other Decks in Programming
See All in Programming
2025.01.17_Sansan × DMM.swift
riofujimon
2
560
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
590
BEエンジニアがFEの業務をできるようになるまでにやったこと
yoshida_ryushin
0
200
php-conference-japan-2024
tasuku43
0
430
ASP.NET Core の OpenAPIサポート
h455h1
0
120
shadcn/uiを使ってReactでの開発を加速させよう!
lef237
0
300
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
0
150
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
1.2k
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
130
Beyond ORM
77web
11
1.6k
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
950
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
420
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Why Our Code Smells
bkeepers
PRO
335
57k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Faster Mobile Websites
deanohume
305
30k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Speed Design
sergeychernyshev
25
740
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Into the Great Unknown - MozCon
thekraken
34
1.6k
A better future with KSS
kneath
238
17k
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!