Coding 101 69 (Transcript)
Net casts
you love from people you trust. This is Twit! Bandwidth for Coding 101 is
brought to you by Cache Fly at cachefly.com.
Coding
101 is brought to you by Lynda.com, the online learning platform with over 3000
online video courses to help you strengthen your business, technology and
creative skills. For a free 10 day trial visit Lynda.com/c101. That’s
Lynda.com/c101.
And by
Digital Ocean, simple and fast Cloud hosting built for developers. Deploy an
SSD Cloud server in 55 seconds. Try it today for free, visit digitalocean.com
and once you sign up be sure to enter the promo code c101 in the billing
section for a $10 credit.
Father Robert Ballecer: Today on
Coding 101 we bring you another wild card episode. We’re taking to Peggy
Fisher. Hello and welcome to Coding 101. It’s the show where we let you into
the wonderful world of the code warrior and code monkey. I’m Father Robert
Ballecer the digital Jesuit and joining me as always is my super special
permanent co-host, Mr. Lou Maresca. Lou, I just can’t give up the really cool
title. We’re just going to have to change that every episode. How are you
doing?
Lou Maresca: Doing
well, thanks for having me back. Keep changing it every episode, we’ll get
there.
Fr. Robert: It is
code warrior right now but at some point that title is going to change to
permanent super special geeky co-host but we’ll worry about that later. This is
a special episode for us. We do like to stop in between our modules. We were
just talking a little bit about Swift, we were taking
a little bit about Ruby. We like to clear the palate as it were between
programmers, between programming modules by speaking with programmers who we
find particularly inspiring or their stories compelling. So we bring onto the
show Ms. Peggy Fisher. Peggy, thank you very much for joining
us on Coding 101.
Peggy Fisher: You’re
welcome Father, no problem. I’m happy to be here.
Fr. Robert: I should
say Peggy does do work for Lynda.com. Let’s get that disclaimer out of the way.
But I actually reached out to them; I’ve been trying to get a few of the
programmers that Lynda.com has in their stable onto Coding 101. We’re always
worried a little bit about conflict of interest but eventually it came down to
no, this is a person who has a great story that I think our audience will like
and they agreed. So thank you very much for coming onto the show.
Peggy: No
problem.
Fr. Robert: Let me
ask you this; you have a very interesting back story of how you got to where
you are today. No I don’t want to spoil too much of it, I do want to let you
the narrative out there but you did start off programming for an insurance
company?
Peggy: When I
went to school for my undergrad I actually majored in computer science and when
I graduated I got a job at an insurance company, at Prudential Insurance. I was
hired on as a programmer. I programmed in Cobol and it’s kind of interesting
now because later in my life now I teach programming and I don’t think any of
my students know what Cobol is. Cobol is a main frame
programming language and that’s where I started my career and learned a little
bit about CICS along the way. That’s what you called the gooey of Cobol – the CICS is the front end portion of the big main
frame systems. That was the start of my career.
Fr. Robert: Cobol, that brings me back, way, way back. Let’s take a step
back before that. What got you into computers in the 1st place?
Peggy: You know
it’s really interesting. I think I was just at the right place at the right
time. My senior year in high school they actually got their 1st computer.
So this is back in – I hate to say this because you’re going to know how old I
am but this is back in 1979. The school year of 79/80, I graduated in 1980. So
they got their 1st computer and it only took tapes. But we got a
chance to actually use it because I really, really loved math. I thought math
was fun, especially algebra. So my love for math got me into a class that
allowed me to take a little bit of computer also. When I was trying to decide
what to do in college I was like well I really love math, I really like
programming, and I thought that was fun. So I decided to go for programming. I
wanted to be a math teacher at 1 point but when I kind of weighed computer
science and the money I’ll earn and teaching math and the money I’ll earn I
went for computer science as an undergrad. So that’s how I got there. I was
very fortunate that I was at the right place in high school at the right time
to take that step forward.
Fr. Robert: You know
Peggy it’s interesting because 1 of the themes that we’ve had running on this
show is we’ve had master programmers who tell us that you can’t just decide
that you want to be a programmer for the money. It doesn’t work that way. But
what’s interesting about your story is you got into computers and then you had
to decide well do I do it out of my passion or do I do it because I need to
make the money? That’s a different kind of decision. But let me jump off the
rails really early just so people don’t think we’re going to stray off the path
we intended for the show. You used reel to reel tapes. I was also of a
generation that had reel to reel. I still had a couple of computers that used
punch cards.
Peggy: I was
going to say I used that in college.
Fr. Robert: But that
whole era was a time when we didn’t really know what discipline this new
technology, this new computer science fit into. Some said it was all
mathematics, some said it belonged with the engineering discipline and it
belonged someplace else. That’s really when this whole idea of computer science
started to shape up and become its own thing. Were you caught up in a lot of
that?
Peggy: You know
I think I was lucky enough that a lot of that was already decided. Because when
I went to like I said for undergrad for computer science it was pretty much set
up. It was more technical though. Like today I think there’s a whole other
branch of information science and technology that is more what I learned. But
today computer science I think is a lot more architecture type of information. Like getting data all the way down to assembly language. Where I think there’s now like 2 phases. You’re either like a business
programmer or you’re a technical programmer. But I think I skipped that kind of
in between that you’re talking about.
Fr. Robert: Yes. Cobol…I did not like Cobol at all. What was it like? Did you
program in Cobol for 18 years?
Peggy: No I
started out as a programmer and then I worked my way to a systems analyst and
to a manager and actually after my 18 years I was 1 of the directors at
Prudential. So I was in more of a management role by that time. But I did like Cobol programming. It’s funny, it’s
a different beast definitely. It’s very linear, it’s not object oriented, it is very sequential. But at the time it was pretty much
the only thing. For me it was the really cool thing of whether I had punch
cards or typed into the computer, taking it to the computer room, having them
run it and then see the results. Like that whole idea of hey, I did this. I
made this happen, I made this report come out. And problem solving, I love to
solve problems. I love to do puzzles and to me programming is like a giant
puzzle that you’re just trying to solve.
Fr. Robert: Let’s
talk about that programming as a giant puzzle because… We had Steve Gibson on a
while back and he was talking about foundational knowledge and it was that
whole thing about what brings you into a computer science discipline, what
brings you into an engineering discipline? And especially what brings you into
a mathematics discipline and it has to be an underlying desire to figure out
puzzles. You have to love puzzles. They have to be ultimately rewarding to you,
otherwise you lose interest very quickly in the discipline.
Peggy: Yes. I
totally agree with that. I’ve always been kind of like a puzzle or problem
solver. That’s my strongest skill I think. I really believe that. When I learned
Cobol since that time I’ve never formally been taught any language but since I
had that Cobol experience and I know how to solve the problem of how do I read
from a file, how do I calculate the data and then make the output happen… Those
skills have allowed me to learn so at this point I feel comfortable with C,
C++, C Sharp, XNA, HTML, Java Script, Java and Python I just recently learned.
I think that those skills are transferable to any other programming language
that I’ve encountered so far. It’s like you said, so the puzzle there is ok,
I’m going from Java to C++, my puzzle is what syntax
does C++ have that’s different than what Java had to do the same thing? Because
ultimately we want to be able to process data, we want to be able to interact
with the computer but what language it is doesn’t really matter. It’s kind of a
puzzle to figure out; ok here’s my language, how can I make it work?
Fr. Robert: That was
1 of the puzzle pieces that we had to deal with when we put together Coding 101
in the 1st place because people wanted to know what language we were
going to program in and I said well I want to program in all of them. I want to
have all the languages as part of the show.
Peggy: Absolutely.
Fr. Robert: They
didn’t get it, they said well how can you teach
programming in 4 week chunks? But as you said so much of that knowledge
transfers over and once people watch 1 module, 2 modules, 5 modules they start
to say oh I get it. It’s just the language, the logic
behind it stays the same.
Peggy: Exactly.
I try to tell people that. Once you get the logical thinking down and you
understand basically that these computers – I always tell my students that
they’re really dumb and they’re going to do whatever you tell them to do and
you’ve got to tell them the right steps to be able to figure out the puzzle
that you’re giving it. Whether you use Java or C++ is not going to matter but
you’ve got to figure out what those steps are first.
Fr. Robert: Lou let
me ask you a quick question here. You heard Peggy talk about the languages that
she’s very comfortable with. Every professional programmer has at least how
many; 3-4 primary languages and then maybe another 6-7 that you know enough to
code around in?
Lou: I think Peggy pointed it out, it’s really dependent on what generation you come in
at. I think now days the really popular languages are the high level languages
like C Sharp and Java and even higher than that like Java Script. Learning
those things you tend to learn more about those languages that you use most often
and become more of an expert in those languages and then you know – maybe have
to go back and do other things in other languages that some projects might
require. Or you might do it to get better performance and that kind of thing.
So yes I think you’re right, I think you tend to kind of hone in on 1 specific
or a couple of specific languages and then try to transfer. Peggy I actually
had a question on that. Do you feel that even your students sometimes struggle
where they do know a lot about logic and how to program but when they need to
transfer to a different language it is really like the ramp up the onboarding
of that language, learning the different tool sets, the new gooeys and how to
get things composite…do you think that’s a challenging part when you’re moving
to different languages?
Peggy: Yes
you’ve got it Lou. That’s exactly it. You go from let’s say C Sharp to Java,
the gooey if you’re going to do gooey is drastically different and you need to
know in Java 1st of all what IDE am I going to use (integrated
developmental environment) and then from there what tools does that IDE have
for me to do a gooey in Java. You’re right, sometimes the APIs and
understanding what an API is – you don’t use that too much in C Sharp as much
as you do in Java program, so getting them to understand that as well. I think
you have a valid point there.
Fr. Robert: Peggy
let me ask you a little bit on this. Again let’s go back to that 18 years that you spent programming for an insurance company. Eventually you
ended up as the director of information technology. 1 of the members of our
chatroom, (I think it was Vince 360) he jokingly said well I’m in programming
for the glory. Which anyone who has been programming knows that there is no glory.
Peggy: I was
going to say, what glory?
Fr. Robert: Actually
there may have been a time at the very early stages where you could have a
programmer who said I wrote this, I created this. But it has been decades since
that’s been the case. You’re always working with somebody else, you’re always reiterating someone else’s work. Even though he was joking that’s
1 of those warnings that we try to give students which is again it has got to be about the passion. Because if
you think that you’re going to get famous doing this…no.
Peggy: No you
are so right. I’ve known several people that have continued in the programming
field but you do have a feeling there and they don’t look at you and say woo
there’s Lou “Super Programmer”. It definitely is like you said you have to have
the passion for it. If you do and you want to keep doing it
that’s great. My passion I think, the way that I satisfy it is by
learning new languages. Because I think if I like you said earlier, if I had to
stick with Cobol up to this point… now I’ve been in
the working field for 30 years. I don’t know that I would have wanted to stick
with Cobol for 30 years. My passion is still
programming but it turned into teaching programming as well.
Fr. Robert: We’re going
to be speaking with Peggy a little bit about that passion, that transition of
passion in just a bit but before we get to that and Peggy let’s tease them a
little bit. After these 18 years and after getting that director of IT, that
position that a lot of our audience would love to have, you decided to throw it
all away. Well not necessarily throw it all away but you decided to walk away
from it to do something that you were more passionate about which again is 1 of
the reasons why I wanted you as a guest because that is something I respect so
much. But before we talk about that let’s go ahead and thank the 1st sponsor of this episode of Coding 101. Now folks, let’s be honest, if you want
to know something and it doesn’t have to be programming…it could be about
business software, it could be about business skills, it could be about your
latest and greatest hobby; you need to go to a place that teaches you the
things you want to learn at the pace that you want to learn them. Well you
could jump from sight to sight and person to person and there’s plenty of good outlets for knowledge on the internet. Or you could go to the
place that I go to – the 1 stop shop, the repository of knowledge – Lynda.com.
Lynda.com isn’t just about taking all that knowledge and putting it together in
1 place. They’ve actually put the grunt work into making sure that they offer
you the material in a way that is most beneficial to your learning. They
understand that you need to work at your own pace. They understand that you
need to take the courses that you want to take. They understand that they
should use proper lighting and camera and audio work so that doesn’t distract
from the lesson at hand. Lynda.com is for problem solvers, for the curious, for
people who want to make things happen. Maybe you want to learn a new
programming language, take better photos, master Excel or sharpen your HTML
skills. Lynda has the course that you need, that your curious mind longs for.
Some of the new Lynda.com courses that I recommend are PHP with my sequel
essential training, no sequel for SQL professionals, CSS Selectors and
developing Android Apps Essential Training. Lynda.com also has great courses on
programming iOS apps and a Swift programming language if you want the latest
and greatest from Apple. We’ve been using Lynda.com here on several different
occasions. I use it when I’m trying to develop new programs for Know How, when
I want to show people how to do professional photography. We use it here in the
studio because we switched over from the Mac with Final Cut Pro to the PC with
Premier. We needed a reference we could go to which is one of the things I like
so much about Lynda. They offer you transcripts of all the courses so you don’t
have to sit through an entire long module. You could find the piece of video
that has the answer to your question and go straight there. With Lynda.com you
can watch and learn from top experts, people like Peggy who are passionate about teaching. You can stream thousands of video courses on demand
and learn on your own schedule. You can learn at that pace that your brain needs
to absorb the information and like I said you can browse the transcripts, take
notes as you go and refer to them later. You can even make a play list so you
can set up a queue for your knowledge and maybe even share it with your friends
and create tutorials that you’ll be using on your own time. Take them offline
on your iOS and Android device so you can learn in your free time. Maybe in your down time between meetings or at the office. Your Lynda.com membership gives you unlimited access to training on hundreds of
topics and I can’t recommend it enough. It’s all for 1 low flat rate and it is
so easy to get started. Whether you’re looking to become an expert or you’re
passionate about a hobby or if you just want to learn something new (I know you
do because you’re watching Coding 101) I want you to visit Lynda.com/101 and
sign up for your free 10 day trail. That’s Lynda.com/c101. We thank Lynda for
their support of Coding 101. Peggy let’s get back to you. You got this career
that you’d been developing for almost 2 decades, you are near the top of your
field, you’ve become the director of IT and then you say no this is not what I
want to do with my life. What was that all about?
Peggy: It’s so
funny when you’re able to look back and summarize things like that because it
really is like what did you do? It was a great field to be in and it was a
great company to work for and as you said I worked really hard to get to where
I was but at that point… and a lot of you that are listening and Father
probably you know this too that at that point you need to put in 50-60 hours a
week to do a good job in that role. I had just met my husband, we were just
starting our life together and I was having to leave
for weeks at a time to stay up in North Jersey to be able to run some projects
that I was working on up there. I realized that although I really liked it my
quality of life needed a change. But I think really what happened was that the
passion inside of me to share my love of programming and my love of math with other…
I had been going back to school to get my masters in math education and at that
point I’d finished it. We moved to a very rural area of central Pennsylvania
and I was fortunate enough to…I spent 1 year as a director of IT for a country
but then right after that I got a full time job teaching high school and I did
that for 10 years. Ithink it was a matter of passion
and quality of life that made me kind of say alright I did this, I’m really
happy, I’m proud of myself but now it’s time for a change.
Fr. Robert: That
just blows me away. There are few people I know who have stories like that and
I respect them so much – where they had something that was paying for them. It
was a good living and they somehow said this is ok but it’s not what I really
want. As you said you made that decision at the beginning; do I go into
computer science or do I stick with my passion to teach mathematics and you did
the computer science thing for 18 years and at that point it is so hard to make
the switch. It must have felt incredibly vulnerable for you.
Peggy: It
really did but I had my faith and I believed in…things just fell into place. It
was really cool. I found the intermediate job, the director of IT for a year
and then I… The other thing I want to say too and I strongly encourage people
to have confidence in themselves because when we moved
I made a point of introducing myself to the superintendent of the school
district and had a meeting with him and just said I’m new to the area. I really
want to teach and by putting myself out there whether
it was for the teaching at the high school, the teaching at the college or even
the Lynda.com those are all things that happened because I was willing to take
that risk. I think that 1st step that you’re talking about here when
I went from the 18 years to the county that gave me the strength to try is over
and over again and it has always worked for me. I really encourage people to
try it.
Fr. Robert: Brave,
just very brave. Let’s give a bit more back story. As you said you had been earning
your master’s degree in mathematics, math education, you completed that and
then you started teaching high school and not too long after that you started
in 2012 I believe, you took a position at Penn State for Intro to Application
Programming with Java.
Peggy: Yes.
Fr. Robert: How long
was this transition period between you being an administrator and you just
feeling comfortable as an instructor?
Peggy: You mean
at the university or from when I went to the high school 1st?
Fr. Robert: Both.
Peggy: The transition
to the high school was probably the scariest. I was really afraid the kids were
going to eat me alive. I was really apprehensive but what I found was that I
got to know all the individual students. I learned a little bit about them
personally and I showed that I’m human too. When I made a mistake I admitted it
and the transition to the high school after the 1st month or 2 I
realized this is going to be ok, I can do this and the kids respected me. I
believe they liked me and I felt really good about what I was teaching. I had
gotten like I said my master’s in math education so I felt like I had a good
background in how to write the curriculum and how to present the information.
But I really was worried about how the kids would accept me. I was older and I
just wasn’t sure what it was going to be like.
Lou: Peggy real quick, when you
actually taught these students what kind of ramped them up and got them to program or pick up programming faster? Was there any patterns that you saw? Was it may be giving
them projects? What was your curriculum that you tried to follow to kind of get
them ramped up quickly?
Peggy: That’s a
great question Lou. When I was teaching programming in the beginning I kind of
took over somebody else’s and I was kind of doing the “ok let’s start with
chapter 1”. I don’t know if you notice this but every programming book has the
history of computers as chapter 1. Now I don’t even bother with that one.
Project based learning is definitely was the way for me to reach the students. Even today…my 1st day of school at Penn State, the 1st day in class I make them program. They don’t know what they’re doing,
they don’t understand what I’m doing but I make them do a version of “hello
world” and I show them it is not this foreign monster, it’s not this thing that
is not attainable, you just did it even though maybe you didn’t understand
everything. You did it, you’re done, and you programmed a program. As much as I
could do project based…it is what I prefer but it’s a little hard sometimes
because you have to get confidence across. Most of my lesson plans now at the
college level – the 1st 20 minutes might be a little bit of a lesson
but then there’s definitely projects that we do
together or individually.
Fr. Robert: I taught
at high school and university level and maybe you can tell me if my read on
this is correct but when I was teaching high school if I walked into a class
room and said good morning class they’d say good morning. When I walked into my
college class and I said good morning they wrote it down. That was the
difference between high school students and university students.
Peggy: That’s
great. That’s funny, yes I think you do see that. The
1st week or 2 of the college it is so quiet that you could hear a
pin drop. By the end of it you can’t get them to be quiet but the 1st week like you said they are writing everything down that you say. I also found
when I taught at the high school… (Microsoft was nice enough to donate about 20
controllers) so I introduced XNA gaming. So again it was projected based but it
was also something that they were doing at home so if they could write their
own programs that would allow them to use the controller that was such a great
connection and then I was able to expand on that. Any way you can find a
connection to what they enjoy in life… This summer I’m doing a camp on how to
add a mod to Minecraft and we’re going to try and teach a little bit of Java
using Minecraft. If you can do something like that I think you really peak
their interest and then you can get over that hump that this is something that
I can’t do and now they feel they can do it.
Fr. Robert: That’s
basic teaching pedagogue. Ok so I’m a Jesuit and what we would say is you go in
their door and you come out yours. So you use whatever it is that they’re
interested in to teach them the things that maybe they wouldn’t want to learn
otherwise. I’ll give an example of that that a lot of people hate because they
hate that I continue to cover these but… I’ve gotten really big into
quadcopters because I enjoyed designing and building them. There’s a lot of people who say well they are just toys but there is so much
engineering and math that goes into making these things and people are learning
about aerodynamics, they’re learning about micro controllers. They’re learning
about logic trees to keep quadcopters in the air. It’s that sort of stuff, it’s
that kind of project based knowledge that I find so effective. I want to extend
on your comments about that project based knowledge. We have someone in the
chatroom who was just saying build a Minecraft module and they were joking but
again yes that’s what you do. You find something that they want to create and
like it or not they’re going to learn something when they try to create it.
Peggy: Yes
exactly. That’s it. We’re going to show them how to create their own swords,
how to create their own pick axes. How to add colors and add I don’t know what
all yet but yes I think because we’re going to try… I love what you just said
that we go in their door and come out ours. I’m going to remember that 1 but
that’s what I’m trying to do and I find that a lot of times that’s my highest
success when I can make that connection with a student.
Fr. Robert: I do
want to move onto something else. I saw in your biography when I asked Lynda if
we could have your contact information, I really want to get her on the show
and that is your involvement in Stem. For the people at home who have maybe
been under a rock and they haven’t heard of Stem what is Stem?
Peggy: Stem… or
some people like to say steam you know. Stem is an acronym which means you take
the 1st letter of each word. It stands for Science, Technology,
Engineering, either arts or mathematics and those are 4 fields that have
historically been male dominated. They are also the 4 fields that really are
the future of a lot of our students. We need to encourage kids to go into those
fields and especially young girls which is another passion of mine; trying to
get more females interested in these topics by showing them that they’re not
male centric, that they are problem solving. Because I think a lot of girls and
women like to solve problems and that they are attainable. You can program, you
can build, you can be an engineer, and you can be a scientist. So Stem is a key
word for the future I think.
Fr. Robert: Let’s talk
about this, especially since we’ve got you and we’ve got Lou who’s working in a
professional environment with programmers right now. When I was growing up I
just thought ok there is just a bunch of guys here. In fact in my computer
science class of students, freshmen at Seneca University I think we had 3 women
in a class of about 60 of us. I actually think that was a decent ratio for what
we normally got. Lou, you’re a project leader, you’re a project manager, you
assign programmers work; I don’t want to put you in the hot seat so don’t
answer if this is going to get you into trouble but how many female programmers
do you have?
Lou: On my team directly I have 1
but out of 23. But in the group there are actually quite a few. There are more
and more, each year we get more from different teams. I work in business
software division so for college graduates it’s not the most desirable type of
work to do but like you said it’s 1 of those growing areas and we tend to get a
lot more each year.
Fr. Robert: Peggy how
did we get here? How do we get to a point where we have to actively go out and
say hey you know what this engineering stuff, this math and science stuff…it is
not gender based.
Peggy: Right,
yes how did we get here? That’s a pretty interesting question. I’m not sure. I
think a lot of it kind of goes back to even the fact that up until 40 years
ago, maybe less, most women got married and stayed home to begin with. I know
growing up in my household my mother was a stay at home mother and as a role
model. But I don’t know why I didn’t follow her footsteps. I think probably my
desire to learn more about math was what pushed me more in the direction. But I
was definitely 1 of the odd number out. I was definitely 1 of the few people
that liked math as a girl. I wish I knew Padre, I really don’t. I think there’s
just still this conception that math is a more…what I should say is that boys
find math easier than girls which I don’t think is true but I think there is
still that misconception out there. I don’t know that we’ve gone back to figure
out if that is truly the case or is it the way that it’s being taught. Do we
need to change the way that we teach math to make it more project based. I
think they’ve made some changes over the years but I just don’t know. All I
know is I keep trying to work on trying to overcome
it, that’s for sure.
Fr. Robert: I
remember you actually had an interview on I think it was PBS News and 1 of the
things that you said… it got clipped and it is used as a sound vibe… you
strongly believe that every student, every student at some point in their high
school or college career needs to take a computer programming class. I think
that’s actually a huge step in trying to fill this gender gap which is “get the
women who otherwise wouldn’t even think of this as a career to have to take 1
of these courses and get them to realize oh I’m good at this, I have a brain
for math, I have a brain for programming”.
Peggy: I don’t
mean to interrupt you but you know I just have to share that when I teach the
Intro to Application Programming with Java at the Penn State University… so
this is my 3rd year now, I can’t tell you how many girls have come
up to me and either said I’m changing to a more computer science major in a
design and development kind of field or thank you so much for introducing me to
this, I love it and think it’s so much fun. Again I think it is that paradigm
that it’s hard or… but I just love watching their faces light up. Some of the
boys do too but the girls are very vocal about it coming to me and saying “I
had no idea, this is so much fun”. This is so cool to program and watch it work, it’s like wow, that’s awesome. So I think what you
said is right, we just need to… I still stand by what I said. I think every student, preferably either in junior high or high school
should take at least 1 programming course and get exposed to logical thinking
and how to break a problem into steps. That’s life right, we encounter problems
every day and the tools to be able to solve a big problem… if you learn how to
do it in pieces the way you need to do it for programming that goes a long way
in life.
Fr. Robert: Let me
go ahead and get Lou into this conversation. Lou, again I’m going to draw on
your experience as a project manager. When you are looking at candidates for
your projects I know that you previously told us that you’re always looking at
their logic skills. You’re looking at exactly as Peggy mentioned – can they
break down a complex problem into its constituent parts. How important is that
when you decide which programmers go into which projects?
Lou: Really important. The design
of an application can mean at some point if you design it for only a specific
bunch of scenarios and you move forward you’ll find out later on that there’s a
maintenance nightmare and you have to go back and redo a bunch of components
and it costs a lot of money to do that. So a lot of times if you give a project
to a person that doesn’t understand how to break apart
into small pieces and then build those pieces then you’ll find out that later
on you’ll get into much world of hurt. So I think it is super important to have
somebody really understand those.
Fr. Robert: Peggy I
want to ask you 1 last question before we start to move over to your advice for
the future generation of programmers and it has to do with again that
suggestion that everyone take that computer course. That 1 single computer
course, that hopefully the idea is that it leads to more and more. Again 1 of
the themes that has been recurring in these wild card episodes are our
programming gurus telling us that we live in a generation right now where
people have basically abandoned foundational knowledge. They may know how to
use a lot of apps on their smart phone but they have no idea nor do they have
the desire to know how they actually work, how they program, what they interact
with. This Stem discipline, this Stem push, it sounds to me at least in part
that it is to reconnect people with that foundational knowledge.
Peggy: I think
you just got it. It is, I think the Stem push… and again I agree that currently
students have very peripheral knowledge of those things but if you take those
same students and you actually sit them down and say follow these steps and
what you’re going to have when you’re done is your own app that you made, that
you can now make open source available to everybody to download to their
phones… I think if we can show the value in that, and this is just my
perspective that you’d see a lot more students taking the foundations a lot
more seriously. It’s a tough one but I think if they were exposed to it they
would… like you said the more people that try it I think that at least out of some
of those you’re definitely going to get students that want to continue on and
take more advanced courses.
Fr. Robert: We’re
speaking with Peggy Fisher – programmer extraordinaire, guru, proponent for
Stem and perhaps 1 of the coolest code warriors we’ve had on the show. We’re
going to get back to her. She’s actually going to expose some of her secrets
for the programming code warriors of the future. But before we do that let’s go
ahead and thank the second sponsor of this episode of Coding 101.
Let me
ask you something; if you’re watching Coding 101 of if you’re helping in our
forums which by the way thank you very much, it is great having you in there.
What do you do once you’ve finished your app or once you’ve finished your
server? How do you stand it up? In the old days what you’d have to do is you’d
have to build a server, build iron, set it up the proper way, get your services
running and then start testing it. Or maybe if you had a little bit of cash you
could rent a server or part of a server somewhere in a data center but you
don’t have to do that anymore. We don’t live in that generation where you have
to buy bare steel because we’ve got companies like Digital Ocean. Digital Ocean
is a place where you can go if you want to stand up your projects immediately.
Get them exposed in a sandbox or put them out on the internet so people can
actually use what you’ve created. Whether you’re an experienced code warrior or
just getting started you need their flexible, reliable and affordable hosting.
Digital Ocean provides developers with droplets. These are virtual private
servers that can be customized and deployed quickly to host web sites, web
apps, production applications, personal projects, virtual desktops and almost
anything else you can think of with full root access. Think about that. You
don’t have to worry about some admin granting you the wrong permissions. You
control your app and you control your world. Digital Ocean is built for
developers and it is used by over 400,000 of them including us here at the Twit
brick house. You can deploy and configure your droplets via a stream lined
control panel or a simple API and you get to choose your OS. Do you want to run
Ubuntu, CentOS Fedora or CoreOS? They’re all available. They have a 1 click
deploy that allows you quickly to deploy apps like Jango, Docker, Dropple,
Gitlab, Mediawiki, WordPress, Ghost, Ruby on Rails and more. All their servers
are built on hex core machines with dedicated ECC RAM and SSD storage. This
isn’t going to be 1 of these outfits where you buy time and then 50% of the
time it doesn’t actually deliver because it’s over congested, it’s too slow or
it doesn’t have the resources. They are also highly scalable to meet the
demands of a rapidly growing application or business. You can start small and
then you can scale up. Their service can have up to 20 CPUs, 64 gigabytes of
memory and 640 gigabytes of SSD hard drive space. They also have auto backups
and snapshots that let you easily clone, deploy and resize your droplets as you
go which means you can start small and then as your business grows, as the
demand increases you can increase it with a single click of the control panel.
They give you full featured DNS management and easy to manage domains with
dedicated IPs. They give you web console access with HTML 5 plus SSH, SFTP and
KMVMC for virtual desktops. They have an active community which if you are a
geek you know this is 1 of the best ways to come up with new ideas or solutions
or people who are actually using the service who can tell you what they did to
fix the problem that you’re having right now. It is so easy to get started. You
could get up and running in less than 55 seconds. Go ahead and deploy your own
Cloud, your own SSD server with Digital Ocean. They have incredibly affordable and
straight forward service starting at only $5 a month. There is also hourly
pricing available if you just want to stand something up to test it. You could
start at less than a penny per hour. We’re going to make it so that you get
started today and start deploying an SSD Cloud server for free. Visit
digitalocean.com and create an account. Once you confirm your email and account
information go to the billing section and enter the promo code c101 for a free
$10 credit. That’s plenty to get started and you can explore what Digital Ocean
can do for you. That’s digitalocean.com and once you sign up enter the code
c101 in the billing section for a $10 credit and we thank Digital Ocean for
their support of Coding 101. Peggy back to you. We’ve
established your bona fidus…30 plus years either programming, directing IT or
teaching so obviously you’ve got a bit of knowledge here that you could share
with us and that you share in your Lynda.com courses. Let’s start with the most
basic question, what would you say to someone who is just looking at getting
started in programming? What’s the right way to approach it and what’s the
wrong way to approach it.
Peggy: Good
question. The right I believe to approach it is to
leave all your fears at the door, go in saying I can do this. I know I can and
if I need help I’ll find it, I’ll network and do what I need to do. I think
that’s really important that you believe in yourself.
Fr. Robert: That’s
actually interesting because…I don’t want to put a downer on the whole episode
although I am about to do it right now but if you do coding professionally
there are going to be some dark days. Lou you’re shaking your head. Lou told me
a little bit about these dark days because these projects can go on forever and
it can feel that all you’re getting done is getting torn down in the next
revision as they add requirements. Tell me a little bit about what a programmer
would have to put up with, what they have to put up with if they want this as a
career.
Lou: You have to have a thick skin
because when you design something you know sometimes like I said you don’t
think of all the scenarios. So when you push it forward somebody is going to
take it and say wow this doesn’t work for this scenario so I need to go and add
a whole bunch of things to it and maybe rework it, refactor it, redo it. So you
have to have a thick skin just to know…you have a have an
inkling for learning too – to say oh wow you know what I didn’t think
about that. Then the next project, the next time you then have the opportunity
to add that part of the thinking process to it. Again like she said it is a
learning process and as you grow and get experienced it makes you better. I
think that was 1 of the questions I even had for Peggy was it’s all believing
in yourself but do you think it is more of a repetitive thing too, maybe doing
it over and over again to kind of get that muscle memory going. Does that help
your students learn better and do better at programming?
Peggy: Absolutely, we talked earlier about pedagogy and approach and I can stand on
the podium and talk the whole 15 minutes but if I don’t have them do it over
and over again in class and do it for homework it just isn’t going to stick,
especially if it’s new stuff. So I think it is repetitive and there are days where
you’re going to look at something and you’re not going to be able to figure it
out. You’re going to look at it and look at it and sometimes you just need to
walk away for a little bit. One other think that you said Lou that I thought
was great was that the thick skin as well as the ability to say yes I’m
fallible, I might have missed a test case, I might have missed something and
that’s ok. That’s why I handed it off to you so that you can find anything that
I missed because maybe I had some blinders on. That’s really important too. We
talked about testing, I don’t know that we emphasize that enough in the short
time frame that I have the students but in the world like you’re in Lou testing
is a critical part of any application development process.
Fr. Robert: Let’s
talk a little about that because now you’re talking about your baby. When you create
something it is your baby, it’s your heart and soul. You’ve put a little bit of
your ego into this because every time you present code to the repository, to
the overall group that is going to approve or disapprove it you’re putting a
little bit of yourself out there. There is this axiom for writers that when you
hire an editor your editor’s job is to kill your baby. The editor’s job is to
take something that you would never remove because you remember how hard it was
to create it and they said this is uninteresting get rid of it. If you’re a
programmer you have to kill your baby, your group comes to you and says your
code isn’t good, it’s not elegant, it’s too resource intensive and you’ve got
to change it. How do you do that after you’ve put hours and hours into it how
do you go back, step away and then come back with a fresh look and say I know I
just created this and I’m going to tear it apart now?
Peggy: I think
you need to look at that as a learning experience. You need to say to yourself
that hey it’s ok and I can do this again. Once you get started again you find
yourself right back in where you wanted to be, you’re right back in having fun
again. But you’re right that there is going to be a little bit of time there
where you’re crushed. You’re like I thought I had that 1 wrapped, I thought it
was done and down the pipe and now it’s back in my lap again. I think you just
need to take it and say ok it was a learning experience. You have to, you can’t take it personally although I know you
probably do. Like Lou said too just keep working at it and working at it.
Fr. Robert: It is
that thick skin, you’ve got to have thick skin and even if you’re taking it
personally you can’t look like you’re taking it personally. Sorry that’s how it
works. Another basic question that we get all the time and that is people come to us and maybe they’re at that first step. They just
want to see, they want to peak under the curtain, see what’s going on, see if
maybe they have that natural talent, that natural passion for programming and
computer science. They say what language do I start with? I find this so
difficult to answer because I always want to answer with…well of course it’s the
language I’m familiar with, that’s what you should learn or the 1 I love,
that’s what you should learn. How do you answer it?
Peggy: I think
I would first have to have a follow up with them and say what is your angle,
are you interested in more of a business kind of programming language or are
you interested in more of a computer science programming language. If they are
interested in maybe writing something for their phone, maybe they’re interested
in writing a phone app, then maybe we might want to
say why don’t you try Ruby on Rails. I agree with you it is very difficult and
there are a few that I absolutely love. I love C Sharp and I love Java but
they’re definitely not for everybody. I think some of the languages are more
aligned with business versus engineering so if you can figure out those 2…so
maybe a C++ is good for someone who wants to go into computer engineering…who
might want to look under the hood of computer engineering whereas maybe a C
Sharp or a Java or even…although I don’t think many people use Visual Basic
anymore – but even a Visual Basic or something like that might be good for
someone who wants to have a nice little front end or something. Or maybe HTML
or CSS if they’re more interested in web design.
Lou: I like that - defining your
goal and then applying the language afterwards. I think you’re right that that
works great for any type of project and that’ll help you learn because you’re
kind of reaching or working towards a goal so I think that helps a lot. Peggy
what kind of resources…when students come to you and say hey I have this goal
or I have this project, or even some of the projects you give out… what are the
resources other than the obvious curriculum and the books that you give out do
you recommend to people to kind of go out and learn these things?
Peggy: Well
Lynda.com because I just think that… I really do. The only reason I got
involved with Lynda was just because I think the resources that are available
there are so numerous and really wonderful. But almost any kind of… if the
person is more of a likes to listen and stop… there are a lot of sites that
have little video type series but I think that is really nice because it is
very self-paced, you can stop and they have challenges. I think as long as it
is something that can supplement what I’m trying to teach them in class…I’ve
done videos on my own on YouTube or maybe I’ve found videos that other people
have done. Even Kahn Academy if they’re trying to do some math associated with
a project. It is interesting and I would love to hear both of your perspectives
too; 1 of the things that I talk about a lot now is the way that we communicate
with our digital natives. My son is going to be 13 in June and if we want to
find him we know where to go – in front of the computer watching YouTube. I
don’t think he’s much different than many other 12-13 year olds so how can we
take advantage of that and get to these kids and provide for them in a medium
that they’re used to. I guess to supplement I’d say video training is great, textbooks…I’m
more of a hands on textbook kind of person. I really like that as a backup to
my learning.
Fr. Robert: Peggy 1
of the other interests that you have that I’d love to talk about here and it
goes hand in hand with what do you do with digital natives is; in the last 5-6
years really we’ve seen the emergence of this weird new part CS part EE, part
computer science and part electrical engineering in microcontrollers.
Microcontrollers that are very readily programmable, that are easy to
understand, that give digital natives something that they can program and they
see that it’s affecting the real world. I know you are involved with “Arduino
programming” I know you’re involved with Lego Mind Storm, has that been a good
entre for digital natives?
Peggy: Absolutely.
Both of them exhibit the hands on feature that I think is wonderful that you
maybe don’t get with a Java or a C++. But the Arduino, the IDE that we use for
Arduino is very similar to C++ and Java as far as the syntax goes but yet you
see a light come on when your program works. You see the wheels move if you
attach it to a little robot. The Lego Mind Storm is just I think a fantastic
way to not only teach about programming because you do program the brain of it
but also engineering. They have to figure out how do I put these motors on so
that when I’m done building when I program it how do I tell 1 motor to go
forward and 1 to go backwards because they’re on in opposite directions to have
it move forward. There’s a lot of really great
learning opportunities. I try to introduce a lot of math with the Lego too. If
I want to figure out how far the robot is going to go well I explain to them
well what’s the circumference of the wheel? That’s 1 rotation. How can you
figure out what that distance is? There are a lot of numerous possibilities
there. You mentioned Logic Gates earlier too and the Arduino is great for that.
If I’m getting a digital signal coming in on 1 of my pins…and you can even have
a little branch off and talk more about electronics and give the kids a little
understanding about “how do the lights come on”, how do things work? I like
that that it kind of ties in other STEM fields so that if you wanted to you
could branch off and talk more about those. I think they are both great tool
for teaching and I find that I get a lot more… the students are a lot more
attentive when I’m using those types of tools.
Lou: This type of work…programming
with micro controllers and even learning languages can be intimidating at
times, even based off of your surroundings and in class maybe somebody gets it
better than the next. What do you encourage your students…how do you get those
students that are basically afraid to ask the stupid question…how do you get
them beyond that so that they can start growing and learning from not only the
people next to them but from being able to ask that question when they’re lost?
Peggy: That’s a
good point too. Some of the techniques that I use in class is really kind of simple. I’ll use a random selector to randomly have them work
together on a project and it’s kind of amazing. You have 1 person who is
normally very quiet, randomly if they end up with somebody else then they have
to talk to each other. Sometimes it does take the teacher to give a little
prodding as well. So I think you need to be a teacher that moves around and
listens and talks. But once you get those quiet students that are maybe a
little intimidated, even if you have to sit down and do a little one on one
with them, once they get past that hurdle I usually find that they start to
open up and take more chances.
Fr. Robert: We’ve
been speaking with Peggy Fisher a lecturer at Penn State University, a faculty
member at Lynda.com – our favorite source for knowledge and an all-around uber
geek. Peggy we thank you so very much for joining us here on Coding 101. We are
going to invite you back to be a code warrior. It will be the language of your
choice, any language you want to teach but we would love for you to come back
and be a code warrior for us. Would you do that?
Peggy: Oh I
would be honored. This has been so much fun for me too, thank you! I’d really
like that.
Fr. Robert: Believe
me I’ve been watching the chat room and they love you. You’re exactly the kind
of guest that we want to have on this show because you show the passion. The
passion for computer science, the passion for programming and hopefully that
rubs off on people. Peggy if you could please tell people where they can find you
on the internet. We already know that they can find you a Penn State University, we know that we can find your courses on
Lynda.com. If they wanted to find out more about your work with STEM where can
they go?
Peggy: Padre
probably the best place would be to Penn State University, we offer an I-tech
academy summer camps and there is a lot of information out there. I work for
the College of IST. So if you just search Penn State, College of IST and my
name you can probably see a lot of the work that I’ve done with the camps and
the camps are really all STEM related. This summer I have a middle school girls
camp coming up and a middle school boys camp that is going to be “Moding for
Minecraft” and then high school Minecraft and high school Lego Mine Storms. A
lot of times we put pictures out there and they can see more information there.
That’s probably the best place to go right now.
Fr. Robert: We
salute you and we will see you back here on Coding 101. Again it is such a
pleasure.
Peggy: Thank
you Father, you too. It was nice talking to you too Lou.
Lou: You too, thank you. Take care.
Peggy: You guys
are awesome, this is so much fun.
Fr. Robert: It is fun, this is what we want to do right? Coding 101 is all
about having fun really. If you enjoy this you’re probably going to enjoy
programming.
Peggy: Yes I
agree and don’t forget to be a life-long learner.
Fr. Robert: That’s
right. I couldn’t do this show without Lou. Lou Maresca could
you please tell the folks at home where they can find you?
Lou: Absolutely. You can always
find me on Twitter. I’m LouMM and of course all my work from Microsoft is
crm.dynamics.com.
Fr. Robert: Folks
that’s all the time we have for this episode of Coding 101. I do want to remind
you though if you want to see our back episodes, maybe if you want to download
some of our previous modules so you can start diving into the wonderful world
of the programmer you can always go to our show page at twit.tv/c101 or coding101, it all goes to the same place. There you will
find not just all of our episodes and all of our show notes but also a drop
down menu so you can automatically get our episodes in the format you want into
your device of choice. Do you want the audio version into your phone, your
android or iOS phone so you can listen to us in the car. You could do that. Do
you want the video version on your tablet so you can watch us at work? You could
do that. Do you want the high definition version on your lap top, your desktop,
your Mac or PC so you can watch us when you get home? You can do that. Again
that’s twit.tv/coding101. Also did you know that we actually have a Google Plus
group? If you just go to Google Plus and look for Coding 101 you’ll find us.
Join us and you’ll be able to find people who can help you in your quest for
Coding Nirvana. We’ve got beginners, intermediate and expert programmers in
there and it’s a great place just to congregate and find out what’s going on.
Finally don’t forget that you can follow me on Twitter. Just go to
Twitter.com/padresj, that’s @padresj, there you’ll find my particular brand of
snark as well as what I’m doing here on the Twit TV network. I’ll tell you
about the guests we’re going to be having, the topics we’ll be covering and the
projects that we’ll be doing. It’s all part of the experiment that is Twit TV.
Now I know there was been some concern about what’s been happening with the
Twit TV stream but let me tell you that you can still find us mostly live on
Mondays at 2:30 PM Pacific time and you can join us in the chat room in
whatever form it may take at live.twit.tv. I want to thank everyone who made
this show possible, of course to Lisa and to Leo for letting us do Coding 101, to my fantastic TD/engineer – Eskimo Zach. Zach I don’t know if
you have a camera on yourself but if you do could you please tell the folks
where they can find you?
Zach: No room for a camera in the
tri-caster so I guess you’re going to have to stare at my Twitter page. You can
find me at Twitter @eskimozach spelled with an H.
Fr. Robert: Thank
you very much for joining us, I’m father Robert
Ballecer the digital Jesuit. This has been Coding 101. End of line!